## v2.0.0 - 2025-03-05
### Highlights 🎉
- Core rules are no longer special-cased, they are brought in via parsing and compiling `core.abnf`
- hence they can now be transformed, ignored, just like other rules
- Core rules are now all transformed to string format by default
- so when matching `*HEXDIG` on `"1A"`, instead of getting `[49, 65]`, you get `["1", "A"]`
- however, performing `List.to_string` on either one gives you the same result - `"1A"`
- Core rules are defined only when they are not already defined in your abnf
- if they are already defined in your abnf, they will be skipped
- note the way we generate the functions unifies cases, so if you have `char` defined,
the core rule `CHAR` will be ignored as well
- this also makes it possible to override core rules
## v1.3.0 - 2025-01-30
- Add byte mode to generate parsers that work on byte representation instead of text codepoints
## v1.2.6 - 2025-01-29
- support utf-8 codepoint sequence
## v1.2.5 - 2025-01-29
### 🐛 Bug Fixes
- Fix core rule HEXDIG to allow lowercase chars
## v1.2.4 - 2025-01-28
### 🐛 Bug Fixes
- Fix nimble parsec deprecation warnings @sax (#82)
## v1.2.3 - 2025-01-06
### Fixed
- Generate utf8 matcher instead of ascii on num_range (c40c2b9) fix [#76](https://github.com/princemaple/abnf_parsec/issues/76)
## v1.2.1 - 2022-02-05
### Fixed
- String concatenation bug caused by case insensitivity implementation
## v1.2.0 - 2021-03-17
### Changed
Now strings default to be case insensitive
## v1.1.0 - 2020-12-28
### 🚀 Features
- Rfc7405 @guenni68 (#16)
- Adds case-insensitive string matching but haven't switched default to case-insensitive yet
## v1.0.0 - 2020-11-03
Not much, just that it's stable enough
--------------------
[pre-1.0 CHANGELOG](https://github.com/princemaple/abnf_parsec/blob/v1.0.0/CHANGELOG.md)