Skip to main content

ejenix_flutter 0.2.0 copy "ejenix_flutter: ^0.2.0" to clipboard
ejenix_flutter: ^0.2.0 copied to clipboard

Official Ejenix Flutter SDK: LiveOps remote config, feature flags, signed server-driven UI, asset verification, and code-push status wrappers.

Changelog #

All notable changes to ejenix_flutter are documented here. This project follows Semantic Versioning.

0.2.0 #

Removed #

  • EjenixCodePush.nextDeltaLinkPlanPath, validateNextDeltaLinkPlan and materializeNextDeltaLinkPlan. These named an internal step of how a patch is prepared, on the class an app talks to, and an app has no use for any of them — nothing outside this package's own tests ever called them. A public API should say what you can do, not how the thing works underneath.

    The same methods remain on EjenixUpdaterRuntime, which is the extension point for a host that drives the updater itself, so nothing that genuinely needed them has lost anything.

    A MINOR bump because under Dart's versioning that is the breaking one for a 0.x package. If you were calling these — you were not — use the runtime.

0.1.1 #

Fixed #

  • Ejenix.initialize no longer fails when the native updater cannot start. It awaited the platform's own initialize with nothing around it, so a build whose native side was absent or mismatched threw out of the bootstrap and took remote config, feature flags, server-driven UI and asset verification with it. All four are pure Dart and need no updater, and this package's README says they keep working — on a device that was not true. The failure is now recorded in EjenixCodePush.nativeSkipReason, the same place a missing option is reported, and the rest of the SDK carries on.

0.1.0 #

First release of the Ejenix Flutter SDK.

Added #

  • Ejenix.initialize(...) bootstrap that fetches a signed LiveOps payload and falls back to a last-known-good cache when the backend is unreachable.
  • Remote config (Ejenix.config) and feature flags (Ejenix.flags) with typed getters and synchronous fallbacks.
  • Analytics/event ingestion via Ejenix.events.
  • Live widgets: LiveText (i18n), RemoteConfigBuilder, FeatureFlagBuilder, LiveImage, and LiveScreenRenderer for server-driven UI.
  • Signature verification of payloads (EjenixHmacSha256Verifier, EjenixSignatureVerifier) so unsigned or tampered config is rejected.
  • Pluggable cache stores (EjenixMemoryCacheStore, EjenixFileCacheStore).
  • Code-push status wrappers over the native updater (EjenixUpdaterRuntime, EjenixMethodChannelUpdaterRuntime) with boot-loop hooks (markLaunchStart / markLaunchSuccess / markLaunchFailure) and rollback (rollbackToBase).
  • Android and iOS plugin platforms, which are the two the native updater bridge is available on. macOS, Web, Windows and Linux have no native bridge; the pure-Dart features run there regardless.
  • Background patch checks. Once code push is configured the SDK asks the platform to check periodically — WorkManager on Android, BGTaskScheduler on iOS — in addition to the checks on launch and on return to the foreground. Both platforms treat the interval as a floor and decide whether to run it; iOS gives no guarantee and also needs UIBackgroundModes, which ejenix init does not add for you. See the README.
  • EjenixCodePush.nativeSkipReason, which names why the native updater did not start, or is null when it did. Both of its required options default to null, so an integration that sets neither has no updater — and because the pure-Dart features work without one, nothing throws and nothing logs. Check this after initialize: the control plane reports a patch as delivered once the device fetches it, and a device with no updater never applies what it fetched.
0
likes
150
points
684
downloads

Documentation

API reference

Publisher

verified publisherejenix.com

Weekly Downloads

Official Ejenix Flutter SDK: LiveOps remote config, feature flags, signed server-driven UI, asset verification, and code-push status wrappers.

Homepage
View/report issues

Topics

#liveops #feature-flags #remote-config #code-push #server-driven-ui

License

BSD-3-Clause (license)

Dependencies

crypto, cryptography, ffi, flutter, http

More

Packages that depend on ejenix_flutter

Packages that implement ejenix_flutter