unstale

pypi / coreai-torch

coreai-torch

What changed in coreai-torch 0.4, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

9 breaking11 new APIs and options2 performance7 behavior and defaults2 tooling19 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

coreai-torch 0.450 changes

Breaking changes 9

  • conv_transpose now rejects output_padding values that PyTorch itself rejects.

    0.4.3release notes

  • The separate optimize() step has been removed.

    0.4.3release notes

  • Per-operation timing lookups have been removed.

    0.4.3release notes

  • The total_duration_ns benchmark field has been removed.

    0.4.3release notes

  • Integer true division now promotes to float instead of silently truncating.

    0.4.2release notes

  • Artifacts converted with coreai-torch v0.4.0 will fail to load or specialize on-device starting with OS 27 second beta; reconvert with v0.4.1 or later.

    0.4.1release notes

  • save_asset records the producer in asset metadata, overwrites an existing serialized model instead of failing, and validates that the destination has a .aimodel extension.

    0.4.1release notes

  • The legacy Torch importer was removed.

    0.4.1release notes

  • The unused ml_asset module was removed.

    0.4.1release notes

New APIs and options 11

  • A debugging report shows the device chosen for each operation and the reason for any declined placement.

    0.4.3release notes

  • A debugging report captures and compares intermediate values.

    0.4.3release notes

  • A debugging report breaks a program down by operation kind.

    0.4.3release notes

  • A debugging report explains why a placement moved between two plans.

    0.4.3release notes

  • Compares two benchmark runs and reports resized dispatches when operations were added or removed.

    0.4.3release notes

  • Excluded nodes are reported as ValidationResult.SKIPPED and no longer narrow the debugging search.

    0.4.3release notes

  • Adds support for aten::atan2, decomposed into atan(y/x) with per-quadrant correction.

    0.4.2release notes

  • Adds a two-step patch/sub-export API for callers driving export themselves, with autograd support so gradients flow through externalized submodules; the one-shot path is unchanged.

    0.4.2release notes

  • InferenceValue.Kind now supports image types.

    0.4.1release notes

  • Lowering now supports masked_scatter, which writes values into a tensor at masked positions.

    0.4.1release notes

  • Python bindings now support strided views.

    0.4.1release notes

Performance 2

  • Debug operation IDs are assigned once per graph rather than once per node, making conversion time linear in graph size; IDs now follow IR order.

    0.4.3release notes

  • Diffing is linear-time, reports modified operations rather than unrelated removal/addition pairs, and supports weight-value comparison policies.

    0.4.2release notes

Behavior and default changes 7

  • Timing is recorded once per dispatch, rather than divided among individual operations; benchmarks now include an untimed warmup run.

    0.4.3release notes

  • Composite labels no longer include the random suffix added by externalization, allowing programs from different builds to be compared by label.

    0.4.3release notes

  • to_coreai() now returns an already-optimized program, so callers no longer need a separate optimization step.

    0.4.3release notes

  • The upper bound on torch is removed; torch>=2.8.0 is accepted, with a warning when installed PyTorch is newer than the verified range.

    0.4.2release notes

  • The scalarAt subscript is now public.

    0.4.1release notes

  • Shape lowering now supports mixed SymInt and int shapes.

    0.4.1release notes

  • Lowering supports dynamic or symbolic repeat counts, rather than only fixed integers.

    0.4.1release notes

Tooling 2

Fixes and other changes 19

  • Fixed a benchmarker interval-ID collision that caused debugging crashes.

    0.4.3release notes

  • Debugging bisection now honours its depth range.

    0.4.3release notes

  • Diffing now follows arguments nested in lists, tuples, and dicts, as well as kwargs; constant arguments are part of node identity.

    0.4.3release notes

  • The graphdiff tool no longer recurses infinitely on non-torch graphs.

    0.4.3release notes

  • Debugging histograms no longer crash for callees that have no graph.

    0.4.3release notes

  • Debugging no longer crashes when it encounters an unrecognised compute device.

    0.4.3release notes

  • Listings omit colour escapes when written to a file or in-memory stream and indent to match the line they describe.

    0.4.2release notes

  • Argmin indices are now correct when minima equal dtype-extremal values.

    0.4.2release notes

  • Conv transpose lowering is fixed.

    0.4.2release notes

  • Debug info attribution and module instance numbering are fixed across separately converted hierarchies and for operations reachable only through operand edges.

    0.4.2release notes

  • Batch norm is computed in fp32 instead of downcasting parameters, avoiding overflow of large running_var values and silently zeroed output.

    0.4.2release notes

  • Synthesized gamma and beta retain normalized_shape when elementwise_affine=False, matching the composite boundary's declared axes.

    0.4.2release notes

  • max_pool2d now respects its default stride value.

    0.4.2release notes

  • Negative-axis handling is fixed so per-channel axis=-1 is no longer applied one dimension early.

    0.4.2release notes

  • Calling torch.mean with dtype on an integer tensor no longer fails conversion.

    0.4.2release notes

  • Lowering preserves static output shape for float dtypes when bounds are integers.

    0.4.1release notes

  • Shape lowering supports mixed SymInt and int shapes, and concat lowering works when a non-concat axis remains dynamic after shape promotion.

    0.4.1release notes

  • Shape lowering now supports mixed SymInt and int shapes.

    0.4.1release notes

  • Shape lowering now supports mixed SymInt and int shapes.

    0.4.1release notes