Changelog

Everything we ship in Keel HQ. Releases go out daily.

Releases

122

Days since last

0

Current

v1.71.0

Releases over time

122 total

v1.67.0 – v1.71.0Latestminor
October 24, 2026

Added

  • cash: buy-plan cash preview - what a PO does to the lowest cash week
  • cash: European CSV amounts by explicit choice, and serialize imported-account removal with imports
  • costs: richer variable cost bases, and costs that count as ad spend
  • cash: supplier purchase orders with payment schedules (deposits, balances and net terms), so what you owe suppliers shows up in the cash forecast in the week it's due
  • cash: a weekly reminder, by email and as a banner, to update the balances of accounts you track by hand or by statement import; you can turn it off in Cash Settings
  • settings: an Activity tab for admins that records who deleted what (raw materials, suppliers, pipeline products, flash sales, monthly reports, debts and purchase orders), with a snapshot of what was removed
  • cash: import bank statements (OFX, QFX or CSV) from any bank to set balances and transactions for accounts outside Mercury
  • inventory: suppliers with lead time, minimum order and payment terms, plus "reorder by" dates in the action queue
  • cash: choose which bank accounts count toward the forecast's opening cash, add manual balances for accounts outside Mercury, and set a minimum cash line
  • ai: bring your own OpenAI key as an alternative to Anthropic for the Helm and every AI feature
  • layout: your brand's logo and name now sit at the top of the sidebar
  • sync: manual Shopify syncs, Meta ad pulls and ShipStation backfills now run in the background and show their progress
  • profile: a generated pixel avatar is everyone's default profile picture until they upload one
  • costs: detect payment gateways and estimate their fees from editable rates
  • costs: import Shopify Payments fees per order, with no double count against manual processing costs
  • costs: start and end dates and a history for business costs

