Overview
This migration guide covers the breaking changes introduced in Blnk v0.11.0, specifically related to Typesense/Search functionality. The main change involves upgrading the Typesense server from version 0.23.x to 0.24.x, which requires updating your Docker configuration.Breaking changes summary
- From: Typesense 0.23.x
- To: Typesense 0.24.x
- Impact: Breaking changes in API compatibility and schema handling
Migration steps
1
Update Docker configuration
Update your Typesense server version in your Docker configuration files.
-
For Production (
docker-compose.yaml
) -
For Development (
docker-compose.dev.yaml
) -
For Kubernetes (
infrastructure/k8s-manifests/typesense-deployment.yaml
)
2
Allow automatic schema migration
The new version includes automatic schema migration capabilities. When you start Blnk v0.11.0, it will automatically:
- Detect existing collections in your Typesense instance.
- Compare schemas between your current collections and the latest schema definitions.
- Add new fields to existing collections without data loss.
- Create missing collections with the latest schema.
ledgers
.balances
.transactions
.reconciliations
.identities
.
3
Schema improvements
-
Ledgers collection:
- Enhanced metadata handling with object type support.
- Improved nested field support.
-
Balances collection:
- All balance fields now use
string
type for precise decimal handling. - Enhanced metadata object support.
- Improved nested field capabilities.
- All balance fields now use
-
Transactions collection:
precise_amount
field usesstring
type for exact decimal precision.- Enhanced metadata object support.
- Improved nested field capabilities.
-
Reconciliations collection:
- No breaking changes to existing fields.
- Enhanced performance optimizations.
-
Identities collection:
- Enhanced metadata object support.
- Improved nested field capabilities.
4
Start Blnk v0.11.0
Start your updated Blnk instance. The system will automatically handle data migration including:
- Large number conversion: Automatically converts
big.Int
values to strings for Typesense compatibility. - Metadata normalization: Handles metadata field normalization for object schemas.
- Time field normalization: Ensures consistent timestamp formatting.
No manual intervention is required for data migration - everything happens automatically.
5
Configuration compatibility
No changes to environment variables or configuration files are required. All existing configurations remain compatible.
- Environment variables remain the same.
blnk.json
configuration structure unchanged.- Search API endpoints unchanged.
- Response formats remain compatible.
Testing checklist
After migration, verify the following:- Typesense server starts successfully.
- All collections are accessible.
- Search functionality works correctly.
- Data integrity is maintained.
- API endpoints respond correctly.
- No errors in application logs.
Performance improvements
Blnk v0.11.0 includes several performance improvements:- Enhanced search performance: Optimized query execution.
- Improved memory usage: Better resource management.
- Faster schema updates: Streamlined collection management.
- Better error handling: More robust error recovery.
This migration guide covers the breaking changes in Blnk v0.11.0. For additional features and improvements, refer to the release notes
Need help?
We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.Tip: Connect to Blnk Cloud to see your Core data.You can view your transactions, manage identities, create custom reports, invite other team members to collaborate, and perform operations on your Core — all in one dashboard.Check out Blnk Cloud →