React Native module for CodePush
OTHER License
Bot releases are visible (Hide)
Published by iageoghe over 7 years ago
Due to platform changes, [email protected]
will only support [email protected]
and onwards. Users on [email protected]
and lower should consult our compatibility table to determine the latest react-native-code-push
version to install.
Fixed state issue https://github.com/Microsoft/react-native-code-push/pull/765 where SyncStatus
would transition to UP_TO_DATE
prior to an update being installed.
Bumped XCode dependency in package.json, bump should eliminate some warning messages https://github.com/Microsoft/react-native-code-push/pull/776.
Published by richardhuaaa over 7 years ago
This is a small bug fix release. Thank you to @ymusiychuk-lohika, @buptkang, @abodalevsky, @max-mironov, @sergey-akhalkov, @timscott and @legalosLOTR for your contributions since the last release!
CodePushHash.json
despite not containing JSON.ProcessorID
property cannot be determined.Note that support for [email protected]
is coming, and will be introduced in v2.0.0-beta
!
Published by buptkang over 7 years ago
Since the documentation becomes more complex, we decomposed the document to have a better user experience. Thanks @jeremistadler.
Published by buptkang over 7 years ago
MainApplication.java
Info.plist
file is not in the same directory as the AppDelegate.m
file.mm
extension is used instead of .m
Published by richardhuaaa almost 8 years ago
This release fixes a compilation error when integrating CodePush using CocoaPods into a Swift-based iOS app.
Published by richardhuaaa almost 8 years ago
react-native link
on Windows. (@Lughino)node_modules
folder instead of Maven. (@mkonicek)Published by richardhuaaa almost 8 years ago
Thank you @piyushjo for verifying this release!
[email protected]
. (@Swordsman-Inaction)AppDelegate.m
files (@hilkeheremans)Published by richardhuaaa about 8 years ago
This release improves stability across a wide range of platforms and React Native versions.
node_modules
path to be overriden in codepush.gradle
. Thanks @geof90!NativeEventEmitter
and RCTEventEmitter
instead of the deprecated DeviceEventEmitter
. Thanks for kicking this off @Pho3nix!initialize
methods to allow for clean sub-classing, and fix a build warning about implicit type conversion. Thanks @daniel-beard!CodePush.getUpdateMetadata()
is called when running against the binary version and an update is pending. Thanks @cmcewen!.DS_Store
and __MACOSX
files generated on OS X (this was previously fixed on iOS only).AndroidManifest.xml
to fix manifest merging issues. Thanks @felipecsl!InstallMode.SILENT
. Thanks @rozele!InstallMode.ON_NEXT_RESUME
. Thanks @rozele!async
methods. Thanks @rozele!Published by geof90 about 8 years ago
ReactNativeHolder
via CodePush.setReactInstanceHolder()
. This is useful if you're explicitly launching a React Native instance without an Activity (for example, from within a native push notification receiver). For these situations, CodePush must be told how to find your React Native instance in order to execute a forced restart whenever an update is installed. Thanks @igrayson for your contribution!isPendingUpdate
and isFailedHash
publicly on the iOS native API, however these are not documented methods, so they may run the risk being broken by future releases. Thanks @daniel-beard!Published by geof90 about 8 years ago
@CodePush
decorator no longer binds lifecycle hooks if root component instance is not ES6 declared, because components declared via React.createClass
have their functions autobound by default. Binding them again like how we did previously results in a warning.Published by geof90 about 8 years ago
com.facebook.react.ReactActivity
to also use the new loadBundle
logic which has a better user experience..DS_Store
files on iOS.Published by geof90 about 8 years ago
This release simply adds the ability the option to specify an NSBundle other than the mainBundle in iOS.
jsCodeLocation = [CodePush bundleURLForResource:@"main"
withExtension:@"jsbundle"
subdirectory:nil
bundle:[NSBundle bundleWithIdentifier: customBundleIdentifier]];
If left unspecified, it will default to [NSBundle mainBundle]
as per the original behavior.
Published by geof90 about 8 years ago
This release improves the linking experience and fixes a bug with not being able to resolve the SoLoader library during runtime.
react-native link react-native-code-push
now automates all of the linking process for you. For Android, it imports the react-native-code-push
library project for you and adds the codepush.gradle
build step in settings.gradle
and android/app/build.gradle
, prompts you for your deployment key and modifies the MainApplication
/ MainActivity
java file for you to include the CodePush react package and consult CodePush for the path to the root JS bundle file. For iOS, it similarly also adds the CodePush project to your XCode project, prompts you for your deployment key, adds it to your Info.plist
file, and updates your AppDelegate.m
file to consult CodePush for the path to your root JS bundle file.Published by geof90 about 8 years ago
This release primarily adds a decorator function which can be used to wrap your root component in a higher order component that handles syncing updates with the CodePush server. Refer to the README for ways to use it.
react-native-code-push
can now also be used as a decorator function which takes in some options and wraps your root component in a higher order "CodePush" component. This component then handles syncing with the server for updates for you. Internally, the higher order component calls codePush.sync()
at the right trigger events (e.g. when the app resumes). It also ensures that notifyAppReady()
is called when the component mounts, so issues like https://github.com/Microsoft/react-native-code-push/issues/360 wouldn't happen.Going forward, we intend to have this new decorator function be the primary way in which users instrument their app with CodePush instead of calling codePush.sync()
directly, although the old method still works and can be used.
Published by richardhuaaa about 8 years ago
This release primarily adds support for overriding the app version used to query for updates, along with a few bug fixes.
overrideAppVersion()
function that can be used to specify a custom application binary interface version, which would otherwise default to the app store version built into the app. This is an option for advanced users who have their own app store versioning system that they'd like to update independently to their ABI version. It also enables beta distribution for developers who would not like to increment their app store version between each iteration.updateDialog
is shown while the app is in the background (such as when a new activity is launched), a NullPointerException
can arise. This has been fixed in this release.Published by geof90 over 8 years ago
This release simply includes an enhancement by @joshuafeldman to allow users to specify the binary packaged root JS bundle in a subdirectory of the main bundle via
[CodePush bundleURLForResource:withExtension:subdirectory:]
Thanks!
Published by geof90 over 8 years ago
This includes a few bug fixes:
NullPointerException
s in getConfiguration
for Android by using the reactContext
instead of getCurrentActivity
which is nullable.currentActivity
going into the background during an IMMEDIATE
install on Android causing a NullPointerException
when trying to invoke methods on the result of getCurrentActivity
. The fix adds the resume handler on IMMEDIATE
installs so that when the activity returns to the foreground, the update will be applied.Published by geof90 over 8 years ago
This release
currentActivity
from loadBundle
to prevent null pointer exceptions, and by using the Activity.recreate()
method instead of finishing and re-launching the Activity
via an Intent
, which results in a better user experiencePublished by lostintangent over 8 years ago
This release primarily adds support for configuring CodePush in Android apps using React Native v0.29+. It also adds a few bug fixes and minor enhancements. It is available now on NPM and can be installed via the following command: npm i --save react-native-code-push@latest
.
CodePush
class includes a new constructor which accepts the MainApplication
instance, instead of the MainActivity
instance, which allows it to be initialized within the new ReactNativeHost
object which is used in React Native v0.29. Check out the updated docs for details on how to configure CodePush with this React Native version.CodePush.getBundleFile
Java method as CodePush.getJSBundleFile
to be more idiomatic with the respective methods in the ReactNativeHost
and ReactActivity
classes. CodePush.getBundleFile
is now marked as deprecated and will be removed in a future release.getUpdateMetadata
is now a fully-compliant LocalPackage
instance (e.g. includes an install
method). Thanks @nevir for this contribution!notifyAppReady
method now returns a StatusReport
object which indicates whether an update was successfully installed or rolled back. Thanks @nevir for this contribution!Published by lostintangent over 8 years ago
This is simply a patch release that addresses a few user-reported issues. It available now on NPM and can be acquired by running npm i react-native-code-push@latest
.
Promise
returned by sync
wouldn't get resolved/rejected if the update dialog was being used and an exception happened while downloading an update (rare but possible).downloadProgressCallback
option passed to sync
wasn't getting triggered (thanks @mikedouglas!). Android wasn't affected by this issue.Podspec
by marking the SSZipArchive
headers as private, and adding the Core
subspec that allows you to link to CodePush without the additional SSZipArchive
dependency (thanks @nevir!)