Changed

  • ui: migrate more forms onto usePendingMutation (follow-up to #1253)
  • site: a faster mobile homepage, and a little ASCII ship above the waitlist
  • Behind-the-scenes security and reliability improvements, and groundwork for choosing your own AI provider.

Fixed

  • cash: an undated counted account makes the forecast's opening balance stale
  • overview: top products connection state per window, no link for removed products, demo runway from /cash
  • inventory: stock is now counted at every Shopify location; products stocked in more than 10 locations were under-counted
  • ads: score only delivering ads, and group turned-off ads apart
  • team: billing and the AI spend cap are admin-only, only the owner can change or remove an admin, and sign-in links can no longer send you to another site
  • cash: settle Shopify payouts as received or cancelled so the Incoming KPI counts only cash still to come
v1.63.1 – v1.66.0minor
October 23, 2026

Added

  • overview: see your top products for the selected period, sortable, with margin where cost is known
  • inventory: set launch quantities per product in a drop, and see sell-through from units actually sold

Changed

  • ui: dropdowns, inputs and text fields look and behave the same across every form

Fixed

  • cash: the forecast counts sales as cash only once the Shopify payout arrives, and no longer double-counts the current week
  • cash: the 14-week forecast now counts every recurring bill and debt payment
  • klaviyo: campaign and flow reporting syncs again for every Klaviyo account, using each account's own Placed Order metric
  • settings: creating an API token and inviting a teammate with access to only some modules work again
v1.61.0 – v1.63.0minor
October 22, 2026

Added

  • shopify: connect a second Shopify store to the same workspace at no extra cost, with stores named "Shopify store 1" and "Shopify store 2"
  • overview: Today and Yesterday on the key metrics, with a Refresh button for the latest numbers

Changed

  • marketing: the privacy page lists Cloudflare R2, Resend and PlanetScale as sub-processors
  • platform: faster first page load on mobile

Fixed

  • integrations: connecting Postscript now says when your Postscript plan doesn't include API access, instead of blaming the key
  • overview: shipping, returns, warehouse and overview totals stay exact past 1,000 orders
  • cash: two workspaces can connect the same Mercury account
  • team: an invite that failed to send no longer blocks inviting that address again
  • security: stronger protection for connected stores and webhooks, and Shopify tokens are now stored only in encrypted form
  • ui: better text contrast and screen-reader labels across the app
  • email: welcome, team-invite and AI spend alert emails now send reliably
  • team: the invitation accept and confirm pages now use the full Keel design, and a brief outage no longer uses up the invite link
v1.60.0 – v1.60.1minor
October 21, 2026

Added

  • integrations: show Shopify review and Meta coming-soon status to beta testers

Fixed

  • cash: scope provider-ID upsert keys to the org so one org can't overwrite another's rows
  • cash: actionable warning when Shopify payouts need read_shopify_payments_accounts
  • inventory: Create Drop modal fit, reusable search input with clear button, Ads filter labels and table cards
  • ui: Keel HQ brand constant, shadcn RadioGroup, external Changelog link
v1.58.2 – v1.59.0minor
October 20, 2026

Added

  • costs: import Finaloop P&L exports (monthly XLSX), parsed by structure

Fixed

  • shopify: start the first sync as soon as a store connects
  • storage: send Content-Length on R2 uploads
  • cash: show the forecast's stored ad spend
v1.58.1
October 19, 2026

Changed

  • privacy: the privacy policy now lists Resend, which sends account emails such as sign-up confirmations and password resets

Fixed

  • ads: ignore empty Meta action values
v1.57.2 – v1.58.0minor
October 18, 2026

Added

  • overview: % change and sparklines for Ad Spend, Blended ROAS and MER from daily ad spend
  • overview: explain withheld margins with a fix list, and show Fixed OpEx against its goal

Fixed

  • auth: stop the legacy bootstrap fallback assigning orgless logins to a merchant org
  • costs: P&L import lock ordering, replacement duplicate recheck, and amount ceiling
  • security: read Shopify tokens only from the encrypted column
  • security: stop org members reading Shopify credentials through the API; extend the isolation suite
  • platform: show a temporary service message instead of signing users out
  • shopify: refuse cross-workspace stores before picker and enforce connect modes
v1.56.0 – v1.57.1minor
October 16, 2026

Added

  • billing: per-tier billing portals and in-app plan upgrades
  • billing: founder-friend invite links with an extended free trial
  • billing: Stripe subscriptions for direct signups
  • costs: P&L import review and atomic commit
  • overview: show CM1 / CM2 / CM3 margin layers

Fixed

  • shopify: use expiring offline tokens with refresh for public-app stores
  • shopify: connect stores through Shopify instead of a typed store domain
  • shopify: drop the localhost OAuth redirect from the production app config
  • shopify: encrypt pre-existing store tokens automatically on the daily cron (#901, step 0)
  • ux: staff land on Super Admin, clearer Create user copy, Help opens from the sidebar
v1.53.0 – v1.55.0minor
October 15, 2026

Added

  • admin: Keel Super Admin — orgs list, provisioning and feature flags (#729, 2/2)
  • admin: staff gate, audit log, and user actions (#729, 1/2)
  • billing: Shopify managed pricing for App Store installs
  • marketing: describe the audience as five- to seven-figure DTC brands
  • costs: AI-assisted P&L mapping and import analyze route (#719, 2/3)
  • marketing: /screencast redirect to the unlisted demo video
  • marketing: pricing page with Harbor / Coastal / Open Seas tiers
  • marketing: public /support page for the Shopify App Store listing
  • marketing: public changelog at keelhq.io/changelog
  • mcp: every MCP result says when each source last synced
  • team: enforce per-module access for team members
  • reports: real COGS and CM1 / CM2 / CM3 margin layers
  • team: limit a member to chosen modules from the team page

Changed

  • marketing: homepage copy in content/marketing/home.json (#874, step 2)
  • reports: monthly storefront totals now follow your business timezone

Fixed

  • ads: widen meta_ads ratio columns and keep one extreme ad from failing a pull
  • auth: render invite and signup email links without a branch in the URL context
  • postscript: route each webhook event only to its own org
  • shopify: encrypt store access tokens at rest — expand step
  • shopify: OAuth before any Keel UI on install; sign up after
  • shopify: register app/uninstalled per shop via the Admin API
  • ads: record an empty successful Meta pull so spend reads $0, not the previous pull
  • costs: cost zero-priced lines and read report revenue and COGS in one statement
  • fail closed on read errors in settings, reports, journal and warehouse shipping
  • marketing: fail closed on kanban, posts, archive and carousel reads; tell a failed calendar save from demo
  • overview: MER and Blended ROAS use one revenue basis everywhere and are defined apart: Blended ROAS is net revenue ÷ ad spend, MER is net revenue ÷ total marketing spend
  • shopify: App Store compliance — GraphQL-only payouts, drop unused scopes, 200 for unknown-shop compliance webhooks
  • shopify: redact a storefront in one locked transaction; keep the old shop's redact resolvable
  • ads: Ad Library and cash actions now use only your latest Meta data
  • security: access tokens and invites now follow their creator's current permissions
  • cash: forecast edits stay in sync with what was saved
  • cash: keep hand-edited forecast inputs and surface failed week edits
  • costs: COGS reversals from refunded, restocked line items — not order status
  • overview: show unknown ad spend as unknown, never $0
  • reports: readable delta badges — right precision, and a surface over the sparkline
  • reports: show report percentages at the right scale
v1.50.6 – v1.52.0minor
October 14, 2026

Added

  • ads: open the Ads module to every org (Beta) — retire the Meta Ads entitlement gate
  • mcp: phase 2 — product, ad spend and monthly report tools, resources, install UX
  • costs: P&L import engine — rules mapping, basis derivation, dedupe (#719, 1/3)

Changed

  • auth: run the request-path auth round trips in parallel
  • nav: link the sidebar straight to each section's first tab
  • overview: load alert inputs once and stop re-reading alerts on every page
  • ui: stream dashboard sections independently — phase 3b
  • ui: stream dashboard sections independently — phase 3c
  • ads: batch meta_ad_tags lookups and upserts
  • ui: stream dashboard sections independently — phase 3a
  • ui: stream dashboard sections independently — phase 2
  • ui: stream dashboard sections independently — phase 1

Fixed

  • ads: provision ad_settings for every org, new and existing
  • security: tightened permission checks on MCP connection testing
  • security: consistent role-based permissions on every change you make
  • changelog: release-type badge from version, one card per day, daily releases
  • klaviyo: raise the sync time limit to 300 s and report timeouts clearly
  • marketing: stop reading google-font-metadata from disk on the Brand page
  • reports: archived reports no longer block Generate
  • ads: settle MER as revenue ÷ ad spend and add a MER target
  • security: only workspace members can edit costs
  • costs: require a cost context and aggregate cost totals server-side
  • auth: make provisioning invites visible to the pending-invite claim
v1.50.4
October 13, 2026

Fixed

  • overview: project per-window cost context so KPI margins are not inflated
v1.48.4 – v1.50.2minor
October 12, 2026

Added

  • mcp: MCP server phase 1 — transport, auth, four read tools
  • api: add inbound API tokens

Changed

  • auth: make org provisioning a single transactional function

Fixed

  • auth: report refused auth-email delivery instead of claiming success
v1.47.1 – v1.48.3minor
October 11, 2026

Added

  • cash: add Mercury nightly cron

Changed

  • inventory: prune current state after a complete run
  • inventory: materialize current state

Fixed

  • ads: source category controls from per-org taxonomy
  • ads: match classifier hooks and formats on word boundaries
  • cash: calculate runway from active debt
v1.46.0 – v1.46.9minor
October 9, 2026

Changed

  • db: index the key latest_inventory sorts on
  • shell: reduce dashboard critical path

Fixed

  • ads: align decision metrics with verdict window
  • cash: sync Mercury transactions for every account
  • ads: derive taxonomy from org catalog
  • meta: surface invalid token expiry metadata
  • meta: rebuild paged requests from initial URL
  • bug-report: stamp deployed commit SHA and environment
  • inventory: paginate catalog reads
  • inventory: use shared currency formatter
  • meta: use Business System User token directly
  • security: tightened database access permissions
  • security: internal reporting views can no longer be reached from the browser
v1.45.13
October 8, 2026

Added

  • meta-ads: add Facebook Login for Business OAuth

Fixed

  • auth: preserve dashboard invite links
  • auth: route orgless users to holding page
  • pipeline: scope product drops to org
  • waitlist: rate-limit public signup
v1.45.12
September 30, 2026

Added

  • integrations: use Meta Graph API for ads
  • platform: add per-org rate limiting
  • shopify: bridge custom app credentials per shop

Fixed

  • ads: validate Meta Graph payloads
v1.45.11
September 29, 2026

Added

  • security: integration credentials are now encrypted at rest (AES-256-GCM)
  • overview: add per-org dashboard goals

Fixed

  • auth: grant team membership only after invitation acceptance
  • security: stricter session checks on account and settings actions
  • auth: more reliable workspace selection when you sign in
  • security: integrations now use only your workspace's own credentials
  • security: integration credentials are strictly scoped to your workspace
  • privacy: add Meta deletion instructions
  • security: report generation is strictly scoped to your workspace
v1.45.10
September 26, 2026

Added

  • security: bot protection on every sign-in and sign-up; sign-up is invite-only during beta
  • auth: provision an org without Shopify OAuth
  • email: brand every auth email and send a welcome on first sign-in

Changed

  • security: completed a workspace data-isolation audit

Fixed

  • security: hardened workspace creation
  • demo: resolve every demo surface through one demo clock
  • security: Postscript now uses only your workspace's own credentials
  • security: the Overview dashboard uses only your workspace's connected credentials
v1.45.9
September 24, 2026

Fixed

  • dates: resolve business calendar through an explicit timezone
  • security: tightened data isolation on order totals and database functions
  • supabase: faster permission checks on dashboard queries
v1.45.8
July 10, 2026

Changed

  • privacy: disclose Help Scout / Loops / GitHub subprocessors (post-#494)
  • privacy: disclose Vercel Web Analytics on dashboard pages (post-#494)
  • privacy: merchant/customer data section for Shopify PCD approval
  • security: security incident response policy

Fixed

  • cash: strict dashboard reads in regenerateForecast (post-#485)
  • overview: only zero MTD day-1 for current window, not prior (post-#470)
  • shopify: delete payout cash_incoming rows on shop/redact (post-#486)
  • shopify: preserve storefront on install retry when state cookie expired (post-#495)
v1.45.7
July 9, 2026

Added

  • shopify: merchant-first install landing page for App Store installs
  • shopify: re-enable read_all_orders after L2 approval

Fixed

  • cash: regenerate forecast from nightly Shopify cron
v1.45.6
June 18, 2026

Added

  • analytics: accuracy hardening — pagination fixes, test suite, Shopify reconciliation
  • marketing: go-live — keelhq.io → main, landing page polish (#444 #445 #447)
  • marketing: swap landing commit-graph green ramp for Keel blue

Fixed

  • analytics: correct ad-spend columns + keyset pagination for mutable tables
  • auth: distinguish 'no active org' from query errors in org-context
  • auth: drop private-beta error substitution
  • security: Meta campaign history is now strictly isolated per workspace
  • demo: return null for non-matching months in getMonthlyReport — closes #413
  • marketing: add og:image and twitter:image to landing metadata
  • security: hardened demo mode so it can never show live data
v1.45.5
June 9, 2026

Added

  • dashboard: contact widget via Help Scout Beacon
  • routing: host-based marketing/app split

Fixed

  • ui: finish Helm SteeringWheel → Sparkle sweep (4 stragglers)
v1.45.4
May 28, 2026

Added

  • brand: Keel HQ rebrand foundation — palette, fonts, auth surfaces
v1.45.3
May 13, 2026

Fixed

  • security: database functions are restricted to signed-in users
  • security: tightened database access policies to signed-in users
  • supabase: faster permission checks on dashboard queries
v1.45.2
May 10, 2026

Added

  • demo: public demo deploy with email gate
  • loading skeletons + module empty states for sub-page nav UX (#285 RC1, #326)
  • returns tracking dashboard
  • ui: Alpha pill on rougher feature surfaces (Brain, Carousel, Pipeline, Seasonal, Reports)

Fixed

  • supabase: index 14 unindexed foreign keys
v1.45.0 – v1.45.1minor
May 8, 2026

Added

  • changelog: redesign /changelog page with grouped Added/Changed/Fixed sections
  • reports: stepped progress modal for monthly report generation
  • shopify: GDPR mandatory webhooks for Partner app review
  • ads: beta-gate Meta Ads live-data layer
  • ai-usage: log Anthropic calls from Ads Studio, Flash Sales, Carousel, and Monthly Report Narrative
  • ai: per-org monthly cap for Anthropic-backed features
  • ai: Phase 2 — threshold email alert + passive UI alert + cap-hit banner
  • brain: empty state when Anthropic credential is missing
  • brain: gate starter prompts by satisfied setup gates
  • brain: persistence layer + Prior Chats tab
  • overview: empty state when integrations not connected
  • password reset — forgot password flow + callback handler + reset form
  • profile picture upload + brand logo file uploader
  • route bug reports to GitHub Issues + capture browser context
  • save and sync now on first integration connection
  • settings: right-align card footer actions via SettingsCardFooter
  • signed-in transition screen after auth
  • user menu in sidebar — sign out + profile link

Fixed

  • security: authentication hardening
  • security: stricter workspace scoping on cost edits
  • security: sign-in now uses the PKCE flow for stronger session protection
  • security: hardened server-side authentication
  • ShipStation sync resilience — auto-recover missed labels, better schema error
  • shopify: distinguish stale sync_error from disconnected; retry transient failures
  • use gross revenue for product/storefront metrics
v1.44.0minor
May 4, 2026

Added

  • auth callbacks — magic link and password reset (#272 #273)

Fixed

  • commit graph overflows on mobile — make figure w-full so overflow-x-auto resolves correctly
v1.43.0minor
April 29, 2026

Added

  • funky-shadow dithered shadows on hero screenshot and module cards
  • in-app bug report button
  • landing: grain texture, marquee integration strip, terminal cursor
  • onboarding checklist — Get Started panel in sidebar
  • private beta messaging
  • simulated commit graph in founder section

Fixed

  • move opengraph-image to app root — route group prevented Next.js from picking it up
  • OG image — load brand fonts for sharpness, hero headline treatment, remove price
  • OG image — TTF fonts, Phosphor pill icons, hero headline treatment, remove price
  • swap default Next.js favicon.ico for svg favicon
  • use new brand svg as icon.svg for Next.js favicon metadata
v1.41.0 – v1.42.0minor
April 23, 2026

Added

  • OG/Twitter meta tags + dynamic opengraph-image for landing page
  • landing page overhaul — deep feature showcase for all modules
  • pipeline phase 2 — detail drawer, sample rounds, tasks
  • product margin calculator + margin settings
  • product pipeline kanban — DnD board, CRUD, drops, filters
  • Shopify OAuth connect flow — replace manual token entry

Fixed

  • restore alternating dark/light pattern across all 9 modules
v1.40.0minor
April 17, 2026

Added

  • Klaviyo email tab for Marketing module
  • per-storefront filtering on consumption rules
  • Postscript integration — API credential setup (#184 PR 1)
  • raw materials & supplies module with auto-consume + reorder intelligence
  • shipping geo analytics — choropleth map + state breakdown
  • shipping goals — per-org targets with reactive KPI cards
  • ShipStation store breakdown on shipping page
  • SMS tab in Marketing — subscriber chart, campaign log, cron + webhooks (#184 PR 2)
  • variable cost basis types + gateway cost category
  • warehouse module — shipping analytics (Shopify base + ShipStation add-on)
  • warehouse shipping phase 2 — delivery metrics, cost % of revenue, env-cred fix
  • warehouse shipping phase 3 — net margin, storefront margin, delivery backfill

Fixed

  • spin Products and Orders buttons when Sync All is running
v1.39.0minor
April 13, 2026

Added

  • add/edit debts with AI screenshot extraction
  • exclude zero-dollar orders from analytics
  • hotfix: add massive clipped wordmark to footer bottom
  • hotfix: center footer wordmark, pixelate globe via SVG filter
  • hotfix: remove globe from footer wordmark, text only
  • hotfix: fix footer wordmark clipping, add spacing above
  • hotfix: crop footer wordmark 1/4 instead of 1/3, full width
  • hotfix: revert footer wordmark crop back to 1/3
  • hotfix: redesign founder quote as full-bleed image card with bottom quote overlay
  • revert: restore founder quote to original card design
  • profile settings view/edit toggle
  • role-based UI gating for settings and catalog
  • searchable creditor combobox with known company list
  • Settings > AI Usage log
  • Shopify Bulk Operations + bundle handling

Fixed

  • fixed a rare error creating your workspace on first sign-in
  • fixed an error loading team memberships
v1.38.0minor
April 11, 2026

Added

  • carousel builder — AI-powered Instagram carousel generator
  • scheduled syncs now run for every workspace

Changed

  • restore founder quote to original card design

Fixed

  • separate reveal wrapper from card div, add unoptimized to image
  • use explicit CSS class for testimonial card height so image renders
  • use plain img tag for testimonial background — next/image fill was not rendering
  • faster permission checks on dashboard queries
v1.37.0minor
April 10, 2026

Added

  • brand settings page for marketing manager
  • Hey Brian — animated AI assistant MVP
  • landing page copy — founder quote, stack comparison, vibe-code FAQ
  • revenue chart improvements — area gradients + YAxis clipping fix
  • Settings → Alerts tab with configurable thresholds
  • team management (issue #113)

Fixed

  • add Storefront icon to Shopify config cards
  • increase reveal threshold and add rootMargin to fix early scroll animations
  • Number() conversion for warn_fixed_costs_stale_days
  • security: database access-policy hardening
v1.35.0 – v1.36.0minor
April 9, 2026

Added

  • add toast feedback across all major user actions
  • Settings Goals tab — configure margin and ad targets
  • add search to inventory catalog
  • Mercury transaction matching on action completion
  • design: use duotone weight for large decorative Phosphor icons
  • wire forecast revenue to Shopify sales_snapshots

Fixed

  • replace text-danger with text-danger-foreground for readable contrast
v1.32.0 – v1.34.0minor
April 8, 2026

Added

  • add info tooltips to KPI cards
  • remove Kleio dependency, build in-app financial analytics
  • add signup + fix dark input text on login page
  • product images in inventory catalog
  • Shopify product link + sync UX feedback
  • product exclusion rules by vendor and tag

Fixed

  • show error when magic link is rejected or expired
  • product name truncation + filter $0 orders
v1.26.0 – v1.31.0minor
April 7, 2026

Added

  • add /landing route accessible regardless of auth state
  • add color, icons, and hover effects to marketing page
  • add pricing comparison section vs Triple Whale
  • add scroll reveal animations to marketing page
  • add X/Twitter link to footer + FAQ access answer
  • eased scrim gradient utility, replace harsh linear fade
  • enable smooth scroll site-wide
  • marketing landing page
  • marketing landing page at root route
  • overview: wire dashboard to real Supabase data
  • multi-workspace support with per-workspace data isolation
  • add Shopify OAuth routes for token exchange

Fixed

  • FAQ access answer with X link, restore Vandelay Industries name
  • hero gradient from warm neutral → teal → blue for more contrast
  • preserve session cookies on middleware redirects
  • reveal animations not triggering on page load
  • simplify hero headline to white + gradient accent
  • add read_locations scope + reduce GraphQL page sizes
  • service client cookie fix, login password mode, balance column
v1.18.0 – v1.25.1minor
April 6, 2026

Added

  • apply font-mono to all tabular-nums + create <Num> component
  • overview: KPI cards with sparklines, time tabs, pace bar
  • replace plain pace text with MetaBadge pill on KPI cards
  • move notification bell to sidebar, remove desktop topbar
  • inventory: Drop Detail page + is_restock field
  • inventory: Phase 1 follow-up — categories, design polish, demo fixes, simplify
  • inventory: Phase 1 — Inventory Module
  • style(inventory): status bucket counts use font-mono instead of font-pixel
  • style: shift warning palette to true orange (hue 50-62, was yellow-green/amber)
  • style(inventory): stronger KPI card hover — solid border, /15-20 bg, lift
  • style(inventory): channel names uppercase (DTC, B2B)
  • style(inventory): sell-through rate gets a pace-zone-colored mini progress bar
  • shopify: Shopify GraphQL integration + Settings UI

Fixed

  • Android hamburger menu not opening
v1.14.0 – v1.16.2minor
April 5, 2026

Added

  • changelog: timeline UI — cards + vertical connector
  • favicon + replace arbitrary Tailwind values with tokens
  • icons: replace lucide-react with @phosphor-icons/react

Fixed

  • overview: MTD label on vitals + chart hydration fix
  • mobile-nav: use SheetTrigger for reliable mobile touch handling
v1.12.0 – v1.13.0minor
April 4, 2026

Added

  • brand & UI refresh — Geist Pixel font, login redesign, sidebar refinements
  • style: switch to GeistPixelGrid, add tracking-snug token at -0.03em
  • style: gradient OS wordmark + Globe icon on login page
  • overview: Overview Dashboard
v1.2.0 – v1.11.0minor
April 3, 2026

Added

  • marketing: Phase 3 — Performance Tracker
  • marketing: Phase 1 — Calendar + Kanban board
  • cash: Phase 3 — Cash Intelligence
  • cash: Phase 2 polish — refresh button, scenario impact, variance, journal filters, Shopify Capital
  • cash: Phase 2 — 14-week forecast, Shopify pull, CSV import
  • cash: Phase 1 — Cash Command Center
  • ads: Phase 4 — MER, cron, CSV, performance polish
  • ads: Ads Intelligence Phase 1+2 — Performance, Library, Settings
  • dark sidebar with white active pill using design system tokens
  • add changelog page with typography rendering and sidebar link

Fixed

  • increase sidebar inactive text from neutral-400 to neutral-300 for legibility
  • lighten sidebar to neutral-800, fix disabled opacity and collapse button tokens, unify shell bg with sidebar
  • sidebar background uses bg-sidebar token not bg-shell
v1.0.0 – v1.1.0major
April 2, 2026

Added

  • shell layout — warm gray page with bordered content panel
  • Phase 1 foundation + Phase 2 monthly report module