Releases: MikeChen1109/LiveLocalizationKit
Releases · MikeChen1109/LiveLocalizationKit
0.7.0
LiveLocalizationKit 0.7.0
This release improves runtime localization throughput with request batching and async throttling controls.
Highlights
- Added
BatchLocalizationProviderfor backends that can translate multiple compatible requests in one call - Added
LocalizationExecutionPolicyto tune:maxConcurrentAsyncRequestsbatchWindowmaxBatchSize
- Updated
LiveLocalizerto:- throttle async provider work
- collect compatible requests into short-lived batches
- Updated
AppleTranslationProviderto participate in the new batch translation flow - Expanded test coverage for batching and concurrency behavior
Documentation
- Updated
READMEwith batch provider guidance and execution policy examples
Version
- Runtime package version is now
0.7.0
0.6.0
0.6.0
This release refines the LiveLocalizationUI API around loading-state customization and wrapper callbacks.
Added
- Added
LiveLocalizationPhaseas the shared UI-layer state model. - Added
LiveLocalizationCompletionfor wrapper completion callbacks. - Added SwiftUI
LiveLocalizedText.placeholder { ... }for loading UI customization. - Added SwiftUI
LiveLocalizedText.onProgress(...)andLiveLocalizedText.onCompletion(...). - Added UIKit
LiveLocalizedLabelprogress and completion handlers that also expose the current label instance.
Changed
- Simplified
LiveLocalizedTextto use default text rendering plus event-driven customization. - Updated
LiveLocalizedLabelto remain blank while loading instead of showing the source string first. - Updated the demo app to showcase multiline content, loading placeholders, and progress/completion-driven UI updates.
- Updated the README to reflect the current UI wrapper API.
Removed
- Removed
LiveLocalizationTextAnimationand the public animation configuration API. - Removed
LiveLocalizationTextRequestCoordinator. - Removed the older animation-based customization path in favor of placeholder/progress/completion APIs.
Notes
- This is a breaking API change for
LiveLocalizationUI, so the package moves from0.5.0to0.6.0.
0.5.0
[0.5.0] - 2026-03-13
Added
- Added pluggable cache store support with
MemoryLocalizationCacheStoreandDiskLocalizationCacheStore. - Added
LocalizationCachePolicyfor namespacing, provider-aware cache segmentation, and TTL-based expiration. - Added cache prewarming during shared configuration for persistent cache stores.
- Added
LocalizationEvent,LocalizationLogger, andClosureLocalizationLoggerfor runtime observability. - Added a demo event log tab to inspect shared configuration, cache, and provider activity.
- Added provider documentation for custom backends, cache configuration, and observability hooks.
Changed
- Expanded
LiveLocalization.configure(...)to accept cache store, cache policy, and logger injection. - Refined package platform support to
iOS 18andmacOS 15while keepingAppleTranslationProvidergated toiOS 26andmacOS 26. - Updated README and demo content to reflect runtime localization flows, configurable caching, and observability features.
0.4.0
[0.4.0] - 2026-03-13
Added
- Added the new
LiveLocalizationUIproduct for UI-level localization wrappers. - Added
LiveLocalizedTextfor SwiftUI. - Added
LiveLocalizedLabelfor UIKit. - Added
LiveLocalizationTextAnimationwith.noneand.fadestyles. - Added UI-layer request coordination tests and demo coverage for the new wrappers.
Changed
- Moved shared localization state to actor-based concurrency instead of relying on
@unchecked Sendable. - Updated
LiveLocalizationshared configuration flow to async usage. - Updated the demo app to show both direct core API usage and the new UI wrapper usage in SwiftUI and UIKit.
- Updated README examples to reflect the current package naming, install path, and UI-layer APIs.
- Continued the package rename from the previous
DebugLocalization*surface to theLiveLocalization*naming now used across the repository.
0.3.0
[0.3.0] - 2026-03-11
Added
- Added
TranslationPreparationGateas a quick in-app SwiftUI entry point for checking translation language pack availability and triggering the system preparation flow. - Added
TranslationPreparationCoordinator.needsPreparation,refreshPreparationStatus(force:),requiresPreparation(force:), andcurrentPreparationRequestto support custom preparation UIs.
Changed
- Updated the demo app to use
TranslationPreparationGateat the root instead of wiring the preparation flow directly inRootDemoView. - Simplified the demo app startup flow to always configure
AppleTranslationProvider()for the translation preparation example. - Updated the README to document the in-app preparation flow, coordinator-based customization, and the new demo usage.
Release 0.2.0
[0.2.0] - 2026-03-11
Added
- Introduced
LocalizationProvideras the primary public provider protocol. - Added
DebugTranslate.configure(provider:)as the global shared configuration entry point. - Added
String.localize(),String.localize(using:),String.localizeSync(), andString.localizeSync(using:). - Added
SyncLocalizationProviderfor providers that can localize without async work. - Added runtime package version access through
DebugLocalizationVersion.current.
Changed
- Simplified the default developer-facing API around shared configuration and string-based localization calls.
- Updated the demo app to use the new shared localization flow in both SwiftUI and UIKit.
PseudoLocalizationProvider,PassthroughLocalizationProvider, andMockTranslationProvidernow support sync localization paths.DebugLocalizernow supports both async and sync localization access while keeping shared usage thread-safe.
Removed
- Removed the older provider alias and configuration helper APIs that were superseded by the new entry points.
Release 0.1.0
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project follows Semantic Versioning.
[0.1.0] - 2026-03-11
Added
- Initial public baseline for the DebugLocalization package.
DebugLocalizationCorewith async localization provider abstractions andDebugLocalizer.- Built-in provider modes for passthrough, pseudo-localization, and mock translation flows.
DebugLocalizationTranslationSupportwith Apple Translation integration for supported iOS configurations.- Translation preparation coordination for checking and downloading language resources before translation.
- Public runtime version constant via
DebugLocalizationVersion.current.