Skip to main content

Changelog

Customer-facing release notes for the ALETHEIA Safety API. · Last synced 2026-10-03 from CHANGELOG.md

New endpoints, breaking changes, deprecations, marketplace events. The machine-readable JSON source lives at /changelog.json and is the same content the API serves at /api/release-notes. For the data-layer change feed (new compounds, updated regulatory classifications), see api/changelog.

RELEASED

A compound response gains unsourced_values, the value paths of that record with no source document on file that states them. It is absent for a record with none, and a listed value is shown, not withdrawn. The safety viewer prints "No checkable source on file yet" beside those values. Nothing is removed.

Trace: D-955 (AC4a) · not yet deployed · 2026-10-03

RELEASED

A synthesis response gains derived_markers, naming what a context's band was derived from. A context whose refs are all such markers is sources_scope: "derived"; refs that match no entry fall back to the record-wide list (record). Nothing is removed.

Trace: D-955 (AC5, F-382) · not yet deployed · 2026-10-03

RELEASED

A new group_memberships field lists, for asbestos, beryllium, cadmium, chromium(VI) and nickel records, each instrument entry the record belongs to, with the entry's own text and the record's identity quoted beside it. Records outside those groups do not carry it.

Trace: D-913 (DD-09, AC7) · not yet deployed · 2026-10-03

RELEASED

crossrefs.echa_ec, ec and einecs are removed, with no alias (API 3.0.0). crossrefs.ec_number is the one store; where a record could not be given one, it is absent and the record says why. year_reviewed, deprecated since 2026-09-23, is removed; use year_updated.

Trace: D-913 (DD-09) · not yet deployed · 2026-10-03

RELEASED

A response saying a compound, product or class is not in the ALETHEIA corpus now carries a coverage_note: no record here is not a safety verdict. So do a search with no results and the badge (header and image title). Additive: no hazard value or band moved. The version stays 2.2.0 and moves to 2.3.0 with the year_reviewed alias removal.

Trace: D-905 (DD-02, F-311) · not yet deployed · 2026-09-30

RELEASED

Figures materials records attribute to EPA, FDA, NIOSH, WHO and the EU were checked against archived regulator text and corrected in both directions; figures the named authority does not publish carry a dated withdrawal marker. "Carcinogenicity:" lines now follow the ingredients' IARC groups, mostly adding one, twice removing one. Withdrawal markers no longer lower quality badges.

Trace: D-867 (close) · deploy bdcf55f4c · 2026-09-27

RELEASED

Exposure limits on materials and some compound records were read against archived OSHA, NIOSH and EU text and corrected in both directions, among them hexavalent chromium, mercury's ceiling and cadmium's EU limit. IARC lines on a few compound pages now cite the monograph volume they rest on. Benomyl's hazard labels now come from its own EU harmonised entry, not carbendazim's.

Trace: D-867 (tables 6 to 12) · D-897 · D-820 · D-834 wave 3 · deploys 8d936ace7, 52c375dd8 · 2026-09-26

RELEASED

Pages print "No major regulatory flags" only when no verified listing applies. Stockholm POP listings were checked against the Convention: missing POPs added, false ones removed. IARC groups resting on wrong-source citations were withdrawn, so some warnings are weaker; IRIS values and mislinked ingredients were corrected both ways, and aletheia now publishes a corrections page.

Trace: D-841 · D-851 · D-896 · D-820 (A18) · D-872 · D-873 · D-874 · D-839 · D-887 · D-888 · D-889 · D-890 · D-892 · D-893 · D-895 · D-855 · deploys 5ceba9169, 02f66175e · 2026-09-25

RELEASED

The value was never a review year: it now comes from each record's most recent revision and is served as year_updated, last column in both CSV layouts. year_reviewed stays as a deprecated alias with the same value through 2.2.x and is removed at 2.3.0.

Trace: D-864 · deploy 7c276ab99 · 2026-09-23

RELEASED

