Skip to content

Commit ade29a3

Browse files
author
Foster Guo
committed
release: v0.13.0
1 parent dc06924 commit ade29a3

8 files changed

Lines changed: 32 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
11
# Changelog
22

3+
4+
## 0.13.0 - 2026-04-03
5+
6+
### Features
7+
- Add `heap_bytes()` to `HarryMatcher` and `SimpleMatcher` for heap memory introspection across all matcher components (AC automata, Harry tables, rule metadata, process-type trie).
8+
9+
### Performance
10+
- Unify HarryMatcher into a single matcher with wildcarded columns, eliminating per-prefix-length scans (6x on CJK, 3-4x on mixed haystacks).
11+
- Column-0 early exit in NEON/AVX512 kernels skips columns 1-7 for ~95% of non-ASCII chunks.
12+
- Replace AHashMap with sorted split-array PrefixMap in Harry verification for L1-friendly binary search.
13+
- Gate Harry dispatch on ASCII-only patterns and DFA absence; improve non-ASCII haystack routing.
14+
- Const-generic SIMD kernels with PREFIX_LEN-scoped column loading.
15+
16+
### Testing
17+
- Add 15 targeted coverage tests (process type display, streaming scan paths, NEON edge cases, threaded compilation).
18+
- Coverage: 86% of testable lines (excluding platform-gated AVX512, binding crates, benchmarks).
19+
20+
### CI
21+
- Fix SIGILL on x86_64 CI runners by overriding `target-cpu=native` from `.cargo/config.toml`.
22+
- Add separate coverage workflow with tarpaulin and Codecov integration.
23+
- Replace Makefile with Justfile for all build/test/bench/lint commands.
24+
25+
### Build
26+
- Add `scripts/bump-version.sh` and `scripts/dev-setup.sh` for release and onboarding automation.
27+
328
## 0.12.3 - 2026-04-02
429

530
### Performance

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ readme = "README.md"
1212
keywords = ["text", "string", "search", "pattern", "multi"]
1313
license = "Apache-2.0 OR MIT"
1414
repository = "https://github.com/Lips7/Matcher"
15-
version = "0.12.3"
15+
version = "0.13.0"
1616

1717
[profile.dev.package."*"]
1818
opt-level = 2

matcher_c/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ name = "matcher_c"
1717
crate-type = ["cdylib", "rlib"]
1818

1919
[dependencies]
20-
matcher_rs = { path = "../matcher_rs", version = "0.12.3" }
20+
matcher_rs = { path = "../matcher_rs", version = "0.13.0" }
2121
sonic-rs = "0.5.8"

matcher_java/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ crate-type = ["cdylib"]
1616
path = "src/main/rust/lib.rs"
1717

1818
[dependencies]
19-
matcher_rs = { path = "../matcher_rs", version = "0.12.3" }
19+
matcher_rs = { path = "../matcher_rs", version = "0.13.0" }
2020
jni = "0.22.4"
2121
sonic-rs = "0.5.8"

matcher_java/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ cp target/release/libmatcher_java.dylib matcher_java/src/main/resources/ # .so
3535
```xml
3636
<groupId>com.matcher_java</groupId>
3737
<artifactId>matcher_java</artifactId>
38-
<version>0.12.3</version>
38+
<version>0.13.0</version>
3939
```
4040

4141
## Usage

matcher_java/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>com.matcher_java</groupId>
88
<artifactId>matcher_java</artifactId>
9-
<version>0.12.3</version>
9+
<version>0.13.0</version>
1010

1111
<name>matcher_java</name>
1212
<url>https://github.com/Lips7/Matcher</url>

matcher_py/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ name = "matcher_py"
1818
crate-type = ["cdylib"]
1919

2020
[dependencies]
21-
matcher_rs = { path = "../matcher_rs", version = "0.12.3" }
21+
matcher_rs = { path = "../matcher_rs", version = "0.13.0" }
2222
pyo3 = { version = "0.28.3", features = ["extension-module"] }
2323
sonic-rs = "0.5.8"
2424

matcher_py/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
22
name = "matcher_py"
33
description = "A high-performance matcher designed to solve LOGICAL and TEXT VARIATIONS problems in word matching, implemented in Rust."
4-
version = "0.12.3"
4+
version = "0.13.0"
55
readme = "README.md"
66
requires-python = ">=3.8"
77
authors = [{ name = 'Foster Guo', email = "f975793771@gmail.com" }]

0 commit comments

Comments
 (0)