flutterplaza_code_push 0.1.11-rc.5
flutterplaza_code_push: ^0.1.11-rc.5 copied to clipboard
Over-the-air code push updates for Flutter apps. Check for updates, download patches, and roll back — all at runtime.
0.1.11-rc.5 #
- Fix: after a patch loads on iOS, the app's widget tree now rebuilds automatically so patched
build()methods take effect on screen. Previously, the patch's bytecode was swapped onto existing functions but Flutter's Element tree kept the old render objects until a manual restart. - Pairs with the member-level override engine update.
0.1.11-rc.4 #
- Feature: the SDK reads a distribution-proof baseline UUID from
Info.plistand sends it with every update check. TestFlight and App Store builds now correctly identify themselves to the server. - Pairs with
flutter_compile 0.19.15-rc.7and a server update.
0.1.11-rc.3 #
- Fix: baseline hash mismatch no longer blocks patch downloads. The hash check is now a soft warning.
0.1.11-rc.2 #
- Fix: a successful patch load with nothing new to apply no longer triggers a rollback-and-retry loop. The SDK now treats a non-error load as a success, regardless of return value.
- Pairs with
flutter_compile 0.19.15-rc.4.
0.1.11-rc.1 #
- Retracted. Use 0.1.11-rc.2 or later.
0.1.10 #
- Retracted. Use 0.1.11-rc.2 or later.
0.1.9 #
- Retracted. Use 0.1.11-rc.2 or later.
0.1.8 #
- Retracted. Use 0.1.11-rc.2 or later.
0.1.7 #
- Feature: the SDK now computes a baseline content hash and sends it with every update check. The server can use this to refuse patches that don't match the device's running binary, preventing a crash-loop on baseline drift.
- Feature: new telemetry path reports devices stranded on an incompatible baseline so publishers can see them in the admin dashboard.
- Fix:
CodePush.init()runs crash protection before the first update check, so the auto-rollback counter has a chance to trip when a prior bad patch is on disk. - New dependency:
crypto: ^3.0.6(used for the baseline hash). - Migration: no app code changes required. Pair with the matching CLI and server release to enable the new check.
0.1.6 #
- Crash fix: the stale-patch cleanup moved from Dart into an iOS native hook that runs before the Flutter engine starts. This closes a crash that could fire before
main()ever ran, which the previous Dart-level cleanup couldn't reach. - Feature:
CodePushOverlay.configis now optional. When omitted it falls back toCodePush.lastConfig, so an app that already callsCodePush.init(...)at the top ofmain()can writeCodePushOverlay(child: MyApp())without repeating its config. - Feature:
serverUrlis now optional on bothCodePush.initandCodePushConfig, defaulting toCodePush.defaultServerUrl(https://api.codepush.flutterplaza.com). Apps on the production service only needappIdandreleaseVersion. - Note: this release adds a CocoaPod dependency on iOS. Run
cd ios && pod installon your nextflutter pub getif your build tooling doesn't auto-run it.
0.1.5 #
- Fix: the 0.1.4 stale-patch cleanup used the wrong file to decide whether a patch was stale on iOS. A pure Dart rebuild did not update that file, so stale patches from previous rebuilds were never detected. 0.1.5 uses a more robust freshness check that covers native-only, Dart-only, and full rebuilds.
0.1.4 #
- Fix: a stale patch file on disk from a previous install could crash the app on iOS during the first boot after an upgrade, before the SDK had a chance to detect the mismatch. 0.1.4 adds a synchronous cleanup at the very top of
CodePush.init()that removes the patch (and its siblings) when the app bundle is newer than the patch. CallCodePush.init(...)at the very top of yourmain()for this to take effect.
0.1.3 #
- Security / fix: reject patches when the running Flutter engine doesn't support code push, instead of loading them and crashing. Previously, a baseline built with the wrong Flutter install could hit an unrecoverable native crash during patch apply.
- New public
CodePush.hasCodePushEngine— async getter apps can use to hide update UI on incompatible baselines. CodePush.checkAndInstallnow runs a compatibility probe before writing any patch bytes to disk.- New
IncompatibleBaselineExceptioncarryingreason,expectedFingerprint, andactualFingerprintfor apps that want to handle the rejection explicitly. - When a patch is refused on this check, the SDK posts a structured telemetry record so publishers can see how many devices are stranded on incompatible baselines in the admin dashboard.
- New public
0.1.2 #
- Fix: safe type handling for server responses (prevents crashes from malformed data).
- Fix: broad exception catch on all platform channel calls.
0.1.1 #
- Fix: license updated to BSD 3-Clause (was incorrectly MIT).
- Fix: README license reference corrected.
- Add:
.pubignoreto exclude build artifacts from the published archive. - Add:
topicsandissue_trackertopubspec.yamlfor discoverability.
0.1.0 #
- Initial release
CodePush.checkForUpdate()— check server for available patchesCodePush.downloadAndApply()— download and install a patch (with progress callback)CodePush.currentPatch— info about the active patchCodePush.isPatched— check if running with a patchCodePush.rollback()— remove the active patchCodePush.installPatch()— install a patch from raw bytesCodePush.releaseVersion— baseline release versionCodePush.cleanupOldPatches()— free disk spaceCodePush.checkForUpdatePeriodically()— periodic background checksCodePush.patchCount— number of stored patches