Skip to content

v1.5.0

Choose a tag to compare

@daniel3303 daniel3303 released this 21 Aug 22:07
· 456 commits to main since this release
a30b576

Added

  • Event-driven SEC filing discovery replaces per-company submissions polling, with durable retry tombstones for deterministic ingest failures. Foreign private issuers' 20-F, 6-K, and 40-F filings and amendments now sync like domestic filings, and Form 5/Form 5/A feed the insider-transaction pipeline with the same supersession semantics as Forms 3/4. PRs #4133, #4136, #4138, #4419, #4422.
  • Exact listed price series preserve each authoritative primary and secondary listing independently, so symbols such as GOOG/GOOGL and BRK-A/BRK-B never substitute a sibling's history. The additive upgrade keeps the legacy DailyStockPrice table, refetches authoritative history into ListedDailyStockPrice, adds correctly anchored 52-week ranges, and lets 13F positions retain their stated share class. PRs #4292, #4293, #4294, #4296.
  • SEC search gains semantic-or-exact selection, automatic vector sourcing without an ANN index, exhaustive document-scoped semantic ranking, ticker exclusions, multiple document types, per-company caps, and an optional excerpt-link seam. PRs #4150, #4209, #4212, #4222, #4406.
  • The 13F analytics path now materialises the open reporting window, records filer-declared totals, separates option rows from value audits, and preserves filed identifiers for other managers. Market activity, heat maps, portfolio reads, and clone backtests share the corrected snapshot data. PRs #4191, #4192, #4254, #4263, #4367.
  • The short-squeeze score is now a weighted six-factor model with liquidity filters, liquidity context, and an optional earnings-proximity catalyst. Deployments can also append a pending-settlement short-interest estimate without changing the stored FINRA series. PRs #4140, #4145, #4146, #4378.
  • FRED coverage adds importance tiers for economic releases, the 2-, 10-, and 30-year Treasury constant-maturity yields, and a substantially broader curated series catalog. PRs #4139, #4183, #4415.
  • Congressional disclosures now retain stated asset type, income, and seat, while a redirect catalog keeps merged member identities addressable across historical records. PRs #4228, #4401, #4402.
  • Fund-series discovery resolves trust-series tickers from the SEC fund-class directory and allows named series to retain their complete NPORT filing schedule. PRs #4112, #4410.
  • Government-contract queries are now available through the self-hosted public server, and recipient resolution can follow SAM parent entities and distinctive short names. PRs #4258, #4327.

Changed

  • Public-server responses now share strict date and argument handling, explicit truncation and paging notes, display titles, read-only annotations, and consistent error results across the financial, filing, holdings, fund, market, economic, congressional, government-contract, insider-trading, short-data, and FDA-catalyst surfaces. Insider-facing responses and documentation also distinguish transaction activity from beneficial ownership consistently. PRs #4158, #4159, #4160, #4161, #4162, #4163, #4164, #4165, #4166, #4167, #4168, #4169, #4170, #4202, #4325, #4330, #4331, #4332, #4423.
  • Docker Compose optional capabilities now extend the single worker through override files instead of starting duplicate worker hosts, preventing scraper and resume-cursor races when embedding or stealth support is enabled. On the first upgrade from the retired profile-based layout, run docker compose down --remove-orphans. Closes #4274.
  • Self-hosted upgrades from v1.4.0 apply 47 new EF migrations during web-host startup. They create exact-listing price storage and add or backfill filing-ingest state, financial-data quality fields, and supporting indexes. The exact-listing table starts empty and the worker refetches its history only after the web host becomes healthy, so normal Compose upgrades have a temporary empty-price window; for uninterrupted price availability, finish the first worker refill before routing traffic to the new web host. The exact-listing schema migration cannot be downgraded: rollback requires restoring a pre-upgrade database backup.
  • The project documentation now presents this repository as the open-source core, distinguishes self-hosted and cloud-only datasets, and documents the hosted-server setup and current capability catalog. PRs #4193, #4194, #4250, #4253, #4255–#4257, #4414.
  • Core framework, database, protocol, logging, testing, and CI dependencies were refreshed to their current supported releases.

Fixed

  • Holdings and 13F correctness — retired CUSIPs and sibling share classes resolve without merging distinct listings; filed values are reconciled on the correct split and price basis; impossible positions are rejected; amendments and issuer-scoped 13D/G deletes no longer corrupt aggregates; option and unvalued positions are disclosed honestly; and cold market-wide queries have the indexes and timeout headroom they need. PRs #4095, #4130, #4151, #4182, #4186, #4189, #4230, #4231, #4242, #4243, #4245, #4254, #4263, #4264, #4268, #4294, #4298, #4299, #4300, #4377, #4396, #4397.
  • SEC cover-page share counts are repaired only with corroborating evidence instead of trusting collapsed or impossible values. PRs #4115, #4117, #4232, #4233.
  • Financial facts reject implausible spans and scales, cover REIT revenue and pre-ASC-842 aliases, avoid presenting dimensioned customer-concentration disclosures as consolidated series, preserve exact dotted tickers, and identify unknown symbols as outside the tracked issuer set. Closes #4391. PRs #4096, #4333, #4336, #4337, #4392.
  • SEC ingestion now deduplicates discovery and retries, preserves tiered backfill cursors, drains stranded work below the live-sync floor, retries feed-listed filings until submissions data catches up, and degrades bounded search stages on database timeouts instead of failing the whole query. PRs #4097, #4103, #4106, #4108, #4113, #4144, #4196, #4261, #4262, #4321.
  • The fund-series directory preserves every NPORT series exposed through shared issuer feeds and deduplicates identities and route slugs seen through both issuer-feed and sweep ingestion.
  • Yahoo prices reconcile market capitalisation across ordinary-share and ADS bases, settle and gap-heal recent OHLCV without starving tail symbols, quarantine upstream outages, and keep split/dividend adjustments retry-safe across every exact listed series. PRs #4120, #4121, #4152, #4154, #4155, #4223, #4224, #4226, #4259, #4260, #4286, #4322, #4339, #4340, #4417.
  • Yahoo adjusted closes now re-sync the entire exact listed series after a captured cash dividend changes, sharing the split reconciliation queue and its retry-safe snapshot stamping. Existing dividends queue a capped one-time rebase, future actions wait until their effective session settles, a durable round-robin cursor prevents failed series from starving the queue, and amount restatements from older rolling workers remain detectable.
  • Government-contract backfills now persist a resumable action-date checkpoint, scan finishable one-day windows with a trailing recheck, retry each request on a fresh connection, and break the cold-start cursor deadlock without skipping awards. Poisoned recipient profiles are skipped instead of wedging the scan. PRs #4213, #4214, #4215, #4216, #4217, #4273, #4328.
  • FINRA imports now reconcile incomplete short-volume partitions, poll on short-interest publication evenings, distinguish issuer symbols ordinally, and exclude ineligible products from squeeze rankings. PRs #4169, #4218, #4281, #4318.
  • Congressional PDF parsing now preserves thousands-separated amounts across line breaks, keeps same-day trades distinct by owner and amount range, normalizes names consistently, and avoids re-downloading already-ingested filings. PRs #4122, #4123, #4141, #4206, #4227.
  • CSV exports neutralize spreadsheet formulas, image resizing stores the resized bytes within the requested bounds, and scraper failures retain their full inner-exception chain while normal shutdown cancellations stay out of error reporting. PRs #4126, #4127, #4184, #4229, #4269.