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