# Changelog

## developmentVersion dev-0.7.1 / build 20260624.001

- Added package-prefixed command aliases such as `uctl.file.save`, `uctl.file.saveAs`, `uctl.edit.undo`, `uctl.view.testRun` and `uctl.host.integrationInfo` while keeping the legacy dev-0.7.0 command IDs available.
- Added command contribution metadata so Hosts can compose UnifiedControl commands into Host-owned MenuBar / Toolbar / ContextMenu surfaces without relying on UnifiedControl DOM.
- Added Control APIs: `getCommand()`, `getCommands()`, `getCommandAliases()`, `getCommandContributions()` and `registerCommandAlias()`.
- Added Workbench visibility options for title, MenuBar and Toolbar to support Window-contained and page-contained Host profiles.
- Strengthened Runtime rendering for input value lifecycle, radio groups, checkbox values, disabled / readonly / hidden / locked states, safe image URLs and HTML Block sanitization.
- Strengthened ContentRuntimeControl so `loadContent()` re-renders an already mounted runtime control and publishes `runtimeValueChanged` state.
- Hardened `.uctlx` package validation for safer path traversal checks, entry-count limits and manifest content-path consistency.
- Added regression coverage for command aliases / contributions, runtime radio values and HTML sanitization.

## dev-0.3.4
- Toolbar buttons are now icon-only with labels provided as title / aria-label hints.
- Direct Add TextBox / Add Panel toolbar buttons were removed; component creation is palette-first.
- New Content activates the Palette tab so users can immediately add components.

## developmentVersion dev-0.3.3 / build 20260618.003

- Renamed the official Control base class from `BaseControl` to `Control`.
- Removed `scripts/controls/base_control.js` and removed `BaseControl` from the main module exports.
- Added `ContentControl` as a designable composite / user-control style Control with a serializable `content` attribute.
- Added ControlContent serializer, validator, migrator and facade service.
- Added `DesignerControl` for designer Controls that own Workbench views and can load/save canvas component trees.
- Added `DialogService` and `Control.dialog()` instead of introducing a DialogControl class.
- Updated docs and regression tests for the Control hierarchy and ControlContent load/save behavior.

## developmentVersion dev-0.2.2 / build 20260617.004

- Added component-type aware Designer Canvas preview renderers for Panel, Group, Tabs, Accordion, Columns and Splitter.
- Fixed Accordion initial canvas rendering by showing section headers, active-section body and localized default section labels.
- Improved automatic insertion placement to reduce overlap between newly added large layout components.
- Added layout-specific default properties such as activeTab, activePanel, collapsible and splitter pane labels.
- Added boolean field support to PropertyGridView.
- Updated regression tests to verify layout preview rendering and non-overlapping initial placement.

## developmentVersion dev-0.2.1 / build 20260617.003

- Improved Japanese / English / Chinese i18n coverage for the basic demo, Palette, Inspector property labels, component labels, and status messages.
- Replaced placeholder square toolbar/menu/palette icons with CSS-only semantic icons so the toolbar no longer looks like unchecked checkbox controls.
- Added localized default component labels when new components are inserted on the designer canvas.
- Hardened demo frame layout to avoid viewport-edge clipping and unintended outer scrolling in Host-like embedding.

## developmentVersion dev-0.2.0 / build 20260617.002

- Added `scripts/workbench/view_registry.js`.
- Reworked `DockLayoutView` into tabbed dock regions for left / center / right / bottom.
- Added view APIs: `showView`, `hideView`, `toggleView`, `getWorkbenchLayout`, `resetLayout`.
- Added Dock layout state persistence shape via `getLayoutState()` and `applyLayoutState()`.
- Improved Palette accordion behavior and added component filtering.
- Updated MenuBar and Toolbar command rendering with enabled/visible checks and shortcut display.
- Updated i18n resources for command and view labels in EN / JA / ZH.
- Updated Demo UI with parameter panel and page-area maximize behavior.
- Fixed `demo/regression-tests.html` newline syntax issue and expanded smoke tests.

## developmentVersion dev-0.1.0 / build 20260617.001

- Initial framework package.

## dev-0.3.0 - Designer Canvas editing foundation