Thirty-three compounds carried an IARC classification no page displayed; they now show it, and 85 risk levels are new or stronger, 28 in child, infant, pregnancy or teen contexts, none weaker. Four state IARC's condition verbatim. The listing shows each entry's own risk band, and hazard labels dropped 191 unsourced codes for 91 sourced, no warning lost.

Trace: D-836 AC2a · D-836 AC2c · D-834 wave 1 · deploy 4d8f68f33 (2026-09-22) · 2026-09-21

RELEASED

A negative carcinogenicity finding was counted as low-hazard evidence, so 152 served risk levels are now stronger warnings, 68 in child, infant or pregnancy contexts. Glyphosate's child band moves moderate to severe. Five compounds that read "No major regulatory flags" now name their IARC group, one Group 1, and dose-response minima that mixed units are withdrawn.

Trace: D-830 · D-832 · D-836 (5 of 38) · D-833 · deploy 8715a0994 · 2026-09-20

RELEASED

Chips on the compare page now read harmonised (EU CLP Annex VI) or notified by N companies (ECHA C&L), so a legally harmonised classification is distinguishable from a self-notified one. Glyphosate's carcinogenicity summary now attributes each verdict to the body that issued it. Three static compound pages were a revision behind, two of them under-warning a child band.

Trace: D-831 · D-827 · D-828 · deploy 9efe5cfa5 · 2026-09-20

RELEASED

An LD50 or NOAEL that was a class default rather than a measurement is now withdrawn rather than served as data; 21 measured values replace them. Two acute-toxicity figures became sharper warnings — allyl isothiocyanate and methyl salicylate, a class default replaced by a measured LD50. A context with no magnitude says so instead of resolving to a middle band.

Trace: D-821 · D-829 · deploy 603d37b9d · 2026-09-19

RELEASED

hazard_profile is gone. The same information is now split across hazard_class, hazard_class_basis, hazard_detail and hazard_summary, so a class, its warrant and its detail are separate fields. Compound pages that had rendered [object Object] render the class. Citation labels and withdrawals also ship.

Trace: D-818 · D-817 · D-820 · deploy fe1f3b410 · 2026-09-18

RELEASED

Per-record citations now render on published pages with their scope stated (record-wide or per-context). Links to retired hostnames are gone from the public properties. Development and cache files that had been reachable now return 404.

Trace: D-808 · D-809 · D-801 · deploy 7c490a630 · 2026-09-18

RELEASED

The public projection strips smiles, inchi, inchi_key, computed descriptors and full citation objects; records carry a _tier marker. An authenticated key returns them as before. exact_mass and monoisotopic_mass are published by operator ruling.

Trace: Stage 1 · deploy 3eb20f5b9 · 2026-09-15

RELEASED

Six records stated that IARC had not evaluated a substance the published list does carry — one of them Group 1 — and now carry the evaluation, on the records and on the pages derived from them together. The API's release-notes endpoint caught up with this file in the same window.

Trace: D-797 · deploy 68cc3ed47 · 2026-09-14

RELEASED

The coverage page carried 100% with no assessment date; re-running the same predicate today gives 97.4%, and every figure now carries the date it was measured. The earlier number was not wrong when published — it was undated, which let it read as current. Regulatory milestones whose effective date has passed now read as in force.

Trace: D-733 · D-742 · deploys e8ed21f34 (2026-09-07), 315285787 · 2026-09-10

RELEASED

The long-running identity remediation first disclosed in v1.4.3/v1.4.4 is largely closed. Each correction was anchored by name and by CAS separately and accepted only where both resolve to the same compound. Where a value could not be resolved it was nulled or registered as unresolved, never replaced with a plausible guess.

Trace: D-450 · D-454 · D-455 · D-473 · D-474 · D-504 · D-505 · D-527 · D-595 · deploys 066fb3451 → 81303c28d · 2026-07-31 → 2026-08-29

RELEASED

Every IARC group this corpus states was reconciled against IARC's published List of Classifications. Corrections run in both directions, and several were under-warns — substances served as unclassified or in a lower group where IARC had classified them higher. A non-existent category and groups captured out of sentences denying an evaluation were removed.

