Skip to content

Release Notes

Raul Montoya Cardenas edited this page Aug 12, 2026 · 4 revisions

Release Notes

Wiki hero

Generated with Grok Build: Grok 4.5 · xAI Imagine (/imagine)

Grounded in package main @ 328ea9c and tag v0.5.2 (ef9fba8).
Canonical changelog: CHANGELOG.md.

Pin Value
crates.io / Cargo neuromod = "0.5.2"
MSRV 1.97.1 (rust-version in Cargo.toml)
Edition 2024
License MIT OR Apache-2.0 (dual; GPL removed in 0.5.0)
docs.rs https://docs.rs/neuromod
Tag commit ef9fba8 (v0.5.2)
Wiki tip (main) 328ea9c (#97/#98 after tag)

[0.5.2] — 2026-08-12

Docs, CI, and packaging hygiene. Published to crates.io.

Install pin: neuromod = "0.5.2"

Removed

  • Optional sentry Cargo feature, examples/sentry.rs, tests/sentry_integration.rs, and .github/workflows/sentry-release.yml. Observability belongs in application binaries (depend on sentry there); the library no longer pulls or demos Sentry (#88, #78).

Changed

  • Stop tracking .cubic/wiki in git; ignore .cubic/ and exclude it from the crates.io package so regenerated cubic wiki is not a documentation source of truth (#90, #91).
  • Rustdoc textbook spine: crate-root syllabus, module docs for engine / lif / izhikevich / modulators, and expanded SpikingNetwork::step contract (pipeline order, STDP honesty, doctest) (#89).
  • MSRV policy: README Requirements + crate docs state Rust 1.97.1; CI verifies Cargo.toml / rust-toolchain.toml / workflow pin stay identical (#79).
  • CI OS matrix: core CI runs build/clippy/tests on Linux, macOS, and Windows; README documents the three-platform matrix and the paths-filter gate for nextest/cargo-hack (#94, #95).
  • Domain-agnostic docs check builds with cargo doc --all-features --no-deps before the forbidden-term scan.
  • Codecov: official badge; CI uploads via repo CODECOV_TOKEN (tokenless returns HTTP 400 for this org); upload steps use fail_ci_if_error: false so coverage remains non-blocking.

On main after the tag (tip 328ea9c)

  • Docker dual-push: example runtime images to Docker Hub (pelon23/neuromod) and GHCR (ghcr.io/limen-neural/neuromod) with SHA, version, and latest tags (#97).
  • Docker verify: PR job asserts example binaries exist in the runtime image; publish job requires full X.Y.Z crate version for tags (#98).
  • README install pin documents 0.5.2; crates.io / docs.rs badges stay version-agnostic (latest).

Links

[0.5.1] — 2026-08-08

Trust & packaging honesty + Hodgkin–Huxley hygiene.

Install pin: neuromod = "0.5.1"

Changed

  • Docs / packaging honesty: honest crates.io description (no unsubstantiated “high-performance”); README badges and dual-license presentation; crate and README docs state that SpikingNetwork wires LIF + Izhikevich only, with other models available as standalone types (#66, #67, #69, #70 / #84).
  • src/hodgkin_huxley.rs: stripped verbose AI-generated commentary and consolidated repeated RK4/gating calculations (#85).
  • src/lif.rs: shortened Poisson-spike generation comment.
  • tests/sentry_integration.rs: trimmed redundant feature-gate prose (feature removed in 0.5.2).
  • Tag tip also includes post-merge Actions dependency group bump (#87).
  • #91 (on main after the tag): untrack committed cubic AI wiki (.cubic/), gitignore + crate exclude — docs SoT is rustdoc / README / docs/ (+ this GitHub Wiki).

Fixed

  • Fixed HodgkinHuxleyNeuron::derivatives to shift the membrane potential back to the HH relative convention before evaluating α/β gating rates for cortical (mammalian) parameterizations, matching the shift already used by steady_state_gating_mammalian and reset (#85).

Links

[0.5.0] — 2026-07-30

Published to crates.io. Tag commit: 67c1573.

Added

  • Generic neuromodulator APINeuroModulators fields: dopamine, serotonin, acetylcholine, norepinephrine
  • SignalProfile — map external signals → modulator levels (default(), optional hardware_calibrated())
  • GenericReward + Observation — domain-agnostic reward shaping for downstream crates
  • UnitReward — mean-signal demo/test reward
  • apply_neuromodulation — apply modulator effects to weight / threshold slices
  • GitHub Actions CI — fmt, clippy, build, test on push/PR to main
  • Unit tests for EligibilityTrace::decay and LIF/Poisson paths
  • Org boundary / modularization docs (boundary matrix, ADR 001, org modularization)

Breaking changes (from 0.4.x)

Old New
cortisol, tempo, aux_dopamine fields Removed
from_signals(...) without profile from_signals(&SignalProfile, …)
add_stress / is_stressed add_norepinephrine / is_aroused

Fixed / quality (also in 0.5.0 line)

  • Criterion benches: all four [[bench]] set harness = false (fixes silent running 0 tests)
  • PoissonEncoder deterministic at intensity 0.0 / 1.0
  • Sentry example (later removed in 0.5.2): SENTRY_ENVIRONMENT, drop info-level probe
  • License dual MIT/Apache-2.0; domain-agnostic docs (mining/HFT / Eagle-Lander cleaned)

Upgrade notes

# Cargo.toml
neuromod = "0.5.2"
use neuromod::{NeuroModulators, SignalProfile};

// 0.5.0+: SignalProfile required
let profile = SignalProfile::default();
let mut mods = NeuroModulators::from_signals(&profile, 0.2, 0.1, 0.8, 0.9);
mods.add_norepinephrine(0.1); // not add_stress
assert!(mods.is_aroused() || !mods.is_aroused()); // not is_stressed

0.5.0 → 0.5.1: API-compatible. Prefer README wording that SpikingNetwork is LIF+Izh only; use standalone types for Lapicque / GIF / FHN / HH.

0.5.1 → 0.5.2: API-compatible for neuron/modulator surfaces. Drop any features = ["sentry"] on the neuromod dependency; wire Sentry in the application binary if needed. Prefer docs.rs rustdoc for the step-pipeline textbook spine.

Related


Last updated: August 12, 2026 Updated by: Grok Build: Grok 4.5 (high) Package tip reference: 328ea9c (main @ 0.5.2 + #97/#98; tag v0.5.2 = ef9fba8) Cubic: page-intro Devin DeepWiki: neuromod @ 328ea9c

Clone this wiki locally