OMNI

Changelog

What shipped. And why it matters.

The changelog is a trust surface. It should tell you what changed, what got sharper, and what is worth revisiting in your workflow.

Recent releases

The latest product and platform updates.

Short entries. Real changes. Enough detail to understand why the update exists without turning the page into a commit log.

2026-04-30

improved

Production p95 regression watchdog for API latency

OMNI now has a repo-owned production latency watchdog that compares PostHog p95 by route against the latest production-observed baseline artifact. It starts in dry-run, records structured evidence, and blocks live Slack/BetterStack routing until destination preflight is configured.

  • New `.github/workflows/perf-regression-watchdog.yml` runs every 15 minutes, downloads the latest `perf-baseline` artifact, queries PostHog, and evaluates fast 15m and drift 1h p95 tiers.
  • Fast-tier breaches route to BetterStack and Slack only after `PERF_REGRESSION_SLACK_WEBHOOK`, `BETTERSTACK_API_TOKEN`, `BETTERSTACK_STATUS_PAGE_ID`, and `BETTERSTACK_AFFECTED_RESOURCES` pass preflight; drift-tier breaches create Linear evidence through the workflow failure path.
  • `datastream_api_request_completed` now includes `release_sha`, so `perf:bisect` and `perf:trace-fetch` can correlate slow tails to deploy SHAs.
  • Added `bun run provision:posthog-perf-alert` for the companion PostHog insight/alert and updated runbooks/methodology around `POSTHOG_ADMIN_API_HOST=https://us.posthog.com`.

2026-04-30

new

chore(stripe): close-out bundle - webhook secret + audit DB reconciliation (OMNI-3402 + 3403)

A focused product or platform improvement shipped to OMNI.

  • chore(stripe): close-out bundle - webhook secret + audit DB reconciliation (OMNI-3402 + 3403)

2026-04-29

new

feat(dagster): right-size ECS resources per job + quiet-hours schedule + cost telemetry (OMNI-3486) + 2 more

Highlights from this shipping window include feat(dagster): right-size ECS resources per job + quiet-hours schedule + cost telemetry (OMNI-3486); chore(security): safe infisical-set helper + harden rotation pattern (OMNI-3441); feat(contracts): foundation — Pydantic contracts module + killswitch (OMNI-3487 PR 1a).

  • feat(dagster): right-size ECS resources per job + quiet-hours schedule + cost telemetry (OMNI-3486)
  • chore(security): safe infisical-set helper + harden rotation pattern (OMNI-3441)
  • feat(contracts): foundation — Pydantic contracts module + killswitch (OMNI-3487 PR 1a)

2026-04-28

new

Revert "Merge pull request #424 from autonomous-computer/danielscrivner/omni-3244-wire-automated-monitor-destination-dispatch-via-dagster-cron"

A focused product or platform improvement shipped to OMNI.

  • Revert "Merge pull request #424 from autonomous-computer/danielscrivner/omni-3244-wire-automated-monitor-destination-dispatch-via-dagster-cron"

2026-04-27

fixed

feat(bench): multi-ticker pool + variance_flag for OMNI-3099 (numbers refresh deferred) + 2 more

Highlights from this shipping window include feat(bench): multi-ticker pool + variance_flag for OMNI-3099 (numbers refresh deferred); feat(site): /trust page Phase 2 — DRAFT v0.1 under noindex; fix(ci): declare @aws-sdk/client-s3 at workspace root for Status Rollup (OMNI-3375).

  • feat(bench): multi-ticker pool + variance_flag for OMNI-3099 (numbers refresh deferred)
  • feat(site): /trust page Phase 2 — DRAFT v0.1 under noindex
  • fix(ci): declare @aws-sdk/client-s3 at workspace root for Status Rollup (OMNI-3375)

2026-04-26

new

Dilution endpoints in all four SDKs (TS / Python / Go / Rust) + omni-sec CLI

