---
date: 2026-01-03 01:04:25
categories:
  - Releases
---

# Version 0.1.16

This release introduces a major refactor implementing a Node Protocol Pattern to centralize node-type-specific behaviors, improving code maintainability and extensibility. It also adds comprehensive automated UI testing using jsdom, enhances CI workflows to use a new environment setup tool called pixi, and cleans up test code to use real implementations and eliminate duplication. Several bug fixes improve ES module compatibility and test reliability.

## New Features

- Implement Node Protocol Pattern to centralize type-specific node behaviors, replacing scattered type checks with protocol classes and improving extensibility (135f08) (Eric Ma)
- Add comprehensive automated UI testing using jsdom, covering error formatting, message building, zoom classes, node creation, BM25 search algorithm, and DOM manipulation (2e2924) (Eric Ma)
- Use pixi as the single source of truth for test commands and migrate CI workflows to use prefix-dev/setup-pixi for environment setup and test execution (f92edc, 10baff) (Eric Ma)
- Extract and export pure utility functions for testing, eliminating ~200 lines of duplicated test code and ensuring tests use real implementations (4230f3) (Eric Ma)
- Add documentation explaining pixi as the canonical source for test commands and update related files accordingly (13fa37) (Eric Ma)

## Bug Fixes

- Fix ES module compatibility issues in test_utils.js by converting require() to ES module imports and correcting mocks and test expectations (b7f0c5) (Eric Ma)
- Fix duplicate test scripts and ensure tests use real implementations instead of stale copies to catch production bugs (e9dda2) (Eric Ma)
- Reorder imports in test_utils.js to improve code organization (bc7a0d) (Eric Ma)
- Remove unused SCROLLABLE_NODE_TYPES array from tests as it is no longer needed (7d2635) (Eric Ma)
- Address various PR review comments including adding null checks, improving guards, caching, and removing unused variables (d1dd17) (Eric Ma)

## Deprecations

- Remove scripts/test-js.sh as test commands are now unified under pixi and pyproject.toml (390905) (Eric Ma)
