Skip to content

Release Notes

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

Release Notes

Wiki hero

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

Grounded in package main @ e59faf1 and tag v0.5.1 (37b0625).
Canonical changelog: CHANGELOG.md.

Pin Value
crates.io / Cargo neuromod = "0.5.1"
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 37b0625 (v0.5.1)
Wiki tip (main) e59faf1

[0.5.1] — 2026-08-08

Trust & packaging honesty + Hodgkin–Huxley hygiene.

Install pin: neuromod = "0.5.1" (publish to crates.io separately when ready).

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.
  • Tag tip also includes post-merge Actions dependency group bump (#87).
  • #91 (on main after the tag, tip e59faf1): untrack committed cubic AI wiki (.cubic/), gitignore + crate exclude — docs SoT is rustdoc / README / docs/ (+ this GitHub Wiki). Removes the frozen 0.5.0 cubic pages that were still in the code repo tree.

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: 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.1"
# optional observability
# neuromod = { version = "0.5.1", features = ["sentry"] }
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.

Related


Last updated: August 8, 2026 Updated by: Grok Build: Grok 4.5 (high) Package tip reference: e59faf1 (main @ 0.5.1 + #91; tag v0.5.1 = 37b0625) Cubic: page-intro Devin DeepWiki: neuromod @ e59faf1

Clone this wiki locally