Skip to content

Releases: avengineers/hammocking

v1.0.1

10 Apr 06:27

Choose a tag to compare

v1.0.1 (2026-04-10)

Bug Fixes

  • Merge project ini over defaults (ada1c30)

Project-level hammocking.ini via --config completely replaced the built-in defaults instead of overlaying. This caused critical settings like exclude_pattern to be lost, breaking builds with GCC/MinGW where runtime symbols like _pei386_runtime_relocator leaked through.

  • Add HammockIni.merge() to overlay non-None values on top of defaults
  • HammockRunner always loads package defaults first, then project config
  • Extend default exclude_pattern with memcpy, memmove, memset, memcmp,
    bzero, strlen (compiler-generated intrinsics)
  • Rewrite docs/usage.md: complete CLI reference, config merge docs,
    output styles, real build examples
  • Add NmWrapper.mock_it() unit tests for symbol filtering logic

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com


Detailed Changes: v1.0.0...v1.0.1

v1.0.0

07 Apr 10:36

Choose a tag to compare

v1.0.0 (2026-04-07)

Documentation

  • Consolidate README and LINUX_QUICKSTART into single README (b94e9a0)

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

Features

  • Replace poetry and bootstrap with uv as package manager (d45bef3)

Both build.ps1 and build.sh now follow the same call chain: OS wrapper -> uv -> pypeline, with pypeline.yaml as the single source of truth for pipeline steps.

  • Replace poetry with uv for dependency management
  • Remove bootstrap in favor of direct uv/scoop installation
  • build.ps1: install scoop and uv, then uv run pypeline run
  • build.sh: install uv, then uv run pypeline run
  • pypeline.yaml: ScoopInstall, lint, test, docs
  • Add types-setuptools to dev dependencies

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

Refactoring

  • Move all build outputs from out/ to build/ (b3af6aa)

Consolidate output directory so all artifacts (test reports, docs) go to build/ instead of out/. Keep /out in .gitignore for backwards compatibility.

Co-Authored-By: Claude Opus 4.6 noreply@anthropic.com

  • Simplify VS Code tasks to use uv and build.sh (d7a07a6)

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com


Detailed Changes: v0.12.0...v1.0.0

v0.12.0

04 Apr 06:37

Choose a tag to compare

v0.12.0 (2026-04-04)

Features

  • Update libclang to 1.18 (640b4e1)

Detailed Changes: v0.11.0...v0.12.0

v0.11.0

27 Mar 17:05

Choose a tag to compare

v0.11.0 (2026-03-27)

Features

  • Add ignore_symbols_outside_project option with INI/CLI support (1ee2679)

  • Add ignore_symbols_outside_project to HammockIni and ConfigReader

  • Set default to true in hammocking.ini (opt-out behavior)

  • Use None sentinel to allow INI value to override CLI default

  • Update CLI help text and usage documentation

  • Fix Function.repr: was using self.type instead of self.return_type

  • Fix HammockRunner: self.hammock not initialized to None (AttributeError)

  • Enable inline coverage report in pytest

  • Improve test coverage from 92% to 95%

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com


Detailed Changes: v0.10.0...v0.11.0

v0.10.0

24 Mar 20:47

Choose a tag to compare

v0.10.0 (2026-03-24)

Features

  • Add devcontainer configuration for DevPod (#80, ba8c55d)

Add .devcontainer/ with Dockerfile (Python 3.13, clang, llvm, cmake, ninja-build, Poetry) and devcontainer.json (VS Code extensions, GitHub CLI feature, postCreateCommand). Remove .gitpod.yml in favor of the devcontainer spec. Update LINUX_QUICKSTART.md with DevPod instructions.

Closes #80 Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com


Detailed Changes: v0.9.1...v0.10.0

v0.9.1

23 Mar 13:44

Choose a tag to compare

v0.9.1 (2026-03-23)

Bug Fixes

  • ci: Gate publish steps on semantic-release output (#79, f43feca)

The PyPI and GitHub Releases publish steps ran unconditionally on develop, even when python-semantic-release found no releasable commits and produced no dist/ directory, causing FileNotFoundError.

Additionally, the released output is true even in --noop mode (dry runs on PRs), so a noop guard is also required.

  • Use steps.release.outputs.released with noop guard
  • Update actions/checkout@v4 to @v6 (Node.js 20 deprecation)
  • Pin release runner to ubuntu-24.04 to match test-on-linux
  • Remove disabled LLVM install step and unused publish_release var

Closes #79 Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com


Detailed Changes: v0.9.0...v0.9.1

v0.9.0

10 Jul 15:52

Choose a tag to compare

v0.9.0 (2025-07-10)

Features


Detailed Changes: v0.8.0...v0.9.0

v0.8.0

13 Jun 12:34

Choose a tag to compare

v0.8.0 (2025-06-13)

Features

  • Do not mock strlen standard library function (197cffc)

Detailed Changes: v0.7.0...v0.8.0

v0.7.0

21 May 07:31

Choose a tag to compare

v0.7.0 (2025-05-21)

Features

  • Do not mock memcmp standard library function (026c210)

Detailed Changes: v0.6.0...v0.7.0

v0.6.0

14 May 09:50

Choose a tag to compare

v0.6.0 (2025-05-14)

Features


Detailed Changes: v0.5.1...v0.6.0