| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-03-31 | 2.4 kB | |
| v3.0.0 source code.tar.gz | 2026-03-31 | 5.8 MB | |
| v3.0.0 source code.zip | 2026-03-31 | 6.3 MB | |
| Totals: 3 Items | 12.0 MB | 1 | |
Hello,
I'm glad to announce a new release of Lexbor library.
Breaking This major version bump was primarily accelerated by Issue [#349], where an inadvertent ABI break occurred in version 2.7.0 (exported symbols removed without a corresponding SONAME change). Version 3.0.0 rectifies this by properly demarcating a major API and ABI change. These are internal functions, but they have been exported, so we are upgrading.
Added
- Added WASM support.
- HTML: added extended serialization API (
serialize_ext). - HTML: added scripting getter/setter;
constfordom_optgetter. - HTML: added
<selectedcontent>element with spec-compliant disabled-state tracking. - Style: new
lxb_style_init()/lxb_style_destroy()API replacinglxb_html_document_css_init(). - DOM: new per-tag mutation dispatch tables —
mutation(inserted, removed, moved, destroy, children_changed, connected) andattr_mutation(change, append, remove, replace) — replacing the old monolithicnode_cb. - DOM: added
LXB_DOM_DOCUMENT_OPT_WO_EVENTSflag to suppress all mutation callbacks for plain parsing without overhead. - DOM: added
LXB_DOM_ELEMENT_CONDITION_DIRTY_STYLEfor lazy style cleanup. - Core: added new status
LXB_STATUS_SKIPPED. - Added support for pkg-config (
lexbor.pc). - Amalgamation: added cross-platform port support.
- Added
constto certain function arguments across the API.
Changed
- Breaking: Style: replaced custom event system (
lxb_style_event_*) with spec-compliant WHATWG DOM steps (element_steps,attribute_steps) using per-tag dispatch tables generated at build time. - Breaking: DOM:
document.node_cbreplaced bymutationandattr_mutationcallback tables. - HTML:
open_elementspop functions now returnlxb_status_tand invoke per-tag callbacks. - HTML:
parse_cbmechanism removed;<style>parsing now happens through the pop callback in the Style module. - HTML:
<option>now tracks selectedness as a stored boolean field; insertion/removal steps update the nearest ancestor<select>. - HTML:
<select>implements the full WHATWG selectedness-setting algorithm, display size computation, and list-of-options tree walk. - Packaging: updated DEB/RPM packaging for current distro standards.
Special thanks: Remi Collet (@remicollet), Karsten Schöke (@schoekek)