- Added multi-selection on the generic Designer Canvas.
- Added rubber-band selection and Ctrl/Shift additive selection.
- Added configurable grid snap and visual grid background.
- Added UndoRedoService and undo/redo commands.
- Added keyboard shortcuts for Delete, Ctrl+Z, Ctrl+Y, Ctrl+A and arrow-key nudge.
- Added arrange commands for alignment, distribution, same width/height and z-order.
- Added layout nesting and unnesting for components inside layout containers.
- Updated OutlineView to render nested component trees.
- Added regression checks for snap, undo/redo, multi-selection, arrangement and nesting.

## dev-0.3.1 - Canvas positioning and smart guide enhancement

- Added smart guide support while dragging components on the Designer Canvas.
- Added neighboring component edge / center alignment hints and near-distance gap labels.
- Added group selection bounding box to make multi-component move / align operations easier to understand.
- Added palette drag-over drop marker and snap-aware DnD insertion positioning.
- Improved distribution behavior so components are distributed by equal gaps instead of equal left/top points.
- Exposed more arrange commands on the toolbar for direct group alignment and sizing operations.
- Added `toggleSmartGuides`, `setSmartGuidesEnabled`, `toggleSmartGuides`, and `isSmartGuidesEnabled` APIs.

## dev-0.3.3

- Added File menu commands for Content files: New, Open, Save, Save As, Import, Export JSON and Properties.
- Added Host callback based File I/O through `FileIoService`.
- Added native `.uctlx` content package writer/reader through `ContentPackageService`.
- Documented ControlContent event handler schema and security model.
- Updated Demo with local OpenFile / SaveFile callback examples.


## dev-0.4.0

- Added ControlContent Schema v1.0 and Event Handler Schema v1.0.
- Added `ControlContentSchema` and `EventHandlerSchema` AMD modules.
- Added `ScriptSecurityPolicyService` for definition-only script policy and validation warnings.
- Enhanced `ControlDefinitionSerializer`, `Validator`, and `Migrator` for v1.0 schema, handler aggregation, and binding validation.
- Enhanced `PropertyEditorRegistry` and `PropertyGridView` with typed editors, categories, and Events tab.
- Added Inspector event handler editing dialog. Handler code is saved but not executed.
- Updated `.uctlx` package manifest to packageVersion 1.0 and added generated `scripts/handlers.js` source-inspection file.
- Added docs: `PROPERTY_EDITOR_SCHEMA.md`, `SCRIPT_SECURITY_POLICY.md`, updated content/event schema docs.

## dev-0.4.1

- Added Designer clipboard commands: copy, cut, paste and duplicate.
- Added lock / unlock / hide / show flags for selected components.
- Added selection-aware Canvas context menu.
- Added dirty confirmation before New and Open operations.
- Extended Save As handling so `.uctlx` and `.json` are generated by extension.
- Added `ContentPreviewService` for safe, non-executing preview rendering.
- Added `WorkbenchLayoutService` for optional perspective/layout persistence.
- Added handler dialog validation and inline script security warnings.
- Hardened `.uctlx` package reading with package type, kind, path and size validation.


## dev-0.4.5

- Added Test Run / Stop Test Run commands.
- Added ContentControlRuntimeRenderer, EventBindingService and RestrictedScriptRunner.
- Added safe standalone HTML export.
- Updated .uctlx package manifest to 1.1 and added package inspection metadata.
- Enhanced Content Properties with package/content/storage information.


## dev-0.4.6 Event Handler Persistence / Inspection Fix
- Event Handler save now updates component event binding and handler code as one atomic canvas change.
- Inspector Events tab refreshes immediately after Save / Clear so the saved handler can be confirmed without changing selection.
- Added Inspect Content Definition command to show current ControlContent JSON, event bindings, and saved handlers.
- Added regression coverage for handler save confirmation and content serialization.


## dev-0.7.0 Runtime / Form Adapter / Host Integration
- Added ContentRuntimeControl / createRuntimeControl for running saved ControlContent without Designer UI.
- Added DisplayComponents and runtime/designer previews for Table, List, Card, Tree, Menu, Toolbar, HTML Block and Hidden.
- Added FormSchemaAdapter for UnifiedForm migration preparation.
- Added HostIntegrationService and Integration Info.
- Added SecurityAuditService and stronger restricted script execution hardening.
- Added zoom, manual guide, group and ungroup commands on the Designer Canvas.
- Updated .uctlx package manifest to packageVersion 1.2.


## dev-0.7.2 - Module filename standardization

- Standardized physical JavaScript module filenames under `scripts/` to `lower_snake_case.js`.
- Updated AMD dependency paths, demo references, manifest metadata, and documentation references.
- Kept JavaScript class names and public API names unchanged.
