v2.27.0
Release date: Aug 26, 2025
New features
Enhanced data filtering capabilities
Studio now provides a UI to filter records by their data.custom.*
properties.
The filtering interface adapts based on the property's schema definition, supporting string, number, integer, and boolean types, and operators equal
and not equal
.
Intent entries for improved consistency and performance
Introduced Intent Entries feature to improve intent processing consistency and performance. When this feature is enabled, in the 1st phase of an intent's processing, the ledger pre-resolves wallets, routes and bridges, storing them as proofs to avoid multiple resolutions during processing. These proofs and only these proofs will determine where balance comes from, where it goes, and which bridge(s) ledger communicates with during 2PC.
If something like wallet configuration changes after this but while intent is still processing, the intent will be processed with the configuration that existed when resolution was done.
Currently active at 100% on dev environment, with planned gradual rollout to staging and then production, shortly after this release.
Nested routing support
Modified wallet routing resolution in DTC to support nested routing setups.
For example, if we have an intent where the target is wallet1
, where wallet1
credits to wallet2
which credits to wallet3
, once the intent is processed the balances
will have ended up at wallet3
, while before this feature it would have ended up at wallet2
.
Ledger now resolves routes up to (configurable amount) 3 levels while detecting and preventing cycles. If there is cycle, intents that would be affected by the cycle will fail. It is still allowed to self-debit and self-credit. For example:
wallet1 -> wallet 2 -> wallet1
❌wallet1 -> wallet1
✅wallet1 -> wallet 2 -> wallet2
✅
Additional bridge operations
- Added endpoint for deleting bridges via
DELETE
request - Added CLI command
minka bridge drop <handle>
for bridge deletion
Additional effect operations
- Added endpoint for deleting effects
- Added CLI command
minka effect drop <handle>
for effect deletion
Fixes
Studio
- [studio] Fixed intents table showing identical updated and created times - now correctly displays different timestamps
Improvements
Additional authentication in anchors forwarding
- Modified anchor forwarding auth on requests from ledger to bridges. Ledger now includes a proof signed by ledger with
forwarded
status, and sends its Bearer token throughAuthorization
header. TheAuthorization
header from the original user is sent in headerx-forwarded-authorization
Studio UX
- Improved intent
handle
visualization using the<TruncatedCopyText />
component for better readability - Improved error page design and functionality
- Added loading states with skeleton loaders for index views (intents, domains, signers, reports) providing smooth transitions during schema loading
- Added "Back to login" buttons on 2FA pages and proper redirect when user is not logged in
- Included CSV preview support for
;
separator
Internal
Distributed cache support for Studio
Added studio.useDistributedCache
feature flag to enable Redis-based distributed caching, allowing multiple Studio pods to share the same cache without requiring cache invalidation.
Feature flags support
Implemented support for feature flags using the @minka/flags
library in Studio.
CI/CD
- [studio-e2e] Comprehensive test suite additions:
- Report status update, listing, and creation tests
- Member update, invite, and factor management tests
- Domain listing, creating, and status update tests
- Two-factor authentication setup and verification tests
- Intent listing and creation tests
- CSRF protection tests
- Basic navigation tests to ensure entire studio is navigable
- [ci] Added migration compatibility testing workflow to simulate canary releases and rollbacks
- [ci] Added NPM package publishing workflow
- [ci] Optimized CI infrastructure:
- Moved PR tests to separate workflow
- Coverage is not uploaded when target is not
master
branch
- [cd] Added automated staging release script
tools/stg-release/set-up-release.sh
for branch/tag creation and version bumping - [studio-e2e] Added 2FA Interceptor service to intercept secrets and generate OTP tokens for automated 2FA flow testing
- [ledger-e2e] Added tests ensuring ledger signs responses with forwarded anchors, including natural signing for created anchors and proof appending for updates
Performance and Infrastructure
- [ledger] Improved logging quality in anchor forwarding
- [studio] Integrated Sentry for error tracking and PostHog for analytics
- [studio] Created external page integration via iframe with custom navigation policy
- [ci] Modified Execute Tests workflow to support testing with candidate flags for specific environments
- [ci] Separated pull request tests into dedicated workflow for ad-hoc execution support
Miscellaneous
- [types] Allow listing filter properties to specify any
data.custom.*
property - [flag] Set Intent Entry flags to 100% active on dev environment to verify feature
- [ledger] Updated feature flag template handling - now uses correct
flag-values.example.yaml
file instead offlag-value.development.yaml
for local/CI environments