Now it works on Android 8 (Oreo) [Build.VERSION.SDK_INT >= 26]. It requires new permission
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> in AndroidManifest.xml
Now it works on Android 7 (Nougat) [Build.VERSION.SDK_INT >= 24]. It requires
<provider android:name="com.pushlink.android.FileProvider" android:authorities="your.package.name" android:exported="true" /> in AndroidManifest.xml
Now pushlink cleanup old downloaded apks.
The new CUSTOM strategy is available. (NINJA is deprecated)
Fixed ninja NPE when using broadcast receiver
Ninja fallback. (If the broadcast receiver is not present, it uses the classic ninja.)
Commons network exceptions are now in debug level in logcat
Ninja now works in Android 5 or higher. Its requires the
<receiver android:name="com.pushlink.android.NinjaReceiver" />
Wrong judgment. Ninja does not work in Android 5.
Ninja.setExtraShellCommand() deprecated in favor of
Available from Maven and Gradle by jitpack
Pushlink.hasPendingUpdate() does not ignore the idle status anymore (Pushlink.idle method)
Now Ninja is working in Android 64 bits
Ninja does not execute the
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/system/lib command anymore
Ninja.setExtraShellCommand() for custom workarounds
Now Pushlink logs the entire stack trace. (No more clipping)
Fixed critical bug when using android:process
New api method
Pushlink.setMaxExceptionQueueSize() (to avoid huge cache)
Download resume. (Very welcome!)
Bugfix that would send old exception assigned with wrong version label.
Bugfix that in
Pushlink.addExceptionMetadata() when key == null. Not allowed anymore.
Now it prevents sending the very same exception twice or more.
Less data transfer when using the metadata api.
Pushlink.setCurrentStrategy() are independent of the start method.
Some timeout adjustments
NINJA strategy improved. Now working on a large variety of devices.
Now PushLink uses only the 443 port. Goodbye 6670 port.
Download method improved to avoid memory overflow.
Popup strategies no more play notification sound.
Now popup strategies ask for launching the app even in ICS or later.
Now it sends the last 200 lines of logcat. (no more 100)
From now on exceptions have a handled/unhandled label
PushLink.addExceptionMetadata(). This metadata is going to appear ONLY in the "Exceptions" tab of the web administration
Important bug fix. PushLink.addMetadata wasn't working fine.
TCP client improvement. It was aborting connections sometimes.
Installation checking for duplicated ID's improved.
Method name changed!
PushLink.setCurrentPopUpTarget() is now
Now PushLink grabs screenshots for unhandled exceptions.
PushLink.start() had no effect.
Package change. Now all classes are under "com.pushlink.android"
Critical bug fix. The heartbeat was not working when the devices were sleeping.
The Device ID is back. Now the user MUST set the device id. Now the web administration shows off-line installations again.
Api change to support device ID: Now
PushLink.start() has a brand new fourth parameter. The device ID.
Method name changed from
Pushlink now has two lightweight threads. They were named "PushLink-PushListener" and "PushLink-Heartbeat".
Huge logging improvements
Critical bug fix. Low socket/connection timeout was killing some APK downloads.
Now, exceptions are always sent lazily with a delivery guarantee. PushLink holds the exception (sqlite persistence) until it can be sent to the server.
PushLink.sendSyncException() was removed.
PushLink.hasPengingUpdate(). This method checks if there is a downloaded but not applied update. It also notifies the user again.
Log messages improved
PushLink.sendExceptionNotification() has changed to
Fixed NPE when
Pushlink.setCurrentPopUpTarget() called before
When popup strategies were configured before PushLink.start, the popup title would appear "Application" instead of the real application name. Fixed!
Log messages improved
Lighter. HttpClient code improvement. Fewer data transferred between server and client.
Popups strategies now support screen rotation
It is ready to show online installations in the web administration
Fixed some minor bugs that could happen in push notification
PushLink.addGlobalInfo() has changed to
Fixed an NPE that would appear in some cases
Fixed some confusing log information
PushLink.idle(boolean) added. Especially useful for NINJA strategy to update your app only when it is idle. See the usage in JAVADOC.
Now it sends device coordinates if the GPS is enabled. This is sent only once when the app is started.
Bug fixed. It could happen to receive several notifications to the same version in some specific situations.
NINJA strategy has been created. Only for rooted devices. BETA!
Full redesign to support premium features.
PushLink.checkForUpdates() in no longer available. There is no sense in using the new push architecture.
PushLink.start() method has changed. Now it has only three parameters
Notification now play standard device sound
Automatic exception catch/send a notification is the default.
Added two methods.
Push.addUserInfoForExceptionNotification() is now
Push.addGlobalInfo. This information is going to appear in all exception notifications sent.
Push.sendExceptionNotification(Throable) was overloaded with
Push.sendExceptionNotification(Throwable, Map). Now it's possible to send more information about the exception context in Map.
Professional JAVADOC added
Push.requestUpdateRightNow is now P
Push.checkForUpdates() does not block the thread anymore.
Push.checkForUpdates bug fix. It was rushing the download but not the notification.
Now if exceptionNotification is set to false and you call
PushLink.sendExceptionNotification() it will not throw an exception anymore. It only will log: "You must start pushlink enabling exception notification before using PushLink.sendExceptionNotification or PushLink.addUserInfoForExceptionNotification. Check PushLink.start method exceptionNotification parameter."
Exception notification now sends LogCat (Need READ_LOGS permission)
Exception notification now sends the whole stack trace
Fixed some exception notification bugs
API Redesigned. All of PushLink's methods are static.
There is no method
Now we have exception notification! Receive emails when your app crashes.
New API method
Pushlink.requestUpdateRightNow() to rush version check.
Now popups strategies work nicely with
Fixed java.lang.NoClassDefFoundError: com.pushlink.android.SSLHandler when runnig on ADT emulator
Pop Up strategy support
Internal storage bug fix