Verify Schema in the CLI
The FRAGMENT CLI now includes verify-schema. This feature enables tools, like Claude Code and Cursor, to get immediate feedback on schema correctness and auto-fix.
fragment verify-schema \
--path ./my-schema.jsoncSmall improvements
JSON upload more legibleMigrations
You can now seamlessly edit and migrate Ledger Entries and Accounts for online Ledgers. This allows you to develop your product and Ledger seamlessly while maintaining data integrity the entire time. Read more about the migration, reversal, and archive mutations in our Migrate Data docs.
Small improvements
customCode length for a custom currency to 36 charactersPost Entry Updates
Guardrails have been added to the Entry posting flow from the Dashboard. Users will now be shown a list of available accounts for an Entry and given a warning during confirmation when an Entry will create a new Account after being posted.
Small improvements
migrateLedgerEntry mutation. This will post a new entry and reverse an existing LedgerEntry. Read the migrateLedgerEntry API reference to learn more.Ledger Account Currency Upgrade
You can now upgrade a Ledger Account in your Schema from a single currency to multi-currency.
Small improvements
BadRequestErrorEntry Stats
You can now query more information about your Ledger Entries using ledgerEntryStats including counts by status, type, and date ranges.
Small improvements
TagMatchInput type, enabling complex queries including NOT, ANY, ALL, and NONE operationsGroupMatchInput filter type for flexible matching conditionsupdateLedgerEntry mutation and removeFromTags parameterEntry Versioning
typeVersion field. This will automatically happen when editing your Schema within the Dashboard.addLedgerEntry and reconcileTx now both have a typeVersion parameter. This field is optional and will default to 1, so none of your existing callsites will be impacted.Small improvements
ledgerAccount queries could return ledger_account_not_found on existing accounts in high-throughput scenariosledger_not_foundRepost Ledger Entries
You can now reverse and repost a Ledger Entry using the same idempotency key up to 10 times. This will create a chain to reversals and reposting that all share an idempotency key and the id of each LedgerEntry is unique.
Small improvements
updateLedger and deleteLedgergen-graphql CLI command to support query generation for runtime Entriesdelete-custom-txs, delete-ledger, delete-schema, and reverse-ledger-entry to the FRAGMENT CLInotEqualTo and notIn on StringFilter, to support filtering on LedgerEntry.typeReverse Ledger Entries
reverseEntryLedger mutation. This will post a new entry with the opposite amounts of an existing LedgerEntry. It will also free up the idempotency key, and allow you to repost a new LedgerEntry.reversalHistory, reversalPosition, reversedBy and reverses to traverse this chain.Small improvements
Balances over a period
The LedgerAccount type now exposes balancesDuring and balanceChangesDuring fields for efficiently querying all hourly, daily or monthly balances in a specified time period. These can be used to display portfolio charts or generate trial balance reports.
query GetBalanceHistory(
$ledgerAccount: LedgerAccountMatchInput!
) {
ledgerAccount(ledgerAccount: $ledgerAccount) {
# Get monthly balances for a year
yearlyBalances: balancesDuring(
startTime: "2021"
duration: 12
granularity: monthly
) {
startTime
endTime
granularity
nodes {
at
amount {
currency {
code
}
amount
}
}
}
}
}Learn more in the documentation.
Small Improvements