Releases: aegoroff/grok
Releases · aegoroff/grok
Release list
0.5.4
0.5.3
0.5.2
0.5.2 - 2026-07-11
🐛 Bug Fixes
- Stop linear RSS growth during long fuzz runs - (4aeb1a4)
- Abort pattern parsing with OutOfMemory on allocator failure - (288db78)
- Free executableDirPathAlloc result in compileDefault - (064247b)
- Detect circular macro references during pattern expansion - (e0e4a29)
🚜 Refactor
- Move invert-match handling into printer - (f6edeec)
- Unify wide-char byte conversion in encoding.zig - (7c66624)
- Simplify wide-encoding line decoding in line_reader - (3caceca)
- Deduplicate CLI action handlers in main.zig - (4a7a36c)
- Parse pattern files from a single std.Io read - (4453681)
📚 Documentation
- Zig skills added - (300b794)
🧪 Testing
- Add file encoding mode to fuzz input - (82c9729)
- Generate fuzz corpus at build time with richer seeds - (e90ade8)
- Fix fuzz temp dir cleanup for parallel libfuzzer runs - (e653d04)
- Write fuzz inputs under std.testing.tmpDir - (7250e9a)
- Generate fuzz macro list from patterns at build time - (260b26b)
- Fix fuzz corpus to use Smith wire format - (29b51b3)
Build
- Avoid duplicate apply in build file + bump zone file version to 0.5.0 - (4edd2b2)
0.5.1
0.5.0
0.5.0 - 2026-07-06
🐛 Bug Fixes
- Exit with non-zero code on CLI operational errors - (35d1c2b)
- Return UnknownMacro for unresolved nested pattern references - (b4d66bd)
- Correct errors locations during whole lib compilation now. - (99f9036)
- Single file compilation lexer error positions fixed - (5b79236)
🚜 Refactor
- Extract encoded line reading into line_reader.zig - (0350a59)
- Use anonymous struct literal in match - (2029283)
- Use anonymous struct literals in init functions - (3dce9f6)
📚 Documentation
- Add architecture overview to AGENTS.md - (7df08d2)
- Document C/Zig boundary rules in AGENTS.md - (9facba3)
- Clarify MatchResult capture memory ownership - (1dde604)
- Update README with encoding support and build instructions - (ee2adca)
🧪 Testing
- Add integration cases for info, invert, errors, and UTF-8 BOM - (077f878)
- Move integration tests to table-driven integration_test.zig - (3adc798)
- Provide patterns path in config.run integration test - (89b7370)
⚙️ Miscellaneous Tasks
0.4.7
0.4.6
0.4.6 - 2026-06-24
⛰️ Features
- [breaking] Matching limits removed - (4219283)
- [breaking] No global regex context draft - (a0d42e9)
- Std.debug replaced by std.log to output unexpected errors. - (3fb4669)
🐛 Bug Fixes
- Set properties to null for inverted match result - (d98161e)
- General protection exception fixed if run fuzzing under heap allocation - (a25fde4)
- Boxed allocator for preprared - (f5b860f)
- Fuzzing run under debug allocator fixed. Small memory leaks fixed - (43c86b6)
- Potential memory leaks fixed - (f55b3d9)
🚜 Refactor
- Match re.match function moved to prepared as method and context create and delete functions made private in re module - (740c776)
- Renamings + some code duplication eliminated in re module - (5ccacea)
- Match_context renamed to general_ctx in re.match - (cd6c730)
- Useless code removed - (090f3e3)
- Prepared contains allocator now for deinit to avoid deinit with bad allocator - (5df9a58)
⚡ Performance
🧪 Testing
- Useless fuzzing corpus items removed - (61ffade)
- Debug output commentes in fuzzing test because it causes memory leaks during fuzz testing - (b0426f3)
- Zero subject back to fuzz testing - (866ffea)
- Use std.heap.ArenaAllocator instead of std.heap.DebugAllocator in fuzz test - (81f7de1)
- Memory leaks in fuzzing test fix - (4b96a4c)
- Use debug allocator in fuzz gest - (0f7cbd0)
- Skip fuzz tests if subject more then 64K - (0ddc14c)
- Dont fuzz big files - (1186d7a)
- Dont fuzz empty files. Debug output uncommented to diag problems if any - (f034624)
- Fuzzing test function improved - (53c7443)
⚙️ Miscellaneous Tasks
- Log allocation error in case of macro allocation error - (a6a439d)
- Log allocation error if string duplication failed in frontend - (019f6e4)
- General context in match cleanup added to avoid possible leaks in other contexts - (469cdbd)
- Comment translated - (24762b6)
- .clinerules updated - (2b0cd45)
- Backend_allocator and general_context made threadlocal - (05ac1fd)
- Forgotten std.log.err in regex module - (764fe2c)
Build
- Build script code duplication eliminated - (0bc5d0a)
0.4.5
0.4.5 - 2026-06-19
🐛 Bug Fixes
- Hangup fixed in case of malformed UTF-16 and UTF-32 BE files - (5b19f14)
- Crash in case of invalid UTF16LE and UTF32LE files fixed. Files must have less then 1 o 3 zero bytes after line end in the file end - (510556a)
🚜 Refactor
🧪 Testing
- Additional data added to fuzz corpus - (4fba435)
- Fuzz test fix. Crash log that really causes hanging added - (7ebe049)
- Fuzzing tests only file mode now. Crashing log test added - (f73342e)
- First fuzzing test added. - (5facb12)
⚙️ Miscellaneous Tasks
- Fuzz recipe added - (f4be8d8)
Build
0.4.4
0.4.4 - 2026-06-17
🐛 Bug Fixes
- Potential crash fixed - (23ade25)
- Crash when reading invalid or binary file as test file fixed - (53b9dd3)
- Potential crashes in case of invalid UTF-32BE and UTF-16BE files fixed - (72f1a92)
- Relative files opening in Debug builds now without errors. File integration tests added. Printing in info mode without tabs - only spaces - (bb67796)
- Small memory leaks (not affected real runs) fixed - (7ab4f07)
- V flag (invert match) not working in string mode - (5107a02)
🚜 Refactor
- Std.Io.Writer interface pass ass parameter instead of using global instance. First integration tests - (2c00e9b)
- Dont keep pattern in Matcher - (b7f57d0)
🧪 Testing
- Some useless integration tests removed - (59f7a86)
- Empty files tests added - (9b9481a)
- More integration tests added - (387fb7d)
- More integration tests to view macro - (47dcfab)
- Macro view integration test added - (bc0d7c5)
- Fix integration test running on CI/CD - (4cdbd71)
⚙️ Miscellaneous Tasks
0.4.3
0.4.3 - 2026-06-15
⛰️ Features
- UTF-32BE and UTF-32LE encodings support added - (68ecc33)
- UTF-32LE detection added. UTF-32 encodings detection fixed - (75222b3)
🐛 Bug Fixes
- Dont throw first line in case of file from stdin with BOM. Detect current encoding BEFORE converting a line - (4f1c3d1)
- Skip BOM if detected from STDIN - (d300aa0)
🚜 Refactor
- Complex if replaced by switch over current_encoding in matchStrings - (971fe9e)
- Dont export private pcre memory management callbacks - (b14aca3)
- Obsolete cInclude for re module replaced by modern TranslateC for pcre2 - (c76aadd)
- Use allocSentinel to allocate zero terminated string instead of manual allocation + 1 byte and setting last byte to zero - (999bea0)
📚 Documentation
- Readme actualized - (f77743b)
🧪 Testing
- Decoding tests added - (c5988e7)
⚙️ Miscellaneous Tasks
Build
- Some bison warnings disabled - (8999423)
- Pcre renamed to translate_pcre - (e74698a)
- Redundant dependencies settins removed - (411d3fb)
- Remove obsolete bin-* dirs befor build_all - (0402937)
- EnsureDirExists dont write error into console if directory exists - (0041840)
- Building if no generated code exist before fixed - (519ce85)
- Obsolete cImport replaced by addTranslateC call in build file - (c495d33)