This page stands in for docs.400.dev/changelog/fixed.
Public updates are written in plain language for the people using 400faces.
Filter: fixed
Dashboard links use the Dash host root
0.25.8 · 2026-06-13 · patch
Agency Dashboard links now use dash.400.dev as the canonical dashboard URL, with /dashboard kept as the explicit route alias.
Apps: Dashboard
Categories: fixed
Dash subdomain is the dashboardThe agency dashboard now treats https://dash.400.dev/ as the canonical entry point. The explicit /dashboard path remains available for local and compatibility routing, but product links no longer use the redundant /dash path.
Agency dashboard access honors active organizations
0.25.7 · 2026-06-13 · patch
Dashboard access now recognizes agency grants on the active non-personal organization, matching the platform's organization-level agency policy.
Apps: Dashboard
Categories: fixed
Organization-level agency grants can open the DashboardThe Dashboard gate, post-login routing, and Dashboard links now recognize an active non-personal organization with an agency_dashboard entitlement. Personal organizations remain excluded from agency access.
Generated-image receipts attach to saved sheets
0.25.4 · 2026-06-13 · patch
Generated Image sheets now keep their provider usage receipt attached to the saved output for clearer activity, admin, and audit trails.
Apps: Image
Categories: fixed
Generated Image sheets now carry their generation receiptWhen the Image app saves a generated output sheet, it now attaches the AI generation usage event to that saved sheet after the provider returns. Activity, admin, and audit views can trace the generated sheet back to the exact accountable provider run instead of relying only on the original source image details.
Saved-image reruns use trusted stored bytes
0.25.3 · 2026-06-13 · patch
Image reruns tied to a saved sheet now use the stored image data or verify an exact server-side hash match before any paid AI work begins.
Apps: Image
Categories: fixed
Saved-image reruns can no longer be pointed at different uploaded bytesWhen rerunning detailed analysis or provenance lookup for a saved image, the Image app now uses the stored image bytes from your sheet when available. If stored bytes are unavailable, submitted bytes must match the saved sheet hash before rate limits, credit reservation, or AI provider calls proceed.
AI credit holds release if run tracking cannot start
0.25.2 · 2026-06-13 · patch
Credit-backed AI actions now stop before the provider call and release the reserved balance if the app cannot start an accountable run record.
Apps: Image, Text
Categories: fixed
Reserved AI credits no longer get stuck on tracking startup failuresIf an AI action cannot create its run record after reserving credits, the app now releases the hold immediately and stops before provider work begins. Your available balance stays accurate instead of leaving credits reserved for a run that never started.
Text AI credit holds follow the same safer accounting pathCredit-backed Text AI actions now use the same accounting guard: when run tracking cannot start, reserved credits are released and provider work does not begin.
Text AI saves verify the result before storing it
0.25.1 · 2026-06-13 · patch
Saving an AI-refined prompt now checks that the saved result matches the result the app produced, including its usage receipt, before it is added to saved Text history.
Apps: Text
Categories: security, fixed
Prompt-refinement saves are tied to the generated resultWhen you save an AI-refined prompt, the Text app now verifies the saved content, model, cost estimate, and usage receipt match the generated result. This keeps saved Text history accountable and prevents mismatched result details from being stored.