Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
- [ ] Does this change simulated results (spikes, voltages, traces, weights)?
- [ ] No.
- [ ] Yes. I regenerated the golden files in `test/regression/` with
`--reason`, and explain below why the results changed. (Results-changing
fixes are released in 0.4.0, not 0.3.x; see `CONTRIBUTING.md`.)
`--reason`, and explain below why the results changed. Add a
"Results changes" entry to `CHANGELOG.md`; see `CONTRIBUTING.md`.)
- [ ] Did any of these files change? If yes, say which and why:
- golden files under `test/regression/`
- operation-count file under `test/regression/` (if present)
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ see the [GitHub releases / tags](https://github.com/BindsNET/bindsnet/releases).

## [Unreleased]

## [0.3.5] - 2026-10-29

### Results changes (read this before upgrading)
These fixes change numbers that code produced before. Everything else in this
release either was a crash before or gives bit-identical results (checked by the
Expand Down Expand Up @@ -147,6 +149,9 @@ golden-output tests in `test/regression/`).
- `test/environment/test_gym_environment.py`.

### Changed
- Release rule (`CONTRIBUTING.md`): fixes that change results may ship in any
release and are always listed first, under "Results changes". Before, they waited
for 0.4.0. Changes that break user code still wait for the next minor release.
- Convolutional and locally connected connections normalize all kernels in one
operation instead of a Python loop (6 to 45 times faster on CPU). Results are
identical on CPU; on CUDA, float32 kernels of 81 or more weights can differ by
Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cff-version: 1.2.0
message: "If you use BindsNET, please cite the article below."
title: "BindsNET: A Machine Learning-Oriented Spiking Neural Networks Library in Python"
type: software
version: 0.3.4
version: 0.3.5
license: AGPL-3.0-only
doi: 10.5281/zenodo.20695115
repository-code: "https://github.com/BindsNET/bindsnet"
Expand Down
10 changes: 6 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,12 @@ harmless. Please do not edit them by hand to make them pass.
head takes more than 1.25 times as long (median over the rounds) and the lower end of
the 95% bootstrap interval of that ratio is above 1. It is not a required check; shared CI machines are noisy, and a maintainer decides.

**Fixes that change results are released in 0.4.0, not in 0.3.x.** A correct fix that
changes what a simulation produces still changes published numbers for people using
0.3.x, so it waits for the next minor release. State in the pull request whether your
change alters results, and add a `CHANGELOG.md` entry that says so.
**Fixes that change results can ship in any release, and are always announced.** A
correct fix that changes what a simulation produces still changes numbers people have
published, so `CHANGELOG.md` lists it first, under "Results changes", naming the affected
classes or models. State in the pull request whether your change alters results, and add
that entry. Changes that break user code (a removed or renamed argument, a different
return type) wait for the next minor release (0.4.0).

## Releasing to PyPI

Expand Down
2 changes: 1 addition & 1 deletion docs/source/models_spec.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ models BindsNET implements: the difference equations actually solved each timest
the default parameters with units. Equations and defaults below were transcribed from
the source (``bindsnet/network/nodes.py`` and ``bindsnet/learning/learning.py``); when
in doubt, the source is authoritative. Parameter defaults are stated as of package
version 0.3.4.
version 0.3.5.

Discretization
--------------
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "bindsnet"
version = "0.3.4"
version = "0.3.5"
description = "Spiking neural networks for ML in Python"
authors = [
{ name = "Hananel Hazan", email = "hananel@hazan.org.il" },
Expand Down
6 changes: 3 additions & 3 deletions test/regression/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ Your change altered a result. Either that is the point of the change, or it is a
python test/regression/regen.py --reason "why the results changed"
```

The script refuses to run without a reason and stores it in every file. Results-changing
fixes are released in version 0.4.0, not in a 0.3.x patch release, so the pull request
will wait for that release. See `CONTRIBUTING.md`, "Tests that guard results".
The script refuses to run without a reason and stores it in every file. A results-changing
fix also needs an entry under "Results changes" in `CHANGELOG.md` that names the affected
classes or models. See `CONTRIBUTING.md`, "Tests that guard results".

## When an operation-count test fails

Expand Down
Loading