a. December, 2024
#Delete CustomTxs
You can now delete unreconciled transactions from Custom Links using deleteCustomTxs. By deleting and resyncing transactions, you can now update previously immutable fields like amount and posted.
mutation DeleteCustomTxs($txs: [ID!]!) {
deleteCustomTxs(txs: $txs) {
__typename
... on DeleteCustomTxsResult {
txs {
tx {
id
externalId
posted
amount
sequence
isDeleted
deletedAt
}
}
}
... on Error {
code
message
}
}
}Small Improvements
- Refactored the Dashboard to make it faster
- Added validation that a Custom currency on Lines/Conditions always exists in
addLedgerEntryandreconcileTxLines/Conditions - Removed logic that enforced the currency of an Entry Condition must match the currency of the Line it is applied to
- Fixed search result navigation to not always direct you to the child account page
- Increased
customCurrencyIdlength to 36 - Added a Pricing page
b. November, 2024
#Deletion
You can now delete Ledgers and Schemas from your Workspace. In the dashboard you can delete Schemas by right clicking the Project tile, and delete Ledgers using the Menu. With the API you can now use deleteSchema and deleteLedger.
Small improvements
- Added more detail and clearer page structure to all the Ledger data pages
- Updated the copy when storing a backwards incompatible Schema to make it easier to understand how to work-around it
- Added the option to set a description when posting a Ledger Entry from the Dashboard
- Account paths can now be edited on an Entry condition
- Added a
containsfilter on Entry Tags - Made
ledgerEntryandledgerEntryIdnon-nullable
c. October, 2024
#Search
You can now search the data across your Ledger. Search your: Accounts by path, subpath; Entries by IK or ID; and Entry Groups by key and value. Search is accessible in the Dashboard by using the ⌘K keyboard shortcut.
Small improvements
- Fixed a bug in the Dashboard that highlights which Accounts are part of an Entry on the Schema page
- Fixed a bug in the Python SDK which prevents ingestion of unspecified GraphQL queries
- The Dashboard should feel snappier while you’re typing
- Fixed a bug where you couldn’t post a new Schema entry type immediately after migrating the Schema
- Improved error handling on concurrent calls to
syncCustomTxs
d. September, 2024
#Schema Deploy workflow
When you deploy a Schema from the dashboard, you can now see a diff between the deployed and draft versions of a Schema. Backwards-incompatible changes are flagged. You can revert them to upgrade the deployed Schema version, or keep them and deploy a new Schema.
Small improvements
- Fixed a bug in the Dashboard that highlights which Accounts are part of an Entry on the Schema page
- Fixed a bug in the Python SDK which prevents ingestion of unspecified GraphQL queries
- The Dashboard should feel snappier while you’re typing
- Fixed a bug where you couldn’t post a new Schema entry type immediately after migrating the Schema
- Improved error handling on concurrent calls to
syncCustomTxs
e. August, 2024
#Scenarios
Scenes are now “Scenarios” and are listed alongside your Entries and Accounts when viewing your Schema. Scenarios have a redesigned layout, with more focus on a timeline of Entries and you can edit both your Chart of Accounts and Entry types while simulating.
Small improvements
- Added ability to create a new Ledger from a Schema through the dashboard
- Ledgers are no longer automatically created when creating a new project in the dashboard
- You can now query the parameters used to post a Ledger Entry through the API
- You can now filter Ledger Lines on an account by their created time, in addition to their posted time
- Released a Python SDK
- Fixed a bug preventing FRAGMENT from responding to Stripe webhooks in our
us-west-2env - Fixed a bug in the dashboard that caused you to go to the “Failed to authenticate” screen upon session timeouts
f. July, 2024
#Post Entry
You can now post an Entry to your Ledger from the Dashboard.
Small improvements
- Group balances on an Account can now be configured to be strongly consistent
- Added a Guide to help orient first time users to the Dashboard
- Fixed a bug where Accounts created just-in-time from templates during entry posting are now consistently available in account list queries
- Improved latency on eventually consistent indexing operations
- All connection fields are now required in our GraphQL schema and will return an empty list instead of null when there are no results
dashboardUrlis now available onLedgerEntryGroup- FRAGMENT Mono now includes alternates for
i,l, and1, circled numerals and letters, the full box drawing character set and Powerline glyphs - The login page on the dashboard now respects dark mode
- Added a
create-custom-linkCLI command - The
gen-graphqlCLI command now supports an optional--include-standard-queriesflag when developing your FRAGMENT SDK for languages without a native client
g. June, 2024
#Projects
Projects are a Schema and all the data created using it.
Alongside Projects the updated Dashboard includes:
- A revamped ledger design experience with new ways to view, edit and simulate Schemas
- A new summary view that efficiently shows current balances across your entire ledger
- Workspace settings are now a modal so you can access them from any page
- Dark mode support for late night debugging sessions
Small improvements
gen-graphqlCLI command supports a--output-file-per-queryflag. This makes the generated files compatible with GraphQL SDKs likegraphql-kotlin- Improved throughput on
reconcileTxcalls - Improved reliability on control plane mutations while the underlying database is auto-scaling
- Improved throughput on OAuth access token creation endpoint
h. May, 2024
#SDKs
You can now call FRAGMENT using one of our SDKs in TypeScript, Go, and Ruby.
import {
createFragmentClient
} from '@fragment-dev/node-client';
const fragment = createFragmentClient({
params: {
clientId: "<Client ID>",
clientSecret: "<Client Secret>",
apiUrl: "<API URL>",
authUrl: "<OAuth URL>",
scope: "<OAuth Scope>",
},
});
// Verify the SDK is authenticated by retrieving
// the workspace
const { workspace } = await fragment.getWorkspace();
console.log('Workspace Name:', workspace.name);
The SDKs come with:
- a set of built-in operations that cover the most common use cases
- the ability to add operations to the SDK that are specific to your Schema
- automated codegeneration for custom GraphQL queries.
Read our docs to learn more about setting up the SDKs.
Small improvements
- Download your Schema using the
get-schemaCLI command - Run
fragment workspaceusing the CLI to view which workspace you're authenticated to - The Ledger Designer in the dashboard now supports undo operations
- You can now query
dashboardUrlon a Ledger, Link, and LedgerEntry. - Ledger Entries can now be added to a Group after they are posted. Read the docs to learn more.
i. April, 2024
#Scenes
Scenes replace the accounting scenarios and spreadsheets fintech teams use to design ledgers. As you design your Ledger, you can simulate the scenarios in your flow of funds to make sure you're recording things correctly.
Small improvements
- You can now update the tags on a Ledger Entry with
updateLedgerEntry - Added a
fragment tokencommand to the CLI to make it convenient to retrieve an auth token - You can now query
childLedgerAccountsdirectly from theLedgerAccounttype - Fixed a bug when filtering LedgerAccounts where filtering
parentLedgerAccountusingpathwas not being respected - You can filter accounts by path in the
ledgerAccountsquery - Points are now available as a built-in currency
PTS - To help you test your Fragment integration, you can now force Fragment to return errors
- Groups and Tags are now included in Data Exports
j. March, 2024
#AI Ledger Design
You can now use the AI Ledger Design tool to generate a Schema. This tool uses AI to suggest a Schema, which you can use as a starting point for customizing your Schema.
This tool is in beta. Feel free to provide feedback on the suggestions you receive and reach out to us for support designing your Schema.
Small improvements
- The Stripe Native Link now supports accounts connected via Stripe Connect
- You can now reconcile multiple txs from multiple linked Ledger Accounts in one
reconcileTxcall - Data exports now include historical data, rather than just data created after the export was started
- Custom currencies are now supported in Schema simulations
- In Schema edit mode, switching whether an account is linked automatically updates the
txparameter on related lines - Fixed a bug where parameters in Entry descriptions were not correctly validated
- Improved page load times in the dashboard
- Posting an Entry with invalid Group values will return a
BadRequestError, not anInternalError - Evaluted expressions that contain two unary operators as a result of filling in parameters, such as
-{{amount}}, whereamountis negative, are now correctly evaluated - The maximum allowed size for a Schema has been doubled to 140 KB
- FRAGMENT Mono now supports Box Characters
k. February, 2024
#Stripe Link
Stripe is now offered as a Native Link to FRAGMENT. To onboard your Stripe link, go to the Links tab in the Dashboard.
Schema Flexibility
- The Dashboard will now auto-save drafts of your Schema as you edit it
- You can view and restore drafts from any point in time
- You can now make backwards incompatible changes to a Schema without any Ledgers
- Changing
consistencyConfigon a Ledger Account is no longer a backwards incompatible change
Small improvements
- fragment.dev and fragment.dev/docs now support dark mode
- We've improved the error handling docs
- S3 Data Exports no longer required a path prefix when onboarding
- You can now query
dashboardUrlon a Ledger Account - The CLI returns an exit code of
1upon receiving aBadRequestErrororInternalErrorfrom the API - Workspaces in the Dashboard are now sorted alphabetically
- API Clients in the dashboard now show their API URL, OAuth URL and OAuth scope
- Fixed a bug where error messages were not showing up when simulating a schema in the Dashboard
- Fixed a bug in the Ledger Designer where keystrokes would occasionally overwrite themselves
- The Dashboard now shows
Workspace not foundinstead ofPage load errorwhen you try to access a workspace you don't have access to
l. January, 2024
#Entry Groups
A Ledger Entry can now be marked as a member of a Ledger Entry Group. This allows you to keep track of the
impact of multi-step financial workflows on Ledger Account balances for reconciliation workflows.
Learn more about Entry Groups here.
Ledger designer
You can now design and store Schemas directly in the Dashboard. No need to write JSON or install the FRAGMENT CLI.
Small improvements
- You can now lookup multiple entries using the
inoperator. See the docs. - The billing tab in the dashboard should now show invoices in all of your workspaces, not just production.
- If an API client token is expired, you will now receive a
Not Authorizederror response. - We optimized latency when retrieving
txIdwhen listing Ledger Lines. - We removed a limitation of 200 non-template Ledger Accounts in a Schema.
- Retrieving a non-existent template Ledger Account now returns a
BadRequestErrorinstead of anInternalError.