Skip to content

⬆️ bump brainstate from 0.4.0 to 0.4.1#92

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/brainstate-0.4.1
Closed

⬆️ bump brainstate from 0.4.0 to 0.4.1#92
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/brainstate-0.4.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 10, 2026

Copy link
Copy Markdown
Contributor

Bumps brainstate from 0.4.0 to 0.4.1.

Release notes

Sourced from brainstate's releases.

brainstate 0.4.1

A focused patch release that hardens the shared state-aware mapping engine behind vmap / pmap / map (and their module-level *2 variants) against a set of correctness edge cases surfaced by a JAX-expert audit, alongside a routine CI and developer-dependency refresh. No public APIs change.

Bug Fixes

  • Read–modify–write states no longer accumulate a spurious axis under mapping: an undeclared state that a mapped function reads and writes in place, and whose shape already matches the mapped axes, is now auto-promoted to a per-lane input and output. Previously each call grew an extra leading axis on the state's value (#203).
  • pmap2 now rejects positional argument indices it cannot honor: static_broadcasted_argnums and donate_argnums are no longer silently accepted, because those indices addressed the wrapper's internally bundled arguments rather than the user's. Passing them now raises an explicit error (#203).
  • Stale plan cache after state garbage collection: the mapping engine's plan cache is now weakref-backed. When any state captured by a cached plan has been garbage-collected — for example after a module is re-initialized — the plan is rebuilt instead of scattering writes onto orphaned State objects (#203).
  • Random sampling inside batched map: drawing random numbers within map(..., batch_size=...) is now supported (#203).
  • Consistent replication of non-batched states in the legacy vmap_new_states: NonBatchState / INIT_NO_BATCHING states created inside vmap_new_states are now replicated rather than batched along axis 0, matching the behavior of vmap2_new_states (#203).

Internal Changes

  • Consolidated the new-state resolver and the INIT_NO_BATCHING sentinel into the shared _mapping_core module, re-exported from _mapping2 to preserve backward compatibility (#203).
  • Documented and hardened the zero-placeholder shape probe and value-dependent control flow, multi-pass (Python-level) side effects, the double init_all_states pass, and the engine's thread-safety guarantees (audit items B4, B7–B10) (#203).
  • Merged the standalone composition and nested-leak test suites into the primary _mapping1 / _mapping2 / _mapping_core test modules; the full suite reports 4645 passed, 24 skipped (#203).

CI/CD

  • Bumped codecov/codecov-action from v5 to v7 (#199, #202).
  • Bumped actions/cache from v4 to v5 (#200).
  • Refreshed development dependencies (braintools, mypy) in requirements-dev.txt (#201).

Full Changelog: chaobrain/brainstate@v0.4.0...v0.4.1

Changelog

Sourced from brainstate's changelog.

Version 0.4.1 (2026-06-09)

A focused patch release that hardens the shared state-aware mapping engine behind vmap / pmap / map (and their module-level *2 variants) against a set of correctness edge cases surfaced by a JAX-expert audit, alongside a routine CI and developer-dependency refresh. No public APIs change.

Bug Fixes

  • Read–modify–write states no longer accumulate a spurious axis under mapping: an undeclared state that a mapped function reads and writes in place, and whose shape already matches the mapped axes, is now auto-promoted to a per-lane input and output. Previously each call grew an extra leading axis on the state's value (#203).
  • pmap2 now rejects positional argument indices it cannot honor: static_broadcasted_argnums and donate_argnums are no longer silently accepted, because those indices addressed the wrapper's internally bundled arguments rather than the user's. Passing them now raises an explicit error (#203).
  • Stale plan cache after state garbage collection: the mapping engine's plan cache is now weakref-backed. When any state captured by a cached plan has been garbage-collected — for example after a module is re-initialized — the plan is rebuilt instead of scattering writes onto orphaned State objects (#203).
  • Random sampling inside batched map: drawing random numbers within map(..., batch_size=...) is now supported (#203).
  • Consistent replication of non-batched states in the legacy vmap_new_states: NonBatchState / INIT_NO_BATCHING states created inside vmap_new_states are now replicated rather than batched along axis 0, matching the behavior of vmap2_new_states (#203).

Internal Changes

  • Consolidated the new-state resolver and the INIT_NO_BATCHING sentinel into the shared _mapping_core module, re-exported from _mapping2 to preserve backward compatibility (#203).
  • Documented and hardened the zero-placeholder shape probe and value-dependent control flow, multi-pass (Python-level) side effects, the double init_all_states pass, and the engine's thread-safety guarantees (audit items B4, B7–B10) (#203).
  • Merged the standalone composition and nested-leak test suites into the primary _mapping1 / _mapping2 / _mapping_core test modules; the full suite reports 4645 passed, 24 skipped (#203).

CI/CD

  • Bumped codecov/codecov-action from v5 to v7 (#199, #202).
  • Bumped actions/cache from v4 to v5 (#200).
  • Refreshed development dependencies (braintools, mypy) in requirements-dev.txt (#201).
Commits
  • 9b79925 ci: add codecov.yml with explicit 90% coverage gate (#205)
  • d675b5a release: 0.4.1 (#204)
  • ff7fccb deps(deps): bump codecov/codecov-action from 6 to 7 (#202)
  • 1f015d7 fix(transform): harden state-aware mapping engine (audit B1-B10) (#203)
  • fef6dd6 deps(deps-dev): bump the development-dependencies group with 2 updates (#201)
  • 7b405b9 deps(deps): bump actions/cache from 4 to 5 (#200)
  • e4efc65 deps(deps): bump codecov/codecov-action from 5 to 6 (#199)
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [brainstate](https://github.com/chaobrain/brainstate) from 0.4.0 to 0.4.1.
- [Release notes](https://github.com/chaobrain/brainstate/releases)
- [Changelog](https://github.com/chaobrain/brainstate/blob/main/changelog.md)
- [Commits](chaobrain/brainstate@v0.4.0...v0.4.1)

---
updated-dependencies:
- dependency-name: brainstate
  dependency-version: 0.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Jun 10, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #94.

@dependabot dependabot Bot closed this Jun 11, 2026
@dependabot dependabot Bot deleted the dependabot/pip/brainstate-0.4.1 branch June 11, 2026 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants