Skip to content

Tags: sentomk/patternia

Tags

v0.9.4

Toggle v0.9.4's commit message
v0.9.4 — PTN_BIND member-anchored placeholders, unified guard syntax,…

… combinator operator sugar

v0.9.3

Toggle v0.9.3's commit message
ci: update benchmark summary chart

v0.9.2

Toggle v0.9.2's commit message
chore(release): prepare v0.9.2 metadata

Problem
- any/all combinators are stabilized with full test coverage.
- Need to bump version metadata and publish the changelog.

Implementation
- Bumped VERSION to 0.9.2 in CMakeLists.txt.
- Updated FetchContent GIT_TAG in README.md.
- Updated vcpkg port version in packaging/vcpkg/vcpkg.json.
- Added docs/changelog/v0.9.2.md with full release note.
- Added v0.9.2 entry to docs/changelog/releases.md.
- Moved any/all from WIP to FINISHED in docs/roadmap.md.

Notes
- No source code changes in this commit.
- 139 tests pass.

v0.9.1

Toggle v0.9.1's commit message
build(vcpkg): bump local port metadata to 0.9.1

Problem
- The upstream packaging metadata still reports Patternia 0.9.0.
- The 0.9.1 release should publish matching local vcpkg version metadata.

Implementation
- Updated packaging/vcpkg/vcpkg.json from 0.9.0 to 0.9.1.

Tests
- Build verification was not run in this turn.

Notes
- The portfile SHA512 is updated separately against the final published source archive.
- This keeps the version metadata aligned without guessing a checksum.

v0.9.0

Toggle v0.9.0's commit message
build(vcpkg): fill portfile SHA512 and document vcpkg install method

v0.8.5

Toggle v0.8.5's commit message
refactor(pattern): remove ds<> and as<T> APIs in favor of $(has<>()) …

…and $(is<>())

Problem
- ds<> and as<T> APIs were introduced as convenience shortcuts
- They hide the binding operation, violating the "explicit binding" design principle
- Users should explicitly use $() to indicate binding intent

Implementation
- Removed as_factory struct and as<T> variable template from include/ptn/pattern/type.hpp
- Removed ds and as exports from include/ptn/patternia.hpp
- Replaced all ds<>() usage with $(has<>()) across codebase
- Replaced all as<T>() usage with $(is<T>()) across codebase
- Updated documentation to reflect API changes

Tests
- Updated tests/tests_destructure.cpp: replaced ds<> with $(has<>())
- Updated tests/tests_unified_match.cpp: replaced as<T> with $(is<T>())
- Updated tests/tests_type_pattern.cpp: replaced as<T> with $(is<T>())
- Updated tests/tests_match_flow.cpp: replaced as<T> with $(is<T>())
- Updated benchmarks and samples to use new syntax
- All tests pass (95/95)

Notes
- Breaking change: ds<> and as<T> are no longer available
- Migration path: ds<>() → $(has<>()), as<T>() → $(is<T>())
- Improves API consistency: all binding now explicitly uses $()
- Zero performance impact: same underlying implementation

v0.8.3

Toggle v0.8.3's commit message
Release v0.8.3

v0.8.2

Toggle v0.8.2's commit message
fix(docs): restore v0.8.2 performance note

Problem\nThe v0.8.2 performance note was incorrectly folded into the changelog flow, which left the performance index pointing at v0.8.0 as the current version.\n\nImplementation\nRestore docs/performance/v0.8.2.md as a standalone performance note, update the performance index to mark v0.8.2 as current, and add the page back to the MkDocs performance navigation alongside the v0.8.2 release note.\n\nTests\npython -m mkdocs build --clean\n\nNotes\nThe changelog v0.8.2 release note remains separate from the performance note by design.

v0.8.0

Toggle v0.8.0's commit message
chore(release): finalize 0.8.0 version metadata

Problem

- Release metadata remained unstaged after docs commit.

- Project version and changelog dates needed to match 0.8.0 release state.

Implementation

- Bumped project version in CMakeLists.txt from 0.7.6 to 0.8.0.

- Updated v0.8.0 release date in changelog index and release note to February 27, 2026.

Tests

- Not run (metadata-only change).

v0.7.6

Toggle v0.7.6's commit message
release: prepare v0.7.6 metadata and notes

Problem

- The repository still referenced v0.7.5 in project metadata and README release text.

- v0.7.6 release notes and release index entry were missing.

Implementation

- Bumped project version in CMake to 0.7.6.

- Added docs/changelog/v0.7.6.md with consolidated release highlights.

- Updated docs/changelog/releases.md with the v0.7.6 entry.

- Updated README update banner and benchmarking section text to v0.7.6 context.

Tests

- Not run (docs/metadata-only release preparation changes).

Notes

- This commit packages already-landed runtime/benchmark/script changes into release metadata.