v1.4.0
AntHocNet v1.4.0. See CHANGELOG.md.
Install bundle (anthocnet-1.4.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.4.0.
Verify your download. The SHA-256 digest is published twice — in
this body and as the anthocnet-1.4.0.zip.sha256 asset:
540b7bbc828d7ce4c84f00b0512df443e8106507f191a48c94ec8bd7e8f46a21 anthocnet-1.4.0.zip
sha256sum -c anthocnet-1.4.0.zip.sha256 # both files in the same directory
What's Changed
- docs: record the v1.3.0 zenodo doi by @danieljoppi in #325
- feat(bench): paired per-seed verdicts in sweep_summary --vs by @danieljoppi in #326
- feat(core): adopt the thesis's pheromone exponents, betaAnts = betaData = 20 by @danieljoppi in #327
- ci: pin all workflow actions to commit shas and add dependabot by @danieljoppi in #338
- docs: support route, question form, honest bug form, ns-2 notice, codeowners by @danieljoppi in #340
- ci: cancel superseded pr runs, lint the whole skills dir, gate relative links by @danieljoppi in #346
- docs: readme hero — pitch, results figure, architecture diagram by @danieljoppi in #347
- ci: publish the core coverage number by @danieljoppi in #348
- build: devcontainer on the ghcr ns-3 image for one-click codespaces by @danieljoppi in #349
- docs: publish docs/ as a mkdocs-material site on github pages by @danieljoppi in #350
- docs: link the docs site and the codespaces quick start by @danieljoppi in #351
- docs: record the #180 verdict against the proactive rate and emission gate by @danieljoppi in #353
- chore: add spdx and copyright headers across the source tree by @danieljoppi in #354
- fix(bench): pin rng streams per seed so results do not depend on split structure by @danieljoppi in #355
- ci: openssf scorecard, release checksums, and the trust-signal assessment by @danieljoppi in #356
- build(deps): bump actions/checkout from 4.4.0 to 7.0.1 by @dependabot[bot] in #342
- build(deps): bump softprops/action-gh-release from 2.6.2 to 3.0.2 by @dependabot[bot] in #343
- build(deps): bump actions/setup-python from 5.6.0 to 7.0.0 by @dependabot[bot] in #345
- build(deps): bump docker/login-action from 3.7.0 to 4.6.0 by @dependabot[bot] in #344
- chore(deps): bump docker/build-push-action from 6.19.2 to 7.3.0 by @dependabot[bot] in #341
- ci: stop Dependabot bumping the ns-2 image base (#339) by @danieljoppi in #357
- chore(deps-dev): bump ruff from 0.16.0 to 0.16.1 by @dependabot[bot] in #358
- chore(deps): bump amannn/action-semantic-pull-request from 5.5.3 to 6.1.1 by @dependabot[bot] in #359
- chore(deps): bump actions/upload-artifact from 4.6.2 to 7.0.1 by @dependabot[bot] in #360
- fix(bench): pin manet-baselines rng streams and extend the seed-independence gate by @danieljoppi in #361
- feat(bench): emit hopsCommon/hopsSurplus for the #308 phase-2 decomposition by @danieljoppi in #363
- feat(bench): measure channel occupancy per run for the #308 per-hop hypothesis by @danieljoppi in #364
- feat(bench): emit ##HOLD## so pending-queue hold time is reachable, not just measured by @danieljoppi in #367
- docs: mark v1.3.0 shipped and record the provenance pin the corpus already had by @danieljoppi in #368
- feat(bench): emit ##CONFIG## so a run records the configuration it ran with by @danieljoppi in #370
- docs(roadmap): record v1.4.0 progress — the delay-tail verdict is delivered by @danieljoppi in #372
- feat(bench): add a mobility-model knob — steady-state RWP and Gauss-Markov by @danieljoppi in #373
- feat(bench): add a Nakagami fading channel — the other half of the v1.4.0 grid by @danieljoppi in #374
- fix(bench): gauss-markov aborted on NormalPitch — a constant where ns-3 demands a normal by @danieljoppi in #375
- docs(bench): state the provenance of every results page — and the two answers differ by @danieljoppi in #376
- docs(roadmap): the v1.4.0 grid reports — delivery ranking stable, tail ranking is not by @danieljoppi in #378
- docs(bench): publish the v1.4.0 mobility × channel grid, and surface the v1.3.0 DOI by @danieljoppi in #379
- feat(bench): regression floors for the grid arms — and why they are not anchors by @danieljoppi in #380
- feat(bench): add a TCP arm — saturating BulkSend, with ##GOODPUT## as its headline by @danieljoppi in #381
- fix(bench): reorder columns must be absent under TCP, not zero by @danieljoppi in #382
- feat(bench): record the commit every published number was measured at by @danieljoppi in #383
- feat(bench): emit the raw drop-identity counters to test #377's mechanism by @danieljoppi in #384
- fix(bench): the drop-identity overlap must use macDrops, not macTerminal by @danieljoppi in #385
- ci(bench): cap the paper-benchmark step below the job ceiling by @danieljoppi in #387
- fix(bench): carve genuine losses out of the drop residual, not raw MAC drops by @danieljoppi in #388
- docs(roadmap): mark the tcp arm measured and enumerate the v1.4.0 closeout by @danieljoppi in #392
- feat(bench): widen the data-packet predicate to accept tcp on the data port by @danieljoppi in #393
- docs(bench): publish the tcp arm — goodput, paired tests, and the ranking inversion by @danieljoppi in #394
- docs(roadmap): the tcp arm is published and its instrumentation gap is closed by @danieljoppi in #395
- docs: record the v1.4.0 closeout decisions — hold-cap operating point, pins accepted, gate cleared by @danieljoppi in #396
New Contributors
- @dependabot[bot] made their first contribution in #342
Full Changelog: v1.3.0...v1.4.0