# 2026

Source: https://fragment.dev/changelog/2026

[Documentation index](https://fragment.dev/llms.txt)

<a id="2026"></a>

<a id="august-2026"></a>
<a id="2026-08"></a>

## August, 2026

Post a batch of Ledger Entries

You can now post a batch of Ledger Entries in one atomic transaction using `addLedgerEntries`. Use the Fragment SDK to construct strongly-typed Ledger Entries based on your Schema.

```typescript
await fragment.addLedgerEntries({
  entries: [
    userFundsAccountV1({
      ik: "some-ik-1",
      ledgerIk: "your-ledger-ik",
      posted: "1968-01-01T16:45:00Z",
      user_id: "user-1",
      funding_amount: "20000",
    }),
    userFundsAccountV1({
      ik: "some-ik-2",
      ledgerIk: "your-ledger-ik",
      posted: "1968-01-01T16:45:00Z",
      user_id: "user-2",
      funding_amount: "20000",
    }),
  ],
});
```
```python
from fragment.sdk.typed_entries import UserFundsAccountV1

await graphql_client.add_ledger_entries(
  entries=[
    UserFundsAccountV1(
      ik="some-ik-1",
      ledger_ik="your-ledger-ik",
      posted="1968-01-01T16:45:00Z",
      user_id="user-1",
      funding_amount="20000",
    ),
    UserFundsAccountV1(
      ik="some-ik-2",
      ledger_ik="your-ledger-ik",
      posted="1968-01-01T16:45:00Z",
      user_id="user-2",
      funding_amount="20000",
    ),
  ]
)
```
```go
import "myapp/fragment/typed_payloads"

posted := "1968-01-01T16:45:00Z"

response, _ := queries.AddTypedLedgerEntries(
  context.Background(),
  graphqlClient,
  typed_payloads.UserFundsAccountV1Entry{
    Ik:            "some-ik-1",
    LedgerIk:      "your-ledger-ik",
    Posted:        &posted,
    UserId:        "user-1",
    FundingAmount: "20000",
  },
  typed_payloads.UserFundsAccountV1Entry{
    Ik:            "some-ik-2",
    LedgerIk:      "your-ledger-ik",
    Posted:        &posted,
    UserId:        "user-2",
    FundingAmount: "20000",
  },
)
```
```ruby
fragment.add_ledger_entries(entries: [
  FragmentClient::Entries::UserFundsAccountV1.new(
    ik: "some-ik-1",
    ledger_ik: "your-ledger-ik",
    posted: "1968-01-01T16:45:00Z",
    user_id: "user-1",
    funding_amount: "20000"
  ),
  FragmentClient::Entries::UserFundsAccountV1.new(
    ik: "some-ik-2",
    ledger_ik: "your-ledger-ik",
    posted: "1968-01-01T16:45:00Z",
    user_id: "user-2",
    funding_amount: "20000"
  )
])
```

Learn more about posting a batch of Ledger Entries [here](https://fragment.dev/markdown/guides/post-ledger-entries.md#batch-ledger-entries).

<a id="july-2026"></a>
<a id="2026-07"></a>

## July, 2026

Fragment MCP Server

You can now connect your agents to Fragment over the MCP and use them to design your schemas. Create an MCP connection from Settings > MCP in the [Dashboard](https://dashboard.fragment.dev/go/s/mcp).

[Visual: july2026. View on the HTML page.](https://fragment.dev/changelog/2026)

Small improvements

- New `withinBalanceUTCOffset` filter to query Ledger Entries and Lines by date, using the Ledger's configured `balanceUTCOffset`
- Fixed bug where reconciled Txs defaulted to entry version 1, breaking their Ledger Lines after reverse and re-reconcile cycles

<a id="june-2026"></a>
<a id="2026-06"></a>

## June, 2026

Roles & Permissions

You can now assign Admin or Reader roles to workspace members and API clients. All existing members and clients have been defaulted to Admin. You can update their roles in the dashboard under Settings > API Clients or Settings > Members.

[Visual: june2026. View on the HTML page.](https://fragment.dev/changelog/2026)

Small improvements

- New `DateFilter.within` for relative date ranges

<a id="may-2026"></a>
<a id="2026-05"></a>

## May, 2026

Small improvements

- Search entries by tag or metadata from the Dashboard
- Line tags now appear in the entry detail sidebar
- New `pathIn` filter to scope Ledger Lines to an account path
- Fixed null handling in Ledger Account line filters

<a id="april-2026"></a>
<a id="2026-04"></a>

## April, 2026

Strongly Consistent Parent Balances

You can now enable strongly consistent balances on parent accounts. Configure totalBalanceUpdates: strong on any account and its balance and childTotal will reflect any descendant's entries immediately.

[Visual: april2026. View on the HTML page.](https://fragment.dev/changelog/2026)

Small improvements

- Fixed encoded-ID handling in Ledger Account balance resolvers
- Faster balance reads across multiple Ledger Accounts and Ledger line path queries
- Schema deploy now validates the strong-write cap on `totalBalance` ancestors

<a id="march-2026"></a>
<a id="2026-03"></a>

## March, 2026

Line Tags

In addition to Ledger Entry tags, you can now add tags to individual Ledger Lines within a Ledger Entry

[Visual: mar2026. View on the HTML page.](https://fragment.dev/changelog/2026)

Small improvements

- Query Ledger Lines across an entire Ledger, rather than only scoped to a single Ledger Account
- Post Ledger Entries with Repeated Ledger Lines directly from the Dashboard
- Render custom currency precision in Scenarios
- New `--include-runtime-args` flag on the `fragment gen-graphql` CLI

<a id="february-2026"></a>
<a id="2026-02"></a>

## February, 2026

Repeated Entry Lines

Entry shapes are no longer fixed at Schema deploy time. With Repeated Entry Lines, you can define lines that expand at runtime from an array of parameters, each element creating its own line and JIT-instantiating accounts as needed. Fund N wallets, process a batch of payouts, or reconcile multiple transactions in a single entry instead of N separate API calls.

```json
{
  "type": "batch-fund-users",
  "memo": "Weekly user funding batch",
  "fundings": [
    {
      "user_id": "1",
      "amount": "1000"
    },
    {
      "user_id": "2",
      "amount": "1000"
    },
    {
      "user_id": "3",
      "amount": "1000"
    }
  ]
}
```

Small improvements

- You can now use parameterized currency codes in your Schema, making it easier to build multi-currency Ledgers with dynamic currency resolution
- Added `ap-southeast-2` (Sydney) as an available deployment region
- Added support for stablecoin currencies including USDC and USDT
- Preserved numeric precision in data export stream processing to prevent rounding errors in large exports
- Fixed a bug in the Schema designer that caused an error state when toggling an account between single and multi-currency mode

<a id="january-2026"></a>
<a id="2026-01"></a>

## January, 2026

Small improvements

- New `FRAGMENT_SKIP_AUTO_UPDATE` environment variable to skip the CLI's automatic version check
- Ledger Line data exports are now split into files of at most 5,000 records for predictable batch sizes
- `storeSchema` now strips `null` values from optional fields to prevent validation errors
- Fixed a `migrateLedgerEntry` error when an entry's conditions reference non-line accounts
- Fixed a bug in the Dashboard that prevented editing Entry types when multiple entries shared the same type name