Trace: D-427 · D-429 · D-512 · D-514 · D-524 · D-561 · D-562 · D-582 · D-583 · D-594 · D-634 · deploys 030d9e1dd → 6520ce236 · 2026-07-24 → 2026-08-27

RELEASED

Six spellings for what are two bands are now normalised at source, so the API, the JSON viewer and the published pages read the same canonical strings. Five published pages had been painting a real authored hazard band in the grey reserved for unknown and now render the correct colour. If you match band strings exactly, check your mapping.

Trace: D-521 · deploy d7cb675b2 · 2026-08-23

RELEASED

Wrong-compound attributions were repointed and a standing detector shipped so the class is caught rather than re-audited. An invented federal case name served for a real ruling was corrected, along with a vacated holding served as operative law, citations pointing at unrelated papers, and a statistic whose number was right and whose scope attributes were all wrong.

Trace: D-441 · D-442 · D-518 · D-567 · D-619 · deploys 714dc23a3 → 6ff3b8733 · 2026-07-30 → 2026-08-21

RELEASED

The band→display maps were hand-listed and did not cover every band the corpus emits, so an unmapped band fell through to the bottom visual rung — the most severe substances rendered as the least severe. Both maps are now table-driven over every band, and Asbestos, PFOA and Formaldehyde render as critical. The band word was already correct and is unchanged.

Trace: D-544 · D-545 · deploy 8cc88a437 · 2026-08-12

RELEASED

Published pages rendered the curated band only, so where synthesis resolved a higher band the page showed the lower value. The served compound index now carries display_risk_levels (the higher of the two) and display_risk_source (which side won). The rule can only raise a displayed band, never lower one; risk_levels is not mutated and no API response shape changed.

Trace: D-526 · deploy 57afd335c · 2026-08-09

RELEASED

Four corrections to which regulatory classifications the engine accepts and what it accepts them for — including EPA's pre-1996 letter grades, which were silently dropped before synthesis. A carcinogenicity classification can no longer decide a cat, dog or wildlife context. Served bands move in both directions; these are correctness fixes, not a uniform tightening.

Trace: D-499 · D-500 · D-501 · D-506 · D-509 · D-514 · deploys e798ee1fc → bf2db4c5f · 2026-08-05 → 2026-08-07

RELEASED

GET /api/health now returns commit and dataset_version, so an integration can tell which build and which data version it is talking to — previously only that the service was up. Useful for pinning a reproducible run or confirming a deploy rolled out. Only those two values are exposed.

Trace: D-398 · v1.7.0 · 2026-07-19

RELEASED

GET /api/regulatory-status?view=calendar aggregates every forward-looking change across all substances into one date-sorted list, narrowable by jurisdiction and date. Coverage widens to 11 regulated substances across US, EU and California. The response states its own denominator, and a proposed change is never returned as an in-force value.

Trace: D-340 · D-341 · v1.6.0 → v1.7.0 · 2026-07-06

RELEASED

Every cell now carries governance_timeline (the in-force value plus scheduled or pending ones, each with a lifecycle status and effective date) and a computed governance view of { current, upcoming }. ?as_of=YYYY-MM-DD resolves that view as of any date. A non-confirmed value is only ever returned in upcoming, never as the current limit.

Trace: D-331 · v1.5.0 → v1.6.0 · 2026-07-06

RELEASED

New GET /api/regulatory-status gives the governing threshold — if any — for a heavy metal in baby-food matrices across US, EU and California, with the legal force each carries and where no governing threshold exists at all. Requires a Developer or Pro key. available_contexts, already live, is now documented on the compound response.

Trace: D-297 · v1.4.5 → v1.5.0 · 2026-06-30

RELEASED

A storefront price change had been missed by the API code across three successive releases, and a second copy of the tier prices inside the admin dashboard was showing wrong figures. Prices now come from one place. Legal containment hardening ships alongside.

Trace: MK #41 · MK #42 · v1.4.4 → v1.4.5 · 2026-05-22

RELEASED