All 14 dilution endpoints — events, warrants, convertibles, ROFR, lockups, cash position, corporate actions, Nasdaq compliance, ratings, reverse splits, score, share-float history, coverage — are now first-class methods in every SDK and the omni-sec CLI. Wedge feature, fully reachable.

  • TypeScript SDK: 14 new methods on OmniDatastreamClient (dilutionEvents, dilutionEventDetail, dilutionWarrants, dilutionConvertibles, dilutionRofr, dilutionLockups, dilutionCashPosition, dilutionCorporateActions, dilutionNasdaqCompliance, dilutionRatings, dilutionReverseSplits, dilutionScore, dilutionShareFloatHistory, dilutionCoverage); bumped to 0.2.0
  • Python SDK: matching client.dilution_* methods (with an is_atm boolean adapter so True/False serialize as the lowercase strings the route expects); bumped to 0.2.0
  • Go SDK: matching Client.Dilution* receiver methods returning (map[string]any, error); bumped to 0.2.0
  • Rust SDK: matching client.dilution_* async functions returning Result<Value, OmniDatastreamError>; bumped to 0.2.0
  • omni-sec CLI: new dilution group with 14 subcommands (omni-sec dilution events|event|warrants|convertibles|rofr|lockups|cash-position|corporate-actions|nasdaq-compliance|ratings|reverse-splits|score|share-float-history|coverage); bumped to 0.2.0
  • ?view=agent honored across 13 of 14 endpoints (coverage is already a small rollup with no agent shape)
  • Demo: omni-sec dilution ratings --overall-risk high --limit 10 returns the highest-dilution-risk issuers; omni-sec dilution score --ticker BBBB returns the per-issuer Dilution Score

2026-04-25

fixed

fix(verification): drop truncated citation candidates for fractional values (OMNI-3081 fast-follow)

A focused product or platform improvement shipped to OMNI.

  • fix(verification): drop truncated citation candidates for fractional values (OMNI-3081 fast-follow)

2026-04-24

new

Structured 8-K Item 5.07 voting results — first-in-market parser

New GET /v1/events/voting-results endpoint and events.voting_results MCP tool return structured voting results from 8-K Item 5.07 filings with per-proposal vote counts, approval outcomes, and proposal-type classification. sec-api.io has had an open bug on 5.07 parsing since July 2025 — OMNI ships the structured route first.

  • New: GET /v1/events/voting-results with ticker, cik, date range, meeting_type (annual|special), and cursor pagination
  • New: MCP tool events.voting_results bootstraps the events.* namespace
  • Structured proposals with votesFor, votesAgainst, abstain, brokerNonVotes, approved outcome, and proposal_type classification (elect_directors, ratify_auditor, say_on_pay, say_on_pay_frequency, approve_merger, shareholder_proposal, and more)
  • parsing_confidence: high | medium | low — low-confidence events preserve the raw 5.07 summary and emit a Sentry breadcrumb so precision regressions are observable
  • Vote counts are integers; null is semantically distinct from zero (null = not reported; zero = explicit zero votes)
  • First in market — sec-api.io has had this parser broken since July 2025

2026-04-23

new

decision(auth): API keys are the primary authentication method; OAuth (WorkOS) deferred to enterprise tier roadmap for 2026 Q3+

Product-direction decision published for customers and partners. API keys cover every REST, SDK, CLI, and dashboard client today; OAuth/SSO via WorkOS is planned for the enterprise tier in 2026 Q3+.

  • API keys are the primary authentication method for all plans
  • OAuth/SSO via WorkOS is planned for the enterprise tier in 2026 Q3+
  • Hosted MCP continues to use WorkOS OAuth discovery for the MCP surface

2026-04-22

new

docs/ops(fast-follow): address bot findings on PR #363 (OMNI-3060)

A focused product or platform improvement shipped to OMNI.

  • docs/ops(fast-follow): address bot findings on PR #363 (OMNI-3060)

2026-04-20

new

chore(deps): bump dagster-cloud-action from 1.13.0 to 1.13.1

A focused product or platform improvement shipped to OMNI.

  • chore(deps): bump dagster-io/dagster-cloud-action from 1.13.0 to 1.13.1 in the actions-all group

2026-04-19

fixed

fix(ingest-worker): default concurrency back to 1 after #350 regression

A focused product or platform improvement shipped to OMNI.

  • fix(ingest-worker): default concurrency back to 1 after #350 regression

2026-04-18

