Skip to content

v0.232.0

Choose a tag to compare

@ooples ooples released this 24 Sep 13:43
59209ba

0.232.0 (2026-09-24)

Features

  • #2090: phase 2 — sequence models read their Options (0ca40af)
  • #2090: phase 2 complete — all 17 sequence models, ratchet 1004 -> 977 (671836a), closes #2090
  • #2090: phase 3 — vision-language models read their Options (085db69)
  • allow specialized trading environments to override transition execution (1a3e02f)
  • allow specialized trading transition execution (5c281c3)
  • ci: add conservative old-new dependency selection with negative controls (52876fe)
  • ci: bind complete configuration bodies and private initializers (9da2fea)
  • ci: bind concrete numeric and scoped runtime effects (a7524d5)
  • ci: bind conditional owner effects and startup inputs (ad02585)
  • ci: bind default startup flow and successful CPU reset (8e0093b)
  • ci: bind method execution plans to discovered tests and binaries (200e4dd)
  • ci: bind reviewed assertion contracts to runtime evidence (86f6e49)
  • ci: bind reviewed crypto startup and reject shadow runtimes (4e382f9)
  • ci: bind runtime effects and constructor input contracts (4dd21eb)
  • ci: bind source changes to verified local execution reuse (4a4f950)
  • ci: bind startup branch inputs and review GPU opt-out effects (0635476)
  • ci: join body isolation across the exact workload inventory (9d5a457)
  • ci: measure what the shard map can actually select (6c66601)
  • ci: preserve concrete base and shared-field bindings (ee43fae)
  • ci: prototype owned runtime effects with full-run controls (d545546)
  • ci: validate changed-base execution reuse partitions (4b0534d)
  • ci: verify cross-assembly impact and authenticated workflow imports (9b92c9c)
  • ci: verify observed owners and bind lifecycle profiles (978eeab)
  • ci: verify observed trial scopes and slot initialization (1f42fab)
  • ci: verify trial hooks and exact CPU reset observations (2f993c2)
  • declare paper optimizers for diffusion-ts, ppo, bytetrack and a3c (85b2d18), closes #1928
  • declare paper optimizers for four physics-informed models (a2f0894), closes #1928
  • declare paper optimizers for sam 2.1, efficienttam, pixellm and deva (e6b3c10), closes #1928
  • declare paper optimizers for seven papers recovered from doi-form urls (cdcf9dc), closes #1928
  • declare paper optimizers for show-o, video-llava and three more (660ea6f), closes #1928
  • declare paper optimizers for six unified and 3d vision-language models (f9dae37), closes #1928
  • declare paper optimizers for the last seven papers with stated recipes (d67b8a6), closes #1928
  • declare paper optimizers for two code models and four audio models (39211c7), closes #1928
  • declare paper optimizers for univnet, informer, n-beats and two ner models (f3f5ecf), closes #1928
  • finance: add a weight-resolution seam to PortfolioManagerEnvironment (3d60407)
  • finance: add a weight-resolution seam to PortfolioManagerEnvironment (83807f1)
  • finance: configurable SAC head, friction overrides and loud checkpoint failure (48333d3)
  • models: declare nine video super-resolution recipes (#1928 batch 4) (611bc35)
  • models: declare paper training recipes, batch 2 (#1928) (e98cf42)
  • models: declare paper training recipes, batch 3 (#1928) (cee9e4d)
  • models: declare paper-faithful training recipes (#1928 batch 5) (b8af12a)
  • models: declare paper-faithful training recipes (#1928 batch 6) (11af811)
  • models: train models the way their papers say, and report when they do not (#1928) (96056cb)
  • optimizers: let models declare the optimizer settings their paper specifies (#1928 mechanism) (bd8c032)
  • options: migrate enum and string parameters, ratchet 875 -> 861 (243f6f6), closes #2090
  • options: phase 2 complete — all 17 sequence models, ratchet 1004 -> 977 (94abf52), closes #2090
  • options: phase 3 — vision-language models, ratchet 977 -> 875 (e41b11e), closes #2090
  • rl: legal-action masking, carried by the environment (8b83bc4)
  • rl: legal-action masking, enforced at every agent selection site (02e9f45)
  • rl: mask every agent selection site, incl. the FinRL wrapper (8d9c6b3)
  • testing: add tape reachability probe that catches detached training terms (f0b9026)
  • website: licence Token Optimizer as a product, with savings receipts (15ebf3c)
  • website: licence Token Optimizer as a product, with savings receipts (414a1a8)

Bug Fixes

  • active-learning: make RandomSampling's seed change which samples it picks (e9d174a)
  • add the missing declarations for octo, tabdpt and abinet (98d9dfd), closes #1928
  • address masked policy numeric and lifetime review (0e3fdd4)
  • address review feedback on vision-language options surface (0d496e5)
  • audio: avoid virtual layer dispatch during batch-five construction (130d9e6)
  • audio: avoid virtual layer dispatch during batch-five construction (59e7dd9)
  • audio: avoid virtual layer dispatch during batch-four construction (4464193)
  • audio: avoid virtual layer dispatch during batch-four construction (4c02b02)
  • audio: avoid virtual layer dispatch during batch-four construction (e90307c)
  • audio: avoid virtual layer dispatch during batch-six construction (14386f1)
  • audio: train music flamingo at its declared learning rate (7a33449)
  • audio: use a floating-point frame rate for BeatTracker tempo lag bounds (502176b)
  • audio: widen the class-weight denominator in AudioClassifierBase (9b174dc)
  • backpropagate the rainbow dqn update instead of index-modulo drift (9c5ae50)
  • blip: validate ONNX graph options and embedding contracts (c74ecd7)
  • build each model's options once, not twice (#2228) (b3c786f)
  • build each model's options once, not twice (#2228) (cfef411)
  • build: align EF Core packages with SQLite 10.0.12 (0fd4ada)
  • cap the target-dependence repeats for bounded generated training fixtures (8409679)
  • ci: a missing retry baseline must not fail the shard (66e4a8e)
  • ci: accept absent optional delta map inputs (2a878c5)
  • ci: accept absent optional delta map inputs (921c968)
  • ci: add the two repaired model-shape sweeps as selectable shards (d1e7fc1)
  • ci: address PR scoping and directory owner review gaps (2905be0)
  • ci: bind CPU startup logging environment (8c0b94f)
  • ci: bind delta reuse to consistent certificates and safe imports (b5e7cc1)
  • ci: bind execution evidence and preserve generated source maps (6e302c5)
  • ci: bind reuse evidence and harden workflow regression controls (d550758)
  • ci: bind source maps to embedded compiler source bytes (c59bc2a)
  • ci: block superseded push retries before dependent validation (d2fa48d)
  • ci: bound collection and abstract fixture dependency routing (8420e0f)
  • ci: bound the delta-map step, decline partial reuse missing an artifact, harden reads (7e4c25f)
  • ci: bound workflow import and reject malformed evidence (ca0c86b)
  • ci: build each project once for net10.0 in SonarCloud so analysis can finish (15f981e)
  • ci: build each project once for net10.0 in SonarCloud so analysis can finish (8b1bf72)
  • ci: build the two model-shape sweeps in the worker child process (828509c)
  • ci: checkout validation reuse resolver (52324b8)
  • ci: checkout validation reuse resolver (566fb7f)
  • ci: compile a build-only change without running every test (ef47a66)
  • ci: consume worker tickets once and invalidate unsupported ValueTask evidence (e5fb9eb)
  • ci: count the whole shard universe when measuring map coverage (b17ff54)
  • ci: defer pending merge validation and validate all delta effects (9ea50f7)
  • ci: defer pending merge validation and validate every delta-affected shard (7c43269)
  • ci: define Sonar validation mode in its job (c78a6f8)
  • ci: define Sonar validation mode in its job (8d816ca)
  • ci: eliminate COW and Integration-D shard regressions (4ee6a92)
  • ci: execute resolver fixture on Linux (58a71a6)
  • ci: exit 0 after a valid selection, keep result shape uniform, read multi-line modifiers (dce65d3)
  • ci: expand the shard env vars that were left inside single quotes (d04777c)
  • ci: expose scheduling inputs and test strict delta arguments (99bc8ee)
  • ci: extract the shard run block to a script, under the expression limit (93e7ccb)
  • ci: extract the shard run block to a script, under the expression limit (2774f83)
  • ci: finish retiring the sweep jobs from the gate and its contract (7bd5ec3)
  • ci: guard the reduction ratchet on a map actually being built (adf55e7)
  • ci: harvest coverage runs whose manifest differs from master (02206d2)
  • ci: harvest maps across manifest changes and keep selection safe under drift (5832c1f)
  • ci: honor timing noise at the history envelope boundary (8decd96)
  • ci: keep build-only changes out of the full matrix, and two ratchet review fixes (9da2ebd)
  • ci: keep caller escape and assertion effects unresolved (244e459)
  • ci: keep independently tested transport changes selective (04fe1c2)
  • ci: keep native declaration identity stable across body edits (8a1b0c9)
  • ci: keep selection reduced and safe when the shard manifest drifts (e04dfcc)
  • ci: let a retired shard stop wedging map certification (9b2f31f)
  • ci: make sonarcloud advisory and run its analysis only nightly (19ff561)
  • ci: make sonarcloud advisory and run its analysis only nightly (63c07b5)
  • ci: make the selection-reduction ratchet advisory so it cannot refuse a map (17901af)
  • ci: model xunit lifecycle and bound managed dependencies (4585b22)
  • ci: move the nightly-only deferral into a tested function so the workflow loads (6d03b3b)
  • ci: never defer a sweep shard that the change itself requires (5e01b42)
  • ci: omit artifact import metadata for empty import sets (42cec36)
  • ci: parse comments and raw fences inside interpolation holes (04e202c)
  • ci: preserve always-run shards without instrumentation (9994c3a)
  • ci: preserve required CodeQL status (9de04b8)
  • ci: preserve source paths across renames (5bb35f3)
  • ci: preserve unchanged map certification (c46adac)
  • ci: preserve xUnit lifecycle and revoke stale attribution reports (1172f87)
  • ci: prove shard selection and merge reuse (8db211e)
  • ci: re-certify the map on merge, tier build-only changes, and let the nightly carry (3f9d6f0)
  • ci: record exact case outcomes and avoid large-assembly metadata overflow (0f2a6bb)
  • ci: reject a coverage run whose manifest is missing or not a list (a1f51a9)
  • ci: reject ambiguous collection definitions (545fba8)
  • ci: release canceled workflow runners (9aa0142)
  • ci: remove the 45 retired auxiliary shard entries (c3fdaa2)
  • ci: restrict attribute lifecycle roots to runner hooks (cb946ac)
  • ci: resume verified artifact ranges after interrupted transfers (527cbc2)
  • ci: retain imported ledger evidence in partial workload plans (1dcfa45)
  • ci: retain mandatory shards in non-runtime historical audits (d0930d2)
  • ci: retry transient analysis API failures (b02e758)
  • ci: reuse exact successful plans across open dependencies (89d24a9)
  • ci: reuse PR validation after merging behind master; re-run only affected shards (eee7ea6)
  • ci: reuse PR validation after merging behind master; re-run only affected shards (b15f72e)
  • ci: route CI policy edits by runtime execution boundaries (74f9b79)
  • ci: route legacy unit-test namespaces through the remaining shard (0a19106)
  • ci: route non-runtime changes without full validation (fdee6be)
  • ci: run an unmapped ordinary shard instead of escalating every pr (0c5b861)
  • ci: run model sweeps and conformance windows as selectable shards (3774a82)
  • ci: run model sweeps and conformance windows as selectable shards (130952b)
  • ci: run sweep and conformance shards nightly instead of on every pull request (b2f5cb6)
  • ci: run sweep and conformance shards nightly instead of on every pull request (e7967d0)
  • ci: safely select sweep and conformance workloads (b19ed7a)
  • ci: select shards from the PR's own change; route tests and uncovered lines (59ca51c)
  • ci: select shards from the PR's own change; route tests and uncovered lines (8401696)
  • ci: select shards on post-merge master pushes instead of running all 164 (#2245) (a25c4c9)
  • ci: skip the shape sweeps when the worker cannot run, instead of failing (3e6b20b)
  • ci: stabilize attribution bindings and review fact discovery (3cb9218)
  • ci: stop a documentation change running the whole matrix (ffe35f3)
  • ci: suppress unrelated validation safely (e371fab)
  • ci: take the Select step's context through env so master's workflow loads again (c6462b4)
  • ci: take the Select step's context through env so master's workflow loads again (19ed5a7)
  • ci: validate selector output contracts (c57e077)
  • claim disposal atomically and release both sequence clones (2ba9f7c)
  • classification: avoid int overflow in the multi-label gradient averaging divisor (be0fe95)
  • clustering: prevent overflow in ARI expected index, X-means variance and G-means correction (c51e93f)
  • codeql: filter disposal loops explicitly and log instead of swallowing cleanup failures (bbc0943)
  • codeql: triage all 477 error alerts, fix 139 real ones, clear 2 generator false positives (158add2)
  • codeql: widen rank-statistic products before overflow and filter genome connections (41457ff)
  • collapse warmup plus cosine into one fused-expressible scheduler (58dee39)
  • compare onnx contract shapes through toarray for net471 (00b867c)
  • decomposition: use a real-valued LOESS bandwidth in STL cycle-subseries smoothing (d7fd6a1)
  • diffusion: install the FlowMatchingScheduler linear timestep schedule instead of dropping it (da85d4a)
  • dimensionality-reduction: widen n*p in the SparsePCA reconstruction error (8b0975e)
  • distributed: keep resized layouts, hybrid topology and transfer restarts correct (64de951)
  • docs,tests: repair ~900 uncompilable doc examples, gate them, and give the layer invariant harness subscribers (9bcefb6)
  • enforce GPT4Vision ONNX graph and token contracts (0ed2d26)
  • evaluation: widen sample-count products in Cochran Q, DeLong, Kruskal-Wallis and Wilcoxon (ea8f5d0)
  • feature-selection: widen n*n normalisers in distance-correlation, kernel and SURF selectors (18a1958)
  • feature-selection: widen sample-count products in rank, contingency and point-biserial stats (e92c72f)
  • finance: add TradingEnvironment.OnReset hook so subclasses reset per-episode state (c50f83e)
  • finance: address the seven open coderabbit threads on #2175 (f65a14e)
  • finance: bound the sac policy per the paper and repair trading option copying (5fbb831)
  • finance: decay FinancialDQNAgent epsilon from EpsilonStart to EpsilonEnd per update (3864c0a)
  • finance: dispose a2c scratch tensors and make agent seeding test-order independent (3df1155)
  • finance: dispose batch tensors and drop float-equality reward guard (a441589)
  • finance: dispose every agent PortfolioExperimentRunner creates, on all paths (032f26c)
  • finance: dispose the networks trading agents own (2b66dc6)
  • finance: enforce on-policy rollout ownership and shared mutation boundaries (0eb3f08)
  • finance: financialDQNAgent never annealed its exploration rate (695d9da)
  • finance: FinancialDQNAgent never annealed its exploration rate (0d084f3)
  • finance: fold #2100's dqn schedule fixes and learning tests into this pr (2c78c04)
  • finance: honour TradingAgentOptions WarmupSteps and HiddenLayers in trading agents (7a3de9c)
  • finance: implement the SAC, market-making and A2C learning updates (492d92f)
  • finance: implement the SAC, market-making and A2C learning updates (2bfa682)
  • finance: make FinancialA2CAgent a softmax policy trained by advantage policy gradient (e2fd3b5)
  • finance: make RecurrentPolicyAgent release the LSTM cell it owns (9d5850d)
  • finance: make seeded financial agents train bit-identically (target sync, weight init) (5134269)
  • finance: repair exploration, policy gradient, determinism and dead options in financial RL agents (f0244a6)
  • finance: trim the incomplete window in N-HiTS tape pooling instead of throwing (f94efeb)
  • finance: use zero-mean seeded Gaussian exploration noise in SAC and market-making agents (f5b20a1)
  • finch: train through the published finch hyperparameters (f2b67e9)
  • gan: keep wgan's critic score on the tape and close the aidn101 ratchet (81832ea)
  • generators: give audiopalm the 15-step memorization window (3e31b04)
  • generators: leave registered parameter components to the registry (fecac2e)
  • generators: make containing-type walks provably non-null for CodeQL (eebe877)
  • give generated AudioPaLM probe sufficient paper-optimizer steps (9f7dc4b)
  • helpers: rethrow a lone disposal failure unchanged; aggregate only several (202e60b)
  • in-place parameter updates (#1842) + CI cannot report a dead shard as success (#2086) (3185b41)
  • isolate distributed test sessions and synchronize dashboard readers (d0f9777)
  • keep Autoformer gradient accumulators alive across tape resets (588c764)
  • kernels: widen count products in spectrum and bag-of-words string kernels (fb9a75c)
  • make disposing models and RL agents actually release what they own (e1ae8af)
  • measure reward following differentially in the rl policy invariant (7bdb525)
  • measure reward following differentially in the rl policy invariant (c949190)
  • measure the reward-following probe along the axis that separates the actions (4ab7ba4)
  • meta-learning: widen the parameter index product in BOIL and Matching Networks (08b5e7d)
  • metadata: stop model metadata from serializing the model eagerly (#1830) (c32502a)
  • models: dispose the model copies AiModelResult makes for inference and ensembles (557c719)
  • models: release the meta-learning result's separate best solution exactly once (0270f36)
  • models: repair the three shard failures in batch 6 (dee101e)
  • neat: apply sigmoid node activations in Genome.Activate (1f9ad8e)
  • neural-networks: refuse a second model on one architecture instead of aliasing it (c3d0b84)
  • neural-networks: widen element-count products before they overflow int32 (7094add)
  • nn: make a clone serialize like its source and let ResolveShapes run the real forward (843d677)
  • nn: make NeuralNetworkBase.Dispose idempotent and guard repeated model disposes (ac580d3)
  • nn: stop a repeated layer Dispose from re-running derived teardown (a415224)
  • onnx: enforce ImageBind and LLaVA graph contracts (02d5315)
  • optimizers: step declared schedules during training instead of freezing them (e5214a7), closes #1928
  • options: keep constructor validation assembly-internal (bb44595)
  • options: preserve sequence copies and validate consumed settings (80e7540)
  • options: preserve sequence copies and validate consumed settings (f8f6488)
  • options: remove unconsumed shared gradient alias (05f58b9)
  • options: restore internal Validate and Clip's path-first order (d32c5c2)
  • options: restore the rest of what the master merge dropped (4e5958b)
  • options: review fixes for #2130 (24e82fd)
  • options: separate ONNX-only input configuration from native towers (9511008)
  • options: use canonical GPT4 native vision width (760f2f9)
  • options: validate shared GAN channels and clarify migrated VLM documentation (33ed850)
  • pinn: average the multi-scale PINN epoch loss over the batches actually processed (64a39c6)
  • playground: reference AiDotNet by project instead of the 0.113.0 package (bf05125)
  • playground: stop logging email-derived data in the stripe webhook (bfc414f)
  • preprocessing: prevent int32 overflow in Otsu histogram sums and between-class variance (c2b4ce6)
  • repair facade shard failures through shared cloning and distributed paths (282ffc1)
  • repair the tests that had never actually run (af0ec4e)
  • require state-bound on-policy action provenance (77fbd42)
  • review: verify sequence scaffold rules and options documentation (4713636)
  • review: verify sequence scaffold rules and options documentation (19c637e)
  • rl,gan: match the sac objective to its behaviour policy and untangle the gan concat (331f596)
  • rl: carry the legal-action mask into the PPO update, not just the selection (cb9601d)
  • rl: close the five review findings on legal-action masking (6df3bbc)
  • rl: register every deep agent network so disposing the agent releases it (5a44106)
  • rl: release every agent network even when one network's Dispose throws (41abacd)
  • rl: restore the gradient path in the sac actor update (c3d9e99)
  • rl: retain action legality through A2C updates and DQN replay targets (c38b49d)
  • rl: size rl fixtures from the model and repair dreamer's dead actor (ca748d6)
  • runtime: invalidate resized gradients and isolate clone shapes (d3ef93c)
  • runtime: restore layer shapes and refresh lazy distributed layouts (46e7489)
  • runtime: restore layer shapes and refresh lazy distributed layouts (2dece39)
  • scope the target-dependence wall-clock budget to the probe, not to one call (1e7cc6f)
  • serving: close SQLite sandbox escape and neutralize logged request data (c332e2a)
  • serving: neutralize caller-controlled values before logging them (f47ffbc)
  • serving: stop sandboxed sqlite from attaching host database files (94e417e)
  • statistics: widen pair-count products in Kendall tau, KID and the MMD domain adapter (dd0a38f)
  • stop monte carlo es predict from cancelling the exploring start (b94fe7d)
  • stop the clone bit-identity check from running between the two forwards (2dd2ee1)
  • survival: compute the random survival forest log-rank variance in double (78f0feb)
  • test-impact: typed failures for null bundle members and an unbounded TRX (2bc8c1d)
  • testing: lower rl warmup gates instead of outlasting them (1b7c8a7)
  • testing: size rl fixtures from the model, not a hardcoded state width (3333074)
  • tests: clear the warmup gate in the dqn exploration schedule fixture (491b58f)
  • tests: tell an initialisation gap from a training defect in the train/test invariant (08b860d)
  • tests: use APIs that exist on net471 in the paper-optimizer tests (c9deb46)
  • tests: use portable typed shape assertions in audio probes (d45d93e)
  • tests: validate clone fixture with the real generator pipeline (fb27f0a)
  • timeseries: preserve Autoformer gradients across arena resets (2f0a699)
  • tts: rebuild a cloned Bark around its own codec, not a fresh default one (2860c39)
  • validate multimodal contracts and restore shared model state (6b1f3ca)
  • validate visual-query ONNX configuration against loaded graphs (55e9e8d)
  • video: declare VideoMAE's default input as a clip it can embed (44208d2)
  • vislang: close the onnx and correspondence review findings (06831e6)
  • vislang: validate consumed native geometry and preserve valid defaults (5a5f5b0)
  • wavelets: use floating-point 3/2 in the Meyer wavelet second transition band (721c7a6)

Refactoring

  • drop an unused local from the rainbow update (db4df03)
  • remove write-only collections flagged by CodeQL cs/unused-collection (0951d2d)

Build System

  • tests/AiDotNet.Tests -f net10.0, 0 errors. (4ec42f0)

Documentation

  • #2090: spec — model Options as the user-facing configuration surface (c2d99cf)
  • ci: correct delta validation planning contract (45ac559)
  • ci: record independent review and delta reuse proofs (133f89b)
  • ci: record routing canary evidence (88364e9)
  • ci: record routing canary evidence (bcf0aaf)
  • ci: record startup evidence and native proof boundary (9de7c98)
  • correct the placeholder-defaults claim, measured on the wrong branch (cea3a45), closes #2090
  • options: reconcile typed configuration contracts and complete phase accounting (e2df961)
  • pass eagle options to the eagle language model example (9d5dfc5)
  • prove audio regressions on every test framework (7f5f6cf)
  • record failure-first action provenance verification (480be82)
  • record PR2130 native options validation proof (731bcd3)
  • review: record 419 integrated test passes and binary hashes (34ac3a7)
  • review: record 419 integrated test passes and binary hashes (31ad157)
  • review: record independent actual-model options proof (855e0d5)
  • review: record independent actual-model options proof (dcafab9)
  • vision-mamba: pass the example's sizes through VisionMambaOptions (d57f0bb)