Releases: customerio/ciolabs
Releases · customerio/ciolabs
@ciolabs/[email protected]
Patch Changes
- #31
de38bfcThanks @avigoldman! - Update experimental version to have same API as standard
@ciolabs/[email protected]
Minor Changes
-
#28
3f7b86bThanks @avigoldman! - Add experimental auto-flush implementation that eliminates manualflush()callsNew Features
Experimental Auto-Flush Implementation
- Import path:
@ciolabs/html-mod/experimental - Automatically synchronizes AST after every modification
- No manual
flush()calls required - Element references stay valid across modifications
- 2.16x faster for modify+query patterns (most common in visual editors)
Dataset API (Both Versions)
- Added
datasetproperty toHtmlModElement - Full Proxy-based implementation with camelCase ↔ kebab-case conversion
- Compatible with standard DOM
DOMStringMapinterface - Supports all dataset operations: get, set, delete, enumerate
Performance
Benchmarks (vs stable version):
- Parse + setAttribute: 1.19x faster
- Modify + query pattern: 2.16x faster
- Real-world templates: 1.29x faster
- Batched modifications: 3.07x slower (rare pattern)
Documentation
- See
EXPERIMENTAL.mdfor complete feature comparison - Migration guide included for switching from stable to experimental
- Comprehensive deployment recommendations
Testing
- 624 tests passing (vs 196 in stable)
- Includes adversarial testing, stress testing, and real-world scenarios
- Zero drift over 10,000+ consecutive operations
- Handles malformed HTML gracefully
Breaking Changes
None - fully backward compatible. The experimental version is available at a separate import path (
/experimental). - Import path:
@ciolabs/[email protected]
Patch Changes
-
#28
273de45Thanks @avigoldman! - Remove Prettier import sorting plugin to resolve conflict with ESLint import/order ruleChanges
- Removed
@trivago/prettier-plugin-sort-importsplugin - Removed
importOrderandimportOrderSeparationconfiguration - ESLint's
import/orderrule now handles all import organization - Fixes conflict where Prettier and ESLint were fighting over import formatting
This allows both tools to work together harmoniously without conflicting changes.
- Removed
@ciolabs/[email protected]
Patch Changes
-
#25
9be5018Thanks @avigoldman! - Handle spaces in mso conditional comments -
Updated dependencies [
9be5018]:- @ciolabs/[email protected]
@ciolabs/[email protected]
Patch Changes
- #25
9be5018Thanks @avigoldman! - Handle spaces in mso conditional comments
@ciolabs/[email protected]
Patch Changes
- Updated dependencies [
9be5018]:- @ciolabs/[email protected]
@ciolabs/[email protected]
Patch Changes
- #23
4b3dcadThanks @avigoldman! - Fix valueless attribute source ranges
@ciolabs/[email protected]
Patch Changes
-
#23
4b3dcadThanks @avigoldman! - Fix valueless attribute source ranges -
Updated dependencies [
4b3dcad]:- @ciolabs/[email protected]
@ciolabs/[email protected]
Patch Changes
- #21
083e91fThanks @avigoldman! - Handle settinge the innerHTML of a self-closing tag
@ciolabs/[email protected]
Patch Changes
- #20
7b77858Thanks @avigoldman! - first version