Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,45 @@
## [Unreleased]

## [0.11.0] - 2026-08-10

### ONE parser architecture — flat subsystem DELETED (4479 lines removed)

`direct_parse` is now the sole XML parser. The entire flat/
subsystem (flat_parser, flat_promote, flat_doc, flat_fast,
flat_serialize, flat_xpath) is deleted. One parser, like pugixml.

#### Changes

- **UTF-8 name support**: Added `CT_UTF8` flag to the shared
chartype table for bytes >= 0x80. `IS_NAME_CHAR` and
`IS_NAME_START` now include `CT_UTF8`, so UTF-8 multibyte names
(`<café>`) scan without truncation.

- **Close tag prefix:local fix**: Close tag verification now
strips the prefix from `</ns:elem>` before comparing with the
open element's local name. This was a latent bug that surfaced
when the flat_parser fallback was removed.

- **Deleted flat subsystem** (~4479 lines):
- `flat_doc.c/h`, `flat_parser.c/h`, `flat_promote.c/h`,
`flat_fast.c/h`, `flat_serialize.c/h`, `flat_xpath.c/h`
- `test/flat/` directory + `test_flat_promote_line.cpp`
- `benchmarks/flat/bench_flat_parse.c`
- `flat_doc`/`flat_promoted` fields from `struct taurus_document`
- Flat fast-path checks in `xpath_public.c` and `serialize.c`

- `taurus_parse` calls `direct_parse` directly — no fallback chain.
- `taurus_document_ensure_promoted` is now a no-op chokepoint.

#### Architecture

- `src/taurus/parse/` — empty (legacy parser deleted v0.10.0)
- `src/taurus/flat/` — only `direct_parse.c` and `direct_parse.h`

One parser, one codebase, ~7500 lines of parser code removed across
v0.10.0 + v0.11.0.


## [0.10.0] - 2026-08-09

### Breaking — legacy parser DELETED (3092 lines removed)
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
cmake_minimum_required(VERSION 3.20)

project(taurus
VERSION 0.10.0
VERSION 0.11.0
DESCRIPTION "Fast XML parser and XPath evaluator in pure C"
LANGUAGES C CXX
)
Expand Down
2 changes: 1 addition & 1 deletion vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "taurus",
"version": "0.10.0",
"version": "0.11.0",
"description": "High-performance XML parser and XPath 1.0 engine in C (libtaurus)",
"homepage": "https://github.com/lutaml/taurus",
"license": "MIT",
Expand Down
Loading