---
title: "v2026.16"
description: "April 12 – April 19, 2026"
url: "https://savyy.net/changelog/v2026-16"
locale: "en"
version: "2026.16"
published: "2026-04-19"
---

# v2026.16

April 12 – April 19, 2026

## New features

- [Web] Envelope rules management, gated behind the premium paywall
- [Web] Vaulty mascot on the landing page, with a press-to-replay easter egg
- [Web] New forex market page with an editorial hero layout and Literata type
- [Web] Commodities market page now uses the same editorial Literata style
- [Web] New Vaulty chat welcome screen with a greeting animation and speech bubble
- [Web] Content-Signal robots.txt published; markdown content type fixed
- [Mobile] Category rules management screen
- [Mobile] Category identity now shows in the rules list and edit sheet
- [Mobile] Envelope rules management, gated behind the premium paywall
- [Mobile] Vaulty AI brand with mascot-powered success overlays (9d3ec28, a85b4a2)
- [Mobile] Vaulty mascot on the landing screen, moods sync to the active slide
- [Mobile] New Vaulty chat welcome screen with a greeting animation and speech bubble
- [Mobile] Landing screen cards, carousel animations, and balance previews all got a refresh (c75556e, 0bba116, eb0bb7b)
- [Mobile] Commodities card in the markets explore row
- [API] RevenueCat subscriptions now live in their own database table
- [API] Dividends as a core Income subcategory
- [API] Trend indicator triangles on instrument widgets

## Improvements

- [Mobile] Auth screens now use react-hook-form + Zod validation (b5f1ea3, 6e1af4c)
- [Mobile] Screen horizontal padding moved off scroll containers
- [API] Chat service split into rate-limit, store, and summarizer modules
- [API] Router schemas, constants, and feature logic moved into services; dead code removed (154a65f, 0461d83, d8e67f4)
- [API] App bootstrap simplified — plugin/route ceremony removed
- [API] Categorization rules router split into separate category and envelope routers
- [API] Stricter types and less logging noise in widget service
- [API] Twelve Data error-handling tests locked in ahead of May 16 HTTP-status migration
- [API] Tax-aware cash flow simulation pinned to a reference test case
- Progress tracking service removed end-to-end
- Strict unused-code TypeScript flags and erasableSyntaxOnly turned on across the monorepo
- Dependency bumps, including RevenueCat SDK to v10 (11c7134, 99d911e, b8335c4)
- Turbo task graph reworked for correctness and better caching

## Fixes

- [Web] Next.js metadata routes now resolve correctly behind the i18n proxy
- [Web] Commodities icons match Phosphor icons across web and mobile
- [Mobile] Real-estate simulation query no longer fires for free-tier users
- [Mobile] Landing carousel layout and theme drift fixed
- [Mobile] Commodities icons match Phosphor icons across web and mobile
- [API] Boot crash and Redis-outage 500 cascade in rate limiting fixed
- [API] Paywall enforcement gaps closed; Bridge webhook Sentry path tightened
- [API] Rate-limit gaps closed, unused helpers removed
- [API] Env validation now requires stronger secrets and valid URLs (1e442db, 2f75c1c)
- [API] Chat service type safety and error handling tightened for agent use
- [API] Category rule active transaction counts were wrong — fixed (6818a92, 4063717)
- Weekly i18n translation fixes
- French locale: "Revenus de retraite" renamed to "Allocations et pensions"
