[{"data":1,"prerenderedAt":642},["ShallowReactive",2],{"now":3,"changelog-posts":18},{"id":4,"title":5,"body":6,"description":7,"extension":8,"meta":9,"navigation":10,"path":12,"seo":13,"stem":16,"__hash__":17},"now\u002F3.now.yml","Now",null,"Discover the latest insights, tutorials, and updates from our team. Stay informed about governance trends, best practices, and innovative solutions.","yml",{},{"icon":11},"i-lucide-newspaper","\u002Fnow",{"title":14,"description":15},"Blog & Updates","GRC insights, compliance tutorials, and product updates from the episki team.","3.now","sa1HDFRxmk2mEUJKi0sFYDv3_-CYSrtHX5knb6UAWTo",[19,131,199,275,358,417,475,533,593],{"id":20,"title":21,"api":6,"authors":22,"body":28,"category":67,"date":68,"description":69,"extension":70,"features":71,"fixes":93,"highlight":6,"image":106,"improvements":108,"meta":125,"navigation":126,"path":127,"seo":128,"stem":129,"__hash__":130},"posts\u002F3.now\u002F2026-05-04-risk-management.md","Risk Management, My Focus, and Bulk Assignment",[23],{"name":24,"to":25,"avatar":26},"Justin Leapline","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fjustinleapline\u002F",{"src":27},"\u002Fimages\u002Fjustinleapline.png",{"type":29,"value":30,"toc":63},"minimark",[31,35,38,41,44],[32,33,34],"p",{},"This release adds a full risk management module, a personalized My Focus view, and bulk assignment across the app.",[32,36,37],{},"Risk management ships as the first premium add-on module. Define risks and threats, map them to controls, run treatment and approval workflows, and track posture over time with the new attention queue and heatmap. Documented exceptions handle carve-outs from controls and policies with multi-approver sign-off, auto-rolling status, and expiry reminders. The SCF threats catalog is integrated out of the box.",[32,39,40],{},"My Focus is a new personalized page showing what's on your plate today — your tasks, issues, risks needing attention, and acceptances expiring within 60 days — with an all-caught-up empty state and a live count badge in the sidebar.",[32,42,43],{},"Bulk assignment lands as a single generic framework across assessment controls, tasks, issues, risks, and recurring tasks. Pick rows, set owner and due date, and recipients get one rolled-up notification per entity instead of a flood of per-row messages. Assessment controls now have a dedicated state hub with row-selection, an Assignees column, an Assignee filter, and a right-sidebar owner picker with realtime updates.",[45,46,47,51,54,57,60],"ul",{},[48,49,50],"li",{},"Module-based billing lets workspaces add risk as a paid add-on on top of the base compliance subscription",[48,52,53],{},"Risk Posture widget and new stat tiles (Open Risks, Acceptances Expiring) on the workspace dashboard when the risk module is active",[48,55,56],{},"AI chat now has conversation history with search and archive, plus new tools to create notes, navigate, update tasks in bulk, and suggest next steps",[48,58,59],{},"Shared prev\u002Fnext navigation with w\u002Fx keyboard shortcuts across risks, threats, exceptions, tasks, and issues",[48,61,62],{},"Compliance scoring view and docs-as-code groundwork for in-app documentation",{"title":64,"searchDepth":65,"depth":65,"links":66},"",2,[],"changelog","2026-05-04","A full risk management module with exceptions and module-based billing, a personalized My Focus view, and bulk control assignment with shared prev\u002Fnext navigation.","md",[72,75,78,81,84,87,90],{"label":73,"text":74},"Risk Management","New risk module with risk register, threats catalog, treatment workflow, attention queue, heatmap, and SCF threats integration",{"label":76,"text":77},"Exceptions","Documented carve-outs from controls and policies with multi-approver sign-off, auto-rolling status, and expiry windows",{"label":79,"text":80},"My Focus","Personalized \"what's on my plate\" page with my tasks, issues, risks needing attention, and acceptances expiring within 60 days",{"label":82,"text":83},"Bulk Assignment","Bulk-assign owners and due dates across assessment controls, tasks, issues, risks, and recurring tasks with rolled-up notifications",{"label":85,"text":86},"Modules Billing","Risk sold as a premium add-on on top of the base subscription, with in-app trial access and a unified manage-modules picker",{"label":88,"text":89},"AI Chat","Chat conversation history with search and archive, plus new tools for creating notes, navigating, updating tasks, and suggesting next steps",{"label":91,"text":92},"Dashboard","Risk Posture widget, Open Risks and Acceptances Expiring stat tiles, and a compliance scoring view",[94,97,100,103],{"label":95,"text":96},"Billing","isSubscribed now reads billing_status, billing endpoints are admin-gated server-side, and post-payment redirect lands on the workspace dashboard",{"label":98,"text":99},"Scopes","linkScope is idempotent to prevent duplicate junction inserts",{"label":101,"text":102},"Focus Mode","Prevent loading freeze when navigating into focus mode",{"label":104,"text":105},"Sentry","Suppress Supabase lock-steal AbortError and Nuxt build manifest fetch errors from error reporting",{"src":107},"\u002Fimages\u002Fchangelog\u002Frisk-management.jpg",[109,112,115,117,119,122],{"label":110,"text":111},"Notifications","Risk ownership and exception expiry alerts wired through email and Slack, with per-channel opt-out in settings",{"label":113,"text":114},"Navigation","Shared prev\u002Fnext navigation across risks, threats, exceptions, tasks, and issues with w\u002Fx keyboard shortcuts",{"label":101,"text":116},"Only my controls",{"label":98,"text":118},"Tasks now support multiple scopes per program via a new junction table, replacing the single-scope field",{"label":120,"text":121},"Reports","Compliance snapshot export replaced with a configurable report template, with aligned content widths",{"label":123,"text":124},"Background Jobs","Convert and embed jobs moved to Vercel cron pulling directly from pgmq queues for tighter scheduling",{},true,"\u002Fnow\u002F2026-05-04-risk-management",{"title":21,"description":69},"3.now\u002F2026-05-04-risk-management","K3Jg2FnsAfZtfFRbvCMKx2wiRfNNP1weQz2v-oKZYy4",{"id":132,"title":133,"api":6,"authors":134,"body":137,"category":67,"date":161,"description":162,"extension":70,"features":163,"fixes":174,"highlight":6,"image":183,"improvements":185,"meta":194,"navigation":126,"path":195,"seo":196,"stem":197,"__hash__":198},"posts\u002F3.now\u002F2026-03-17-program-scopes-assurance.md","Program Scopes & Assurance Tracking",[135],{"name":24,"to":25,"avatar":136},{"src":27},{"type":29,"value":138,"toc":159},[139,142,145],[32,140,141],{},"Programs now support scopes — a major upgrade to how you track and measure control effectiveness.",[32,143,144],{},"Define scope targets, link controls to specific scopes, and track assurance at the scope level. Control assurance overrides with attestation support let you document and justify deviations from expected assurance levels, while confidence snapshots capture point-in-time program health so you can measure control degradation over time.",[45,146,147,150,153,156],{},[48,148,149],{},"Per-scope health and risk views let you drill into scope-level control effectiveness directly from the program dashboard",[48,151,152],{},"New scope module with dedicated management pages for scope targets and control linking",[48,154,155],{},"Billing overrides support trial extensions, grace periods, and free access for workspace management",[48,157,158],{},"End-to-end tests with Playwright and automated RLS testing in CI for stronger reliability",{"title":64,"searchDepth":65,"depth":65,"links":160},[],"2026-03-17","Per-scope assurance tracking with control degradation measurement, assurance overrides with attestation, confidence snapshots, and billing overrides.",[164,166,169,172],{"label":98,"text":165},"New scope module with dedicated pages for managing scope targets and linking controls to scopes",{"label":167,"text":168},"Assurance","Per-scope assurance tracking with control assurance overrides, attestation support, and confidence snapshots",{"label":170,"text":171},"Programs","Per-scope health and risk views with scope mode for control degradation measurement",{"label":95,"text":173},"Billing overrides for trial extensions, grace periods, and free access",[175,178,181],{"label":176,"text":177},"AI Search","Fixed halfvec operator resolution by setting search_path to extensions schema",{"label":179,"text":180},"Sync","Handle IndexedDB version conflicts and suppress cross-tab lock errors",{"label":104,"text":182},"Suppress Supabase auth cross-tab lock errors from error reporting",{"src":184},"\u002Fimages\u002Fchangelog\u002Fprogram-scopes-assurance.jpg",[186,189,191],{"label":187,"text":188},"Testing","End-to-end testing with Playwright and improved RLS test performance in CI",{"label":176,"text":190},"Resolved pgvector halfvec\u002Fvector type mismatch and fixed operator resolution for halfvec",{"label":192,"text":193},"UI","Hidden drawers on detail pages for a cleaner layout",{},"\u002Fnow\u002F2026-03-17-program-scopes-assurance",{"title":133,"description":162},"3.now\u002F2026-03-17-program-scopes-assurance","f657kMgrzO7a0UcbWK2dMQsHC6YQCZ95b9HWGzv6ZGM",{"id":200,"title":201,"api":6,"authors":202,"body":205,"category":67,"date":229,"description":230,"extension":70,"features":231,"fixes":243,"highlight":6,"image":253,"improvements":255,"meta":270,"navigation":126,"path":271,"seo":272,"stem":273,"__hash__":274},"posts\u002F3.now\u002F2026-02-25-ai-assistant-comms.md","AI Assistant & Communication Platform",[203],{"name":24,"to":25,"avatar":204},{"src":27},{"type":29,"value":206,"toc":227},[207,210,213],[32,208,209],{},"This release introduces an AI-powered chat assistant and a unified communication platform with Slack integration.",[32,211,212],{},"The AI chat assistant lives inside the app with action tools that can create tasks, generate narratives, map controls, draft policy language, and write observation notes. It's powered by Claude through the Vercel AI Gateway, with conversation management and feedback built in.",[45,214,215,218,221,224],{},[48,216,217],{},"Unified comms platform handles activity logging, notifications, and email dispatch from a single system",[48,219,220],{},"Slack integration delivers real-time notifications to channels linked to your workspace",[48,222,223],{},"Programs now support direct task assignment and unassignment",[48,225,226],{},"Security definer functions locked down with explicit search_path across the board",{"title":64,"searchDepth":65,"depth":65,"links":228},[],"2026-02-25","AI chat assistant with action tools powered by Claude, unified communication platform with Slack integration, and security hardening across the board.",[232,235,238,241],{"label":233,"text":234},"AI Assistant","AI chat assistant with feedback, action tools, and conversation management powered by Claude via AI Gateway",{"label":236,"text":237},"Comms","Unified communication platform with activity logging, notifications, and email dispatch",{"label":239,"text":240},"Slack","Slack integration with channel management and real-time chat notifications",{"label":170,"text":242},"Assign and unassign programs to tasks directly",[244,247,250],{"label":245,"text":246},"Frameworks","Roll back framework creation on failed CSV import",{"label":248,"text":249},"Auth","Fixed post-registration redirect loop on password setup",{"label":251,"text":252},"Database","Idempotent pgmq.create and improved message queue reliability",{"src":254},"\u002Fimages\u002Fchangelog\u002Fai-comms-desktop.jpg",[256,259,262,265,268],{"label":257,"text":258},"AI","Switched AI backend to Claude via Vercel AI Gateway for improved response quality",{"label":260,"text":261},"Security","Locked search_path on all security definer functions and fixed RLS for assessment-only mappings",{"label":263,"text":264},"OAuth","Redesigned consent page with workspace selection and avatar sync to storage",{"label":266,"text":267},"Email","Consolidated member invite emails into the comms system with episki subject line branding",{"label":192,"text":269},"Shared entity title and description components, standardized sidebar sizing, and resource links in toasts",{},"\u002Fnow\u002F2026-02-25-ai-assistant-comms",{"title":201,"description":230},"3.now\u002F2026-02-25-ai-assistant-comms","cfOSEF4EsW5S8TEb0e13G1sUXuTUtUBIGGxXWfbuZQs",{"id":276,"title":277,"api":6,"authors":278,"body":281,"category":67,"date":308,"description":309,"extension":70,"features":310,"fixes":330,"highlight":6,"image":339,"improvements":341,"meta":353,"navigation":126,"path":354,"seo":355,"stem":356,"__hash__":357},"posts\u002F3.now\u002F2026-02-11-settings-reports-billing.md","Out of Beta: Settings, Reports & Billing",[279],{"name":24,"to":25,"avatar":280},{"src":27},{"type":29,"value":282,"toc":306},[283,286,289],[32,284,285],{},"episki is officially out of beta. This release brings a redesigned settings experience, built-in report templates, and a complete billing overhaul.",[32,287,288],{},"Settings pages now have their own dedicated sidebar with grouped navigation across personal, workspace, and configuration sections, giving you a cleaner, more focused experience when managing your workspace.",[45,290,291,294,297,300,303],{},[48,292,293],{},"Built-in report templates ready to use for PCI DSS 4.0.1 ROC, status reports, and final reports",[48,295,296],{},"Global system status groups for PCI DSS and NIST CSF Maturity out of the box",[48,298,299],{},"Stripe Sync Engine replaces manual webhooks for reliable billing data",[48,301,302],{},"MCP server with OAuth 2.1 enables third-party integrations",[48,304,305],{},"Drag-and-drop image uploads stored securely in Supabase with RLS",{"title":64,"searchDepth":65,"depth":65,"links":307},[],"2026-02-11","Redesigned settings, built-in report templates, Stripe Sync Engine for billing, and MCP server with OAuth 2.1.",[311,314,316,318,321,324,327],{"label":312,"text":313},"Settings","Redesigned settings pages with dedicated sidebar navigation",{"label":120,"text":315},"Built-in report templates for PCI DSS 4.0.1 ROC, Status Report, and Final Report",{"label":95,"text":317},"Stripe Sync Engine for reliable real-time billing synchronization",{"label":319,"text":320},"Editor","Image upload with drag-and-drop, paste, and text alignment support",{"label":322,"text":323},"API","MCP server with OAuth 2.1 consent flow and workspace management",{"label":325,"text":326},"Framework","Control framework mappings, grouping, and new creation flow",{"label":328,"text":329},"Status","Global system status groups for PCI DSS and NIST CSF Maturity",[331,334,337],{"label":332,"text":333},"Realtime","Fixed websocket leaks and duplicate task updates",{"label":335,"text":336},"Toasts","Removed noisy success toasts and redundant pending-update guards",{"label":95,"text":338},"Aligned billing card styling with general settings page",{"src":340},"\u002Fimages\u002Fchangelog\u002Fsettings-reports-billing.png",[342,344,346,348,351],{"label":179,"text":343},"Realtime sync stability with cache drift detection and reconciliation",{"label":319,"text":345},"Improved code block editing with plain-text paste and syntax highlighting",{"label":95,"text":347},"Trial ending banner UX and workspace billing management",{"label":349,"text":350},"Signup","Enhanced signup and email validation flow",{"label":192,"text":352},"Increased base font size to 17px for better readability",{},"\u002Fnow\u002F2026-02-11-settings-reports-billing",{"title":277,"description":309},"3.now\u002F2026-02-11-settings-reports-billing","zbUYBKoyywl9ULQ824RSxd3Bkf9V4WyBT14HoAZedbM",{"id":359,"title":360,"api":6,"authors":361,"body":364,"category":67,"date":391,"description":392,"extension":70,"features":393,"fixes":6,"highlight":6,"image":400,"improvements":402,"meta":412,"navigation":126,"path":413,"seo":414,"stem":415,"__hash__":416},"posts\u002F3.now\u002F2026-01-22-ai-gateway-security.md","AI Gateway & Enhanced Security",[362],{"name":24,"to":25,"avatar":363},{"src":27},{"type":29,"value":365,"toc":389},[366,369,372],[32,367,368],{},"Starting the year strong with a centralized AI gateway and enhanced security features to protect your compliance data.",[32,370,371],{},"All AI features now route through our unified AI gateway, providing centralized management, audit logging, and improved performance for document analysis.",[45,373,374,377,380,383,386],{},[48,375,376],{},"Centralized management for all AI interactions",[48,378,379],{},"Rate limiting for fair usage across all users",[48,381,382],{},"Audit logging to track AI interactions for compliance",[48,384,385],{},"Model selection to choose the right AI for each task",[48,387,388],{},"Faster RAG processing for document analysis",{"title":64,"searchDepth":65,"depth":65,"links":390},[],"2026-01-22","Centralized AI gateway for all AI features and OTP verification for stronger account security.",[394,396,398],{"label":260,"text":395},"OTP verification for sensitive logins and password resets",{"label":260,"text":397},"Email verification to confirm account ownership",{"label":319,"text":399},"Enhanced editor functionality with new formatting options",{"src":401},"\u002Fimages\u002Fchangelog\u002Fai-gateway-security.jpg",[403,405,407,409],{"label":325,"text":404},"Improved framework handling and control management",{"label":319,"text":406},"Better task title and description styling",{"label":192,"text":408},"Enhanced command palette for framework management",{"label":410,"text":411},"Demo","Demo data page for exploring platform features",{},"\u002Fnow\u002F2026-01-22-ai-gateway-security",{"title":360,"description":392},"3.now\u002F2026-01-22-ai-gateway-security","XYEHSZ1_wkDx8Iy8Rz85xWociP64q-IAJqxHq9M_s08",{"id":418,"title":419,"api":6,"authors":420,"body":423,"category":67,"date":447,"description":448,"extension":70,"features":449,"fixes":6,"highlight":6,"image":459,"improvements":461,"meta":470,"navigation":126,"path":471,"seo":472,"stem":473,"__hash__":474},"posts\u002F3.now\u002F2025-12-23-ai-features.md","AI-Powered Compliance",[421],{"name":24,"to":25,"avatar":422},{"src":27},{"type":29,"value":424,"toc":445},[425,428,431],[32,426,427],{},"AI is here to supercharge your compliance workflow. We're introducing intelligent assistance powered by our new RAG pipeline.",[32,429,430],{},"Our Retrieval-Augmented Generation pipeline understands your compliance context, automatically analyzes documents, and builds organizational knowledge over time.",[45,432,433,436,439,442],{},[48,434,435],{},"Context-aware responses that understand your frameworks and controls",[48,437,438],{},"Automatic document analysis for uploaded artifacts",[48,440,441],{},"Evidence suggestions for satisfying controls",[48,443,444],{},"Knowledge base that grows with your organization",{"title":64,"searchDepth":65,"depth":65,"links":446},[],"2025-12-23","Introducing RAG pipeline and Notion-like AI assistance for smarter compliance management.",[450,452,454,456],{"label":257,"text":451},"Notion-like AI editor with smart suggestions as you type",{"label":257,"text":453},"Content generation for first drafts of control descriptions",{"label":257,"text":455},"Inline commands via \u002F to access AI features",{"label":457,"text":458},"Profile","Personalize your profile with custom avatars",{"src":460},"\u002Fimages\u002Fchangelog\u002Fai-powered-compliance.jpg",[462,465,467],{"label":463,"text":464},"Search","Enhanced command palette with hide-until-search items",{"label":325,"text":466},"Control counts visible at a glance for each framework",{"label":468,"text":469},"UX","Numerous usability enhancements throughout the platform",{},"\u002Fnow\u002F2025-12-23-ai-features",{"title":419,"description":448},"3.now\u002F2025-12-23-ai-features","KU6UB62cVIL5f4HT6T03pafiyUW3XCWKOv8rrTJvepo",{"id":476,"title":477,"api":6,"authors":478,"body":481,"category":67,"date":502,"description":503,"extension":70,"features":504,"fixes":512,"highlight":6,"image":517,"improvements":519,"meta":528,"navigation":126,"path":529,"seo":530,"stem":531,"__hash__":532},"posts\u002F3.now\u002F2025-11-10-typescript-qol.md","TypeScript & Quality of Life",[479],{"name":24,"to":25,"avatar":480},{"src":27},{"type":29,"value":482,"toc":500},[483,486,489],[32,484,485],{},"This release focuses on platform stability and everyday usability with full TypeScript enforcement and quality of life improvements.",[32,487,488],{},"We've resolved all TypeScript errors and enabled strict checking in CI, resulting in better IDE support, improved autocomplete, and a more maintainable codebase.",[45,490,491,494,497],{},[48,492,493],{},"Catch errors before they reach production",[48,495,496],{},"Improved autocomplete and error detection in your IDE",[48,498,499],{},"More maintainable and reliable codebase",{"title":64,"searchDepth":65,"depth":65,"links":501},[],"2025-11-10","Full TypeScript enforcement, smarter autocomplete, and numerous usability improvements.",[505,508,510],{"label":506,"text":507},"Assessment","Control response autocomplete for faster workflow",{"label":506,"text":509},"Context-aware recommendations based on control type",{"label":506,"text":511},"Uniform responses across similar controls for consistency",[513,515],{"label":248,"text":514},"Fixed user and subscription handling issues",{"label":120,"text":516},"Better date formatting in assessment reports",{"src":518},"\u002Fimages\u002Fchangelog\u002Ftypescript-qol.jpg",[520,522,524,526],{"label":325,"text":521},"Control counts visible for each framework at a glance",{"label":192,"text":523},"Refreshed badge styling throughout the platform",{"label":325,"text":525},"Latest control mappings and guidance updates",{"label":463,"text":527},"Improved search bar with larger font for better readability",{},"\u002Fnow\u002F2025-11-10-typescript-qol",{"title":477,"description":503},"3.now\u002F2025-11-10-typescript-qol","zFes_hJnpy25rekvkL3oYjafFRuomZeMlBWqmkw4STc",{"id":534,"title":535,"api":6,"authors":536,"body":539,"category":67,"date":563,"description":564,"extension":70,"features":565,"fixes":6,"highlight":6,"image":575,"improvements":577,"meta":588,"navigation":126,"path":589,"seo":590,"stem":591,"__hash__":592},"posts\u002F3.now\u002F2025-10-09-import-export.md","Import\u002FExport & Custom Statuses",[537],{"name":24,"to":25,"avatar":538},{"src":27},{"type":29,"value":540,"toc":561},[541,544,547],[32,542,543],{},"Move your data freely with full import\u002Fexport support and customize how you track control status.",[32,545,546],{},"Transfer testing procedures and data between systems with full import\u002Fexport support. Move your data freely with CSV and JSON format support and automatic validation during import.",[45,548,549,552,555,558],{},[48,550,551],{},"Export testing procedures for backup or sharing",[48,553,554],{},"Bulk import from spreadsheets or other GRC tools",[48,556,557],{},"CSV and JSON formats supported",[48,559,560],{},"Automatic validation during import to catch errors",{"title":64,"searchDepth":65,"depth":65,"links":562},[],"2025-10-09","Full import and export capabilities for testing procedures, plus customizable control statuses.",[566,569,571,573],{"label":567,"text":568},"Workflow","Custom status labels that match your organization's workflow",{"label":567,"text":570},"Color-coded statuses for quick visual identification",{"label":567,"text":572},"Configurable status transition rules",{"label":567,"text":574},"Default statuses for new controls",{"src":576},"\u002Fimages\u002Fchangelog\u002Fimport-export.jpg",[578,580,583,586],{"label":192,"text":579},"Better dark mode styling for dashboard elements",{"label":581,"text":582},"PCI","PCI DSS table extension for specialized requirements",{"label":584,"text":585},"Artifacts","Embedded images in artifacts with print support",{"label":260,"text":587},"Async JWT tokens for improved security",{},"\u002Fnow\u002F2025-10-09-import-export",{"title":535,"description":564},"3.now\u002F2025-10-09-import-export","M1nB42518kBxM1s9984yFUYGQJjmRvhXGwj37SXvci8",{"id":594,"title":595,"api":6,"authors":596,"body":599,"category":67,"date":620,"description":621,"extension":70,"features":622,"fixes":6,"highlight":6,"image":627,"improvements":629,"meta":637,"navigation":126,"path":638,"seo":639,"stem":640,"__hash__":641},"posts\u002F3.now\u002F2025-09-23-custom-statuses-dark-mode.md","Custom Statuses & Dark Mode Polish",[597],{"name":24,"to":25,"avatar":598},{"src":27},{"type":29,"value":600,"toc":618},[601,604,607],[32,602,603],{},"Every organization tracks compliance differently. This release lets you customize control statuses and brings a polished dark mode experience.",[32,605,606],{},"Define statuses that match your workflow with custom labels, color-coding, and flexible transition rules.",[45,608,609,612,615],{},[48,610,611],{},"Create status labels that make sense for your team",[48,613,614],{},"Color-code statuses for quick visual identification",[48,616,617],{},"Configure which statuses can transition to which",{"title":64,"searchDepth":65,"depth":65,"links":619},[],"2025-09-23","Customize how you track control status and enjoy a refined dark mode experience.",[623,625],{"label":581,"text":624},"Specialized table handling for PCI DSS requirements",{"label":581,"text":626},"Improved structure for PCI-specific controls",{"src":628},"\u002Fimages\u002Fchangelog\u002Fcustom-statuses-dark-mode.jpg",[630,633,635],{"label":631,"text":632},"Dark Mode","Due date, status, and priority badges now have proper contrast",{"label":631,"text":634},"Label styling matches across light and dark themes",{"label":631,"text":636},"Unified color palette across all components",{},"\u002Fnow\u002F2025-09-23-custom-statuses-dark-mode",{"title":595,"description":621},"3.now\u002F2025-09-23-custom-statuses-dark-mode","Rc6_tr2Ympwsz6JzX1orJ_Q4xkQWUvqu3AJeKPw71vc",1778494668129]