release: v1.1.0-alpha02 with SafeBoxBlobFileRegistry, SafeBoxStateListener, and global observer #15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This release introduces
v1.1.0-alpha02
, a significant upgrade that enhances runtime safety and observability.Highlights
SafeBoxBlobFileRegistry
Prevents multiple
SafeBox
instances from accessing the same file concurrently. Enforces a strict single-instance-per-file constraint.SafeBoxStateListener
Observes lifecycle transitions (
STARTING
,WRITING
,IDLE
,CLOSED
) tied to a specificSafeBox
instance. Useful for ViewModel or short-lived scopes.SafeBoxGlobalStateObserver
Allows observing SafeBox state transitions globally by file name, even across different lifecycle owners. Useful in navigation-aware components or app-level coordination.
New Method:
SafeBox.closeWhenIdle()
Ensures file channel is closed only after all writes are completed. Prevents accidental file corruption during async transitions.
Docs & Migration
README.md
with improved performance charts and state observer usage.MIGRATION.md
updated to removeSafeBoxProvider
references in favor of singleton-based usage.