Root release notes | July 2026
about 1 hour ago by Root Product Team
We’re committed to keeping you fully up to speed with all of the features, enhancements and fixes we ship at Root. Here are all of the updates and improvements we shipped over the last month 🛠️
Features
We’re working on new features to expand what you can do on Root:
- Instructions as first-class platform functionality: Product modules can now schedule functions to run at a future datetime (for example, resetting a benefit on its anniversary) natively on the platform, rather than through per-module JavaScript. Collection modules are also supported. Read the API docs.
- Alteration names in the policy activity log: Policy alteration entries in the activity log now display which specific alteration was applied, rather than the generic "Policy alteration package applied" label. This feature will be rolled out in the coming month.
- Prevent unnecessary policy document regeneration: Product module document templates can now wrap dynamic content, like a
now"generated at" timestamp, in ... markers to keep it out of the document-deduplication hash, so only material changes create a new document version. This feature will be rolled out in the coming month. Read the docs. - Aggregated application endpoint: A new
POST /applications/create-aggregatedendpoint creates a quote and application in one call, without issuing a policy. Both aggregated endpoints now also accept auser_group_idto assign the application (and policy) to a user group. Read the docs. - API key access to user group management: Organisation API keys can now list, create, and edit user groups, add and remove members, and set a group's product modules over the API.
- Idempotency key on claim creation:
POST /claimsnow accepts an optionalidempotency_keyquery parameter. A retried claim-creation request with the same key replays the original response instead of opening a duplicate claim, matching the pattern already used for policy issuance and payments. Read the docs. - Scheduled jobs for collection modules: Collection modules can now run their own functions on a set schedule (for example,
pollMandatesevery morning at 06:00) without a manual trigger. Cron expressions are validated on save, with anything faster than hourly rejected. This feature will be rolled out in the coming month. Read the docs. - Missed-billing-periods lapse and NTU triggers: A new lapse rule counts billing periods that contain no successful premium payment, rather than counting failed payments. Read the docs.
- Product module code run IDs on API responses: Every public API call that synchronously executes product module code now returns an
X-Root-Product-Module-Code-Run-Idsresponse header, and the run and log-item endpoints are now included in the public API docs — letting integrators link a quote, application, or policy API call to the underlying product-module execution log. - Product module payment method validation hook: A new optional
validatePaymentMethodproduct-module hook lets modules run custom validation when a payment method is captured — for example, calling a third-party account verification service to confirm a debit-order bank account. Read the docs. - Invoicing on Root: Substantial work went into building out the new Invoicing feature. Operators can create, send, void, and mark invoices as paid, with proof-of-payment attachments and downloads, an uncollectible (bad debt) status, and credit notes generated automatically from the refund flow. Invoices now have a live document preview that renders as an operator builds a new invoice. Template-driven invoice, receipt, and void communications can be sent automatically using custom notifications. This feature is in the final phases of development and testing.
Platform Enhancements
-
Performance Enhancements
We’ve introduced enhancements to improve stability, efficiency, and visibility across Root:
- Faster policy detail views: The policy detail view now lazy-loads below-the-fold sections as they come into view on scroll, rather than fetching every section's data eagerly on mount. This reduces requests and main-thread work on the initial page load.
- Removed duplicate requests on claim and policy views: Loading the claim view or policy view previously fired every entity request twice. This has been resolved on both views (the application view was fixed in a prior release).
- Prevent unnecessary product module code lookups: Product module code lookups are now skipped when executing PM code on the new per-module execution rails.
-
Billing Enhancements
We’ve made several improvements to increase reliability, accuracy, and automation across Root’s billing processes.
- SoftyComp DebiCheck integration: A range of reliability, security, and correctness improvements were made to strengthen the DebiCheck collections integration through SoftyComp, including more robust mandate onboarding, authoritative callback handling, safer credential storage per organisation, and improvements to payment batch submission timing.
- Prevent cancelled payments from resetting the lapse counter: Resolved an issue where a cancelled or in-flight payment could reset a policy's consecutive-skipped-payments streak, suppressing lapsing. Only a successful collection now resets the streak, and same-day payments are segmented deterministically.
-
Bug fixes
We’ve addressed key issues to improve system reliability:
- Improvements to data imports: Various fixes and improvements were made to the data import feature this cycle, including better validation alignment with the API and UI improvements for organisations without a product module configured.
- Improved reliability of the product module publish flow: Resolved a race condition where CI pipelines running
pushthenpublishback-to-back could sporadically fail with an opaque error, caused by a stale cache read inside the publish transaction. Publish errors also now include a clearer message when there's no definition in review.
If you have any suggestions or feedback, please share them with your Client Success Manager or submit them via the Root product roadmap to make sure we always know what’s top of mind for you.