tisane 2.0.2
tisane: ^2.0.2 copied to clipboard
Tisane is a decentralized, offline-first Data Mesh integration layer for Flutter, enabling secure FFI communication and conflict-free data synchronization.
2.0.2 #
Fixed #
- Account isolation, part 2 (security): 2.0.1 gave each wallet its own box,
but any call to
initializeTTStore()/getHiveBox()with noaccountKey(bootstrap paths and per-domain repositories that don't carry the walletId) would close the signed-in wallet's box and reopen the shared legacysecure-vaultBox— so subsequent reads/writes pooled back into the box every account can read.getHiveBoxnow never downgrades a wallet-scoped box to the shared box: a no-accountKeycall keeps the currently-open wallet box open. Only an explicit switch to a different wallet closes it. Closes the residual cross-account leak the per-domain repositories re-opened.
2.0.1 #
Fixed #
- Account isolation (security): the local vault opened a single fixed Hive
box (
secure-vaultBox) shared by every wallet on a device, so a second account could read the first account's records.getHiveBox/initializeTTStorenow accept anaccountKeyand open a per-wallet box (secure-vaultBox-<key>), closing the previous wallet's box on switch — no data loss, no cross-account leak. Callers pass the wallet public key.
2.0.0 #
Changed #
- Internal refactor: every source file is now ≤ 200 lines.
infusion_manager,infusion_types,tt_graph,tt_linkand the Infusion security middleware were split into cohesivepart/extension files. No public symbols changed — the seal/open per-field logic moved toInfusionFieldProtector, the staticInfusionManagerproxy and deprecatedTTLinkaliases moved to their own units. Debug logging was removed from the Infusion vault path.
Security (BREAKING) #
- Infusion is now the sole cryptography provider. Removed the entire legacy
GUN-SEA(R) stack (
src/sear/) and itspackage:webcrypto/package:cryptodependencies. No third-party crypto library remains; all crypto goes throughinfusion_ffi(native FFI) and its bundled WebAssembly backend on web. - Bumped
infusion_ffito^1.5.0(stable), which enforces capability expiry on everyopen(previouslyexp_tswas never validated at the FFI/WASM boundary), rejects malformed key material instead of silently using an all-zero key, and zeroizes secret key material on dispose.
Removed (BREAKING) #
- Removed
TTSeaClient,TTUserApi,UserReference,UserCredentialsand the GUN-stylealias + passworduser/auth API. None of these were consumed by the apps; an Infusion-based identity (BIP-39 mnemonic → ed25519) should be built onInfusionwhen a real consumer needs it. - Removed
src/sear/*(sign, verify, secret, work, pair, certify, encrypt, decrypt, unpack, settings, sha256, shims, pseudoRandomText, base64) andsrc/types/sear/types.dartfrom the public API. - Removed the unused, broken
_internal_crypto_util.dart.
1.2.0-dev.3 #
- Bump
infusion_ffidependency to^1.4.4-dev.1for web/Wasm support. - Export
VerifyResultand add staticInfusion.cid()helper.
1.2.0-dev.1 #
- Refactor:
InfusionManageris now a SingletonInfusionclass with dependency injection for storage, improving testability. - Feature: Added
InfusionStoragePortallowing custom storage backends (e.g., memory for testing). - Feature: Metadata retrieval for
Infusionidentity. - Fix: Enhanced
TTClient.getValuewith better timeout handling and resource cleanup. - Fix: Fail fast with a clear error when Infusion key material cannot be persisted.
- Web: Added web runner files to
example/and validated the Flutter web build path againstinfusion_ffi 1.4.0-dev.1.
1.1.2 #
- Debug: Add detailed Infusion init/seal/open logs to trace vault lifecycle and payload flow.
- Chore: Bump
infusion_ffito 1.3.20 for the latest multi-platform binaries and Android loader fixes.
1.1.1 #
- Chore: Remove UI bootstrap entrypoint from package library (
lib/main.dart). - Chore: Clean local vault artifacts from the repo and ignore them going forward.
- Chore: Drop unused
cupertino_iconsdependency.
1.1.0 #
- Feature: Full Infusion integration with structured envelopes (INFJ), AAD, policies (private/shared/public), and Cap Tokens.
- Feature: Persist public identity (author/owner) from mnemonic and expose
exportIdentity. - Docs: Expanded multilingual documentation with core concepts and usage guides.
1.0.2 #
- Docs: Updated README with multilingual support (PT-BR, EN-US, ES).
- Docs: Added comprehensive documentation for package usage.
- Example: Added
example/directory with a working demonstration app. - CI: Enhanced release workflow for dynamic validation.
1.0.1 #
- Fix: Resolved CI/CD pipeline issues.
- Fix: Updated
infusion_crypto_adapterwith correct linter formatting. - Tests: Added conditional skipping for FFI integration tests in CI environments.
1.0.0 #
- Initial release.