Skip to content

v0.234.0

Choose a tag to compare

@ooples ooples released this 10 Oct 21:50
d42eb0c

0.234.0 (2026-10-10)

Features

  • ci: add a typeimpact inventory mode that finds test classes no shard selects (8792efd)
  • ci: build the merge base on generator prs so typeimpact can narrow them (1f137ac)
  • ci: key the model windows by name so a new model moves only its own window (e45350f)
  • ci: map generator changes through their generated output in typeimpact (51a5b2e)
  • ci: record every file's shard-selection decision in selection.json (74f0383)
  • ci: render the full shard-selection decision in the job summary (d789abb)
  • ci: run the 269 test classes no shard selected, and gate on zero (67aca9b)
  • ci: stop escalating on tools that nothing here builds, tests or invokes (8b43011)
  • optimizers: make amsgrad paper-faithful by default, with a pytorch variant (04da3d7)
  • optimizers: per-layer learning rates, the equivalent of pytorch param groups (59c272e)
  • optimizers: run paper-faithful amsgrad on the gpu paths (5eed8a5)
  • options: move model hyperparameters onto their Options classes (#2090) (b7c9657)
  • step-level streaming training (checkpoint/resume, validation, WSD) + scheduler & checkpoint-id fixes (c8112de)
  • step-level streaming training (checkpoint/resume, validation, WSD) and scheduler/checkpoint (5c3ca1a)
  • training: facade trains NNs through the model's own step; fix five trajectory bugs it exposed (0865de3)

Bug Fixes

  • abinet: make building the multi-task objective idempotent (5f774c5)
  • address the unresolved ai-dotnet #2277 review threads (74614da)
  • asgd: take the flat path so averaging always advances (76ca47b)
  • audio: size marblenet's and wavlm-speaker's batch norms explicitly (610f770)
  • batchnorm: honour a declared channels-last layout; recalibrate regardless of mode (e875523)
  • batchnorm: keep canonical nchw activations channels-first; add a statistics overwrite (b1990d7)
  • batchnorm: normalize a single-sample conv activation over its spatial positions (18823f7)
  • batchnorm: normalize a single-sample conv activation over its spatial positions (369abd1)
  • builder: a cpu configuration keeps the cpu engine the process already runs on (a5ea55c)
  • builder: refuse streaming training options on non-streaming builds (e322086)
  • carry OpenSora's training timestep as data instead of opting out of fused training (39f93c9)
  • ci: a passthrough publishes empty selection outputs (ff95543)
  • ci: a script only independent workflows run no longer escalates selection (87ec8b2), closes #2243
  • ci: address review of test-level selection (5408d5a)
  • ci: address review on the selection report (a8b7179)
  • ci: budget the test-level matrix for github's utf-16 output cap (1fcffa5)
  • ci: budget the test-level matrix for github's utf-16 output cap (3844dc4)
  • ci: clear the CodeQL alerts this PR introduced (dc916d2)
  • ci: cross-ISA comparator checks expected coverage and rejects incomplete outcomes (e03310f)
  • ci: dispose TypeImpact's readers on every failed open; map handles with Select (3f57aac)
  • ci: fail generated-dependency routing closed only when the change edits its inputs (d4fa5ee), closes #2243
  • ci: pass the workflow's explicit decision reason to the selection report (cf14d48)
  • ci: report the test-level matrix that actually ran, not the plan's candidates (9cccde0)
  • ci: stop escalating on unreferenced top-level trees and unassigned test sources (5d0947e)
  • ci: stop the heavy-timeout lane OOM-killing its own runner (3f9bbde)
  • ci: stop two escalations that sent every pr to the full shard matrix (677b5a2)
  • ci: test-level selection passes through cleanly for a change without C# edits (613ee8f)
  • ci: the .github reference check does not count the classifier that names the files it checks (09375f8)
  • ci: treat .github files no workflow or tool reads as non-runtime (474f6fa)
  • clear the codeql errors #2136 surfaced in files it touched (eb77cf5)
  • clone: give a copied model its own optimizer instead of the source's (a92593c)
  • clone: repair two defects that rejected or refused a valid model's DeepCopy (9f2850e)
  • compute four integer products in double before converting them (1fcedf7)
  • csdi: declare the denoising objective so the memorization probe measures it, not one random (dc554b5)
  • deepar: a clone kept the caller's loss choice, not the resolved default (679f405)
  • diffusion: keep a text conditioner's options where its clone reads them (8ac1d77)
  • finance: apply s4's configured warmup to its paper lamb recipe (67857f3)
  • finance: compute S4's HiPPO norms and PatchTST's frequency index without an integer step (2cab6c8)
  • finance: judge csdi's memorization probe on its declared denoising objective (f1677d4)
  • finance: train every financial model with the optimizer it builds (f8e7078)
  • finance: train s4 with its paper lamb recipe and cap its hippo parameters (4bdb339)
  • fused training matches eager - optimizer formulas, persistent fused steps, full trainable set (0936095)
  • gat seeding, rg-lru fused compiled scan, heavy-lane oom cap, adam8bit bf16 coverage (#2284) (852df92)
  • generators: make model test coverage measurable, gated, and unambiguous (#2091) (1b72f56)
  • grafprint: compute the contrastive objective the way training does (5cd2df1)
  • imagesharp advisories, paper-scale step speed, convtasnet and nightly-lane fixes (combined) (#2306) (00c8c3b)
  • latent diffusion trains on vae latents, Options.Seed honoured across models, FastSpeech2 back in the PR gate (#2292) (0aa36cd)
  • layers: bidirectional rnn gradient and alignment; lstm stale eval cache (9fca498)
  • layers: bidirectional rnn gradient and time alignment; lstm stale eval cache (97d3d37)
  • layers: initialize lstm weights from the layer's own seeded stream (a000af0)
  • layers: piecewise linear encoding as the paper defines it, on the gradient tape (d0fe11b)
  • layers: place rbf centres on the first batch and set widths from their spread (2fcac71)
  • lid/speaker paper ops, mia-vsr masked attention, awgim, differentiable nerf rendering (#2289) (7dc84dc)
  • mask r-cnn as published, cql/iql nan actions, conditionalgan discriminator, ci cancel reasons (#2283) (ac362d8)
  • nn: close four review findings on the fused and facade training paths (deacac7)
  • nn: fused GPU step must not treat device-updated params as host-authoritative (WIP) (4e0a64e)
  • nn: installing a different training optimizer drops the model's fused plan (c594a5a)
  • ocr: audit fixes part 1 - dedupe, Donut, seeding, text-detector post-processing, residuals (#2269) (0004715)
  • opensora: checkpoint one DiT block per segment; re-lease the geometry intents to the new (a7771e9)
  • opensora: train the DDPM objective on the tape, checkpoint the DiT blocks, and fix its (453893b)
  • optimizers: asgd promotes the averaged iterate for networks (59c5a6e)
  • optimizers: clip with pytorch's coefficient in the eager tape step (7b0d7f9)
  • optimizers: eager AMSGrad/Nadam match the fused and GPU kernels; fused paths stop running the (4671616)
  • optimizers: honour declared warmups over a constant rate, and schedules in lamb (02e286c)
  • optimizers: keep sharded optimizers on the flat path that publishes gradients (edb26e3)
  • optimizers: make every eager nadam path follow dozat 2016 algorithm 8 (8e72b2e)
  • optimizers: restart schedule-free adamw's step count for a new parameter vector (1744558)
  • optimizers: take adam's amsgrad max over the raw second moment (539c350)
  • options: make ONNX constructors read their options, ratchet to zero (ee7f47f)
  • parameters: stop absent components matching as shared storage (3c6148e)
  • persist deep gaussian process layer state and drop the shallow gp clone (4d27188)
  • rbf: initialize widths from center spacing (Moody and Darken 1989), not U(0, 1) (4579a39)
  • regularization never joins the model's graph; clone state past 2 GB (578b000)
  • release: cap build parallelism so the release runner survives the compile (3db9675)
  • release: cap build parallelism so the release runner survives the compile (7b2f204)
  • scheduleFreeAdamW state reset, cloning models with external layer types (9386005)
  • serialization: an assembly-qualified layer identity never falls back to another assembly (30dea59)
  • serialization: custom layers keep their assembly identity across save and load (17e832f)
  • synthetic-data: per-batch fused mapping in tabddpm; eager test forces the eager path (4994997)
  • tabular: ft-transformer training reaches the whole network, not only the head (401c563)
  • tests: build the OpenSora fixture at test scale so the census fits a runner (fc097d1)
  • tests: measured training budget for RepViTSAM, and a nightly cross-ISA agreement lane (fdbfd45)
  • tests: measured training budget for RepViTSAM, and a nightly cross-ISA agreement lane (9b0eadb)
  • tests: port the unassigned - 01 runner-death fix from #2284 (3cf673a)
  • the CodeQL error and notes on this branch (c1cc512)
  • timediff: seed weight init and training draws from options seed (38ea527)
  • timeseries: honour Options.Seed in the deep time-series models, and stop N-BEATS blocks sharing (06c4a9c)
  • timeseries: honour Options.Seed in the deep time-series models; stop N-BEATS blocks sharing initial weights (a953a20)
  • timeseries: keep the seed when deepant, lstm-vae and chronos options are copied (ef136ae)
  • training: a model clone keeps its optimizer's regularization choice; fused per-epoch rate via (b129f16)
  • training: a network's own step applies only an explicitly chosen regularization (602fd50)
  • training: address #2252 review on per-model state, streaming options and optimizers (8736a55)
  • training: apply the optimizer clip and per-epoch schedule in fused steps (d6b333a)
  • training: apply the optimizer's own clip in streaming training (fa8aba7)
  • training: carry fused-plan optimizer state through checkpoints (#2254) (7abcb3c)
  • training: drop float equality from the streaming clip decision (75d48a6)
  • training: fused multi-slot / WGAN-GP steps keep their optimizer state and train what eager (65df408)
  • training: invalidate the fused plan when a different optimizer is installed (ed34b0f)
  • training: keep shape-switch state per owner and compile switched plans fresh (f5b301b)
  • training: key compiled training state per model, not per thread (edb722b)
  • training: refit preprocessing on epoch 0's first batch when resuming (b3f23c3)
  • training: the fused step clips and schedules like the eager step (3617c66)
  • tts: expose naturalspeech3's warmup so short runs can train (e25f47d)
  • tts: ramp cosyvoice2's learning rate in over its first steps (297f8b7)
  • use hostsync after tensors 0.133.1 removed the deferred array materializer (71019a5)
  • video: reject raft frame pairs with the wrong stacked channel count (ba798ad)
  • video: route VideoMAE pretraining through its decoder and declare TimeSformer's clip input (a9d755e)
  • vision: dispose concerto's dino centering buffer when pretraining ends (a033151)

Performance

  • helpers: chunked memory stream overrides the span read and write (75e7eae)
  • opensora: run layer norm, windowed attention and gelu on engine ops (711eed5)

Reverts

  • csdi: drop the training objective here, ai-dotnet #2277 owns it (680a939)
  • rbf: take the rbf width fix from ai-dotnet #2277 (0cbadc7)

Refactoring

  • consume standalone evolution engine package (6f4a2c4)
  • optimizers: internal scheduler setter and codeql fixes (9766d32)
  • options: bring streaming training options onto the options pattern (8442ceb)
  • remove collections that are written but never read (002f347)
  • video: name videomae's target-normalization offset; assert videoclip shape (028e606)

Build System

  • bump aidotnet.tensors and natives to 0.132.1 (d3523aa)
  • bump aidotnet.tensors and the native packages to 0.133.2 (9fccf87)
  • bump aidotnet.tensors and the native packages to 0.134.0 (ecbe66d)
  • consume stable aidotnet.evolution 0.1.0 and drop the nu5104 waiver (7e5a02a)
  • deps: bump aidotnet.tensors and natives to 0.133.1 (634e5e7)
  • deps: bump devalue (b1cb8d5)
  • deps: bump the npm_and_yarn group across 1 directory with 1 update (5856879)

Documentation

  • activation: clarify temperature conversion (3eb874f)
  • builder: declare the builder and held-out loader in the streaming example (f8c5eb9)
  • offer private vulnerability reporting in the issue chooser (#2296) (38fa851)
  • pass migrated hyperparameters through options in model examples (355a610)