v1.1.0
AntHocNet v1.1.0. See CHANGELOG.md.
Install bundle (anthocnet-1.1.0.zip) — the source to
drop onto your own simulator tree:
make install-ns3 NS3DIR=… or make install-ns2 NS2DIR=….
Pre-built simulator images are on GHCR (see docker/README.md),
including release-pinned tags anthocnet-ns{2,3}:<sim-version>-v1.1.0.
What's Changed
- docs: record the two-step release / post-release Zenodo DOI procedure by @danieljoppi in #106
- chore(release): exclude .github and .claude from the source archives by @danieljoppi in #108
- docs: add the JOSS software-paper draft (paper/) by @danieljoppi in #113
- feat(bench): add a --propagation override to run-scenarios.py by @danieljoppi in #114
- docs: add author ORCID by @danieljoppi in #115
- fix: correct the Zenodo DOI (concept DOI, README badge + CITATION.cff) by @danieljoppi in #116
- docs(paper): note JOSS submission is deferred, and why by @danieljoppi in #117
- ci(scenario-matrix): raise job timeout, upload partial results on failure by @danieljoppi in #118
- fix(bench): flush the CSV after every point, not just at script exit by @danieljoppi in #119
- feat(bench): add --point for single-point sweep dispatch by @danieljoppi in #120
- ci: add manual artifact-rescue workflow for campaign CSVs by @danieljoppi in #127
- chore(lint): fix ruff 0.16.0 findings in ns3/tools and pin ruff by @danieljoppi in #136
- ci(bench): determinism gate — identical seeds must produce identical results (#129) by @danieljoppi in #135
- feat(core): pheromone-table size gauge (regular/virtual) in counters + --diag (#133) by @danieljoppi in #141
- feat(bench): emit per-run ##RUN## rows and paired A/B verdicts (#128) by @danieljoppi in #137
- feat(bench): byte-normalized routing load nrl_bytes (#132) by @danieljoppi in #140
- feat(bench): emit ##PERF## wall-clock + peak-RSS lines per sim run (#131) by @danieljoppi in #139
- ci(adapter): add ASan/LSan ns-3 job + valgrind NS-2 smoke, non-blocking (#130) by @danieljoppi in #138
- ci(bench): correct the 6h-ceiling comment and add a step-level timeout to scenario-matrix (#125) by @danieljoppi in #156
- feat(infra): publish an optimized-profile ns-3 image (ns3:<ver>-opt) (#123) by @danieljoppi in #157
- fix(infra): split the Docker Hub mirror into non-fatal steps so a bad token can't skip GHCR publishes (#158) by @danieljoppi in #159
- chore(infra): park the Docker Hub mirror — GHCR is the only published registry (#158) by @danieljoppi in #160
- feat(skills): campaign-loop tooling, scenario validation (#134), and ADR-0014 by @danieljoppi in #161
- feat(core): add an ILinkMetric registry mapping metric names to instances (#143) by @danieljoppi in #163
- test(core): add a discrete-event testbench harness for multi-node core tests (#154) by @danieljoppi in #164
- ci(core): measure and report core test coverage on every PR (#162) by @danieljoppi in #165
- fix(core): adopt T_hop = 3 ms from the 2007 thesis, replacing the provisional 50 ms (#88) by @danieljoppi in #167
- fix(core): stop bounding reactive floods — a broadcast budget is a hop limit (#169) by @danieljoppi in #170
- docs(bench): split the benchmark page into per-scenario and per-sweep pages by @danieljoppi in #168
- docs: add a protocol configuration and calibration guide by @danieljoppi in #171
- feat(skill): compare a sweep across two code generations with a baseline control by @danieljoppi in #172
- docs(bench): correct the results caveats — they claimed the numbers were older than they are by @danieljoppi in #175
- docs(context): point the "are the defaults right?" question at the new provenance table by @danieljoppi in #176
- fix(core): bound the reactive flood per (node, generation), not per ant path by @danieljoppi in #174
- docs(config): record that the thesis supersedes [1] on antAcceptanceFactor by @danieljoppi in #178
- chore: ignore .claude/worktrees/, the agent isolation checkouts by @danieljoppi in #183
- docs(config): record the thesis audit outcome — §3.2 drops from 11 unsourced defaults to 4 by @danieljoppi in #184
- fix(bench): correct the thesis scenario preset from the source, and let scenario-matrix pass extraArgs by @danieljoppi in #187
- docs(bench): the results caveat contradicted the table directly above it by @danieljoppi in #189
- feat(core): adopt the thesis's two-factor acceptance band as the reactive-setup default by @danieljoppi in #190
Full Changelog: v1.0.0...v1.1.0