fixed

fix(sec-pipeline): suppress benign Dagster restart signals in Sentry

A focused product or platform improvement shipped to OMNI.

  • fix(sec-pipeline): suppress benign Dagster restart signals in Sentry

2026-04-17

fixed

perf(xbrl, ingest-worker): parallelize hot loops + incremental upsert + 3 more

Highlights from this shipping window include perf(xbrl): cache permanent-miss verdict for non-filer tickers; perf(xbrl): incremental upsert — ON CONFLICT DO UPDATE WHERE changed; perf(ingest-worker): parallelize claimed-item loop (sec_freshness_daily 440min → target 75-110min).

  • perf(ingest-worker): parallelize claimed-item loop (sec_freshness_daily 440min → target 75-110min)
  • perf(xbrl): incremental upsert — ON CONFLICT DO UPDATE WHERE changed (follow-up C)
  • perf(xbrl): cache permanent-miss verdict for non-filer tickers (follow-up A)
  • fix(ingest-worker): default concurrency back to 1 after PR #350 regression

2026-04-16

fixed

fix(xbrl, factor-intraday, ingest-worker): classify permanent misses + surface failures + 4 more

Highlights from this shipping window include fix(xbrl): classify permanent misses separately from real errors; fix(ingest-worker): don't kill the pass when a status-update DB call fails; fix(factor-intraday): surface failure details in Sentry + admin response.

  • fix(xbrl): classify permanent misses separately from real errors
  • fix(ingest-worker): don't kill the pass when a status-update DB call fails
  • fix(factor-intraday): surface failure details in Sentry + admin response
  • perf(xbrl): skip DELETE+INSERT on unchanged tickers (content-hash short-circuit)

2026-04-15

fixed

fix: include infra/env in Railway deploy (fixes production crash loop)

A focused product or platform improvement shipped to OMNI.

  • fix: include infra/env in Railway deploy (fixes production crash loop)

2026-04-14

new

feat: add 16 curated thematic baskets + FT parity map + 2 more

Highlights from this shipping window include feat: add 16 curated thematic baskets + FT parity map + methodology docs; feat: add ~70 thematic stock basket factors for FT parity; OMNI-2710 Add KOSIS/ECOS API keys to env registry + Dagster provisioning.

  • feat: add 16 curated thematic baskets + FT parity map + methodology docs
  • feat: add ~70 thematic stock basket factors for FT parity
  • OMNI-2710 Add KOSIS/ECOS API keys to env registry + Dagster provisioning

2026-04-13

fixed

fix: fast-follow fixes for joint regression bot review findings + 1 more

Highlights from this shipping window include fix: fast-follow fixes for joint regression bot review findings; fix stale BR UNRATE DBnomics alias frequency.

  • fix: fast-follow fixes for joint regression bot review findings
  • fix stale BR UNRATE DBnomics alias frequency

2026-04-12

new

OMNI-2503 fix production macro workflow

A focused product or platform improvement shipped to OMNI.

  • OMNI-2503 fix production macro workflow

2026-04-11

fixed

OMNI-2254 official macro source sync + 3 more

Highlights from this shipping window include OMNI-2254 official macro source sync; OMNI-2253 Factor V2 Dagster assets; fix: Form D structured extraction — fallback to DB CIK when accession prefix differs.

  • OMNI-2254 official macro source sync
  • OMNI-2253 Factor V2 Dagster assets
  • fix: Form D structured extraction — fallback to DB CIK when accession prefix differs
  • fix: CDN load test default URL + edge case test results

2026-04-10

fixed

feat: install 4 launch skills into .claude/skills/ for auto-discovery + 3 more

Highlights from this shipping window include feat: install 4 launch skills into .claude/skills/ for auto-discovery; fix: restore Form 144 route + fix entity exchange CIK padding; fix: use pg8000 instead of psycopg2 in Dagster enforcement asset.

  • feat: install 4 launch skills into .claude/skills/ for auto-discovery
  • fix: restore Form 144 route + fix entity exchange CIK padding
  • fix: use pg8000 instead of psycopg2 in Dagster enforcement asset
  • fix: NaN-safe parsing + remove unused import in edgar routes

