# Changelog

## [1.0.17] - 2026-06-09
### Changed
- **Non-ESM Architecture**: Refactored all source components to remove `import`/`export` and use IIFE wrappers, attaching directly to `globalThis`.
- **Synchronous Dependency Loading**: Redesigned the test suite to load dependencies synchronously in the `<head>`, ensuring absolute timing stability and 100% production parity.
- **Vite Alignment**: Updated build configuration to prioritize IIFE/UMD output and removed ESM distribution artifacts.
- **Documentation**: Updated README with the new "Synchronous First" quick start guide and latest CDN versions.

## [1.0.14] - 2026-06-08
### Fixed
- **State Integration**: Bumped `@apigo.cc/state` to `1.0.18` to restore the globally injected `$`/`$$` helpers from the original UMD era, fixing `TagsInput` element targeting.
- **AutoForm Layout**: Fixed `horizontal` grid layout breakage caused by missing `AUTOFORM_STYLE` registration.
- **AutoForm Expansion**: Restored `AutoForm.register` with deep-blueprint `[control-wrapper]` physical insertion mechanism, fixing the blank rendering bug of `TagsInput` and `ColorPicker`.
- **Form Controls**: Removed `height: 100%` from `ColorPicker` preventing flex squash; fixed horizontal mode left-padding overflow for Check/Radio/Switch components.
- **Build**: Fully expunged `.mjs` artifacts from vite build pipeline to enforce UMD compliance.

## [1.0.12] - 2026-06-05
### Changed
- **De-ESM Refactor**: Fully transitioned the runtime environment to synchronous UMD loading, eliminating race conditions and rendering artifacts.
- **AutoForm Purification**: Purged all "black-box" patching logic that dynamically modified component templates. Field rendering now follows 100% transparent, explicit TEMPLATE logic.
- **Philosophy Alignment**: Removed all forbidden `RefreshState` calls from business logic, entrusting the asynchronous `MutationObserver` engine for all UI updates.

## [1.0.11] - 2026-06-05
### Changed
- Dependency: Updated `@apigo.cc/state` CDN script dependency to `1.0.16` for AutoForm nested field mounting bindings fix.

## [1.0.10] - 2026-06-05
### Fixed
- List: Removed reactive data-binding for `prevHeight` and `postHeight` and refactored virtual scroll to directly mutate padding DOM node heights, preventing reactive re-render overhead.
- List: Ignored elements with `offsetHeight === 0` during layout measurement, preventing hidden tab state (display: none) from polluting height average `avg`.
- List: Applied a safety minimum limit (16px) to average item height calculations to prevent `visibleCount` explosion.
- List: Implemented a synchronization re-entry lock using `setTimeout` in list refresh to cut recursive `scroll` event loops.
- Config: Configured `server.fs.allow: ['..']` in vite.config.js to allow local development cross-directory assets access (like fonts).

## [1.0.9] - 2026-06-05
### Changed
- Document: Comprehensive rewrite of base/README.md utilizing example-driven and static declaration binding paradigm.
- Document: Created base/CAPABILITY.md as the 100% complete spec checklist for all components and API.
- Config: Updated @apigo.cc/state dependency reference to v1.0.13.

## [1.0.8] - 2026-06-05
### Changed
- Bump version and align dependencies.

## [1.0.7] - 2026-05-29
### Added
- DatePicker: New control with range support (main/shadow field sync).
- ColorPicker: New control with color input and text hex input.
- IconPicker: New control with searchable Bootstrap Icons grid.
- AutoForm: Automatically registered the new controls.

## [1.0.6] - 2026-05-27
### Added
- AutoForm: Support data-driven visibility using `field.if` (utilizing state's `$$` double-calculation).
- AutoForm: Added reactive `data` property mapped to `state.data`.

### Changed
- AutoForm: Decoupled from global `State.editingData`. Data must now be passed via the `data` property.
- Internal: Optimized `_addAutoFormComponent` to support nested templates.

## [1.0.5] - 2026-05-23
### Added
- Documented project-wide "Manual DOM Sync" design principle for performance critical components.

### Fixed
- Verified VirtualScroll stability and timing.
- Synchronized component registration lifecycle during rapid DOM mutations.