Name-anchored corrections — resolved through PubChem by name, never through the suspect cross-reference on the record being repaired — landed across two adjudicated batches. Data only: no API contract, code or middleware change. The public JSON viewer is resynced by this release.

Trace: SCI-DAT-01 · v1.4.3 → v1.4.4 · 2026-05-19

RELEASED

Structural-identity fields on the bulk export could carry a different compound's structure for records under chemical-identity review. Those records now carry an advisory field on the export marking them as under review. No breaking contract change; safety.holisticquality.io is not affected.

Trace: SCI-DAT-01 · v1.4.2 → v1.4.3 · 2026-05-19

RELEASED

Thirty-three PubChem-verified identity corrections landed on records that had been serving a different compound's structure. /api/compound/{id} becomes edge-cacheable for unwatched compounds. The product name changes from "Safety Intelligence" to "Safety Reference".

Trace: SCI-DAT-01 · PC-2 · v1.4.1 → v1.4.2 · 2026-05-16

RELEASED

The POST batch endpoint is exposed on the rebuilt RapidAPI listing. Subscribers who need relief from URL length limits on large ID lists can now send a JSON body instead.

Trace: RAPIDAPI-L5 · 2026-05-12

RELEASED

v1.4.0 wrote methodology_note for every synthesised product, but an explicit field allowlist in the response shaper omitted it, so the field was silently dropped before serialisation. It now surfaces.

Trace: v1.4.0 → v1.4.1 · 2026-05-12

RELEASED

Every product synthesis response now discloses, in a paragraph, that its route, duration and frequency multipliers are ALETHEIA-calibrated heuristics informed by published exposure handbooks — engineering heuristics, not measured values. A large batch of audit findings closes alongside. The aletheia-safety SDK ships v0.9.0 with this release.

Trace: DEPLOY-PLAN-2026-05-12 · v1.3.x → v1.4.0 · 2026-05-12

RELEASED

Records corrected in Phase 2 still carried synonym lists stamped from the wrong molecule during the window the wrong cross-reference was active. Those lists are now cleared or rebuilt. Data only; lands at the next deploy.

Trace: SCI-DAT-02 Phase 4 · 2026-05-07

RELEASED

Fifty-nine compound records now carry the correct PubChem cross-reference and the structure, formula and mass fields derived from it, where they had carried another compound's. Triaged by InChIKey prefix. Data only; no API behaviour change.

Trace: SCI-DAT-02 Phase 2 · 2026-05-07

RELEASED

Thirteen records carried structure fields contaminated by a wrong-CID batch merge from 2026-03-22 and were re-resolved. Plutonium-239's wrong cross-reference was corrected in the same pass. Data only.

Trace: SCI-DAT-01 Gap 2 · 2026-05-07

RELEASED

Following an accuracy audit, methylmercury's IARC monograph reference and the cancer site it names were corrected, and the chemical-identity contamination triage that became SCI-DAT-01 was opened. Subscription lifecycle handling also ships.

Trace: sci-verify 2026-05-05 · SCI-DAT-01 · 2026-05-07

RELEASED

The public tier gains batch access and the per-tier batch caps rise, so the API's enforced behaviour matches what the marketplace already advertised to subscribers. The synthesis cap is unchanged.

Trace: OpenAPI 1.4.0 → 1.5.0 · 2026-04-27

RELEASED

The marketplace listing gains source transparency, a sample response and onboarding polish. Discovery surface only — no endpoint or response shape changed.

Trace: OpenAPI 1.3.0 → 1.4.0 · 2026-04-27

RELEASED

ALETHEIA is now a public workspace on the Postman API Network, with curated collections including a five-step onboarding to a real 200 OK. Name search in the playground is fixed.

Trace: 2026-04-26

RELEASED

ALETHEIA Safety Reference is listed on RapidAPI with a free tier and paid plans, plus an enterprise tier by arrangement.

Trace: 2026-04-23

HISTORICAL

Earlier releases predate this changelog. The repository's commit history and the directive records named above remain the full account.