2026-04-09

fixed

fix: return undefined for invalid year input instead of silently defaulting to 2000 (fast-follow from PR #231 bot review) + 3 more

Highlights from this shipping window include fix: return undefined for invalid year input instead of silently defaulting to 2000 (fast-follow from PR #231 bot review); fix: remove dead rerankEnvDefault and shouldRerank variables (fast-follow from PR #232 bot review); fix: output webhook secret to stderr in CI where .secret file is lost (fast-follow from PR #251 bot review).

  • fix: return undefined for invalid year input instead of silently defaulting to 2000 (fast-follow from PR #231 bot review)
  • fix: remove dead rerankEnvDefault and shouldRerank variables (fast-follow from PR #232 bot review)
  • fix: output webhook secret to stderr in CI where .secret file is lost (fast-follow from PR #251 bot review)
  • fix: propagate filingDate to Pinecone metadata in fullindex backfill (fast-follow from PR #279 bot review)

2026-04-08

fixed

fix: remove hot-lane steps from canonical freshness job + 1 more

Highlights from this shipping window include fix: remove hot-lane steps from canonical freshness job; fix: restore legacy fullindex variant filtering.

  • fix: remove hot-lane steps from canonical freshness job
  • fix: restore legacy fullindex variant filtering

2026-04-07

fixed

fix: increase ECS run resources to 4 vCPU / 16GB for fullindex render

A focused product or platform improvement shipped to OMNI.

  • fix: increase ECS run resources to 4 vCPU / 16GB for fullindex render

2026-04-06

fixed

fix: prevent interleaveMerge from exceeding odd limit values

A focused product or platform improvement shipped to OMNI.

  • fix: prevent interleaveMerge from exceeding odd limit values

2026-04-05

fixed

fix: add DNS preflight check before launching investor bun subprocesses + 2 more

Highlights from this shipping window include fix: add DNS preflight check before launching investor bun subprocesses; fix: remove step-level RetryPolicy and reduce DNS retry overhead; fix: use persisted snapshots for standalone intraday materialization.

  • fix: add DNS preflight check before launching investor bun subprocesses
  • fix: remove step-level RetryPolicy and reduce DNS retry overhead
  • fix: use persisted snapshots for standalone intraday materialization

2026-04-04

fixed

fix: retry Dagster job launches on DNS failure to get fresh ECS tasks + 6 more

Highlights from this shipping window include fix: retry Dagster job launches on DNS failure to get fresh ECS tasks; fix: harden extraction HTML stripping; deps(docker): bump python from 3.11-slim to 3.12-slim in /pipelines/sec-pipeline.

  • fix: retry Dagster job launches on DNS failure to get fresh ECS tasks
  • fix: harden extraction HTML stripping
  • deps(docker): bump python from 3.11-slim to 3.12-slim in /pipelines/sec-pipeline
  • deps(py): update certifi requirement in /autoresearch

2026-04-03

improved

Geographic segment depth detection + preferred stock deduction

Segmented revenues now recognize geographic acronyms (EMEA, APAC, LACC) at depth 2 for proper isMostGranularSibling filtering. Company financials pipeline now deducts PreferredStockValue from StockholdersEquity when CommonStockholdersEquity is not filed separately.

  • inferSegmentHierarchyDepth: added EMEA, APAC, LACC, Americas patterns
  • PREFERRED_STOCK_CONCEPT_TAGS: PreferredStockValue, PreferredStockLiquidationPreference, PreferredStockCarryingAmount
  • Common equity derivation: statement-level > supplemental > preferred stock deduction

2026-04-02

fixed

fix: address 33 unresolved bot review comments from last 72h

A focused product or platform improvement shipped to OMNI.

  • fix: address 33 unresolved bot review comments from last 72h

2026-04-01

fixed

fix: supplement sparse statement history + 9 more

Highlights from this shipping window include fix: supplement sparse statement history; feat: expose stock repurchases in statements; fix: carry filing quarters through sec lookups.

  • fix: supplement sparse statement history
  • feat: expose stock repurchases in statements
  • fix: carry filing quarters through sec lookups
  • fix: reject xbrl noise in filing sections

2026-03-31

fixed

fix: hide readiness bootstrap errors

A focused product or platform improvement shipped to OMNI.

  • fix: hide readiness bootstrap errors

2026-03-29

fixed

fix: include evals/fixtures in Railway deploy (second missing module) + 2 more

Highlights from this shipping window include fix: include evals/fixtures in Railway deploy (second missing module); fix: include infra/stripe in Railway deploy (fixes production crash loop); fix: reduce Sentry noise for expected errors.

  • fix: include evals/fixtures in Railway deploy (second missing module)
  • fix: include infra/stripe in Railway deploy (fixes production crash loop)
  • fix: reduce Sentry noise for expected errors

2026-03-27

fixed

bias section search to latest filing + 2 more

Highlights from this shipping window include bias section search to latest filing; Remove FMP from company mapping audit; fix: add GHCR repository_credentials for Dagster Cloud ECS.

  • bias section search to latest filing
  • Remove FMP from company mapping audit
  • fix: add GHCR repository_credentials for Dagster Cloud ECS

2026-03-26

fixed

fix: regenerate OpenAPI spec and add Companies to Mintlify navigation + 2 more

Highlights from this shipping window include fix: regenerate OpenAPI spec and add Companies to Mintlify navigation; fix: normalize generated openapi schema bounds; fix: improve financebench filing search paths.

  • fix: regenerate OpenAPI spec and add Companies to Mintlify navigation
  • fix: normalize generated openapi schema bounds
  • fix: improve financebench filing search paths

2026-03-25

new

Fast-follow intelligence materialization fixes

A focused product or platform improvement shipped to OMNI.

  • Fast-follow intelligence materialization fixes

2026-03-24

fixed

Fix npm publish provenance and stale changelog baseline + 1 more

Highlights from this shipping window include Fix npm publish provenance and stale changelog baseline; Fix npm publish provenance for private repo.

  • Fix npm publish provenance and stale changelog baseline
  • Fix npm publish provenance for private repo

2026-03-23

fixed

chore: mark stripe live account dedicated + 8 more

Highlights from this shipping window include chore: mark stripe live account dedicated; fix: authenticate final signoff factor check; chore: sync tracked stripe test state.

  • chore: mark stripe live account dedicated
  • fix: authenticate final signoff factor check
  • chore: sync tracked stripe test state
  • feat: add stripe state sync workflow

2026-03-20

fixed

fix: align site browser smoke with local auth base + 1 more

Highlights from this shipping window include fix: align site browser smoke with local auth base; fix: close auth rollout fast follows.

  • fix: align site browser smoke with local auth base
  • fix: close auth rollout fast follows

2026-03-19

fixed

fix: fast-follow merged bugbot findings + 1 more

Highlights from this shipping window include fix: fast-follow merged bugbot findings; Clarify entity fallback guard precedence.

  • fix: fast-follow merged bugbot findings
  • Clarify entity fallback guard precedence

2026-03-18

fixed

fix: normalize company mapping backfill identifiers

A focused product or platform improvement shipped to OMNI.

  • fix: normalize company mapping backfill identifiers

2026-03-16

fixed

fix: close PR 29 fast-follow bugs + 3 more

Highlights from this shipping window include fix: close PR 29 fast-follow bugs; Ship ownership history backfill support; Relax stored filing manifest timestamp typing.

  • fix: close PR 29 fast-follow bugs
  • Ship ownership history backfill support
  • Relax stored filing manifest timestamp typing
  • Fix latest filing and section storage fast paths

2026-03-15

fixed

Fix statement alias and cache normalization + 3 more

Highlights from this shipping window include Fix statement alias and cache normalization; Harden SEC entity and replay handling; Port extraction autoresearch boundary win.

  • Fix statement alias and cache normalization
  • Harden SEC entity and replay handling
  • Port extraction autoresearch boundary win
  • Fix Python SDK parity and CI action versions

2026-03-13

new

Initialize repository

A focused product or platform improvement shipped to OMNI.

  • Initialize repository

Why keep a changelog

A serious platform should leave a trail.

The changelog sits next to benchmarks, freshness notes, and docs because trust is part of the product. If the surface changes, the history should be easy to find.