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 · JSON.

R94
  • feature
  • improvement

R94 — Marketing site Phase 1 + 2

heliosworks.com 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.

Subscribe to the Odexy changelog.

One email every ~2 weeks. Honest product notes, no marketing pitches.

We email you only when there's something honest to say. Unsubscribe in one click.