--- title: "Release notes" slug: "release-notes" status: "update" updated: 2026-10-29T08:22:27Z published: 2026-10-29T08:22:27Z canonical: "support.lusid.com/release-notes" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.lusid.com/llms.txt > Use this file to discover all available pages before exploring further. # Release notes ## 28 October 2026 ### Fund Accounting #### Valuation Points - A new Luminesce writer action lets you finalise or revert many valuation points at once, including across dynamic fund lists. - Trial balance and valuation NAV now match when a cash outflow's base cost lands on a half-penny. #### Fees & Expenses - Percentage fees can now be calculated on any valuation point data point, adjusted bases, or pre-defined bases such as GAV pre-management fees, with fee ordering handled automatically. #### Bucket Sets & Apportionment - You can now configure component bucket cleardown in the **Fund Configuration** screen. (UI) - Per-unit values in bucket set results are now returned at full precision, so components add up to the class's NAV per unit. - Journal entry lines charged to an allocation group now show how their amounts split across share classes. #### Fund Configuration - Share class properties are now saved on the share class instrument, or on the fund's share class if no instrument exists. - You can now patch trade exclusion settings on a portfolio. #### Withholding Tax - Withholding tax relational dataset definitions now record whether they hold main or anomaly rates, and you can filter on it. #### Fund Reporting - The Fund Cash Statement now shows properties for every settlement instruction on a trade, without blank reversal and true-up lines for untouched trades. - The `Lusid.Fund.Valuation` Luminesce provider now returns DateTime derived valuation properties in the DateTime field. ### Investment Book Of Record (IBOR) #### Instruments & Instrument Events - A new Instalment Call (PPMT) instrument event handles instalment calls on partly-paid equities, with a transaction template specification and default templates for `Equity` and `SimpleInstrument`. - `MbsPrincipalEvent` now supports Partial Redemption With Pool Factor Reduction (PRED) notifications, with pool factor, price and a transaction template specification. - A new `PrincipalDistributed` quote type lets you load the mortgage principal distributed factor for mortgage-backed securities. - A new `DepositInterestCapitalisationEvent` lets you capitalise interest on flexible deposits. - Contracts for difference on a mastered equity now pick up the underlying's cash dividends automatically. - LUSID now calculates accrued interest on credit default swap index (CDX) transactions, and `CdsIndex` instruments now support protection default specifications. - Flow conventions now support a principal payment lag, so principal repayments can settle a set number of business days after maturity. - You can now create and edit STIF instruments in the web app. (UI) - Cash Dividend events in the web app now support a rate-type breakdown per election and an option-level payment date. (UI) - Instruments using `ActActIsma` or `ActActIcma` day count conventions now return the convention you set. - Zero coupon bonds now show their principal and maturity events in advance. - `DepositInterestPaymentEvent` now processes accrued interest once. - Interest payment and capital gains distribution events now keep and use the cash election's payment date. - Business day adjustments now handle dates before 1 January 1970. #### Flexible Cash & STIF - STIF sweep vehicles now sweep every business day, whatever their roll convention. - STIF sweeps and deposit coupons now respect the portfolio's enablement date, including in BuildTransactions. - Multi-date P&L now respects the portfolio's enablement date for flexible cash. - You can now value a portfolio between its creation and enablement dates. - Flexible deposits now start accruing interest from their start date. #### Transactions - You can now choose a [tax lot method](/v1/docs/how-do-i-handle-different-tax-lot-accounting-conventions) automatically by instrument type or instrument properties, using a derived transaction property with values set per portfolio. - Output transactions now show where the applied tax lot method came from. - A new `Txn:TotalConsiderationAdjustment` side field lets you book the difference between an override and the virtual transaction it replaces. - The **Settlement Instructions** screen now shows a **Problem code** explaining why an instruction is Invalid, Rejected or Orphan. (UI) - Event-generated coupons on foreign-currency holdings now apply the trade-to-portfolio rate to portfolio-currency carry and P&L. - After a partial closure, `FlexibleRepo` manufactured payments are now scaled to the units still pledged. - Patching a transaction template now refreshes cached A2B results straight away. #### Holdings - Holdings now always include instrument events, whether or not you can read the portfolio's instrument event recipe. - Holdings and BuildTransactions for a portfolio group now include instrument event transactions whose templates read portfolio properties. - GetHoldings now consistently returns `resolvedCustodianAccount`. - You can now update custodian accounts in parallel on portfolios that share a recipe or other dependency. - The cash ladder grouped by custodian account now opens each day at the previous day's closing balance. (UI) #### Valuation & Risk Analytics - A new `DiscountedForward` valuation model values caps, floors and interest rate swaptions as their quoted premium, discounted from the payment date. - P&L attribution keys no longer need a standard `ProfitAndLoss` key in the same valuation request. - You can now request benchmark metrics together with P&L keys on portfolios with sub-holding keys. - Derivatives priced off an underlying equity now apply the equity's price scale factor, for example for pence-quoted stocks. - Quote columns on cross-currency FX forward valuations now describe the quote the pricer actually used. - Ratio-type inflation-linked bonds now value correctly around their coupon dates. - GetValuation now handles P&L windows whose start falls after the end of a scan range. - Cash flow endpoints now work for portfolios holding a look-through fund. ### Investment Management System (IMS) #### Rebalance - You can now group linked derivative contracts, such as contract series, and trade their exposure as one instrument in the Rebalance dashboard. - You can now lock your Rebalance dashboard grid selections so they persist between sessions and through **Clear**. - Editing Rebalance dashboard cells in Safari now keeps focus as you type. #### Orders & Allocations - A block trade split by strategy tag can now be viewed as a single output transaction, with the per-allocation breakdown. - Orders returned from GetValuation now include the custodian account number. - Order upserts now succeed when order approval is enabled. - The **Order Blotter** **Placements** grid now shows the calculated average price. #### Compliance - The compliance state returned when you upsert an order now matches the state shown in the web app. - Compliance runs now complete when a group lacks a property read by both a hard and a soft predicate. #### Dashboards & Grids - You can now open a dashboard set by clicking its name in the grid. - Renaming a grid column now supports standard keyboard navigation in the text box. #### Licensing - Order management, compliance and portfolio management endpoints are now licensed at their Stable status. ### Enterprise Data Management+ #### Reconciliations - You can now create external reconciliations that compare relational data to relational data, with results and result sets. - A new `default/InstantiateRec` task definition lets you instantiate an advanced reconciliation from a workflow. - Reconciliation instances now have separate Instantiate, Re-Run, Lock and Unlock entitlement actions. - A reconciliation instance now moves to All Approved once all its results are approved, so you can lock it. - Reconciliation results now populate the `difference` field on aggregate rule values. - Batch reviewing results for an instance whose reconciliation definition was deleted now returns success. #### Staging - You can now stage creating, updating and deleting instrument event instructions for approval, and see pending staged changes when reading or listing them. - Staging rule sets now reject rules that filter on staged modifications. #### Workflow - Event launchers can now adjust date-time values, such as time zone, business day and time of day, when mapping them onto task fields. - Event launchers can now map event values onto task fields of any matching type, and check mapping paths when you save. #### Luminesce & Query Tools - **Core Engine** - Significant ppeed improvements to the core configuration file system (for both performance and reliability) - **UI** - Grid changes to saved queries, such as grouping, charts and formatting, are now saved in Workspaces. - Conditional formatting in Luminesce now supports rule ordering, a colour picker, prefixes and suffixes, and Excel-style formats. - LumiCode: Improvements on Windows operating systems - **Providers** - `Email.Send` and hosted support for Azure - `AI.Prompt` supported on Azure - Luminesce workflow providers now support action templates. - The `Lusid.Instrument.Writer` Luminesce provider now writes batches in parallel for faster loads. #### Data Management - Data quality check definitions can now be applied to transactions. (UI) - Paging through large instrument universes with ListInstruments is now faster. #### Integrations - **Custom dataflow integrations** - Named run parameters can now be passed when you run through the API, and read in paths, queries and expressions. - An Ingest or file sink path can now name the previous business day, skipping weekends and, with the holiday calendars option, holidays. - A value map can now replace unmatched values with a default or a blank. - The Upsert Holdings step can now name the movements it creates. - Failed runs are now rerun automatically, up to five runs in total; a run you cancel yourself is not. - SWIFT MT files can now supply values from their file name. - **Bloomberg Data License Per Security** - 23 more market data and analytics fields can now be loaded as instrument properties. - The Ticker identifier is now set in Bloomberg's yellow-key form; existing Tickers are rewritten only on instances that update existing values. - Spot FX rates for AUD, JPY, CHF and CNH are now written against their currency pair on instances that quote by currency pair. - Current Data quotes and properties are now dated from the file's own snapshot time. - **LSEG DataScope Select** - An existing typed instrument definition is now overwritten from LSEG when Create or update instrument definition is on. - Legacy quote scale factors are now applied to End of Day Quotes (Historic) runs; instances saved before the option existed are treated as having it on, and quotes already written are not restated. - **BlackRock Aladdin** - Identifiers on existing instruments can now be updated or removed through a new Identifier Alignment option, off by default. - **Trade publication** - Mappings can now read the order, the portfolio and more instrument fields. - **All integrations** - Updating an integration instance through the API now returns a list of warnings instead of an empty response. ## 21 October 2026 ### Fund Accounting #### Fund Structures - You can now model master-feeder and other fund structures, with allocation maps and allocation events, through new experimental endpoints. - Fund structures now support members in different base currencies, translating flowed amounts and posting the resulting foreign exchange (FX) differences. - Flow-through to a dedicated share class now passes 100% of that class's own class-specific lines, such as hedging results. - Allocation maps now translate committed-capital basis values held in different currencies before weighting, and keep the original value, currency and rate for audit. #### Fund Pricing - Dual pricing: recipes can now hold separate bid and offer market data rules, notional dealing costs and named prices, and share classes return bid and offer prices including dealing costs. - Swing pricing: you can now set a single pricing methodology on a fund, with swing triggered by estimated dealing flows from the transfer agency order book. - You can now make effective-dated changes to a fund's pricing methodology. - Valuation points now refuse re-striking at a later as-at time once post-close deals are dated at the valuation point, and transfer agency pricing matches orders to valuation points by exact time. #### Bucket Sets & Apportionment - Valuation points now evaluate every bucket set that applies to the NAV type, and return results and journal entry memberships for each set. #### Fund Configuration - `ShortCode` is now optional on standalone `FundShareClass` instruments, and is required only when you link the share class to a fund. #### Fees & Expenses - Fund fees now support five calculation types (fixed annual, fixed daily, fixed percentage, variable percentage and tiered), with optional caps and floors. - Striking a second valuation point on the same date now keeps the first point's fee accrual. #### Withholding Tax - A new withholding tax engine resolves each investor's tax identity from the portfolio, then the fund or share class. - Withholding tax rate datasets now include a standard optional `ruleSource` field, so source priority works without extra setup. #### Posting Rules & Journal Entries - Economic buckets now carry explicit meaning for bought and sold interest, coupons and dividends, and fees and taxes. - Journal entries now show when amortisation could not be calculated for a holding. - Reversing an overridden bond coupon now reverses its Gross Income journal entry line, so no balancing true-up is booked. #### Valuation Points - You can now preview and approve staged fund calendar entries, and fetch bookmarks and valuation points by entity unique ID with Fund Calendar entitlements. - The share-class sub-holding key error on a valuation point now names the portfolio and the keys it accepts. #### Valuation & Pricing - Futures with an ASX-type calculation now value at gain or loss since trade, and close-out profit and loss honours the calculation type. #### Custodian Accounts - When you make a different custodian account the default for its type, the previous default now gets an end date. ### Investment Book Of Record (IBOR) #### Instruments & Instrument Events - You can now create `BondForward` instruments, with cash and physical settlement events, transaction types, a modelled forward price and Luminesce providers. - You can now create, edit and view `InterestPaymentEvent` instrument events. (UI) - You can now view and edit **Par per unit** on Bond, ComplexBond and InflationLinkedBond instruments. (UI) - The instrument event create and edit forms now group fractional units settings on a **Fractional units** tab, hiding fields that don't apply. (UI) - `ComplexBond` now supports a `FirstCouponPayDate`, and schedules accept four explicit dates for irregular first and last coupon periods. - A new `PikAccrual` address key shows accrued payment-in-kind (PIK) interest, and bond analytics now support PIK `ComplexBond` instruments, including dual-currency ones. - A `TotalReturnSwap` with a bond asset leg now takes its contract size from the bond's principal. - `PutRedemptionEvent` no longer requires an event-level offer price and currency; LUSID takes them from the cash offer election instead. - `consentType` is now optional when you upsert a consent event. - Dividend option events now require a units ratio or price, so the Output Transactions screen no longer errors. - Swap cash flow events now include an ex-date, and inflation-linked bond coupon events honour the bond's rounding convention. - Mastered underlyings referenced by a non-unique identifier now resolve their quotes. - Consolidation corporate actions now round base units correctly, so holdings can no longer go short or leave negative lots. - A corporate action override dated before the window start no longer brings back the event it overrides. - `CapitalInterest` instruments can now be created with both `reliefPolicy` and `reliefRevisionMode` set. - Cash-settled interest rate swaptions with a premium now return cash flows across the premium and exercise dates. - Requesting a corporate action source that can't be found now returns 404 instead of 500. #### Bank Debt / Loan Facility - `FlexibleDeposit` instruments now generate a `DepositCloseEvent` automatically at maturity. - You can now suppress the automatic `LoanPrincipalRepayment` event globally. - `DepositCloseEvent` now repays only the outstanding balance in `DepositCloseFinalBalanceRepayment`, without double counting accrued interest. #### Holdings - Private equity capital balances now appear as `Holding/system` properties, replacing the `holdingPropertyBalances` attribute on GetHoldings. This is a breaking change. - When you take on an asset-backed bond lot with `SetHoldings` without a face value, LUSID now defaults the face from the pool factor. - Removing amortisation rules now also applies to existing holdings. - Partial settlement now splits current face between the settled and unsettled portions. - Realised amortisation on a past sale no longer changes when later market data arrives, and asset-backed effective-yield amortisation now includes the residual pool at maturity. #### Holdings Subscriptions - Transaction subscription messages now include the full output transaction, including version information. - Holdings subscriptions now use native address keys and validate them, and messages flag any metric that could not be calculated. #### Transactions - Transaction derived properties can now reference output transaction fields. - Custom data model aliases now appear on the transaction create, edit and view screens. (UI) - A coupon paid on the date of a notional step now builds with the correct cash amount. - Transaction restatements now include boundary rows for holdings amendments that change only amortised cost. - Typing a new **Pool Factor** on the Edit Transaction screen now recalculates proceeds for asset-backed bonds. (UI) - **Override transaction** now works on instrument-event virtual transactions in a portfolio group's transactions view. (UI) #### Transaction Staging - You can now stage instrument event deletions, fetch an instrument event by entity unique ID with its pending changes, and create staging rule sets for instrument event instructions. - Instrument events returned by upsert, get and list now report pending staged changes, and each staged change names its corporate action source. #### Portfolios - `PatchPortfolio` and `PatchFee` now accept only ISO 8601 dates. This is a breaking change for non-ISO date strings. #### Risk Aggregation & Regulatory Capital - Native Solvency II Solvency Capital Requirement (SCR) keys now cover equity, property, spread, interest rate, currency and counterparty default risk, with Market and Basic SCR aggregation. - Derived valuation formulas can now look up values in relational datasets. - New aggregation keys calculate Value at Risk (VaR) and Expected Shortfall, using either sensitivities or historical scenarios. - A new `Valuation/Risk/Delta` key returns first-order market risk delta. - Risk measures can now be estimated from stored sensitivities when markets move only slightly, with automatic checks against full repricing. - Find-or-calculate now reuses stored results for gridded measures, returns them in the same shape as calculated ones, and recalculates when an instrument changes. #### Bond Analytics - Fixed-rate bonds now return z-spread, spread duration and CS01 (credit spread sensitivity) analytics. - You can now request pointwise CS01 ladders for bonds, including spread-anchored bonds priced over a shared credit spread curve. - The Hull-White one-factor model now prices fixed-to-float, capped, floored and in-arrears callable bonds, and returns option-adjusted CS01 and key-rate ladders. - You can now set the bump size the Hull-White model uses for effective duration, convexity and CS01. - Recipes can now route asset-backed and non-vanilla floating-rate bonds to a different pricing model. - Yield-to-worst now considers put dates, ignores calls dated on or after maturity, and handles bonds with a front stub. - Option-stripped duration and convexity now use the bond's own spread, and a new option-stripped PV01 is available. - Bonds and swaps now return `TimeToMaturity`, and coupon details now reflect the terms in force at the valuation date. - Bond futures now support Eurex and ICE conversion factors and eligibility, and ASX cash-settled yield-basket DV01. - Key-rate duration ladders now sum to the parallel PV01, and spread-anchored SOFR bonds give the same PV01 whether the anchor is held or served. - Act/Act ICMA accrual on long stub periods now calculates correctly. - Inflation-linked bonds now return inflation risk measures and diagnostics, and price with any observation lag or interpolation. #### Valuation & Risk Analytics - The standard A2B movements endpoint now lets you split profit and loss into holding and trading. - Swaption valuations now return the fair swap rate, annuity, implied volatility, volatility type and time to maturity. - `Valuation/Diagnostics/DiscountCurve` is now published for Hull-White, `ComplexBond` and `InflationLinkedBond` valuations, and valuations publish the curve level they used. - New FX forward triangulation diagnostic keys show the underlying USD curves and cross rates. - Contracts for difference (CFDs) are now priced off a forward that includes dividends. - Carry and theta for discounted cash flow instruments now rebuild market data at the rolled date. - Per-leg valuation results now support risk measures, and the full set of risk bump options is available in the API. - Multi-dimensional results, such as key-rate ladders, now use a single consistent result shape across all queryable keys. - Filtered valuation requests now only price and resolve market data for matching holdings. - Repeated valuation requests at a fixed as-at time now return faster. - Swaption vega and `Risk/IrVol/*` measures now return values instead of zero, and swaptions priced with the Discounting model now value at zero or negative rates. - Yield curves now honour their configured extrapolation and the index's day count, and par-space curves can be built from calibration swaps. - The waterfall profit and loss `PriorDate` option now takes effect, and key options that differ only by case now return one column. - Composite benchmarks now sum duplicate instrument rows instead of keeping only the last. - Valuations now return a named error, instead of a zero or an HTTP 500, when a curve fails to build, a risk measure fails, or market data is invalid. - `GetValuation` with `allowPartiallySuccessfulEvaluation` now continues past individual instrument failures. - Recipes accepted by the API can now always be read back by the SDK, even when one rule is invalid. - `Sum` lookthrough valuations now conserve the parent's value when holding pricing overrides apply, whichever keys you request. - Valuations of nested look-through instruments now resolve against the right portfolio instead of returning a server error. #### Scenarios - Scenarios now support up to 1,000 shifts, tent-shaped key-rate shifts with optional flat wings, and inflation curve shifts. - Volatility surface shifts can now target surfaces by filter, and the `VolSpike` and `EquityCrash` templates can stress several instruments at once. - Scenario columns now extend beyond present value, work under a timeline, and list their options in `GetAllQueryableKeys`. - Scenario shift definitions now accept business-day tenors. - A scenario option on one metric no longer affects market data resolution for other columns in the same request. ### Investment Management System (IMS) #### Rebalance - You can now edit the **Resulting Relative Weight Change**, **Res. Ratio** and **Model / Res. Ratio** columns on the Rebalance dashboard, and the order quantity recalculates from your value. - You can now drive your own rebalancing models from the Rebalance dashboard. Each algorithm can carry its own relational dataset of parameters, which you can create, review and update in place before you run it. Your models, your parameters, one click. - Copying and pasting from Rebalance grids is now more flexible. - `Holding/HoldingId` is now unique for each reference portfolio constituent row, even when the same instrument appears in several reference portfolios. #### Orders & Allocations - When a placement's executions have different counterparties, LUSID can now create one allocation per counterparty. Contact us to enable it. - Non-material updates to an order, such as a status change, no longer reset its approval. - Value-based orders now follow the configured rounding convention. - Orders in a block with value-based placements now keep their compliance status once placed. #### Compliance - You can now run compliance rules over portfolio groups that contain reference portfolios. - You can now stage compliance template changes for approval. - When you value a portfolio group, `RelatedPortfolio/Weight` now shows the model's weights once, under the model's own identity, so they sum to 1. - Resolving a compliance breach manually now clears the order's **Failed** status so you can place it. - `Lusid.ComplianceRuleResult.Breakdown` now combines values that share a property key, and compliance runs no longer fail with a server error. - Compliance runs started from Luminesce now save their position-level breakdown, so you can view which positions contributed to each rule. ### Enterprise Data Management+ #### Luminesce & Query Tools - **Core engine** - Server table variables (`@!name`) are now on by default, can be calculated on demand with a new `?=`, and record the SQL that created them. - New Luminesce API endpoints run a custom set of queries together and save or download the combined results. - Scalar parameters in the select list of a query with a join are now detected, previously some could be missed. - Rapid query view updates no longer cause versioning conflicts, and query timeouts and cancellations now report consistently. - Exporting query results to Excel now produces valid tab names when table names contain characters such as `:`. - **UI** - Luminesce dashboards now let you add grid, chart and child widgets, and delete or collapse any widget. - LumiCode can now run batches of queries and download all their results. - **Providers** - Scheduler providers now support action links. - A new Luminesce provider lists historic compliance runs. - A new Luminesce provider calculates XIRR (internal rate of return) from a table of dated cash flows. - Luminesce Drive providers now support action templates, so you can download or preview a file directly from a query result. - Luminesce share class valuation point providers now return dealing and reporting prices. - The spin-off and merger instrument event writers now accept requests without optional fields such as `cashOfferElections`. - Luminesce providers for relational datasets and custom data models now pick up changes when you update their definition. #### Workflow - The **Workflow > Tasks** screen now supports paging, filtering and sorting. - Event launchers now refuse date-time adjustments on mapped task fields that they can't yet apply. #### Mesa - Mesa now keeps fund holdings distinct when fund lineage is incomplete, and checks that date ranges have a lower bound where required. #### Licensing - The Private Assets licence now covers allocation event, fund, fund configuration and transfer endpoints. #### Reference Data - Historic Copp Clark holiday calendars now cover 1991 to 2025 when loaded into a new domain. #### Platform - When the entitlements service rate-limits a request, LUSID now returns HTTP 429 instead of 500. - The **Active** filter on the Subscriptions page now filters correctly. (UI) - Selecting a dashboard set from the workspace breadcrumb menu now always opens it. (UI) - Not-found errors for workspaces and workspace items now give a clear message naming the workspace, item and visibility. ## 14 October 2026 ### Fund Accounting #### Bucket Sets & Apportionment - Buckets can now clear down at a valuation point, moving their balance into a target bucket from the next valuation point without changing NAV. - The Fund grid now shows your bucket sets in its NAV walk, from opening NAV through dealing and P&L to closing NAV. (UI) - Per-unit values in bucket set results now round to the share class's price precision instead of its units precision. #### Fund Configuration - [New endpoints](https://www.lusid.com/docs/api/lusid/endpoints/withholding-tax/BatchUpsertWithholdingTaxRates) let you bulk-load withholding tax rate data with validation on load. #### Virtual Transactions - You can now override or suppress individual virtual transactions from an instrument event in the web app. (UI) #### Valuation Points - The `RevertValuationPoint` API now returns the valuation point, matching `CreateValuationPoint`. This is a breaking change to the response. - The trial balance now shows the updated bookmark position when a bookmark shares its effective date and time with an estimate valuation point. #### Transactions - You can now filter the unsettled transactions endpoint for funds. ### Investment Book Of Record (IBOR) #### Amortisation - `EffectiveYield` amortisation now appears on holdings and transactions even when the holding recipe can't resolve the bond's price. - You can now take on an asset-backed bond with `SetHoldings`, so later principal paydowns relieve its cost. #### Instruments & Instrument Events - Corporate action unit ratios now support a `unitScaleType` of `NEWO` or `ADEX`. - You can now create, edit and view `PariPassuEvent` instrument events in **Data Management > Corporate Actions**. (UI) #### Transactions - The `Calculation` and `Condition` fields in the Transaction Fee Type editor now offer suggestions and highlighting. - The Repo form now accepts contract units outside 0 to 1, and displays full decimal precision on scaled fields and an audit trail. (UI) - Futures booked with a settlement currency different from the trade currency now convert the consideration to the settlement currency. - The settlement dialog on the Transactions screen now includes sub-holding key overrides, and its button is now called **Create Settlement**, matching the Holdings screen. (UI) #### Transaction Staging - Instrument events upserted through `UpsertInstrumentEvents` can now be staged for approval when they match a staging rule set. #### Valuation & Risk Analytics - A new `Valuation/Diagnostics/Accrual/CurrentSpread` address key shows the spread used in an accrual calculation. - Profit and loss address keys are now available in report currency. - The CalculateAggregatedReturns API now accepts a `currency` parameter, and takes the returns entity as a single `ResourceId`. - The `CompoundInputRates` diagnostic now returns results for every floating schedule, even ones without compounding. - `DateTimeAgo` windows for profit and loss now support business day conventions, and no longer require a cut label or cut time. - Rate fixings stored as `ClientInternal` quotes with quote type `Rate` now resolve, and the error for unmatched fixings now suggests valid recipe keys. - Valuation results returned as expanded types now show currency units without surrounding brackets. - Structured Results Store valuations now succeed when several result data rules use different quote intervals and contain empty fields. - FX forward valuations now return a descriptive error when the FX curve contains zero rates. ### Investment Management System (IMS) #### Rebalance Dashboard - The Rebalance dashboard now shows a separate progress bar for each type of data it loads. - You can now expand or collapse a whole level of grouping at once. - The **Clear** button now clears only targets and proposed orders, and asks you to confirm first. - When you edit a cell, you can now use the `Enter`, `Tab`, and arrow keys to move between cells. - **Generate Orders** now makes it clearer which cells you can switch between quantity and value-based orders. - Performance improvements to handle tens of thousands of holdings. - Improvements to [contra instrument](/v1/docs/configuring-contra-order-instruments) rows when orders are generated. - Selling an entire foreign-currency position now books a value order for the exact amount, without rounding noise. - Group filters saved in shared Rebalance [dashboard views](/v1/docs/how-do-i-customise-dashboard-columns-and-share-views) now stay applied when you reload the view. - Improvements to loading of models in [Mesa-powered](/v1/docs/using-the-rebalance-dashboard#use-mesa) rebalance dashboards. #### Orders & Allocations - You can now change the order type, limit price and stop price when you edit a placement; [read more](/v1/docs/how-do-i-create-a-placement#troubleshooting-placements-with-third-party-providers). - You can now choose an `External` entry type when creating placements, configured through `system/ExternalConfig`. This is intended for integrations with external platforms, such as fund processing platforms. - The Order Blotter now shows the amount and percentage placed for value-based placements. - The instrument picker's scope list now shows only instrument scopes. #### Performance Returns - You can now view reference portfolio returns on the **Performance Returns** dashboard without entering a returns scope and code. #### Compliance - You can now use `RelatedPortfolio/Weight` when you value a portfolio group. ### Enterprise Data Management+ #### Workflow - Workflow launchers can now start a workflow run when a matching platform event occurs, mapping values from the event into the run. - Batch updates to workflow tasks now check their update conditions against the values in your request. #### Data Management - Derived properties now support an `Instring` function, which returns the position of the first match of a string. - Relational data points created in the web app now use capitalised identifier types, such as `LusidInstrumentId`; data points stored under the old camelCase types are no longer matched. (UI) #### Market Data - Large quote upserts containing many `<` characters now complete instead of timing out. #### Luminesce & Query Tools - New Luminesce providers let you read and write `VolatilitySwap` instruments. - New Luminesce providers let you read and write `UpdateDepositAmountEvent` instrument events. - The `Lusid.Portfolio.Valuation` Luminesce provider now returns vector and matrix measures, such as key rate duration ladders. - Luminesce dashboards now support conditional formatting, so you can highlight rows or change font colour based on a value. - Bar, column and treemap charts in Luminesce dashboards now accept non-numeric data. - Luminesce clickable links now open in the web app for any provider, not just built-in ones. #### Mesa - You can now filter rows in Mesa grids. - Grouped Mesa grids are now easier to read, with right-aligned numbers, standard number formatting and column dividing lines. - Mesa now accepts larger messages, so very large portfolio groups load. - Resizing a grouped column in a Mesa grid now keeps the rows loaded. - Mesa widgets now clear row fetch errors once the connection recovers. #### Candela - Candela now warns you before a conversation reaches the limit of five documents per request. - Candela chat history and Insights now show attached documents and model-view notes. ## 7 October 2026 ### Fund Accounting #### Valuation Points - You can now stage accepting an estimate or finalising a candidate valuation point. - Ad-hoc valuations with a start date now ignore estimate and variant valuation points. #### Fund Configuration - You can now set a transaction exclusion filter on a NAV type, and it passes down to derived portfolios. - Share class instruments created through a fund now carry [access metadata](/v1/docs/understanding-access-metadata-amd), and can only be updated or deleted through that fund. - Withholding tax configurations now validate that each value source resolves to the right property. - The **Fund Share Class** form now accepts short codes, so you can edit share classes that were created via API. (UI) #### Bucket Sets & Apportionment - Bucket sets added part-way through a fund's life can now be backfilled from fund inception, and backfilled valuation points are flagged. #### Amortisation - When amortisation can't be calculated, the valuation journal still books the instrument's unrealised price gain, so trial balance NAV matches valuation NAV. #### Fees & Expenses - Fixed fees on valuation point output now show the configured fixed amount as `calculationBase`, instead of the fund's gross asset value. #### Private Markets - You can now book all capital events and value capital closed ended investments. #### Settlements - [Sub-holding key](/v1/docs/what-is-a-sub-holding-key-shk) overrides in the **Create settlement** dialog now use the right input for each property's data type, such as dropdowns and date pickers. (UI) - The **Create settlement** dialog no longer lists the custodian account sub-holding key, which you set through the **Custodian account** field. (UI) ### Investment Book Of Record (IBOR) #### Amortisation - `EffectiveYield` amortisation now calculates for mortgage-backed and asset-backed bonds, SONIA-compounded floating rate notes, and bonds with a single-term stub leg, and warns you if it can't. - Straight-line amortisation on asset-backed bonds now targets the face value still outstanding after each paydown. - Paydowns on amortised mortgage-backed and asset-backed tax lots now report realised amortisation and realised price correctly. - Amortisation on amortising-notional bonds bought after principal repayments now targets only the principal still to be redeemed. - `EffectiveYield` amortisation in a bond's final coupon period now accretes at a steady pace up to maturity. - Settlement-date amortisation methods now amortise added purchases from their settlement date when lots are pooled under average cost. - EffectiveYield amortisation on `ActActIsma` bonds now uses each period's actual length, so amortisation accrues smoothly. #### Instruments & Instrument Events - You can now attach a `TotalReturnSwap` asset leg's underlying as a mastered instrument, in the same way as other instruments with underlyings. - You can now create, edit and view `ChangeEvent` instrument events, and override them from the Instrument Events dashboard. (UI) - You can now add an instruction to a `ChangeEvent` from the Instrument Events dashboard. (UI) - `FlexibleRepo` interest payment and cash flow events now carry a payment amount. - Transaction templates for `RepurchaseOfferEvent` now evaluate conditions that compare the chosen election with event dates. #### Bank Debt / Loan Facility - `FlexibleLoan` contracts created by a loan facility rollover event now have their parent facility details populated. - Deleting a contract initialisation event now clears the parent facility details on its `FlexibleLoan`. #### Transactions - Output transactions now include a `ResolvedTaxLotSelectionMethod` system property showing which tax lot selection method was applied. #### Transaction Staging - You can now stage the creation and deletion of corporate action sources for approval, and preview pending staged changes when fetching a source by its entity unique ID. #### Valuation & Risk Analytics - You can now name the result key for each metric in a valuation request, so results requested with different options are easy to locate. - The compounding input rates diagnostic and accrual diagnostic keys now return results for `FlexibleLoan`, `FlexibleDeposit` and `LoanFacility` instruments. - Valuations involving compounded rates no longer fail when a compounding period has zero length. ### Investment Management System (IMS) #### Rebalance - New `Valuation/TotalGroup*` address keys return portfolio group PV and exposure, so you can calculate weights against a whole portfolio group. - [Value-based orders](/v1/docs/using-the-rebalance-dashboard#generating-orders) are now supported for all order generation methods. - The Rebalance dashboard now shows a loading state while [Mesa data](/v1/docs/using-the-rebalance-dashboard#use-mesa) is still being prepared, instead of an empty result. #### Orders & Allocations - Holdings with orders now use the instrument's settlement currency for the virtual transactions created from orders. - Bulk approval in the Order Blotter now tells you which orders were actioned when some approvals fail. - Cancelling value-based orders now moves their block to **Cancelled**, as it does for quantity orders. ### Enterprise Data Management+ #### Workflow - Workflow launchers can now start workflow runs on a schedule, with business-day calendars, time zones and scheduled-time field mappings. - Workflow responses now include each workflow's launchers, with readable summaries of their schedules and field mappings. - Workflow launchers now have their own access controls, including for the [run-as identity](/v1/docs/setting-up-a-schedule-subscription-or-other-activity-on-behalf-of-a-service-user), and clear rules for when their workflow changes or is deleted. - The [ListWorkers](https://www.lusid.com/docs/api/workflow/endpoints/workers/ListWorkers) API now includes LUSID’s library of workers. #### Luminesce & Query Tools - Luminesce `use` statements can now specify columns that must always be returned, even when a provider omits them; [read more](/v1/docs/what-are-a-data-provider-and-a-direct-provider). - Luminesce transaction providers now return version information columns. - The [Lusid.Portfolio.Holding](/v1/docs/lusidportfolioholding) Luminesce provider now returns no rows, instead of an error, when a portfolio doesn't exist. #### Mesa - [Preloaded Mesa views](/v1/docs/how-do-i-configure-a-source-factory#step-3-configure-execution-options) can no longer be removed by a connected user, and recover if removed unexpectedly. - Mesa now handles very large responses from LUSID without the request failing. - Mesa widgets now show a clear loading state while data first loads, instead of appearing empty. #### Insights - The [Insights](/v1/docs/troubleshooting-monitoring-insights) **Request Logs** page now loads faster; you set filters in a side panel, and it only fetches the columns you choose. (UI) ## 30 September 2026 ### Fund Accounting #### Fund Configuration - `BucketSetResults` on the valuation point response now: - Include the share class currency and the FX rate to the fund currency. - Omit fields that don’t apply in a given context, instead of returning them as null. #### Transactions - The unsettled transactions endpoint for valuation points no longer requires a start date. - The `GetJELines` endpoint now returns the transaction type as a standard field on each journal entry line. - The **Unsettled Trades** screen for Funds now uses a single date and calendar-entry picker, instead of separate parameters. (UI) ### Investment Book Of Record (IBOR) #### Instruments & Instrument Events - You can now create, edit, and view the `CapitalInterest` instrument type to track investment level commitments and distributions. (UI) - A `TotalReturnSwap` now supports lifecycle events for resets, income, and settlement. - Trading conventions now include a `PriceQuotationType` field. - The `FlexibleLoan` parent facility address key now shows only the facility name. #### Transaction Staging - Staging rule sets can now be created for Corporate Action Source entities. - The staging rule identifier picker no longer crashes when opening a favourite or recent search saved from the property-based identifiers picker. (UI) #### Bank Debt / Loan Facility - `FlexibleDeposit` positions split across sub-holding keys now settle and accrue independently. #### Valuation & Risk Analytics - Rollover events on facilities in a different currency to the portfolio now calculate long-term currency gain/loss. - Drilling through into a [Reference Portfolio](/v1/docs/what-is-a-reference-portfolio)’s instruments no longer requires those instruments to have a price in the [Quote Store](/v1/docs/retrieving-data-from-the-quote-store). - Reference portfolio lookthrough valuations with sum scaling no longer fail when a duplicate instrument key is present. - Swaption leg dialogs now show the correct start and maturity dates, instead of leaving them blank. (UI) - Changing a transaction’s effective date now publishes an update to holdings subscriptions. #### Platform - Entity screens opened from a grid with a specific asAt or effectiveAt now show that point in time, instead of defaulting to now. (UI) ### Investment Management System (IMS) #### Rebalance - Proposed order values for [value orders](/v1/docs/using-the-rebalance-dashboard#generating-orders) can now be rounded to a configurable level: nearest unit, nearest 100, or nearest 1000. - Rebalance bands now support an effective date, including scheduling changes for a future date and viewing historical values. - The Rebalance dashboard can now show [additional analytics as configurable columns](/v1/docs/how-do-i-target-analytic-values-in-the-rebalance-dashboard), configurable via `system/LUSID-Rebalance` → `AnalyticAddressKeys` in the **Configuration Store**. #### Orders & Allocations - Orders, placements and allocations now expose a direction field showing whether the order increases or decreases the position, driven by the underlying transaction type. - Loosened restrictions on allowing updates to placement type to match its block type. For example, if the block type is `Stop` or `Limit`, you can now update the placement type to match. - A block’s version history now contains `Created`/`Modified` links. - Cancelling orders in a placed block no longer fails for FX forwards with fractional quantities and no minimum order increment. #### Compliance - Compliance rules can now group and filter by an instrument’s related legal entity attributes, such as issuer. - Percent check and check compliance rules can now optionally use inclusive bounds. - Compliance rule properties can now be set during rule creation, and displayed and grouped by in the **Rule Manager** and **Compliance Dashboard** grids. - Compliance breach results for group-level rules now show which positions contributed to the breach. ### Enterprise Data Management+ #### Workflow - You can now import existing workflows directly into the workflow canvas. (UI) - You can now bulk-edit workflow tasks. (UI) - New Launcher APIs let you create, update, and delete workflow launchers. - Workflow runs now include a run ID and run number. ## 23 September 2026 ### Fund Accounting #### Settlements - You can now use a dedicated **Settlement Instructions** list screen to review settlement instructions for auditing purposes. (UI) - The settlement method override picker on **Edit Portfolio** now includes [derived properties](/v1/docs/what-is-a-derived-property). (UI) #### Valuation Points - You can now stage the changes made by reverting or deleting a [valuation point](/v1/docs/how-do-i-create-a-valuation-point) before they take effect, preview staged changes to a valuation point before they're approved, approve staged valuation point creations. #### Custodian Accounts - The bucket set filter builder now supports `custodianAccountId` and `custodianAccountType` journal entry line fields. (UI) - The **Is Default** flag for custodian accounts is now case-insensitive. (UI) #### Bucket Sets & Apportionment - `ApportionmentResults` now show the named inputs (for example opening NAV and net dealing) behind each factor's base value, not just the final result. - `BucketSetResults` now include display names, previous NAV, net dealing units, and share class details for the fund and share class nodes. #### Cash Statements - Cash statement (local currency) rows now surface transaction, instrument, and settlement instruction properties as queryable columns. #### Virtual Transactions - You can now override an individual virtual transaction, suppressing or persisting the override, through the API. #### Private Markets - Capital commitments are no longer counted as cash outflows when calculating Internal Rate of Return (IRR). - You can now aggregate using `CapitalInterest` valuation keys. ### Investment Book Of Record (IBOR) #### Bank Debt / Loan Facility - `FlexibleLoan` and `LoanFacility` instruments now support: - Payment-in-kind (PIK) interest - An `EffectiveCoupon` address key - Flexible loan, loan facility, and flexible deposit instruments now supports **Step Schedule**. (UI) #### Instruments & Instrument Events - A `TotalReturnSwap` now automatically terminates at fair value when a corporate action (merger, spin-off, or exchange offer) removes its underlying. - You can now book a custodian-level fractional-units true-up in full to a [sub-holding key (SHK)](/v1/docs/what-is-a-sub-holding-key-shk), instead of spreading it across existing tax lots, including how that true-up holding participates in later corporate actions. - Generated instrument events for unitised repo collateral now calculate `paymentAmount` at block scale. #### Transactions - A transaction type's movement `HoldingPropertyDeltas` no longer suppresses the resulting position holding. - Windowed holding and carry values are now pinned for holdings closed or opened inside the reporting window. - Futures variation margin per-lot apportionment now rounds half-cent marks. - The **Edit Transaction** screen no longer resets **Pool Factor** to `1` when it checks valuations for more than one settlement date and the responses come back out of order. - You can now create transactions directly while viewing a portfolio group. (UI) - The **Edit Instrument** dialog now allows you to set `effectiveAt` with a cut label. (UI) #### Valuation & Risk Analytics - Scenario shifts can now target a credit spread directly, and rate-curve shifts can distinguish an issuer curve from the risk-free curve. - Solvency II interest-rate shock scenarios now support a floor and a sign condition. - You can now optionally write calculated risk results through to the [Structured Results Store](/v1/docs/what-is-structured-result-data) when using find-or-calculate. ### Investment Management System (IMS) #### Rebalance - The [Rebalance Dashboard](/v1/docs/using-the-rebalance-dashboard) now supports custodian accounts, for example when adding securities or cash, generating orders, or creating allocations. - You can now quickly select multiple rows at once. (UI) #### Orders & Order Blotter - The [Order Blotter](/v1/docs/using-the-order-blotter) now lets you place, execute, and allocate orders by right-clicking directly from the grid. - [LUSID Unique Identifiers (LUIDs)](/v1/docs/what-is-a-lusid-instrument-id-or-luid) are now clickable throughout the [Order Management](/v1/docs/compliance-order-management-system-oms) dashboards. - You can now edit the value field directly on value-based orders in the Order Blotter. #### Workspaces and Dashboards (UI) - [Reference lists](/v1/docs/using-reference-lists-in-lusid) now support a read-only view mode with asAt auditing. - You can now add **Compliance**, **Rule Manager**, and **Reference Lists** as panels in your own [workspace dashboard sets](/v1/docs/workspaces-and-dashboard-sets). #### Compliance - `RelatedPortfolio/Properties[...]` are now supported in properties and compliance rules; [read more](/v1/docs/what-is-a-metric#listing-available-metrics). - The [Lusid.ComplianceRuleResult.Breakdown](/v1/docs/lusid-comlianceruleresult-breakdown) Luminesce provider now exposes `FormulaValues`. ### Enterprise Data Management+ #### Reference Data - You can now use crypto [currency codes](/v1/docs/how-do-i-create-a-currency) longer than three characters, such as `CCY_DASH`. #### Luminesce & Query Tools - You can now query `FlexibleDeposit` data through a dedicated Luminesce provider. - Luminesce providers now support `ActionTemplate`, letting you attach a follow-up action, such as a link or an API call built from a result row's values, directly to a provider column, so a query result can trigger that action rather than only displaying data. - The valuation Luminesce provider now returns an error if any underlying valuation request times out. #### Data Management and Platform - You can now create [Data Quality Checks](/v1/docs/data-quality-offering) for holdings. - Drive now supports previewing `.mt` files. (UI) - Loading spinners across LUSID now show progress, so you can see how far a long-running action has gone. (UI) - The **Workspace** name field in [policies](/v1/docs/how-do-i-assign-policies-roles-and-users-to-each-other-using-the-api) now has a dropdown, and the visibility field defaults to shared. (UI) - The **Source row** context picker in [Mesa](/v1/docs/using-mesa-dashboards-to-monitor-live-data) now returns more than 1,000 items. #### Insights - The [Data Import](/v1/docs/importing-data-using-the-lusid-web-app) screen now shows log outputs to help diagnose import issues. - The **Request ID** link in **Version Info** now works when a Luminesce query created or last updated the entity. ## 16 September 2026 ### Fund Accounting #### Fund Configuration - You can now open a fund's full configuration as a read-only pop-out from any dashboard that references it. (UI) #### Posting Rules & Journal Entries - Posting rules and general ledger profiles can now be mapped using any custodian account field or property, not just account type. - Unrealised profit and loss on positions, cash commitments and cash now posts to the general ledger account based on custodian type. - Foreign-currency dividend cash payments now convert to the fund's base currency at the exchange rate for DividendOptionEvent. - Foreign exchange forward journal entries now use the correct rate regardless of which currency is set as the trade currency. #### Valuation Points - Improved handling of deleted valuation points to ensure all variants are removed at the same point. - Valuation bookmarks now keep their original point-in-time date when the preceding valuation point is an estimate. ### Investment Book Of Record (IBOR) #### Accounting Periods - You can now create or unconfirm multiple closed accounting periods in a single batch request. #### Instruments & Instrument Events - You can now create and hold preferred share instruments, with dividend accrual, corporate action and valuation support. - You can now add and edit payment-in-kind (PIK) schedules on `ComplexBond` instruments directly in the web app. (UI) - Interest rate swaps now apply the time zone to each leg's payments and rate lookups. - You can now select **All** from the scope dropdown when browsing instruments in **Data Management**. (UI) #### Valuation & Risk Analytics - Two new analytics show a callable floating rate note's discount margin and workout date at its worst redemption. - Modified duration and related analytics are now available for cash flow loans, instead of returning a blank result. - Yield to maturity now calculates correctly for floating-rate callable bonds, and yield-to-call and yield-to-worst are returned for them. - Yield-to-worst, yield-to-call and yield-to-put calculations now give a specific reason when a bond's result can't be produced. - Accrued interest on cross-currency interest rate swaps with a foreign exchange-linked floating leg is now calculated. - End-of-day valuations for inflation swaps on the last day of the month now succeed. - The **Valuations** grid now shows large results as full numbers, with sorting, filtering and grouping. (UI) - Interest rate swaps priced with the lookup-pricing (`SimpleStatic`) model now show leg-level accrued interest and diagnostics. #### Scenarios - You can now create, view, edit and delete scenarios, including rate, spread, volatility and foreign exchange shifts, from a new screen. (UI) - You can now select real, domain-specific scenarios from the **Valuation** dashboard's scenario picker. (UI) #### Transactions - Excluding transactions from results now works when using the standard transaction query parameters. - The settlement date filter on the **Transactions (Input)** dashboard now correctly filters results. (UI) #### Settlement - The **Settlement Detail** screen now shows the future settlement status for individual settlement instructions. (UI) #### Custodian Accounts - The holdings response now returns a single, simplified `custodianAccount` field instead of separate resolved and unresolved versions. #### Bank Debt / Loan Facility - Loan facility positions now update when an early repayment occurs while a partial sale is still settling. - Loan facility drawdowns generated by a rollover event now use the correct exchange rate instead of posting the full amount as a currency loss. #### Platform - You can now upload many instruments at once without hitting false conflict errors. - Modifying portfolios no longer fails with false conflict errors caused by shared recipe or price data. - Version history now stays accurate when multiple updates are saved at the exact same time. ### Investment Management System (IMS) #### Rebalancer - You can now temporarily show [placeholder instrument](/v1/docs/how-do-i-create-a-placeholder-instrument-for-reference-portfolios) rows in the **Rebalance** dashboard, to see where a model or benchmark weight comes from. - Algorithm mode has been removed from the **Rebalance** dashboard; you can still use rebalance algorithms in other modes, [see how](/v1/docs/defining-portfolio-rebalancing-algorithms). #### Compliance - Running a compliance check no longer fails when an instrument holds a property with more than one value. ### Enterprise Data Management+ #### Candela - The [Dashboard Explainer agent](/v1/docs/understanding-candela-s-system-agents#dashboard-explainer-agent) can now trace a figure across pipeline stages, not just within one query. - Custom Candela agent prompts can now be up to 30,000 characters, up from 5,000, leaving room for full guidance. #### Workflow - You can now receive notifications when workflow tasks and task definitions are created, updated or deleted. - The **Workflow** dashboard now lets you filter and sort tasks by workflow, task definition and workflow properties. (UI) - Workflow API responses now include the full workflow structure in every response. #### Data Management - [Staging Service](/v1/docs/staging-changes-for-approval) rules now keep working correctly if a property they reference is later deleted. (UI) #### Luminesce & Query Tools - You can now group rows together in query results grids, including grouping by date, and grouped results show aggregation totals with clearer indentation. - Several chart types in the query results tool (scatter, multiline, box plot and dumbbell) are now clearer to read. - Luminesce queries combining `IN` with a union subquery now return all matching rows, not just the last set. #### Mesa - Data embedded from Mesa continues to display correctly after a recent change to the underlying data format. #### Platform - Date fields that already have a value now show that date in the calendar picker, instead of defaulting to today. (UI) - In-app documentation links now point to Knowledge Base articles instead of retired links. ## 8 September 2026 ### Fund Accounting #### Fund Configuration - Renamed `FundShareClassType` to `InvestorType` - Added an optional `FundInstrument` field for non-unitised funds with a single share class - Renamed `RoundingConventions` to `RoundingConventionsPrice` #### Custodian Accounts - Journal entry lines grids now include custodian account columns. (UI) #### Valuation & Pricing - Bucket set results now include a source breakdown, per-unit values, and the bucket set code. - Buckets within a pricing template bucket set can now be reordered. (UI) ### Investment Book Of Record (IBOR) #### Instruments & Instrument Events - **Instrument Events** screen now includes create, edit, and view screens for payment in kind events. (UI) - Added an optional `parPerUnit` field to [Bond](/v1/docs/modelling-fixed-rate-vanilla-bonds-in-lusid), [ComplexBond](/v1/docs/modelling-complex-bonds-in-lusid), and [InflationLinkedBond](/v1/docs/modelling-inflation-linked-bonds-in-lusid), so accrued interest and coupon amounts can scale independently of clean present value. - Editing a Fund Share Class instrument now updates the original instrument instead of creating a duplicate. (UI) #### Valuation & Risk Analytics - Lookthrough valuations for multi-leg OTC instruments (such as FX Forwards) no longer fail when leg-level results are requested separately. - Leg-level accrued interest is now populated correctly on split-leg swap valuation rows. #### Transactions - You can now choose the sequencer used for transaction and settlement identifiers on specific tasks, instead of always using the default. (UI) - Transaction type updates now correctly apply changes to a movement's settlement date override and condition. - The transaction screen now keeps the settlement currency you selected, even when a preview response arrives late. (UI) #### Custodian Accounts - The **Create Cash Settlement** screen now auto-populates from the contractual settlement, reducing manual data entry for standard settlements. (UI) - Custodian account creation validates that a new custodian account's scope matches its portfolio's scope. (UI) - Resolved custodian accounts, including their core attributes and properties, are now exposed as filterable and queryable columns in the transaction report. (UI) - Holdings grids now use the `custodianAccount` field in place of the retired `resolvedCustodianAccount` field. (UI) - The **Custodian Accounts** screen now only shows custodian slots for movements that were actually invoked. (UI) #### Bank Debt / Loan Facility - Total consideration on early-repayment adjustment transactions now accounts for tax lots with more than one pending sale. ### Investment Management System (IMS) #### Candela - Added a [Compliance](/v1/docs/what-is-compliance-in-lusid) agent that triages compliance breaches and can create and validate new rules. #### Compliance - Benchmark weight can now be used directly in derived valuations and compliance checks for portfolio-vs-benchmark comparisons. #### Rebalancer - Added settlement status fields to the [Mesa](/v1/docs/using-the-rebalance-dashboard#use-mesa) output transactions view. - Annotation slots in Mesa grid layouts now stay reachable after adding a grid layout last. ### Enterprise Data Management+ #### Candela - The NAV pack agent now shows NAV movements as a rebased waterfall bridge instead of an absolute-scale bar chart, making the drivers of NAV change easier to read. #### Data Management - Added the `attemptToInferMissingFxOnFixings` checkbox and `findOrCalculate` selector to the recipe wizard dialog. (UI) - [Data Quality check definitions](/v1/docs/data-quality-offering) now support the Legal Entity type. (UI) - The **From** and **To** date inputs on the **Data Virtualisation > History** screen now show the full year. (UI) #### Luminesce & Query Tools - LumiCode can now be downloaded directly from the binary API. - LumiCode now includes a Drive file browser and query history view, an in-app updater, and numerous fixes. ## 1 September 2026 ### Fund Accounting #### Custodian Accounts - Build transactions can include unresolved custodian accounts. - [Posting rules](/v1/docs/how-do-i-add-a-posting-module-with-posting-rules-to-a-chart-of-accounts) and [general ledger profiles](/v1/docs/using-a-general-ledger-profile-to-break-down-account-activity-in-a-trial-balance) can use resolved custodian attributes for custodian-driven general ledger splitting. #### Valuation Points - Added [staging support](/v1/docs/staging-changes-for-approval) for [valuation points](/v1/docs/how-do-i-create-a-valuation-point). - Fund configurations can no longer be deleted while referenced by a fund, and NAV types can no longer be hard-deleted while final valuation points exist. #### Settlement & Journal Entries - Improved settlement and journal entry handling: - Settlement-in-lieu commitment reversal for multi-movement income. - Cross-currency settlement-in-lieu reports `Settled`/`Total` in the contractual currency. - Journal entries merger and conversion cash-in-lieu events. - Journal entries stay balanced when a bond's settlement and trade currencies differ. - Transaction type details now show which movement condition was matched, making it easier to see why a transaction was posted the way it was. #### Fund Configuration - Added a new `FundStructure` [property domain](/v1/docs/properties), so property definitions can now be scoped to fund structures. - The **Pricing Templates** screen's apportionment method control is now optional. (UI) - Fixed the fund calendar entries endpoint returning an error when filtering by certain valuation point types, and improved the error message when filtering by variants. #### Platform - ABOR pages can now be added as tabs in [dashboard sets](/v1/docs/workspaces-and-dashboard-sets). (UI) ### Investment Book Of Record (IBOR) #### Instruments & Instrument Events - Added cashflow events and [transaction templates](/v1/docs/what-is-a-transaction-template) for the `CommodityCalendarSwap` instrument type. - `TotalReturnSwap` now supports offsetting a bond asset leg's principal passthrough from the funding leg, an off-par funding notional, and pricing via the bond lookup pricer. - `InterestRateSwaption` now supports cross-currency and float-float underlying swaps. - Corporate action improvements: - Merger and tender events now allow multiple elections of the same type. - Mandatory cash-only mergers are supported. - Exchange offer lapse elections accept a free-form key. - Dutch auction events no longer require an explicit currency. - Stock dividend events can output additional shares granted. - Added a short-term investment fund (STIF) deposit type that reads its balance from daily movements. - [P&L keys](/v1/docs/how-does-lusid-calculate-pl) are now available for flexible deposits. - Drawing events now support a per-portfolio affected amount via [event instruction](/v1/docs/loading-an-event-instruction-to-override-an-instrument-event-for-a-particular-portfolio). - Improved the accuracy of flexible repo accrual on full close. - Fixed the following `BuildTransactions` bugs: - Portfolios holding matured bonds error, caused by inconsistent handling of overlapping transactions on the same instrument. - Out-of-memory error for portfolios with instruments that have very long historical event windows, such as loan facilities. #### Valuation & Risk Analytics - Zero-coupon inflation swaps now pay net accrual on the fixed leg. **This is a breaking change for existing zero-coupon inflation swap positions.** - [Recipes](/v1/docs/what-is-a-recipe) can now select which risk engine (`Bump`, `Parity`, or `Adjoint`) is used for valuations. - Added a lattice-based [callable bond pricing model](/v1/docs/what-pricing-models-can-i-use-in-my-valuation) with OAS solving and option-adjusted risk, plus yield-to-call and yield-to-worst methodology for floating schedule callables, with improved yield-to-maturity accuracy. - Added cheapest-to-deliver (CTD) analytics for bond futures via `GetValuation`. - Added comprehensive support for pricing and risk on inflation curves, including: - Instrument-shaped curve constituents - Quarterly inflation swaps - Forward inflation valuation model - Bump-and-value risk (IE01/DV01) - New diagnostics for forward and base index reference dates - Improved accuracy for inflation-linked bonds' accrued interest and index ratio - Swaptions explicitly priced with the Bachelier model no longer silently fall back to a different [pricing model](/v1/docs/what-pricing-models-can-i-use-in-my-valuation). - Fixed pointwise FX gamma risk measure server errors, and FX delta (`Central`/`Parallel`) returning inconsistent values across identical requests. - Credit default swap valuations no longer fail when the credit dependency resolved unexpectedly. - Z-spread and discount margin analytics now attribute errors to the specific measure involved, and discount margin can now be requested on a wider range of bonds. - Improved the resilience of yield analytics: - A single unpriceable instrument no longer affects the rest of a request. - Bond yield/duration calculations handle date conventions more robustly. - Added two new risk analytics measures: convexity and theta as native bond analytic keys, and an opt-in key-rate bucket remapping option. - Improved the accuracy of present value currency handling in the bond lookup pricer and related static pricing. - Added several new diagnostics and [address keys](/v1/docs/which-metrics-can-i-include-in-my-valuation-report): - Per-leg accrued interest for interest rate swaps - A compounding-rate diagnostic table for floating schedules - Leg-level notional address keys - Result shape/axis metadata for aggregation - Valuations can now return quote metadata via [address keys](/v1/docs/which-metrics-can-i-include-in-my-valuation-report). - Improved the clarity of roll day validation message. - Improved rate sensitivity calculations for floating-rate instruments where index resets fall within an elapsed period. - Added spread-anchored rates risk for quote-anchored bonds and flexible repos. - Valuation and model-creation requests now succeed even when only one measure or model is affected, instead of failing the whole request. #### Scenarios - Improved the reliability of scenario valuations: - Scenario definitions are now validated consistently at creation and at valuation time. - Price shift scenarios apply correctly to matching instruments. - Historic scenario valuations are reproducible. - Market data key rules behave predictably when no dependencies match. - Updated the [Scenarios API](https://www.lusid.com/docs/api/lusid/endpoints/scenarios/GetScenario): - Renamed `ListScenarios` to `ListScenariosForScope` with a new cross-scope endpoint. - Added optional short code and scenario type fields to scenario definitions. #### Transactions - Improved the FX transaction experience: - The transaction table no longer shows a premature validation error. - The FX field can be recalculated after being selected. (UI) - Added settlement currency capture for NDF transactions and improved the NDF instrument panel on the transaction view. (UI) - Improved the reliability of the **Instruments** dashboard when working with long saved grid filters. (UI) ### Investment Management System (IMS) #### Rebalancing - Improved the [**Rebalance** dashboard](/v1/docs/using-the-rebalance-dashboard)'s live order recalculation via [Mesa](/v1/docs/understanding-mesa-architecture): - The resulting order quantity now stays visible while waiting for an updated value. - Read-only cells are clearly marked and tooltips appear faster. - Quickly switching to a Mesa-powered dashboard no longer gets stuck loading. (UI) - Adding cash in [pivot mode](/v1/docs/using-the-rebalance-dashboard#portfolio-pivot) now updates [summary metrics](/v1/docs/using-the-rebalance-dashboard#portfolio-summary). (UI) #### Orders & Allocations - Order, block, and placement responses now include a read-only `sizeType` field, showing whether the order was instructed by quantity, value, or weight. - Orders and allocations now support a custodian account ID. #### Compliance - [Compliance rule](/v1/docs/compliance-rule-syntax) result screens now format numeric properties for readability. (UI) ### Enterprise Data Management+ #### Data Management - Custom [transaction templates](/v1/docs/what-is-a-transaction-template) now support mapping transaction and holding domain properties. - Filtered fund lists in [reference lists](/v1/docs/using-reference-lists-in-lusid) now support the advanced filter builder, for more complex filtering criteria beyond the basic mode. (UI) - Data points in [relational datasets](/v1/docs/how-do-i-create-a-relational-dataset-definition) can be edited inline, and the relational dataset view screen now respects the `asAt` date. (UI) #### Mesa - Mesa dashboards can now use saved [Luminesce queries](/v1/docs/luminesce-and-lumipy) as a data source. - Improved resilience during service failures. #### Luminesce & Query Tools - Write providers used in the [**Import Data**](/v1/docs/importing-data-using-the-lusid-web-app) screen can now use data loaders for their parameters, matching existing support for read providers. - Enabled connections to Luminesce from Azure and Microsoft Fabric. #### Platform - Luminesce personalisation settings are now consolidated into a single settings page. - Added **Admin UI** flows to join, administer, edit, and detach cells. - [Task fields](/v1/docs/how-do-i-create-a-task) are now exposed as [access metadata for entitlements](/v1/docs/understanding-access-metadata-amd). - Improved the reliability of [event notifications](/v1/docs/notification-service) reaching their destination. - Datetime pickers now restrict hours and minutes input to two characters. (UI) - Added a user-controlled "Labs" early-access feature area. (UI) ## 26 August 2026 ### Fund Accounting - Fund valuation and apportionment can now be driven from bucket sets. - Added safeguards against hard-deleting a [NAV type](/v1/docs/generating-fund-reports) while final valuation points are still outstanding. - [Staging rules](/v1/docs/staging-changes-for-approval) can now match on NAV type, including whether it's a fund's primary NAV type, so a single approval rule can apply consistently across all funds instead of one rule per fund. - Added support for editing properties in **Fees & Expenses**. (UI) - The `Lusid.Fund.Valuation` provider now supports switching cleanly between diary-entry and effectiveAt-based valuation within the same query. - Improved validation and parsing for the `Is Default` and `Related Account` properties on [custodian accounts](/v1/docs/how-does-lusid-resolve-transactions-to-custodian-accounts), so boolean values and multi-value entries are handled more reliably. - Trial balance and journal-line imbalances now return clear, informative failures (with an option to suppress via a header) for more predictable error handling. - Removed certain redundant LUSID properties from the `GetValuationPointTransaction` response. - The **Fees & Expenses** screen now disables fields that don't apply to the selected [fee calculation type](/v1/docs/adding-fees-to-a-fund-and-automatically-posting-fee-transactions). (UI) - Custodian account properties now appear in the **Fund Accounting Holdings** screen. (UI) - Fees can now be booked at the allocation-group level and are apportioned across the group's member share classes. - `AllocationMethod` [derived properties](/v1/docs/derivation-formulas-part-1-operations-and-allowed-values) are now validated to ensure they resolve to a number when created, with a clear error message, instead of only failing later during apportionment calculations. - Extended the **Pricing Templates** screen with full bucket set management: define, reorder, and filter bucket sets and their buckets, and choose which set apportionment uses. (UI) ### Investment Book Of Record (IBOR) #### Custodian Accounts - Users can now filter resolved custodian accounts when [building transactions](/v1/docs/transactions). #### Instruments & Instrument Events - `TotalReturnSwap` now supports `TBA` and `InflationLinkedBond` as an asset-leg underlying. - `CdsOption` now supports exercising and expiry through LUSID's [option exercise and expiry](/v1/docs/handling-lifecycle-events-for-exchangetradedoption-instruments) instrument events. - Added [transaction types](/v1/docs/transactions) and `TotalConsideration` support for `CdsOption`. - Private corporate actions now use an entity-specific asAt cut-off. - Added create, edit and view screens for liquidation payment [instrument events](/v1/docs/understanding-instrument-lifecycle-events-emitted-by-lusid). (UI) - Added ability to add an instruction to a liquidation payment instrument event from the **Instrument Events** dashboard. (UI) - Added the `BondOption` instrument type, including cash-settled exercise, expiry, and a dedicated early-termination event for when the underlying bond is called early. - Added the `CommodityCalendarSwap` instrument type. - Added the `CdsOption` instrument type. - Added cash and physical settlement events for `CommodityForward` instruments. - `InterestRateSwap` now supports an optional cancellable schedule, letting either party terminate the swap on one or more predefined dates (European or Bermudan-style). - `InflationLinkedBond` now supports an optional amortisation (sinking) schedule, so principal can be paid down in tranches over the bond's life instead of only at maturity. - Added the ability to specify a new [instrument identifier](/v1/docs/understanding-instrument-identifiers) on a `StockSplitEvent`, so LUSID can correctly close the old position and open a new one when a split retires the pre-split ISIN and issues a new one. - `QueryApplicableInstrumentEvents` now supports timelines, with true-ups and reversals across period boundaries, matching how `BuildTransactions` already works. #### Transactions - Added portfolio transaction exclusion filters for formula portfolios. - P&L address keys can now be filtered by movement type (e.g. `ProfitAndLoss/Total/Other(MovementName='Income')`), so you can pull out P&L for a specific kind of activity. - Added a `Holding/UnsettledCost` [address key](/v1/docs/which-metrics-can-i-include-in-my-valuation-report) (base, portfolio and report currency). - Recipe address key filters now support boolean-data type property values. - Improved the accuracy of variation margin calculations for certain IBOR positions. - Improved the accuracy of accrued interest calculations at the start of a period's PV. - Improved the accuracy of the FX transaction box on the transaction view, keeping it consistent with the instrument definition. (UI) - The `From`/`To` account selector is now shown in the transaction detail view and transaction dashboard. (UI) - Fixed the `Lusid.Portfolio.BuildSettlementInstruction` Luminesce provider returning `Partial` instead of `CancelAutomatic` for cancelled [settlement instructions](/v1/docs/loading-settlement-instructions). - The repo transaction form now calculates and stores collateral consistently with the **Block Execution** screen, and no longer caps transaction units at 1. (UI) #### Settlement - Users can now provide properties when creating settlement instructions, and view them in the **Settlements** screen. (UI) ### Investment Management System (IMS) #### Rebalancing - Reworked **Existing exposure** and added **Restore starting exposure** on the rebalance control panel. (UI) - Rebalance configuration **Custom Values Order** attributes now flow through consistently to the **Order Generation** screen. (UI) #### Orders & Allocations - Manual calculation methodology in **Quick Order Entry** can now accept typed order quantities without requiring an instrument price. (UI) - The transaction dialog for repo block transactions no longer freezes while loading underlying data; it now opens immediately and populates progressively. (UI) - Improved the reliability of [RunAllocationService](https://www.lusid.com/docs/api/lusid/endpoints/order-management/RunAllocationService/) for value-based orders. - The [Order Blotter](/v1/docs/using-the-order-blotter) now supports creating and managing value-based placements (an amount and currency, rather than a quantity) across bulk placement, create/edit, and the **Placements** grid. (UI) - Improved the accuracy of `Over-Executed` state reporting on value-based placements. - Fixed issues in **Order Blotter** block execution, including recalculation not triggering on certain bond interest and repo price or settlement date changes, and the allocation percentage not updating after full allocation. (UI) ### Enterprise Data Management+ #### Candela - Improved the reliability of [Candela](/v1/docs/candela-ai) task results, preserving them even if your connection drops and reconnects while a background tool is still running. - Improved Candela reconnect handling so retries wait until a chat session has fully loaded. - Improved Candela chat reliability, preventing the interface from getting stuck on a loading spinner with leftover history. #### Workflow - Improved the reliability of workflow [actions](/v1/docs/using-actions-to-run-workers-create-child-tasks-and-trigger-parent-tasks), so they retry automatically and complete successfully instead of stalling when their associated task isn't immediately available. #### Mesa - Users can now navigate directly to [factories in Mesa](/v1/docs/understanding-mesa-architecture). (UI) #### Data Management - Users can now view the related quotes for a market data key rule in **Data Management > Recipes**. (UI) - Updated [roll convention](/v1/docs/roll-conventions-and-business-day-conventions) values to support new values in **Data Management > Instruments**. (UI) - Rules built with the property-based filter builder (used in [CDM](/v1/docs/custom-data-models) conditions, staging rules, and filtered fund reference lists) now show a visual warning when a property they reference has since been deleted, instead of only failing silently on save. (UI) - Relational datasets upserts now correctly accept an explicit `null` value for optional boolean fields. - Grids across the LUSID web app now keep your column configuration visible and usable even if the underlying data fails to load, so you can fix a bad filter yourself. (UI) - You can now approve or reject staged [bookmark](/v1/docs/how-do-i-create-a-bookmark) changes (approving applies the change, rejecting leaves it untouched), and preview a pending change or see its staging status directly from the list view. #### Platform - The [Staging Service](/v1/docs/staging-changes-for-approval) `your change has been staged` notification now only appears when your specific edit was actually staged. Previously, it could appear on any edit to an entity that already had other changes pending, even if your edit went through immediately and wasn't staged. (UI) #### Luminesce & Query Tools - Added an `isFilterable` column to the [Lusid.PropertyDefinition.Writer](/v1/docs/lusidpropertydefinitionwriter) Luminesce provider. - Improved the performance of `Valuation` provider lookups when both a diary entry code and NAV type are specified. - Luminesce query parameter dropdowns now show the full list of suggested options immediately, instead of only showing options matching the pre-filled default value. (UI) - `LegalEntity` and `Person` providers can now list items without their identifiers [inlined](/v1/docs/using-luminesce-to-write-different-kinds-of-property-for-lusid-entities). - The **Intelligent Ordering** toggle in the catalog menu now defaults to on (while remaining off for users who explicitly switch it off). (UI) - Added leg-level `TimeZoneConventions` to the `InterestRateSwap` provider, fixing IRS writes that previously failed with a timezone mismatch when legs defaulted to a different convention than the parent. ## 19 August 2026 ### Fund Accounting - Improved the Complex Close Instruments view to show the complete set of added instruments. (UI) - Added validation to prevent mixing legacy and new [fund configuration](/v1/docs/how-do-i-create-a-fund-configuration-module) formats. - Fixed a bug where querying a [bookmark](/v1/docs/how-do-i-create-a-bookmark) could include activities from outside its `asAt`. - Fixed an error saving the [Valuations dashboard](/v1/docs/valuations) configuration when benchmark comparison was enabled. (UI) - Fixed the **Date Range Picker** so an existing ABOR diary entry date can be changed. (UI) ### Investment Book Of Record (IBOR) #### Custodian Accounts - Added account types and per-type default custodians for [custodian accounts](/v1/docs/assigning-transactions-to-custodian-accounts), with automatic movement-level routing. #### Instruments & Instrument Events - Enabled creating [corporate actions](/v1/docs/corporate-actions) for flexible deposit instruments. (UI) - Total return swap exposure is now set via holdings and units rather than an instrument-level quantity field. - Added exercise type, exercise date and strike fields to the `InterestRateSwaption` instrument, and fixed issues with swaption exercise event dates and lifecycle behaviour that depended on these new fields. - Fixed an error in the **Edit Instrument** dialog when effective date is set with a cut label. (UI) #### Transactions - Added the ability to filter instruments and transactions by [Data Model Membership](/v1/docs/managing-membership-of-custom-data-models) fields. - Improved [sub-holding key](/v1/docs/what-is-a-sub-holding-key-shk) generation for dividend transactions on multi-custodian portfolios. - Fixed an issue preventing more than one fee type from being added to a transaction type. (UI) #### Transaction Staging - Added the ability to add, edit, remove and reorder rules in the [Staging Service](/v1/docs/staging-changes-for-approval). (UI) #### Settlement - The `Lusid.Portfolio.SettlementInstruction.Writer` Luminesce provider now returns instrument identifiers as individual columns. ### Investment Management System (IMS) #### Rebalancer - Added control over the parameters used when the [Rebalance button](/v1/docs/using-the-rebalance-dashboard) is pressed. (UI) - Added a pro-rate method for allocating cash across multiple portfolios in the Rebalance dashboard. (UI) - Fixed an issue where adding a new security in Rebalance did not bring through its required [contra security](/v1/docs/configuring-contra-order-instruments). (UI) - Fixed order instructions not matching the configured contra instrument when portfolios differ. (UI) #### Orders & Allocations - Added the ability to override order type, limit price and stop price when creating placements in the [Order Blotter](/v1/docs/using-the-order-blotter). (UI) - Added Block Value fields to the Order Blotter grid. (UI) - Added collateral and cash display at block scale for Repo block execution. (UI) - Fixed a missing tooltip explaining why the **Allocate** button is disabled in **Bulk Allocations**. (UI) ### Enterprise Data Management+ #### Market Data - Added filtering, scope and effective/as-at date support to the [ListComplexMarketData](https://www.lusid.com/docs/api/lusid/endpoints/complex-market-data/ListComplexMarketData) endpoint. - Added a **Curves** screen for viewing and editing FX forward pips and rate curves. (UI) #### Data Management - Added Views and the ability to add properties and version information to Portfolio Groups. (UI) - Added the ability to create and clone individual data points in [relational datasets](/v1/docs/how-do-i-create-a-relational-dataset-definition). (UI) - Added the ability to define custom naming formulas for FX transaction identifiers. (UI) - Improved the derived property **Explain** diagram by removing unhelpful partial formulas. (UI) #### Data Quality - Added Portfolio as an entity type for Data Quality check definitions. [Read more.](/v1/docs/data-quality-offering) (UI) #### Mesa - Improved error recovery in [Mesa-powered dashboards](/v1/docs/using-mesa-dashboards-to-monitor-live-data) so a lost connection no longer blocks the whole view. (UI) #### Platform - Added the ability to create, edit and delete web page [access policies](/v1/docs/identity-management-and-access-control-iam). (UI) - Moved dashboard set configuration out of Personalisations. [Read more.](/v1/docs/workspaces-and-dashboard-sets) (UI) - Updated the grid autosize icon and added a right-click option to autosize individual columns. (UI) #### Luminesce & Query Tools - Added the ability for the Luminesce CLI and WebAPI to upload query results directly to Drive. - You can now start a [SqlBackground](/v1/docs/executing-long-running-queries-using-the-sqlbackground-api) query directly from a Saved Query in [Workspaces](/v1/docs/workspaces-and-dashboard-sets). - Added support for using your own authentication token (Bring Your Own Token) with Luminesce, whatever the request origin. - Fixed an issue where filtering by date with `AND`/`OR` conditions in the [query editor](/v1/docs/what-tools-are-available-to-write-luminesce-queries) produced invalid results. - Fixed an issue where long-running Luminesce queries could fail to return results if interrupted. The grouping together, or blocking, of one or more similar orders, allowing you to place all of them in the market at once, or create multiple smaller placements for the block. For bitemporal data, the **asAt** timestamp reflects the point in time at which a data item is saved into LUSID. This allows data to be extracted from LUSID as it was at a point in the past, regardless of any subsequent updates or corrections. It is determined internally by LUSID and cannot be updated by the user. For bitemporal data, the **effectiveAt** timestamp reflects the point in time at which a data item becomes valid in LUSID from a business perspective. You can specify the field when you make a read or update request to LUSID, indicating that you want to retrieve or update data that is effective at the specified date.