# Changelog

Changes are listed most recent first. Security-related entries appear first in their release section and use the SECURITY: prefix.

v0.2.1 (2026-09-24)
--------------------
  *) Add metrics module for validated binary-classification and regression metrics.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add tracking module for an explicit Weights & Biases run lifecycle.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add training module composing checkpointing with one explicit training loop.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add device.configure_multihost for pre-JAX multihost coordinator policy.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add nn.display and validated attention-mask helpers over flax.nnx.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add plot module for headless figures and atomic PNG saving.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Change parallel.shard_mapped to require Explicit mesh axes plus axis_names, matching jax 0.12.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Replace device.gpus with per-vendor nvidia_gpus, amd_gpus, and intel_gpus.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Mirror JAX's accelerator extras 1:1 and remove the tinax[gpu] extra.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Bump runtime, build, and dev dependencies to their current PyPI releases.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

v0.2.0 (2026-07-19)
--------------------
  *) Rename tinax modules: arrays, grain, randomness, diagnostics,
     nnx, sharding TO array, data, random, debug, nn, parallel.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add jit module (bounded_jit, batched_jit): trace-budgeted
     compilation and vmap batching with an optional mesh.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add grad module (value_and_grad, jacobian, hessian) with shared
     argnums validation.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add device module: pre-JAX environment policy, runtime info
     and optional gpu, tpu detection.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Add parallel.shard_mapped, data read/write interface,
     split helpers, array ops, debug.visualize_array_sharding, and
     weights msgpack.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

  *) Replace ad hoc Chex, JAX, Flax, Optax, Orbax examples with tested 
     per-module recipes under examples, .
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

v0.1.1 (2026-07-18)
--------------------
  *) Lower the minimum supported Python to 3.12 and up to 3.14.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]

v0.1.0 (2026-07-17)
--------------------
  *) Initial release.
    [Tarek Ibrahim <tareki pulsarxtech.com> <t1br4h1m gmail.com>]
