Skip to content
Changelog

What's shipped.

Every release in Odexy, in reverse chronological order. Click a week to expand the full ship list — the most recent is open by default. RSS.

R94
  • feature
  • improvement

R94 — Marketing site Phase 1 + 2

odexy.app goes live — 14 module pages, full pricing + AI + product surfaces, persona + compare pages, partner program, security + trust pages.

What shipped

The Odexy marketing site (apps/marketing/) goes live this week — built greenfield per the playbook at docs/website/.

Pages

  • Home (14 sections including the cross-module workflow diagram).
  • Pricing (4 tiers + monthly/annual toggle + comparison table + 8 FAQs).
  • Product master + 14 module deep pages (Projects, Chat, CRM, HR, Recruitment, Payroll, Accounting, Expenses, Sales, Support, Calendar, Forms, Email, Inventory).
  • AI architecture page (11 sections — autonomy levels, permission model, audit & replay).
  • 6 persona pages (Founder, Ops, Mid-market, Sales, People, Finance).
  • 6 compare pages (Notion, Monday, ClickUp, HubSpot, Zoho One, Odoo).
  • Partner program (revenue share + reseller margin).
  • Trust pages (Security, Trust, Compliance, HIPAA, Sub-processors, Privacy, Terms, DPA).
  • Customers hub (design-partner framing — public stories TBA).
  • Blog (6 seeded posts) + changelog (this entry).
  • Contact (Zod-validated form with honeypot + Turnstile-ready).
  • Brand assets page + 404 + 500.
  • Auth-handoff routes for /signup + /login (302 redirect with search-param preservation).

Architecture

  • Astro 5 + React 19 islands + Tailwind v3.
  • Self-hosted Geist fonts (when binaries land).
  • Cloudflare Pages deploy target (preview per PR, prod from main).
  • Satori-powered OG card endpoint at /og/<slug>.png.
  • Pagefind for client-side search.
  • Sitemap + RSS feed for blog.
  • AI-friendly llms.txt + crawler-allowed robots.txt.

What we held back

Per Doc 01 §9 disclosure rules, the following remain queued, not shipped:

  • Mobile apps — PWA only today.
  • Knowledge base / help-center widget — Support Phases 2+ queued.
  • Email sync (Outlook/Gmail inbox into CRM) — Phase C queued.
  • AI-drafted task lists from meeting transcripts — only AI plan from brief is shipped.
  • SOC 2 Type II — readiness on roadmap; audit not yet completed.
  • Payment gateway — module spec drafted; code not yet built.

Honest scope notes

  • Inventory module is beta. Schema + primitives shipped; full WMS depth queued.
  • Calendar two-way sync is outbound ICS only; Google/Outlook two-way deferred.
  • Marketing-site copy is feature-complete; legal pages (Privacy / Terms / DPA) ship as structural shells pending counsel review.

What's next

Phase 3 — growth tracks per docs/website/14-LAUNCH-PLAN.md §5. Parallel: blog cadence, customer-story publication, integrations page expansion, public docs portal.

R88
  • feature

R88 — Projects Data Panel + Calendar module

Projects gets a typed Data Panel (notes, URL links, entity links, attachments, AES-256-GCM secrets). Cross-module Calendar aggregator + /calendar route.

Projects Data Panel

Every project gains a typed Data Panel for storing structured context next to the work:

  • Notes — Markdown-renderable.
  • URL links — title + favicon.
  • Entity links — first-class link to any record in the system (a deal, a candidate, a contract).
  • Attachments — file upload to S3-compatible storage.
  • Credentials — encrypted with AES-256-GCM envelope keys; reveal action gated by dangerous: true.

Calendar module

  • New /calendar route with month / week / day / agenda views.
  • Cross-module aggregator pulls events from Recruitment (interviews), Projects (cycle deadlines), Payroll (run dates), Support (SLA breach risk), HR (leave).
  • "Today's Highlights" + "My pending tasks" dashboard widgets.
  • ICS outbound subscription per user.

Industry-standard documents

  • Offer / contract / NDA / joining-letter templates expanded to production-grade content.
  • Region-specific text dynamically driven by mustache vars in INDUSTRY_DEFAULT_VARIABLES.
  • Both react-pdf rendering paths updated.
R80
  • feature

R80 — Slack-grade unread + Presence v2

Chat ships Slack-grade unread state. Presence v2 broadcasts rich availability (in_huddle / typing / active / away / offline) via WebSocket.

Chat unread indicator

  • Per-channel unread counts, per-thread unread state.
  • "Mark all read" with Slack's published semantics.
  • Server-authoritative (resilient to client clock drift).
  • Real-time broadcast over Postgres LISTEN/NOTIFY → WebSocket.

Presence v2

  • Rich availability indicator with 5 states:

- in_huddle — on a voice/video call.

- typing — actively composing in a thread.

- active — focused in the app.

- away — idle.

- offline — not connected.

  • Visible in DM lists, channel sidebars, and the mention picker.

Why this matters

The Odexy Chat module is meant to be the chat-about-the-work — every deal, ticket, candidate, and task gets a thread. For that to be useful, unread state has to be reliable at Slack's quality bar. Now it is.

R70
  • feature
  • security

Auth Phases 1-14 + multi-tenant SaaS + cross-module Phase 11

Auth hardening (passkeys, 2FA, OAuth providers, SAML 2.0, LDAP), multi-tenant SaaS console + plan catalog, notifications matrix, cross-module quality-of-life sweep.

A multi-phase landing across the last six weeks. The summary by area:

Authentication

  • Better-Auth upgrade with passkeys, TOTP / backup codes / email OTP / push 2FA.
  • Magic-link sign-in (env-gated).
  • Trusted devices.
  • OAuth: Google, GitHub, Microsoft, Apple, Discord.
  • OIDC SSO for any conforming IDP.
  • SAML 2.0 SP via samlify (/api/auth/saml/login, /acs, /metadata).
  • LDAP / Active Directory with group → role sync.
  • Geo-aware new-device alerts.
  • Rate limit pluggable (memory + Redis).
  • Cookie cache 60s.
  • HIPAA mode enforces stricter session timing + audit detail.
  • Auth provider credentials moved to platform_settings.auth_config jsonb (rotate without redeploy).

SaaS multi-tenant

  • saas_plans catalog + per-org saas_subscriptions + cross-tenant saas_announcements.
  • /saas/plans + /saas/announcements UI.
  • Subscription panel on org detail.
  • Past-due lifecycle + grace-period read-only middleware.
  • /saas/audit + /saas/impersonations dashboards.
  • Pre-flight downgrade impact analysis.

Notifications

  • Multi-channel matrix (in-app / email / push, SMS reserved).
  • Web Push.
  • Chat digest.
  • Email-failure admin alert.
  • DND quiet hours.
  • PWA badge.
  • Unsubscribe links.

Multi-domain routing

  • Per-org many-domains × per-surface routing (careers / support / kb).
  • Domain verification flow.
  • Health-check cron.
  • IDN support.
  • Plan-limits enforcement.

Other

  • AI provider management (Phases A0–A5.5).
  • Email module feature-complete vs spec.
  • Recruitment + HRM upgrade flow (offer PDFs, joining packs, public sign tokens).
  • Time-tracking hardened with edit history + auto-approval + at-risk weekly digest.
  • 5 role-tailored dashboards with widget framework.

The Odexy changelog, by email

What we shipped, every other week.

Honest notes on what changed in Odexy and where to find it. No marketing pitches.