rerune 0.1.2
rerune: ^0.1.2 copied to clipboard
OTA localization updates for Flutter apps using ARB manifests.
Unreleased #
- No changes yet.
0.1.2 #
- BREAKING: removed generated
ReRune.fetchedRevisionListenable; useReRune.onFetchedTextsAppliedas the single fetched-update event handle. - BREAKING: simplified generated
ReRuneBuilderto a singlebuilder:callback; removedReRuneRefreshModeand refresh mode options. - Updated generator output and example pages/docs to use the single event-stream + builder model.
0.1.1 #
- Added generated
ReRuneBuilderwidget for app-side redraws after OTA changes. ReRuneBuildernow usesbuilder:(Flutter convention) instead ofchild:.ReRuneBuildersupportsReRuneRefreshMode.fetchedUpdatesOnly(default) andReRuneRefreshMode.anyControllerChange.- Updated generated wrapper template and example
BuilderPageto useReRuneBuilderinstead of manualValueListenableBuilderwiring.
0.1.0 #
- BREAKING: removed all
rerune.jsonruntime config support. - BREAKING: removed
projectId,apiKey, andmanifestUrlsetup/constructor inputs. - BREAKING:
ReRuneLocalizationControllernow requiresotaPublishIdand sends it asX-OTA-Publish-Id. - BREAKING:
ReRuneLocalizationControllerand typed builder APIs are no longer exported publicly; use generatedReRune.setup(...)andReRunestatic APIs. - Manifest endpoint is now fixed to
https://rerune.io/api/sdk/translations/manifest?platform=flutter. - ARB fallback endpoint is now
https://rerune.io/api/sdk/translations/flutter/{locale}when manifest locale URL is omitted. - Example app now uses setup-only integration (no direct controller construction).
0.0.4 #
- BREAKING: removed seed ARB support (
seedBundlesandtranslations_path). - Fallback now follows Flutter defaults only: OTA/cache first, then bundled
AppLocalizationsstrings. - BREAKING: runtime config now uses strict precedence
rerune.jsonasset -> constructor (projectId,apiKey). - BREAKING: removed runtime
--dart-definefallback for config resolution. platformis fixed toflutterand is no longer configurable in controller/runtime config.- Added explicit
StateErrorwith debug log when required credentials are missing. - Docs/examples now use
ReRune.setup(...),ReRune.localizationsDelegates, andReRune.supportedLocales. - Clarified that
ReRuneUpdatePolicydefaults tocheckOnStart: true. - Generated
ReRune.setup(...)helper now auto-wires supported locales and initializes OTA. - BREAKING: removed deprecated generated compatibility aliases (
Rerune...Setup,createRerune...Controller). - BREAKING: removed CLI executable alias
generate; useflutter pub run reruneonly. - BREAKING: renamed
OtaLocalizationControllertoReRuneLocalizationController. - BREAKING: renamed
OtaUpdatePolicytoReRuneUpdatePolicy. - BREAKING: renamed
OtaUpdateResulttoReRuneUpdateResult. - BREAKING: renamed
OtaErrorType/OtaErrortoReRuneErrorType/ReRuneError. - BREAKING: renamed
Manifest/ManifestLocaletoReRuneManifest/ReRuneManifestLocale. - BREAKING: renamed
CachedManifest/CachedArbtoReRuneCachedManifest/ReRuneCachedArb. - BREAKING: renamed
CacheStoretoReRuneCacheStoreandcreateDefaultCacheStore()toreRuneCreateDefaultCacheStore(). - BREAKING: renamed
OtaTypedLocalizationBuildertoReRuneBuilder. - BREAKING: renamed typed builder typedefs to
ReRuneDelegateFactory<T>andReRuneLocalizationWidgetBuilder<T>. - Added
ReRuneTextUpdateEventand exported it frompackage:rerune/rerune.dart. - Added optional fetched-only refresh APIs for immediate UI updates after applied OTA text changes:
reRuneFetchedRevision,reRuneFetchedRevisionListenable, andonReRuneFetchedTextsApplied. - Added
ReRuneLocalizationRefreshMode.fetchedUpdatesOnlytoReRuneBuilder. - Existing refresh behavior remains default; fetched-only refresh is opt-in.
- Updated generator output (
rerune_app_localizations.dart) to use renamedReRune*public APIs. - Expanded tests:
- controller tests for fetched-only revision/event behavior,
- new
test/ota_typed_localization_builder_test.dartfor builder refresh modes, - updated example widget test coverage for menu navigation.
- Example app now has a 3-page demo menu:
- manual refresh page,
- event-listener (
onReRuneFetchedTextsApplied) page, ReRuneBuilderpage with fetched-updates-only mode.
- Example manual refresh flow now separates update check from UI refresh and shows update-check results via
SnackBar. - Example pages are split into dedicated files under
example/lib/pages/. - Updated README and example README for renamed APIs and fetched-only refresh usage.
- Updated
AGENTS.mdnaming rules and applied them across the codebase. - Updated license copyright holder to
BasalBit GmbH.
0.0.3 #
- BREAKING: package identity is now
rerune. - BREAKING: public import changed to
package:rerune/rerune.dart. - Added canonical CLI command
flutter pub run rerunefor localization wrapper generation. - Added standard Flutter localization auto-detect from
l10n.yamland defaultgen-l10npaths. - Added
--dart-defineconfig fallback (RERUNE_PROJECT_ID,RERUNE_API_KEY,RERUNE_PLATFORM) sorerune.jsonasset setup is optional.
0.0.2 #
- BREAKING: removed legacy key-based APIs (
OtaLocalizations,OtaLocalizationsDelegate,OtaLocalizationBuilder). - BREAKING:
OtaLocalizationControllerno longer acceptsbaseUrl; API host is fixed tohttps://rerune.io/api. - Added typed
AppLocalizationsoverlay flow withOtaTypedLocalizationBuilder<T>. - Added generator entrypoint for producing typed OTA wrappers.
0.0.1 #
- Initial release of the OTA localization SDK.
- Manifest-based ARB updates with ETag support and local caching.
- Hot-swap localization delegate with Rerune-hosted manifest URLs.