> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blnkfinance.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Blnk Core

> Latest features, releases, and improvements.

<Update label="0.14.1" description="May 6, 2026">
  ## Scheduled inflight commits

  You can now set **`inflight_commit_date`** when recording an inflight transaction (**`inflight: true`**).

  This lets Blnk reserve funds immediately like a normal inflight transaction and **automatically commits** at the date and time you specify, without calling manually committing the transaction yourself.

  [Schedule inflight commits →](/transactions/inflight#schedule-inflight-commits)
</Update>

<Update label="0.14.0" description="Apr 9, 2026">
  ## Performance improvements

  This release focuses on improving how Blnk performs under high-traffic.

  In internal benchmarks under heavy contention and burst load, processing throughput improved by **up to about 5×**; your results depend on workload shape, how much traffic overlaps on the same balances, and how you configure the server.

  [Handling hot balances →](/guides/hot-balances)

  [Transaction and queue configuration →](/advanced/configuration/transactions)
</Update>

<Update label="0.13.6" description="Mar 11, 2026">
  ## Fixes & improvements

  1. **Update Metadata response:** The [Update Metadata](/reference/update-metadata) endpoint now returns **`meta_data`** in the response instead of `metadata`.

     [View migration guide →](/changelog/v13-migration)
</Update>

<Update label="0.13.5" description="Mar 9, 2026">
  ## Fixes & improvements

  1. **Transaction filter bug fix:** Fixed transaction filters to return precision.
  2. **Edit and delete matching rules:** You can now edit and delete matching rules for your reconciliation workflows.
</Update>

<Update label="0.13.4" description="Mar 6, 2026">
  ## Fixes & improvements

  * Reconciliation improvements and bug fixes.
  * Introduced logical operators to direct DB filters.
</Update>

<Update label="0.13.3" description="Feb 24, 2026">
  ## Fixes & improvements

  * Fixed a bug where the `balance_id` filter returned an internal server error when you [search via Direct DB](/search/db/filtering).
</Update>

<Update label="0.13.2" description="Feb 12, 2026">
  ## Search via Database

  Filter ledgers, balances, transactions, and identities directly from your database using the new Filter API. To use, just send POST requests to `/{collection}/filter` with JSON filters, sorting, and pagination; no Typesense setup required.

  [Read docs](/search/db/filtering)
</Update>

<Update label="0.13.1" description="Feb 5, 2026">
  ## Reindex Typesense

  Populate a new or empty Typesense instance using data from your existing database. Useful when deploying a fresh Typesense instance, migrating to a new cluster, or recovering from Typesense data loss.

  [Read docs](/search/typesense/reindex)
</Update>

<Update label="0.13.0" description="Jan 29, 2026">
  ## Introducing Lineage

  You can now track the source of funds on balances (“fund lineage”) and control how debits are allocated across sources (FIFO, LIFO, or proportional). This improves traceability for reporting and audits.

  [Read docs](/transactions/lineage)

  ## Fixes & improvements

  1. **Webhook request signing**: Outbound webhook deliveries now include `X-Blnk-Signature` and `X-Blnk-Timestamp` headers (HMAC-SHA256), so you can verify webhook authenticity.
  2. **Improved graceful shutdown**: Enhanced graceful shutdown to ensure pending transactions finish before the server stops.
  3. **Fixed PII secret key requirement**: Fixed a bug to ensure that PII only works when you set a PII secret key in your config.
  4. General bug fixes and performance improvements.
</Update>

<Update label="0.12.2" description="Jan 14, 2026">
  ## Fixes & improvements

  1. **Applied Cloud indexes** to the Core database to improve speed and performance when retrieving data on your Cloud dashboard.

  2. **Fixed Search date field updates**: Resolved an issue where date fields were incorrectly updated in the [Search](/search/typesense/introduction) index when metadata was modified.

  3. **Precise distribution support**: [Multiple sources](/transactions/multiple-sources) and [multiple destinations](/transactions/multiple-destinations) now support passing precise amounts in the distribution array using the `precise_distribution` parameter. This enables accurate distribution when working with `precise_amount` values.
</Update>

<Update label="0.12.1" description="Jan 12, 2026">
  ## Fixes & improvements

  1. **Fixed Typesense index errors**: Resolved issues with Typesense indexing for transaction records, ensuring reliable search functionality.

  2. **Effective date search and sorting**: You can now search and sort transactions by `effective_date`. When `effective_date` is not set, it automatically defaults to the same value as `created_at`, ensuring consistent date handling across all transactions.

  <Warning>
    **Reindexing required**: Old transactions that were not previously indexed in Typesense will need to be reindexed to take advantage of these improvements.

    You can check out this [reindexing script](https://github.com/stkegoul/blnk-reindex) from a community member.
  </Warning>
</Update>

<Update label="0.12.0" description="Dec 8, 2025">
  ## Enhanced API key security

  API keys are now hashed using SHA-256 before storage, significantly improving security posture. Plain text API keys can only be retrieved during creation—they are never stored or returned in list responses.

  <Warning>
    This release includes breaking changes related to API key security. Existing API keys will stop working after upgrading. Please review the [migration guide](/changelog/v12-migration) before upgrading.
  </Warning>

  ## Fixes & improvements

  1. **Enhanced reconciliation support**: Reconciliation now supports amounts with more than 2 decimal places and currency codes longer than 3 characters.

  2. **System error webhooks**: We now send system errors (e.g. duplicate reference) as webhooks, making it easier to monitor and troubleshoot system issues.

  3. General bug fixes and performance improvements.
</Update>

<Update label="0.11.6" description="Nov 29, 2025">
  ## Bug fixes & improvements

  1. General bug fixes and improvements.
</Update>

<Update label="0.11.5" description="Nov 28, 2025">
  ## Fixes & improvements

  1. Improved webhook delivery performance for faster and more reliable concurrent webhook delivery.
  2. You can now tune webhook processing performance with the new [`webhook_concurrency`](/advanced/configuration/transactions#queue-configuration) configuration.
</Update>

<Update label="0.11.4" description="Nov 26, 2025">
  ## Fixes & improvements

  1. Improved reconciliation performance for faster processing of large reconciliation batches.
</Update>

<Update label="0.11.3" description="Nov 20, 2025">
  ## Typesense JOINs support

  You can now query related data across collections in a single search. For example, this makes it easier to fetch balances with their associated identity details, or filter identities based on their balance information.

  <CodeGroup>
    ```bash Sample request theme={"system"}
    curl -X POST "http://YOUR_BLNK_INSTANCE_URL/search/balances" \
      -H "X-Blnk-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "q": "*",
        "include_fields": "$identities(*)" // Fetch identity details for each balance
      }'
    ```

    ```json Response {15-18} theme={"system"}
    {
      "facet_counts": [],
      "found": 145,
      "hits": [
        {
          "document": {
            "balance": "-13166600",
            "balance_id": "bln_0c2f1ab7-a40d-4e23-a5dc-daad54ddf3c1",
            "created_at": 1763641569,
            "credit_balance": "34461100",
            "currency": "EUR",
            "currency_multiplier": 0,
            "debit_balance": "47627700",
            "id": "bln_0c2f1ab7-a40d-4e23-a5dc-daad54ddf3c1",
            "identities": {
              "first_name": "Debra",
              "last_name": "Barrett"
            },
            "identity_id": "idt_4dd12897-f085-41f2-955f-790ed3c0a7fb",
            "indicator": "",
            "inflight_balance": "0",
            "inflight_credit_balance": "0",
            "inflight_debit_balance": "0",
            "inflight_expires_at": 1763641569,
            "ledger_id": "ldg_6dc543d3-1138-4ea8-8072-844398c735a1",
            "meta_data": {
              "created_by": "system-api"
            },
            "precision": 0,
            "version": 19
          },
          "highlight": {},
          "highlights": []
        }
      ],
      "out_of": 148,
      "page": 1,
      "request_params": {
        "collection_name": "balances",
        "per_page": 1,
        "q": "*"
      },
      "search_cutoff": false,
      "search_time_ms": 8
    }
    ```
  </CodeGroup>

  This returns balance records with their full identity details joined automatically, reducing the need for multiple API calls.

  ## Fixes & improvements

  1. **Enhanced transaction precision validation**: The system now rejects transactions with non-integer precision values to prevent database failures and balance inconsistencies.

  2. **Default general ledger indexing**: The system now automatically ensures the default general ledger exists in Typesense search index during initialization.

  3. **API key tracking improvements**: Fixed an issue where API key usage tracking (`UpdateLastUsed`) was not correctly updating records by `api_key_id`, ensuring accurate API key activity monitoring.
</Update>

<Update label="0.11.2" description="Oct 8, 2025">
  ## Fixes & improvements

  1. You can now commit inflight bulk transactions created with the queue (i.e. `skip_queue: false`) using their batch IDs.

  2. [Queued balances](/balances/introduction#queued-balances) now omit inflight transactions.
</Update>

<Update label="0.11.1" description="Sep 30, 2025">
  ## Fixes & improvements

  1. **Fixed metadata update bug**: Resolved issue where Typesense search index wasn't being updated when existing records' metadata was modified.

  2. **[Get transaction by reference](/reference/get-transaction-by-reference)**: You can now retrieve transactions using their `reference` number. See also: [Verifying transactions](/transactions/introduction#verifying-transactions).

  3. **[Update ledger name](/reference/update-ledger-name)**: You can now rename existing ledgers in your Blnk Core.

  4. **[Link existing balance to identity](/reference/update-balance-identity)**: You can update the identity linked to a balance or attach an existing balance to an identity.
</Update>

<Update label="0.11.0" description="Aug 27, 2025">
  <Info>
    This release includes breaking changes related to Typesense/Search functionality. Please review the [migration guide](/changelog/v11-migration) before upgrading.
  </Info>

  ## Search with metadata

  We have improved searching transactions, balances, and identities with metadata.

  Use your own tags, customer IDs, categories, or nested fields to filter and retrieve exactly what you need, making it easier to organize data around your business context.

  ## Fixes & improvements

  1. Insufficient balance checks now include inflight transactions, giving a more accurate view of available funds and helping prevent unintentional overdrafts.
  2. Improved handling of inflight transactions during commit and void operations in high-concurrency environments.
  3. The system now properly excludes rejected inflight transactions from commit operations to prevent errors.
  4. Enhanced search performance and memory usage optimizations.
  5. Updated Typesense client library with security patches and improved API compatibility.
  6. General bug fixes and performance improvements.
</Update>

<Update label="0.10.8" description="Jul 31, 2025">
  ## Fixes & improvements

  1. **Enhanced PII tokenization**: Strengthened PII tokenization functionality to properly handle international characters, emojis, and special symbols without corruption during tokenization and detokenization processes.
</Update>

<Update label="0.10.7" description="Jul 24, 2025">
  ## Fixes & improvements

  1. **Fixed telemetry configuration bug**: Resolved issue where `BLNK_ENABLE_TELEMETRY=false` would still default to enabled. Telemetry and observability concerns are now properly separated with independent feature flags.

  2. **Enhanced transaction concurrency**: Introduced robust locking mechanism for inflight transactions to prevent race conditions during commit and void operations, ensuring data consistency in high-concurrency scenarios.

  3. **Improved transaction reference management**: Updated transaction references to use UUID suffixes for unique identification instead of simple "-commit" suffixes, providing better transaction traceability and preventing reference collisions.

  4. **Enhanced error handling**: Improved error handling for "reference already used" errors to provide better transaction flow management.

  5. **Added TypeSense DNS validation**: Enhanced indexing reliability by ensuring TypeSense operations only occur when properly configured, preventing potential indexing failures.

  6. **Added connection pooling support**: Improved database performance and reliability through enhanced connection management.
</Update>

<Update label="0.10.6" description="Jul 8, 2025">
  ## Redis TLS verification control

  The Redis configuration now supports a `skip_tls_verify` option. This allows you to connect to Redis instances with self-signed or untrusted certificates by skipping TLS certificate verification.

  **Example:**

  ```json theme={"system"}
  {
    "redis": {
      "dns": "rediss://<user>:<password>@<host>:<port>",
      "skip_tls_verify": false
    }
  }
  ```

  [See configuration docs →](/advanced/configuration/data-stores#redis-configuration)
</Update>

<Update label="0.10.5" description="Jul 4, 2025">
  ## Bulk transaction queue processing

  Bulk transactions now use the queue system by default for improved performance and reliability. Learn more: [Why we use queueing](/guides/concurrency#queuing-transactions).

  1. Bulk transactions default to `skip_queue: false`.
  2. Users can add `"skip_queue": true` to bypass the queue for immediate processing.

  ## Other improvements

  1. Enhanced balance creation to prevent duplicate entries with the same indicator and currency.
</Update>

<Update label="0.10.4" description="Jun 25, 2025">
  ## Fixes & improvements

  1. **Security**: Added authentication bypass for `/health` endpoint to enable health checks without authentication.
</Update>

<Update label="0.10.3" description="Jun 21, 2025">
  ## New features

  This release brings significant improvements to transaction processing, balance management, and system reliability with enhanced locking mechanisms and better webhook handling.

  1. **GetBalanceByIndicator functionality**\
     You can now retrieve balances using custom indicators, providing more flexible balance querying capabilities for your applications.

  2. **Zero-amount transaction handling**\
     The system now properly handles zero-amount transactions, ensuring consistent behavior across all transaction types and edge cases.

  3. **Update balance identity endpoint**\
     Added new endpoint to update the identity associated with a balance, allowing for better customer data management and account linking.

  4. **Kubernetes deployment support**\
     Added comprehensive Kubernetes manifests for streamlined deployment and management in containerized environments.

  ## Major improvements

  1. Enhanced transaction precision for better handling of large financial values.
  2. Refunding transactions is now idempotent: you can no longer refund a transaction more than once.
  3. Improved balance creation reliability to prevent race conditions.
  4. Enhanced commit functionality using queue system for better transaction flow management.
  5. Improved webhook processing for better reliability.
  6. Enhanced webhook delivery consistency.
  7. Improved webhook error handling and retry mechanisms.
  8. Added comprehensive [health check endpoints](/reference/get-health) for better system monitoring.
  9. Added [queue monitoring port](/advanced/monitoring-port) for real-time queue metrics and dashboard monitoring.
  10. Enhanced system observability with improved logging and status tracking.
  11. Better configuration handling for transaction lock duration.
  12. Fixed API key revocation to properly bind to owner ID, preventing unauthorized access bypass.
  13. Enhanced reconciliation testing framework for better financial accuracy validation.
  14. Improved bulk transaction cleanup processes.
  15. Enhanced Docker workflow with multi-platform support for broader deployment compatibility.
  16. Streamlined deployment processes with better containerization.
</Update>

<Update label="0.10.2" description="Apr 14, 2025">
  ## Bug fixes & improvements

  1. General bug fixes and improvements.
</Update>

<Update label="0.10.1" description="Mar 22, 2025">
  ## Granular access controls

  You can now create API keys with specific permissions to enforce granular access control in your ledger.

  ```json theme={"system"}
  {
    "name": "Balance Management",
    "owner": "balance_management",
    "scopes": ["balances:write", "search:write"],
    "expires_at": "2026-03-11T00:00:00Z"
  }
  ```

  [Set your API keys →](/advanced/secure-blnk#authentication-methods)

  ## Overdraft limits

  Set a maximum overdraft threshold using the `overdraft_limit` parameter when you enable overdrafts for a transaction:

  ```json {10} theme={"system"}
  {
    "amount": 400.23,
    "precision": 100,
    "currency": "USD",
    "reference": "ref_abc123",
    "source": "bln_546df224-d7a8-4a20-8e27-399938cb3ead",
    "destination": "bln_8de42141-059f-42ea-9340-00394285620a",
    "description": "Wallet funding",
    "allow_overdraft": true,
    "overdraft_limit": 500
  }
  ```

  For example, setting `overdraft_limit` to 500.00 ensures the balance does not drop below -\$500.00, providing a safeguard against excessive overdrafts.

  [Set Overdraft Limits →](/transactions/overdrafts#setting-overdraft-limits)

  ## Use historical balances without balance snapshots

  You now have the option to bypass balance snapshots when utilizing the [historical balances](/balances/historical-balances#bypassing-balance-snapshots) feature, allowing your balances to be reconstructed with their transactions only.

  To do this, include the query parameter `from_source=true` in your request URL:

  ```
  GET https://YOUR_BLNK_INSTANCE_URL/balances/{balance_id}/at?timestamp={timestamp}&from_source=true
  ```

  ## Apply precision with `precise_amount`

  Accurately record amounts exceeding 15 digits with full precision using the `precise_amount` field:

  1. Convert the amount to its smallest unit.
  2. Enter this value directly into the `precise_amount` field of your request.
  3. Include the corresponding `precision` value.

  ```json Example {2} theme={"system"}
  {
    "precise_amount": 189207535698279000,
    "precision": 1000000000000000000,
    "currency": "ETH",
    ...
  }
  ```

  [Applying precision with `precise_amount` →](/transactions/precision#option-2-using-the-precise-amount-field)

  ## Balance reconstruction

  Correct ledger discrepancies by recalculating your balance directly from transactions. To use this feature, [update your balance metadata](/metadata/update-metadata) with the following key:

  ```json theme={"system"}
  {
    "meta_data": {
      "BLNK_RUN_RECONCILIATION": "SOURCE"
    }
  }
  ```

  See [How Balance Reconstruction Works](/advanced/balance-reconstruction) for more details.

  ## Instant reconciliation

  You can now instantly match transactions and mark them as reconciled, with reconciliation details stored in the transaction's metadata for easy tracking.

  See [Instant Reconciliation](/reconciliations/overview#option-2-instant-reconciliation) for more details.

  ## Other improvements

  1. Added database protections to prevent unauthorized changes to transactions and balance snapshots.
  2. Introduced a transaction journal featuring a comprehensive audit log to track all activities within the transactions table.
  3. Enabled metadata updates for multiple transactions using the `parent_transaction` ID,
  4. Upgraded Redis connectivity with TLS support.
  5. General bug fixes and performance improvements
</Update>

<Update label="0.9.1" description="Mar 5, 2025">
  ## Bug fixes & improvements

  1. General bug fixes and improvements.
</Update>

<Update label="0.9.0" description="Mar 3, 2025">
  ## Bulk transactions

  The Bulk Transaction API enables you to process multiple transactions within a single request. It offers two processing options: atomic processing, where all transactions either succeed or fail as a unit, and independent processing, where each transaction is handled separately.

  Additionally, the API supports asynchronous processing to efficiently manage large batches of transactions.

  [Bulk Transactions →](/transactions/bulk-transactions)

  ## Backdated transactions

  Introducing the `effective_date` feature for recording transactions with a financial date different from their system entry date.

  This capability ensures seamless [migration](/guides/migration), accurate financial reporting, [reconciliation](/reconciliations/overview), and [historical balance](/balances/historical-balances) calculations.

  [Backdated Transactions →](/transactions/backdated-transactions)
</Update>

<Update label="0.8.8" description="Feb 26, 2025">
  ## PII tokenization

  We've introduced a PII tokenization feature allowing you to replace sensitive customer data with non-sensitive tokens while maintaining the ability to use the data for business operations.

  This enhances security, reduces compliance scope, and maintains full functionality within your applications.

  [PII Tokenization →](/identities/pii-tokenization)
</Update>

<Update label="0.8.7" description="Feb 25, 2025">
  ## Bug fixes & improvements

  1. General bug fixes and improvements.
  2. Added environment variables for Blnk configuration parameters.
</Update>

<Update label="0.8.5" description="Feb 24, 2025">
  ## Bug fixes & improvements

  1. General bug fixes and improvements.
</Update>

<Update label="0.8.4" description="Feb 24, 2025">
  ## Balance snapshots & historical balances

  Introduced the Balance Snapshots feature, enabling users to retrieve historical balance data at any specific point in time. This enhances accurate financial reporting and analysis while maintaining efficient storage and retrieval mechanisms for optimal performance and scalability.

  [Balance Snapshots →](/balances/balance-snapshots)

  [Historical Balances →](/balances/historical-balances)
</Update>

<Update label="0.8.3" description="Feb 22, 2025">
  ## New configuration for handling insufficient funds

  Added configuration parameters to control how the ledger processes transactions when funds are insufficient.

  1. `insufficient_fund_retries`: Determines whether the ledger should automatically retry transactions that fail due to insufficient funds.

  2. `max_retry_attempts`: Specifies the maximum number of retry attempts before the transaction is rejected.

  ## Added queued balances

  [Queued balances](/balances/introduction#queued-balances) help estimate the available or expected balance of a ledger. Unlike [inflight balances](/transactions/inflight), which require certain conditions to be met (commit or void) before being applied, queued balances simply represent the total amount of transactions waiting in the queue, regardless of conditions.

  To view the queued balances of a ledger balance, call the [Get Balance](/reference/get-balance) endpoint:

  ```
  GET http://YOUR_BLNK_INSTANCE_URL/balances/{balance_id}?with_queued=true
  ```

  ```json Response {9-10} theme={"system"}
  {
      "balance": 0,
      "version": 0,
      "inflight_balance": 0,
      "credit_balance": 0,
      "inflight_credit_balance": 0,
      "debit_balance": 0,
      "inflight_debit_balance": 0,
      "queued_credit_balance": 0,
      "queued_debit_balance": 0,
      "precision": 0,
      "ledger_id": "ldg_073f7ffe-9dfd-42ce-aa50-d1dca1788adc",
      "identity_id": "",
      "balance_id": "bln_e39a239a-a6ca-4509-b0d9-29dcc5630f8a",
      "indicator": "",
      "currency": "USD",
      "created_at": "2024-07-05T08:13:18.882616461Z",
      "meta_data": {
          "customer_internal_id": "1234",
          "customer_name": "Jerry"
      }
  }
  ```
</Update>

<Update label="0.8.2" description="Feb 7, 2025">
  ## Direct transaction processing (skip queue)

  Added `skip_queue` option to allow transactions to bypass the queue system and process immediately. When enabled:

  1. Transactions act directly on balances without entering the queued state
  2. System maintains data consistency through Redis distributed locks
  3. Optimistic locking at database level ensures transaction integrity

  To implement, add `"skip_queue": true` to your transaction request body when posting a transaction to your ledger.

  ```json {4} theme={"system"}
  {
    ...
    "inflight": true,
    "skip_queue": true
  }
  ```
</Update>

<Update label="0.8.1" description="Jan 18, 2025">
  ## Updates to transactions

  The `QUEUED` state is now stored in your Ledger to enhance organisation and traceability in your financial data.

  When a queued transaction is processed, we maintain a clear link to its origin:

  1. Each queued transaction maintains two connections to its parent:
     1. Direct link via `parent_transaction` field
     2. Modified reference with `_q` suffix

  This ensures:

  1. Clear audit trail of transaction flow
  2. Easy tracking of transaction history
  3. Prevention of reference collisions
  4. Ability to trace complete transaction lifecycle

  <Card title="How transactions work in Blnk" href="/transactions/introduction" icon="tag">
    Learn how transactions are recorded in your Ledger and how to work with them
  </Card>

  ## Configuration file

  Blnk Finance now provides granular control over transaction and queue behaviors. This allows you to fine-tune system performance and behavior according to your needs.

  <Card title="Configuration file" href="/advanced/configuration/overview" icon="settings">
    Learn how to customise your Blnk server with the blnk.json file.
  </Card>

  ## Metadata update

  The metadata update feature allows you to attach and modify additional information to different financial items (ledger, balance, transaction or identities) without altering their core attributes. This provides flexibility for storing custom data, tags, or references.

  ## Bug fixes & improvements

  1. Enhanced distribution calculations with rounding support
  2. Improved transaction processing and metadata handling
  3. Enhanced configuration options for transaction and queue management
  4. General bug fixes and improvements
</Update>

<Update label="0.7.42" description="Dec 23, 2024">
  ## Bug fixes & improvements

  1. General bug fixes and improvements.
</Update>

<Update label="0.7.41" description="Dec 23, 2024">
  ## Bug fixes & improvements

  1. Improved URL parsing for managed and Docker Redis connections.
</Update>

<Update label="0.7.4" description="Nov 12, 2024">
  ## Bug fixes & improvements

  1. `indicator` not returning for [internal balances](/balances/internal-balances) on the `GET /balances` endpoint is now fixed.
</Update>

<Update label="0.7.3" description="Oct 11, 2024">
  ## Bug fixes & improvements

  1. General bug fixes and improvements.
</Update>

<Update label="0.7.2" description="Sep 10, 2024">
  ## Bug fixes & improvements

  1. General bug fixes and improvements.
</Update>

<Update label="0.7.1" description="Sep 9, 2024">
  ## Bug fixes & improvements

  1. Improved transaction processing speed through optimized reference checking.
</Update>

<Update label="0.7.0" description="Sep 9, 2024">
  ## Reconciliation

  We're excited to announce Reconciliation, a powerful new module that helps developers seamlessly compare and reconcile external records with your Blnk Ledger. This feature ensures data consistency, simplifies auditing processes, and reduces errors by automatically flagging mismatches.

  To learn more: [Reconciliation overview](/reconciliations/overview).

  ## Parent transactions

  We added `parent_transaction` for transactions with parent ids, e.g., inflight transactions, multiple sources/destinations, scheduled transactions, etc.

  For example, when an inflight transaction is committed, a new transaction is created in your ledger. This new transaction includes the `parent_transaction` field, which references the original inflight transaction.

  Other related improvements include:

  1. Added pagination support for fetching transactions by `parent_transaction`.

  ## Bug fixes & improvements

  1. Add identity and reconciliation collections to Search.
  2. Added new tools for system monitoring to provide better visibility and faster detection of performance issues.
  3. Added rate-limiting to ensure fair usage and maintain system reliability during high traffic periods.
  4. Resolved issues with backups to Amazon S3.
  5. Improved error handling to deliver clearer feedback and make debugging more efficient.
</Update>

<Update label="0.6.4" description="Jun 10, 2024">
  ## Bug fixes & improvements

  1. Fixed dates not being returned correctly.
  2. Improved Search
  3. `created_at` is now set before queuing transactions.
</Update>

<Update label="0.6.3" description="Jun 9, 2024">
  ## Bug fixes & improvements

  1. Added `precision` to balance monitor.
  2. Added restart policy to migration.
  3. Directus service and `.env` parameters added in **docker-compose** by [vebera](https://github.com/vebera).
</Update>

<Update label="0.6.2" description="May 3, 2024">
  ## Rates

  We've introduced Rates, a feature that allows you to record transactions between balances of different currencies.

  ```json Applying rates {5} theme={"system"}
  {
    ...
    "source": "bal_usd",
    "destination": "bal_gbp",
    "rate": 0.92
  }
  ```

  ## Bug fixes & improvements

  1. Added `inflight_expiry_date` for specifying when an inflight transaction should expire and be automatically voided.
  2. Added new balance fields and `operator` field to balance monitors.
  3. You can now only commit up to the total amount of the original inflight transaction.
</Update>

<Update label="0.6.1" description="Apr 12, 2024">
  ## Added search

  Search gives you full control and flexibility over how you fetch your transaction data from your Blnk Ledger. You can use Search to retrieve any data — ledgers, ledger balances, and transactions — from your Blnk Ledger.

  ## Transaction precision

  `precision` is now a transaction parameter. Blnk uses `precision` to convert transaction amounts to the lowest unit possible, e.g., converting naira to kobo, to ensure that your balances are correctly computed.

  <Tip>The lowest unit for an asset class is a value that has no decimal point regardless of what amount is passed.</Tip>

  ## Partial commits for inflight transactions

  You can now commit transactions in `INFLIGHT` in bits, i.e., you can release the amount being held by your system in batches based on the conditions you've set for the transaction or participating balance.

  ## Bug fixes & improvements

  1. Fixed typos in the payloads for `inflight` and `allow_overdraft`.
  2. General bug and performance improvements.
</Update>

<Update label="0.6.0" description="Apr 8, 2024">
  ## Multiple sources & destinations

  <Frame>
    <img src="https://mintcdn.com/blnk/1ovX6XPhGAiu3J1T/images/multiple-sources.png?fit=max&auto=format&n=1ovX6XPhGAiu3J1T&q=85&s=ed41a0fc468416d8106873b78e508f58" width="1700" height="980" data-path="images/multiple-sources.png" />
  </Frame>

  You can now process transactions from [multiple sources](/transactions/multiple-sources) to one destination or from one source to [multiple destinations](/transactions/multiple-destinations). Multiple sources/destinations help you link similar transactions into one single request payload and making the process a lot more efficient for you.

  ## Inflight transactions

  We've introduced Inflight Transactions, a feature that allows you to hold a transaction until specific conditions are met.

  ```json Enable inflight {7} theme={"system"}
  {
    "amount": 12992.12,
    "reference": "ref_1234",
    "source": "bln_28edb3e5-c168-4127-a1c4-16274e7a28d3",
    "destination": "@World",
    "description": "Card payment",
    "inflight": true
  }
  ```

  ## Overdrafts

  With the new Overdrafts feature, you can process transactions even if the ledger balance doesn't have sufficient funds. When overdraft is enabled, your balance can go negative, signifying that more money has been spent than received.

  ```json Enable overdraft theme={"system"}
  {
    "allow_overdraft": true
  }
  ```

  ## Enhanced concurrency control

  Improved transaction processing to ensure that multiple transactions can be seamlessly processed simultaneously at scale. Learn more: [How Blnk handles concurrency](/resources/concurrency).

  ## Bug fixes & improvements

  1. The `precision` value for a ledger balance is now automatically applied to the amounts of all transactions that the balance is part of. This ensures that your balance is correctly computed and no amount is lost to approximation.
  2. General bug and performance improvement.
</Update>

<Update label="0.5.0" description="Mar 25, 2024">
  ## Welcome to our first release

  Blnk Core is live and available for download.

  Fintech developers now have access to an open-source ledger database (a reliable source of truth) and fintech backend infrastructure for building their financial products at scale.

  ## Ledgers and ledger balances

  You can now model your customers' accounts, wallets, and all kinds of balances with our ledger and ledger balances features. You can also implement [balance monitoring](/balances/balance-monitoring) in one place.

  You can also represent your organization's chart of accounts in your Ledger with our [General Ledger](/ledgers/general-ledger) feature.

  ## Transactions

  You can accurately record and track transactions between balances in your Ledger. Blnk transactions feature also allows you to model and implement complex money movement within your system.

  You can also toggle on [refunds](/transactions/refunds), and [scheduling](/transactions/scheduling).

  ## Identities

  You can create and manage identities for your customers (individuals and organizations) within your Ledger. Learn more: [Identities](/identities/introduction)

  ## Advanced

  1. Added https configuration for running your Blnk server in [secure mode](/advanced/enable-https).
  2. Added k6 for [load testing](/advanced/load-testing).
</Update>
