Deprecations (removed in 1.0)

AMBER 0.4 settled on one canonical verb per task. Legacy spellings still work but emit DeprecationWarning and are scheduled for removal in 1.0. Silence warnings in benchmark / reproducibility runs with:

export AMBER_SUPPRESS_DEPRECATIONS=1

Canonical → legacy table

Rules of thumb

  1. One write path per column per step under simultaneous activation (or use scatter_add as the sanctioned reducer). See model.run(contract="check").

  2. Do not assign population.data from user code — use agents.col = ... / agents.set / agents.commit.

  3. AgentPy-shaped OOP (AgentList, methods, by_id) remains fully supported; only the parallel batch aliases and record helpers go away.

  4. Place runs with cpu() / gpu() (or run(device=...)), not legacy backend=.

How warnings look

DeprecationWarning: Model.update_agent_data(...) is deprecated since
AMBER 0.4 and will be removed in 1.0; use agent.<col> = value or
agents.at[id].set(**cols) instead.

Tracking

Source of truth for emit sites: ambr._deprecation.warn_deprecated call sites under src/ambr/. Tests: tests/test_deprecations.py.