Changelog

Last updated: September 23, 2026


2026 - September

  • Vector indexes add semantic similarity search to Account, AccountSet, Balance, Entry, KV, TranCode, Transaction and View records. Create one with createVectorIndex, then query by text or by a raw vector with index: { name: VECTOR }. Results carry a similarity score.
  • Embeddings use Amazon Titan Text Embeddings V2 by default. Cohere and Amazon Nova models are also available, or you can supply your own embeddings with the EXTERNAL model.
  • Vector indexes are asynchronous and eventually consistent. Updates that do not change the embedded text are not embedded again.
  • Semantic search on KV records, for agent memory and RAG retrieval.

2023 - June

  • User invitations to Twisp go to new console.
  • Local docker images support both amd64 and arm64 CPU platforms.
  • Search indexes powered by Opensearch added to Twisp.
  • Add money(int, string) CEL constructor
  • Trancodes that do not specify journal id post the DEFAULT journal

2023 - May

  • Run a local instance of Twisp through Docker.
  • Create custom indexes for and add metadata to ledger entries.
  • Launched a new version of the Twisp Console. Improved GraphQL environment, new views for navigating accounts and tran codes, and streamlined UI/UX.
  • Introduced the Between operator for querying and defining indexes. Use to select ranges of sorted values.
  • New ACH workflow for push/pull/cancel operations.
  • More reference documentation added, as well as our first two guides.
  • Optimizations for account set queries and mutations.

2023 - April

2023 - March

  • Default journals in every ledger. In many cases, users only need a single journal, so now every ledger will contain a default journal (with code DEFAULT). This also simplifies many common queries by making the journalId filter option optional - it will use the default journal if not provided.
  • New Journal.code field, an optional unique code for journals.
  • Support for Global Object Identification in the GraphQL API. All persistent core accounting models in the GraphQL schema now implement the Node interface, meaning that they have a globally unique id field and can be queried using the global Query.node field.
  • Integrated timestamps into transactional operations: mutation operations committed within the same transactional context will have the same created and modified timestamps in the same way that Postgres now() and CURRENT_TIMESTAMP works.
  • Configurable account sets with AccountSetConfig. For now, the config only has one option enableConcurrentPosting that optimizes the account set for a ridiculously high rate of entries written. The tradeoff is that read operations for balances become much more expensive and slow; to be used with caution.
  • Regional WAFs are deployed in every account/region.
  • Suite of Tutorials published on the docs site, including the "Twisp 101" tutorial and a set of "Foundations" tutorials covering the basic operations for the ledger.
  • Additional reference documentation on the API covering concepts like pagination and the various error types.

2023 - February

  • Historical indexes can be created to query all versions of records' histories. While regular indexes (such as those created by the schema.createIndex mutation) will index the most recent version of records, a historical index will index every version.
  • Indexing & filtering by multiple sort/partition keys in custom indexes. Querying custom indexes accepts a list of CustomIndexFilter to enable filtering by on indexes with multiple index keys.
  • Decimal type IndexKeys allow creating more flexible custom indexes.
  • Money type arithmetic & logical operations in CEL. CEL expressions can now perform basic infix operations on money types, e.g.: money("1.15","EUR") > money("1.14","EUR").
  • Enable AWS Backups for business continuity plans (BCPs).

2023 - January

  • Concurrent postings for high throughput accounts allows low cardinality accounts like settlement accounts to have postings at high throughput, while maintaining all transactional guarantees at the cost of slower reads of balances on the account.
  • Administrative APIs for managing user access to Twisp for your organization and managing Twisp tenants under your org.