# Changelog

All notable changes to this project are documented in this file.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Current line: **1.4.0** (Tailwind migrate CLI · Migration Intelligence · Scanner diagnostics). Previous: Motion Clips **1.3.0**. Overview: [`RELEASE_NOTES_1.4.0.md`](RELEASE_NOTES_1.4.0.md). Upgrade: [`UPGRADING.md`](UPGRADING.md).

---

## [1.4.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.4.0) - 2026-09-02

**Tailwind → VelinStyle migration CLI** · **Migration Intelligence** · **Scanner diagnostics & link integrity** · optional Compat package · Skills 2.0 · Adaptive Runtime foundations.

Details: [`RELEASE_NOTES_1.4.0.md`](RELEASE_NOTES_1.4.0.md) · Guides: [`docs/guides/tailwind-migrate.md`](docs/guides/tailwind-migrate.md) · Public CLI Scan docs · ADR 0019 / 0020 / 0024 / 0025.

### Added

- CLI **`velinstyle migrate tailwind`** / **`migrate rollback`** (dry-run default; `--write` / `--apply`)
- Tailwind **v4** detection without requiring `tailwind.config.js`
- Coverage report: **Detected · Mapped · Warnings · Unresolved** + `.velin/migration/` reports
- Snapshot under `.velin/migration/snapshots/` + rollback (project-local only)
- **Migration Intelligence:** classifier → clusters → policies → **23 User Actions** → **6 Strategy Blocks** → Acceptance Persistenz → Rewrite Manifest → Preflight → Dry-Run → Apply Write
- Decision-first assistance report under `.velin/migration/intelligence/`
- Catalog infrastructure for optional Tailwind Compat: `collectVelinClasses` / `loadCatalog` with `compatRoots`
- `@birdapi/velinstyle-tailwind` **Compat CSS** (MVP + slash-opacity, responsive wrappers, static-scale tiers)
- CLI **`velinstyle migrate tailwind --compat tailwind`** and opt-in **`--heuristic palette-roles`** (map-only semantic approximation)
- **Skills 2.0 (agent surface):** skills registry **1.0.0** with **58** skills; domains Build / Review / Migration / Intelligence / Rewrite; reuse-first routing; skill contracts and stop rules; public Agent Workflows docs (EN/DE)
- **Site AI / Agent Discovery (1.4.0):** `/.well-known/ai.json` entry pointer; site `llms.txt` = package generator base + site overlay (no second skill inventory); public `velin-agent.json` projects full registry skill set; AI / Agent Resources docs EN/DE under Docs → AI & Intelligence
- **Studio Inspector Core** (`@birdapi/velinstyle/inspector`): read model, selection, `data-velin-block` detection, Adapt/Audit read access
- **Velin Blocks:** official blocks registry (10 blocks) + CLI `velinstyle blocks list|info|add`; community manifest validation
- **Local AI Ranker (opt-in):** optional ranker on Adapt pipeline (`startAdapt({ ai })`); default AI off; no cloud AI
- **Safe Adaptation Engine** + **Semantic Runtime Contract:** signals → policy → intent → validate → apply → audit → undo; `@birdapi/velinstyle/adapt`
- **CLI scan — link integrity (Detect only):** `links/local-href-target` and `links/local-fragment-target` for local HTML paths (incl. directory `index.html` / `index.htm`) and `#fragment` ids against the scan root; no Live-HTTP; no automatic path or id rewrites
- **CLI scan — structured finding diagnostics:** additive `diagnostic` on link integrity and selected a11y rules; optional candidates and related hints; review-only — candidates are not auto-fixes (`exact` ≠ Apply)
- **CLI scan — safe fix dry-run:** `--fix-dry-run` and JSON `autoFix.plans` / `autoFix.rejected` describe each planned SAFE change without writing files
- **CLI scan — additional a11y Detect rules:** `a11y/empty-link`, `a11y/positive-tabindex`, `a11y/focus-outline-suppressed`, `a11y/aria-idref-target`, `a11y/aria-controls-target`, `a11y/tab-missing-controls`, `a11y/scrollable-region-hint`, `a11y/nested-interactive`, `a11y/role-button-contract` (Detect only unless listed under SAFE Apply)

### Changed

- **CLI Discoverability & Scan SARIF (1.4.0):** Docgen `REGISTERED_COMMANDS` includes `blocks` (aligned with router/manifest). `velinstyle scan --sarif` / `--format sarif` emits SARIF 2.1.0 from the same findings as `--json` (`fixable`, SAFE eligibility, `diagnostic`, Detect-only for `links/*`). Experience human scan shows Apply column (SAFE / review / detect) without dumping JSON. Help lists `--quiet` and Scan SAFE wording. Site CLI EN/DE + AI Resources / Help updated; branding footer gates unchanged.
- **CLI scan `--help` (1.4.0 freeze):** `velinstyle scan --help` / `-h` (also with `--json` / `--sarif` / `--format`) prints Experience human help and does **not** scan `.`; machine flags do not force JSON/SARIF for the help path
- **Homepage search index (1.4.0 quality):** Package `search index` emits real `.md` paths for generated docs (no invented `.html`). `sync:dist` rebuilds `docs/search-index.json` then refreshes `dist/search-index.json` via `sync-home-search` so homepage search stays site-resolvable and includes crawled guides (e.g. AI Resources)
- **Docs themeToggle null (1.4.0 quality):** Legacy inline `#themeToggle` handlers (spaced `const themeToggle = …`) threw `addEventListener` on null after header moved to `<velin-theme-toggle>`; `sync-sidebar` strip now matches whitespace and removes the dead script
- **Component counts clarity:** llms lists 43 canonical WC + 3 helpers + loader aliases; Atelier hero/demo stats aligned to **43** Web Components (was stale 38)
- **Component minimal examples:** curated `velin-persist` / `velin-scrollspy` from human docs (43/46); helpers flip/haptic/reveal remain MISSING without inventing APIs
- **Site documentation & frontpage (1.4.0):** Homepage EN/DE surfaces AI Resources, scan diagnostics / SAFE boundaries, 58 skills and 36 attributes; `release-1-4-0` overview aligned to Phase 5/6 freeze (not Phase 6.1); Help Center pinned to 1.4.0; CLI docs document Experience footer / `--quiet` and SAFE-only `scan.fix`; site `llms.txt` overlay refreshed via `patch:seo`

- **CLI scan:** Auto-fix re-validates file content at apply time (fail-closed). Link-integrity rules (`links/*`) are never applied. SAFE Apply limited to `html-lang`, `skip-link` (only with `id="main"`), `safe-external-link`, `z-index-token`, and `hardcoded-email`
- **Agent metadata:** `velin-agent.json` / `llms.txt` from `meta:build` project skills deterministically from the skills registry (SoT), including registry version metadata in the agent bundle and an derived skills inventory section in `llms.txt`
- **Agent discovery pointers & scan policy:** `meta:build` publishes `docs/generated/rules/scan-policy.json` from existing scanner rule meta + SAFE Apply gates; agent manifest / `.well-known/ai.json` point at skills, docs, components, Atelier, CLI, and scan policy without duplicating inventories
- **Public skill semantics:** `velin-agent.json` `skills.items` project registry `name` and `description` (SoT `packages/velinstyle-skills/registry.json`) so agents can read skill meaning without a second skill list or invented per-skill URLs
- **Agent minimal WC examples:** `docs generate` publishes Minimal working examples for Web Components when curated or knowledge-SoT HTML exists; related-resource pointers only for existing human docs / CLI / Atelier library (no Skill↔Component graph)
- **Agent WC human-doc extract & doc aliases:** fail-closed Minimal examples may be derived from existing human component docs (`exampleSource: human-doc`) after curated/knowledge; explicit EN doc aliases (`toast`→`toasts`, `tooltip`→`tooltips`, `tabs`→`navs-tabs`) plus DE twins via `doc-lang-map.js` only; structural component-doc contract check (facts only — no a11y/runtime claims, no Skill/Atelier heuristics)
- **Agent discovery contract & curated WC starters:** public Atelier catalog mirror at `docs/generated/atelier/catalog.json` (SoT remains `cli/atelier-catalog.json`); curated minimal examples for `velin-live-dot` and `velin-progress-ring`; discovery/atelier inventory contract checks (pointer reachability, counts, no package-internal public paths)
- **CLI branding footer & skill clarity:** human Experience terminal output appends a short branding footer (`Built with VelinStyle · Powered by SKYLITE.DESIGN`); suppressed for `--quiet`, `--json`, SARIF, and compact modes. Selected skill registry descriptions clarified for agents (Detect/Review/Apply boundaries; Candidates ≠ Apply) — 58 skill IDs unchanged
- **CLI scan:** `a11y/skip-link` marked fixable only when `id="main"` already exists (Detect aligned with Apply gate)
- **CLI scan:** `a11y/interactive-aria-hidden` flags only the interactive host with `aria-hidden="true"` (decorative children no longer false positives)
- **CLI scan:** `a11y/aria-controls-target` / IDREF helpers skip VelinStyle WC runtime ids (`velin-*-N`) in addition to templates
- **CLI scan:** `a11y/nested-interactive` also flags interactive children inside `<summary>` (Detect only)
- **Tokens / dark media:** `prefers-color-scheme: dark` no longer overrides when `data-velin-theme="light"` or `data-velin-color-scheme="light"` is set
- **`velin-theme-toggle`:** Light mode sets `data-velin-theme="light"` (no longer clears the attribute)
- **Tokens:** light `--velin-color-info` darkened so `--velin-color-on-info` meets WCAG AA; contrast check covers `on-info` / `info`
- A11y skills (`velin-a11y-page-checklist`, `velin-a11y-scan-fix`): diagnostics workflow, Candidate ≠ Apply, Dry-Run before `--fix`; still **review-only**
- Migration docs / CLI manifest: three migrate modes (Core-only · `--compat tailwind` · `--heuristic palette-roles`)
- Public docs aligned for Core Features / Agent Workflows / Migration Intelligence / CLI Scan (diagnostics, link integrity, SAFE limits)
- Review CLI help lists **`ecommerce`** profile; `detectProfile` also considers HTML ids/body hints
- PixVerse setup copy wording

### Fixed

- Public changelog HTML: guide links resolve to local `.html` when published, otherwise GitHub (no public 404)
- Public docs sidebar: Atelier / Library links use site-root paths (`/atelier/…`)
- Public site theme init: Light sets `data-velin-theme="light"` so OS dark preference cannot leave dark tokens on light chrome
- Public docs Light theme: brand/link/code and sidebar accents meet AA on tinted chrome
- Public site changelog generator: version label in `<summary>` is non-interactive (nested-interactive)
- Public site home release tabs: `aria-controls` points at `#expo-release-panels` tabpanel (EN/DE)
- Public docs header: tools/search sizing no longer uses `100vw` (reduces overflow under high zoom)
- Public Atelier hub hero: tighter orb sizing + paint containment under zoom
- Public home: `velin-dialog#expoDialog` naming via dialog API title (no redundant host `aria-label`)
- Public docs: search input / result items expose `:focus-visible` rings; overflowed code `<pre>` keyboard-reachable only when it scrolls
- Public site: Atelier Library route restored; sitemap regenerated; AI Skills version badges aligned to **1.4.0**

### Accessibility

Structured scan diagnostics (review-only; never invent ids, labels, or paths):

- `a11y/duplicate-id` — occurrences and similar-id candidates
- `a11y/aria-idref-target` / `a11y/aria-controls-target` — resolution state (`idref-not-found` / `idref-empty` / `idref-ambiguous`)
- `a11y/empty-link` — accessible-name source flags
- `a11y/positive-tabindex` — tabindex context
- `a11y/focus-outline-suppressed` — static CSS focus-outline details (`staticOnly`; not runtime proof)
- `a11y/button-label` / `a11y/input-label` — name/label source and `label[for]` association state
- `a11y/nested-interactive` — outer/inner nesting details
- `a11y/role-button-contract` — contract reasons (`runtimeUnverified`)
- `a11y/heading-order` — real heading skip lines
- `a11y/scrollable-region-hint` — static overflow flags on `<pre>`

Link integrity: `links/local-href-target` and `links/local-fragment-target` remain **`fixable: false`** — candidates (`exact` / `candidate` / `ambiguous` / `none`) are review hints only.

### Developer Experience

- Finding → Diagnostic → Candidate → Fixability → Dry-Run → Apply pipeline on a single scanner engine
- Additive `diagnostic` fields: `source`, `resolution`, `reason`, optional `candidates`, `related`, `runtimeUnverified`, `staticOnly`, `originHint` (links), `noAutoRepair`
- No finding-level `action` field; no separate `fixability` object — use `fixable` + `--fix-dry-run` / `autoFix.plans` for Apply decisions
- Filter link checks: `velinstyle scan --only links`
- Skills registry **1.0.0** unchanged; no new skill IDs; A11y skills remain **review-only**

### Security / Boundaries

- Migration: **SAFE_REWRITE = 0** without freigegebene Residual-Mappings · Catalog ≠ Manifest ≠ Apply · ACCEPTED ≠ APPLIED
- **No** heuristischen Intelligence-Rewrite-Mappings · **no** automatic target invention · **no** nearest-token/color
- Security gates: path/realpath · SHA-256 · mappingSource allowlist · target allowlist · fail-closed rollback
- Scan Apply: fail-closed re-validation · `links/*` blocked · Detect ≠ Fix ≠ Apply · Candidates review-only
- Honest Compat pilot coverage with heuristic remains about **69.4%** — not Tailwind parity; ≥80% not claimed

### Known limits

- Pilot coverage with Compat + heuristic ≈ **69.4%** — not Tailwind parity
- Residual Theme/Palette without freigegebene Catalog-Zeilen: **SAFE_REWRITE = 0**
- Unresolved / Warning tokens are never silently rewritten; Tailwind dependencies never auto-removed
- Static scan is not a full accessibility audit; no Live-HTTP link checks; no automatic EN↔DE or path rewrites

---

## [1.3.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.3.0) - 2026-08-09

**Velin Motion Clips.** Package `@birdapi/velinstyle-motion` + CLI image→clip pipeline (local + optional PixVerse AI provider).

Details: [`RELEASE_NOTES_1.3.0.md`](RELEASE_NOTES_1.3.0.md) · Guide: [`docs/guides/velin-motion-clips.md`](docs/guides/velin-motion-clips.md).

### Added

- Package **`@birdapi/velinstyle-motion`** / export `@birdapi/velinstyle/motion-clip`
- Local clip engine: zoom · pan · rotate · particles · intro/outro · transitions → HTML/CSS
- Clip presets: soft-zoom · cinematic · atelier · rotate · particle-reveal · rotate-explode · ai-reveal
- CLI: `motion create` · `atelier` · `transition` · `sequence` · `usage` · `providers` · `setup pixverse` · effect shortcuts · `presets --clips`
- Interactive wizard + mini-prompt → motion profile
- AiProvider interface + **PixVerse** provider (models/capabilities; cost gate; dry-run)
- PixVerse onboarding: affiliate open once (`pixverse.setup_completed`) · key in `.velin/motion/.env` · never logged
- Hard CI rule: `--yes` + AI + no key → exit 1 (no browser / prompts)
- `.velin/motion/` config · jobs · cache · usage
- Docs EN/DE: Clip guide, Page-Motion update, PixVerse setup, package README

### Changed

- Motion CLI help / registry lists clip subcommands (1.3)
- Version pin **1.3.0**

### Fixed

- Clip inputs: reject **empty** files, unsupported extensions (only `.webp` / `.png` / `.jpg` / `.jpeg`), and non-image payloads (magic-byte check) before local/AI processing

---

## [1.2.9](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.9) - 2026-08-06

**Release Candidate.** Versions, site badges, and docs aligned on one line after Technical Debt **1.2.8**.

Details: [`RELEASE_NOTES_1.2.9.md`](RELEASE_NOTES_1.2.9.md).

### Changed

- Monorepo / workspace / Site / CLI registry version surfaces synchronized to **1.2.9**
- CHANGELOG / UPGRADING narrative: Security → Debt → RC; Motion drafts marked WIP vs GA claims
- Motion guide: V1 triggers stable; V2 planned + visible fallback documented

### Fixed

- **Site home (`velinstyle-site`):** `verify:home` again green — `core-count` ignores optional `velin-signature`; `lang-switch` matches multi-class `expo-lang`; What’s New title/CTA pinned to **1.2.9** (EN/DE); site `package.json` version aligned

### Known limits (RC)

- No live `npm outdated` network rule
- Production report images still “coming soon”
- Motion V2 triggers / Physics / Studio UI not first-class

---

## [1.2.8](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.8) - 2026-08-06

**Technical Debt** — audit follow-up from [`docs/internal/CODE_AUDIT_2026-08-06.md`](docs/internal/CODE_AUDIT_2026-08-06.md).

Details: [`RELEASE_NOTES_1.2.8.md`](RELEASE_NOTES_1.2.8.md).

### Added

- `velinstyle check` **security** step (`securityCheckStep`)
- Publish rule **`publish.pack-dry-run`** (`npm pack --dry-run`, timeout-safe)
- Experience help category **`design`** (Motion visible in `--help`)

### Changed

- Lockfile finding uses `code: no-lockfile` (not “outdated”)
- Dependency Health reports no-lockfile + heuristic outdated note (no live `npm outdated`)
- Malware rules (`lifecycle-hooks`, `typosquat`) use `category: malware`; empty malware score is **n/a**
- Planned Motion V2 triggers: `runtime: false` + documented visible fallback
- `test:security` includes `tests/security.test.js`

### Fixed

- Engine `deps`/`repo`/`consumer`/`publish` category maps include **malware** so malware rules actually run

---

## [1.2.7](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.7) - 2026-08-05

**Velin Motion — Engine Surface (in-tree draft).** Timeline/Composer runtime, motion metrics, review/optimize, blueprint kinds.

> Status: **Draft / WIP** in the working tree — not claimed as npm GA. V2 triggers listed below are **planned** (runtime falls back to `visible`).

Details: [`RELEASE_NOTES_1.2.7.md`](RELEASE_NOTES_1.2.7.md) · Guide: [`docs/guides/velin-motion.md`](docs/guides/velin-motion.md).

### Motion Engine

- Timeline Registry + `velin-timeline` / `runTimeline`
- Composer `Motion.sequence` + `velin-motion-sequence`
- Transition helpers (`runViewTransition`, modal/drawer hints)
- Triggers (planned V2, fallback visible): `hidden` · `idle` · `media` · `container` · `theme` · `custom`
- CLI: `motion analyze|review|report|optimize|blueprint`
- Blueprints: landing · dashboard · pricing · portfolio · shop · forum · docs · blog · crm · login
- `check` integrates motion doctor step
- Gallery timeline/sequence sections

### Docs

- Extended Velin Motion guide; RELEASE_NOTES 1.2.7; UPGRADING; Site EN/DE

---

## [1.2.6](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.6) - 2026-08-05

**Velin Motion — Foundation (in-tree draft).** Motion Design System subsystem: full Registry (all building blocks) + Trigger Engine (Studio-ready data).

Details: [`RELEASE_NOTES_1.2.6.md`](RELEASE_NOTES_1.2.6.md) · Guide: [`docs/guides/velin-motion.md`](docs/guides/velin-motion.md).

### Motion Registry & Trigger Engine

- Registry namespaces: Presets · Timelines · Transitions · Physics · Composers · Triggers · Policies · Blueprints
- Compatibility + categories + descriptions on every record
- Trigger Engine + `velin-trigger` (`load` · `visible` · `hover` · `focus` · `click` · `scroll`)
- Unified attrs `velin-motion` · `velin-duration` · `velin-delay` · `velin-ease`
- Policies: safe · reduced · marketing · minimal · accessibility · performance · disabled
- Token aliases `--velin-motion-*`, `--velin-bounce`, `--velin-spring`
- Scroll slide-down/left/right CSS; Production bare-attr detection
- CLI: `motion list|presets|doctor|scan|policy|demo`
- Playground: `samples/motion-gallery.html`

### Docs

- Product guide Velin Motion; RELEASE_NOTES 1.2.6; Experience cross-links

---

## [1.2.5](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.5) - 2026-08-05

**Product Surface.** Velin Experience ships `dashboard`, `--record` + `replay`, plugin registry skeleton, and local analytics hints.

Details: [`RELEASE_NOTES_1.2.5.md`](RELEASE_NOTES_1.2.5.md) · Guide: [`docs/guides/velin-experience.md`](docs/guides/velin-experience.md).

### Velin Experience — Product Surface

- `velinstyle dashboard` — multi-signal project overview (doctor · review · scan · production folder)
- `--record` writes JSON / Markdown / HTML / ASCII under `.velin/records/`; `velinstyle replay <record.json>`
- Plugin skeleton: `registerPluginCommand` on the Experience Registry
- Local analytics hints (opt-in via `velinstyle-cli.json` / `--analytics`) — no cloud telemetry
- Layout / Perf / Scan audit paths render through the Output Contract

### Docs

- Product guide Velin Experience; Landing What’s New; Site CLI / Production guides EN/DE

---

## [1.2.4](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.4) - 2026-08-05

**Engine Experience.** Production / Review / Check on the Output Contract; Content Scanner (Blade first-class); Production Report breakdown.

### Content Scanner

- Scan **your project**, not only HTML: `.html`, `.blade.php` (first-class), `.twig`, `.vue`, `.jsx`/`.tsx`, `.astro`, `.md`/`.mdx`
- Template delimiters stripped so Blade/Twig noise is not tokenized as classes

### Production Report Breakdown

- Structured before→after rows: CSS · Runtime · Icons · Themes · Motion · Components + Savings %
- Terminal / Markdown / JSON (additive Contract fields); Experience widgets `bundle` / `savings`

### Modes & Notifications

- Modes: compact · standard · dashboard · verbose · debug · json · sarif · markdown
- Notification / suggestion widgets on Result surfaces

---

## [1.2.3](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.3) - 2026-08-06

**Security Suite.** Introduces **Velin Security Suite** (CLI) on **Velin Security Engine** (`core/security/`).

### Security Engine

- Rule registry: `registerSecurityRule` — categories repo · consumer · ci · publish · deps · secrets
- Scores: overall Security Score, Dependency Health, Release Health
- Security Timeline persisted under `.velin/security/timeline.json`
- Export: `@birdapi/velinstyle/security`

### CLI

```bash
velinstyle security doctor|scan|audit|publish|ci|deps|secrets|report
```

- Auto-detect maintainer vs consumer projects; flags `--repo` · `--consumer` · `--ci` · `--publish`
- Experience output + `--json` · `--strict`
- Guide: [`docs/guides/velin-security.md`](docs/guides/velin-security.md) · [`RELEASE_NOTES_1.2.3.md`](RELEASE_NOTES_1.2.3.md)

### Note

Earlier unpublished drafts for Experience packaging remain in the tree; **1.2.3 ship focus** is Security. Motion Design System remains a later line (1.2.6+).

---

## [1.2.2](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.2) - 2026-08-04

**Production Release.** VelinStyle 1.2.2 focuses on production builds and developer workflow. The new Production Builder creates optimized output based on the actual project instead of shipping the complete framework. This release also introduces the first Atelier CLI integration and new production-ready components.

**Build only what your project actually uses.**

Details: [`RELEASE_NOTES_1.2.2.md`](RELEASE_NOTES_1.2.2.md).

### Production Builder

- Do not ship the full framework blindly — analyze the project and emit an optimized production package
- CLI: `velinstyle build --production` and `velinstyle production [path]`
- CSS only for used components (graph closure + utility filter); runtime only for needed Web Components
- Themes / icons / motion / fonts only when used
- Report with size comparison; `--explain` lists removals; `--watch`, `--report`, `--safelist`
- Pipeline under `cli/production/`; `component-graph.json`; config `production: { out, safelist, themes }`
- Review: `scores.optimization` + soft `optimization.*` issues
- Guides: [`docs/guides/production-build.md`](docs/guides/production-build.md); Vitest `tests/production/production.test.js`

### Atelier CLI (Beta)

- `velinstyle atelier list` · `velinstyle atelier 24` · `velinstyle scaffold --atelier 24` (also `plan --atelier …`)
- Pull curated Atelier Library showcases (local `--from` / `VELINSTYLE_ATELIER_ROOT` or HTTPS)
- `--format html|blade|vue|react` — blade/vue/react are **integration wrappers**, not native rewrites
- Separates **Atelier Library** from **Velin Studio** (Studio remains **planned**)
- Guide: [`docs/guides/atelier-cli.md`](docs/guides/atelier-cli.md); Vitest `tests/atelier.test.js`

### New components

- `<velin-otp-input>`, `<velin-password-strength>`, `<velin-empty-state>` (Showcase P0 gaps)
- Empty-state blueprint uses `<velin-empty-state>`

### Improvements

- Overlay title slot + reactive `title` on `<velin-modal>`, `<velin-drawer>`, `<velin-sheet>`
- Data-table / table row severity modifiers (`velin-data-table__row--*`, `data-severity`, `.velin-table--*` aliases)
- CLI help / `cli-manifest.json` document Production Builder and Atelier; prefer Production output over blind full-bundle for publish (documented)

---

## [1.2.1](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.1) - 2026-08-02

VelinStyle **1.2.1** ships the **Velin Transparency Framework** foundation: labeling **and** provenance as a subsystem (not an AI badge).

### Added

- Transparency subsystem at `@birdapi/velinstyle/transparency` — Engine, Registry, Policy, Providers, Validator, Doctor, Reporter, Export, Migrate, Renderer
- HTML bridge `velin-transparency` / `velin-disclosure` + provenance attributes
- Claim taxonomy (`ai.generated`, `review.human`, `license.*`, …)
- CLI: `velinstyle transparency doctor|validate|report|export|migrate` (scan alias)
- Integration into `velinstyle check` / review scores (Transparency + pillars)
- CSS marks (badge, overlay, ribbon, inline, footer, panel, tooltip, icon)
- Example policy `examples/transparency.policy.json`
- Docs guides EN/DE: Transparency Framework

### Changed

- Soft default transparency policy so existing `check` runs stay non-breaking; strict media rules via policy file

---

## [1.2.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.2.0) - 2026-08-01

VelinStyle **1.2.0** ships Core + Design Intelligence Foundation and the Trust/Ship surface (`create`, `check`, `serve`, `doctor`), trust-oriented scan/review gates, AI skills registry tooling, and new app primitives (calendar, file dropzone, editable data table). Claims stay honest: excellent for landings and docs; not yet a primary multipage shop/enterprise-admin stack.

### 🚀 Highlights

#### Framework
- Logical spacing honesty and denser padding steps for blueprint fidelity
- App-shell layout utilities
- Lite CSS preset for marketing budgets

#### Design Intelligence (Beta)
- Review profiles (`marketing` | `app` | `docs` | `fragment` | `ecommerce`)
- Thin-content floors so junk pages cannot score conversion/SEO at 10

#### AI Foundation (Beta)
- Skill engine + 40 official skill records, packs, bundles, templates, workflows
- `velinstyle skills` / `workflow` CLI; `skills doctor` path integrity

#### CLI
- `create landing|dashboard|docs|auth`, `check` (`--json` / `--sarif`), `serve`, `doctor`
- `wc api <tag>`, `build --preset lite`, `--out` / `-o` aliases

#### Components
- `<velin-calendar>`, `<velin-file-dropzone>`, `<velin-data-table editable>`

#### Blueprints
- `split-hero`, `pricing-band`, `app-chrome`, `ops-console`

#### Quality
- Trust scan rules (nested interactive, contrast-inline, role=button, and more)
- Chaos + misses fixtures; blueprint `--strict` CI
- Windows ESM path fixes; vendor mini-docs on create

### Release Status

| Area | Status |
|------|--------|
| CSS Framework | Stable |
| Utilities | Stable (honesty expansions) |
| Runtime | Stable |
| Web Components | Stable (+ new primitives) |
| CLI | Stable (expanded surface) |
| Blueprints | Stable |
| Review Engine | Beta |
| Prompt Engine | Beta |
| Knowledge Graph | Beta |
| AI Metadata | Beta |
| AI Skills | Beta / Foundation |
| Workflow Graphs | Beta / Foundation |
| Studio | Planned |
| Utility Engine Generator | Planned |

### Added

#### CLI
- `velinstyle serve`, `velinstyle doctor`, `velinstyle create landing|dashboard|docs|auth`
- `blueprint --strict` / `npm run check:blueprints` CI gate
- `velinstyle check` (doctor + blueprint `--strict` + scan + review) with `--json` / `--sarif`
- Aliases: `validate` → `check`, `documentation` → `docs`
- `velinstyle wc api <tag>` (source-backed WC API + examples)
- `velinstyle skills doctor` / `npm run skills:doctor` path integrity
- `velinstyle build --preset lite` marketing layer subset; `--out` / `--output` / `-o` aliases
- `velinstyle skills show <id> --human` Markdown view

#### Components
- `<velin-calendar>` (month picker)
- `<velin-file-dropzone>` (client upload UX)
- `<velin-data-table editable>` inline edit (`velin-data-table-edit` event)

#### Scanner / Review
- Scan rules: `a11y/duplicate-id`, `css/unknown-velin-class`, `wc/invalid-attribute`, HTML `security/no-document-write`, `a11y/target-size-min`, `a11y/nested-interactive`, `a11y/contrast-inline`, `a11y/role-button-contract`
- `check:chaos` covers chaos + `misses.html` (fixtures under `fixtures/`)
- Review thin-content floors (SEO/conversion capped on junk pages)
- Review `--profile marketing|app|docs|fragment|ecommerce`

#### Utilities / Layout
- Spacing: `velin-py-*` (padding-block alias) and denser `velin-pb-*` / `velin-pi-*` steps **10** and **12**
- Logical spacing honesty: `velin-mbe-1/3`, `velin-mbs-1/3`, `velin-pbe-*`, `velin-pbs-*`, `velin-border-inline-end/start`
- App-shell layout utilities

#### Blueprints
- `split-hero`, `pricing-band`, `app-chrome`, `ops-console` (validated classes only)

#### AI Skills
- AI Runtime foundation: `packages/skill-engine` and `packages/velinstyle-skills` (registry-first)
- 40 official skill records across 16 categories (capabilities, compatibility, status, confidence, cost hints, dependency graph metadata, typed inputs/outputs)
- Workflow graph manifests (`landingpage`, `component-ship`, `release-gate`), plus packs, bundles, project templates, and project skill chains
- CLI: `velinstyle skills ...`, `velinstyle workflow ...`
- Schemas: `skill-record`, `skill-registry`, `skill-pack`, `skill-graph`, `skill-bundle`, `skill-template`, `skill-project`

#### Documentation
- Guides: `landing-15-min`, `marketing-lite-css`, `docs/guides/ai-skills.html`, `docs/guides/ecommerce.html`
- Docgen minimal WC copy-paste examples (copy, tooltip, lightbox, icon, command, menubar, form-summary, data-table)
- Strategy/ADR deep-dives remain maintainer-local (monorepo `interne_docs/strategy/`; not published)
- `UPGRADING.md` draft for **1.1.0 → 1.2.0** (publish when cutting the minor)
- `RELEASE_NOTES_1.2.0.md` companion overview

### Changed

#### Security
- Production dependency `isomorphic-dompurify` **3.13 → 3.21.0** (DOMPurify 3.4.x) so `npm audit --omit=dev` reports **0** vulnerabilities before the 1.2.0 upload

#### CLI
- `velinstyle scan` and `velinstyle perf` accept a single HTML/CSS/JS file or a directory (no more `ENOTDIR` on file paths)
- `velinstyle init` copies vendor assets when framework `dist/` is available and scaffolds starter HTML with `data-velin-reveal-auto` + icon sprite meta
- `velinstyle create` emits zero-warning HTML (no inline styles, `label for`/`id`), copies vendor into the target dir, boots via `bootFromDOM` when the package resolves (vendor full-bundle fallback)
- Create vendor copy includes mini WC docs under `vendor/velinstyle/docs/`
- `velinstyle build` invokes local `lightningcss` from the package `node_modules`; `--preset lite` prints size vs `dist/velinstyle.min.css`
- Unknown CLI commands exit **1** with "Did you mean ...?" instead of dumping help with a success-looking exit
- Top-level `--help` / README CLI tables list all create kinds and `wc api` / `skills doctor`
- `velinstyle meta page --write` merges curated `goals`/`intent` and **warns** when dropping non-allowlisted keys

#### Review Engine
- Hero CTA heuristic strips scripts/styles/code-blocks and counts only real `<a>`/`<button>` CTAs in hero scope

#### Components / Runtime
- `velin-icon` default sprite is relative/configurable (`sprite` attr → meta/`data-velin-icon-sprite` → `VelinIcon.defaultSprite` → `velin-icons.svg`) instead of hardcoded `/dist/velin-icons.svg`

#### AI Skills
- Skills templates/demos remap to existing files (`samples/ecommerce.html`, `samples/landing.html`, ...)
- `velin-agent.json` and `llms.txt` include AI skills catalog and workflow discovery hints
- Publish inputs include skills packages and schemas; prepublish runs `skills:generate`, `skills:validate`, `skills:doctor`, and `check:blueprints`

#### Documentation
- Docs clarify `<velin-copy>` (`value`/`text` + Shadow button), tooltip `content`, lightbox, icon sprite, attribute vs WC vs `bootFromDOM`, flex `--` naming, breadcrumb `__item`/`__link`, Windows/vendor install, and review CTA semantics
- README fit statement: landing/docs/simple admin yes; multipage shop + enterprise admin primary **not yet**; npm circulation note until 1.2.0 cut

### Fixed

#### Windows
- `velinstyle build`: config import uses `pathToFileURL` (no `ERR_UNSUPPORTED_ESM_URL_SCHEME` on drive-letter paths)

#### Scanner
- Duplicate IDs, unknown `velin-*` classes, invalid WC attributes, and inline `document.write` in HTML are detected
- Nested interactive / inline contrast / role=button contract gaps from Round-4 `misses.html`
- `scan` / `perf` no longer fail with `ENOTDIR` on a single `.html` file

#### CLI
- Subcommand `--help` for `skills`, `workflow`, `blueprint` (no longer treated as unknown ids)
- `build --out` alias honored alongside `--output`/`-o`
- Doctor resolves config from parent dir when given a file path
- Lite preset appeared larger than full min CSS when `npx lightningcss` failed in consumer CWDs (now uses package-local CLI)

#### Blueprints
- Class drift: `process-steps`, notification/filter/settings flex naming, cookie `mbe`, settings switch markup
- Offline blueprints no longer reference `../../dist/...`
- Sample `velin-py-*` classes had no CSS rules (section spacing appeared broken)

#### Components
- Offline/vendor icon installs broke when the sprite default pointed at absolute `/dist/...`
- `<velin-accordion>`: summary/panel styles via light-DOM CSS (`::slotted()` cannot style descendants of slotted `<details>`); `aria-expanded` sync; panel background prefers `--velin-color-surface-dim` (dark-safe)
- `<velin-command>`: closed overlay `pointer-events: none`; backdrop click closes; `toggle()`; inert cleanup host-scoped
- `<velin-calendar>` day grid overflow in narrow sidebars; cells fluid with `minmax(0,1fr)`

#### Review Engine
- `design.hero-cta-max` false positives from Velin-Meta JSON and demo snippets in the HTML prefix
- Empty/junk pages no longer score conversion/SEO at 10
- `app`/`docs` profiles no longer advise "H1 in the hero"; conversion soft-capped for app/docs
- Review catches missing `lang`, img without `alt`, and unlabeled placeholder-only inputs (static HTML)

#### AI Skills / Documentation
- Broken skills template paths (`samples/shop.html`, `examples/landing-demo.html`, missing guides) remapped / guides added


### Also included (Design Intelligence Foundation)

Merged from the in-repo foundation draft previously dated 2026-07-28:

- Knowledge graph seed, page registry (17 types), section/blueprint system, design constraints (hero/FAQ/contact)
- Prompt Engine (`velinstyle plan`) and Review Engine baseline (`velinstyle review`)
- Schemas under `schemas/` for design intelligence; intelligence twins under `docs/generated/intelligence/`
- Overlay inert cleanup, dark shadow parity, dialog `velin-close` canonical event, responsive display ownership
- Release framed as Core + Design Intelligence Foundation (Studio / full Utility Engine generator remain planned)

### Breaking Changes

No breaking changes in Unreleased relative to 1.1.0 public API contracts. Stricter scan/review may newly fail previously green pages (intentional trust improvement).

### Migration Notes

See [`UPGRADING.md`](UPGRADING.md) (1.1.0 → 1.2.0). After install: refresh vendor copies if vendored, run `doctor` + `check` (use `--profile app` for admin shells).

### Developer Notes

1.2.0 prioritizes **trust and ship DX**: gates that catch real defects, scaffolds that pass `check`, discoverable WC APIs offline, and honest maturity labels for Design Intelligence / AI foundation surfaces.

---

## [1.1.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.1.0) - 2026-07-27

VelinStyle 1.1 ships accessible form/table primitives, expands React wrappers to the full canonical set, and adds release-sync guards so docs, agent metadata, and package version cannot drift. No breaking changes; deprecated `<velin-tooltip-wc>` and `<velin-stepper-wc>` aliases still work.

### 🚀 Highlights

#### Components
- `<velin-data-table>` progressive enhancement
- `<velin-form-summary>` accessible error summary

#### Framework
- Official `@velinstyle/react` coverage for all canonical tags
- Release sync guard (`release:check` / `release:sync`)

#### Quality
- Docs/version/count drift fixes across framework and site
- Highlight lexers: Python, YAML, Go, Rust

### Release Status

| Area | Status |
|------|--------|
| CSS / WC / Runtime | Stable |
| React wrappers | Stable (full coverage) |
| CLI | Stable |
| Design Intelligence | Not yet (arrives in 1.2) |

### Added

#### Components
- **`<velin-data-table>`:** progressive enhancement for a light-DOM `<table>` -- sortable columns via real `<button>` headers with `aria-sort`, text/number/date sort types (`data-sort`, `data-sort-value`), substring filtering bound to any input (`filter-input`), optional pagination (`page-size`), and an empty state (`empty-text`). Sort, filter and page changes are announced; filtered and off-page rows use `hidden` so they leave the accessibility tree. Requires a `<caption>`, `aria-label`, or `label` attribute.
- **`<velin-form-summary>`:** accessible error summary for any `<form>`. Replaces the transient native validation bubble with a focusable `role="alert"` panel listing every invalid field, wires `aria-invalid` and `aria-describedby` to per-field messages, moves focus to the offending field from summary links, and clears each error as soon as the field becomes valid. Supports `data-error-message`, `data-error-label`, `data-error-ignore` and author-supplied `[data-velin-error-for]` containers.

#### Runtime / Highlight
- **Highlight languages:** Python, YAML, Go and Rust lexers, lazy-loaded like the existing ones. Aliases `py`, `python3`, `yml`, `golang`, `rs` resolve to them; `yaml` previously fell back to plain text.

#### Quality / Process
- **Release sync guard:** `npm run release:check` compares every machine-readable version surface (CLI manifest, a11y contracts, `velin-agent.json`, doc header badges, landing-page version badges, `velin-meta` blocks, JSON-LD `softwareVersion`, npm/CDN install pins, generated docs, changelog copies) against `package.json`. It also checks the component counts quoted in prose across both repos -- English and German -- against `components.count` / `components.loaderCount` in `velin-agent.json`, so adding a component cannot leave the docs claiming the old number. `npm run release:sync` rewrites the mechanical ones. Wired into `ci:checks` and the site build; site checks are skipped when the sibling repo is absent.
- **WCAG matrix:** 3.3.1 Error Identification and 3.3.3 Error Suggestion are now tracked and owned by `velin-form-summary`.

### Changed

#### React
- **`@velinstyle/react` is official (1.1.0):** wrappers now cover **all 38 canonical** `velin-*` elements instead of 12, generated from the component registry so CI fails when they drift. Props map correctly for custom elements -- booleans become presence attributes, objects and arrays are assigned as element properties instead of being stringified, and `onVelin*` handlers bind the matching custom event (`onVelinSearchSelect` → `velin-search-select`). Ships TypeScript definitions and `createVelinComponent` for your own tags. Deprecated `*-wc` aliases are intentionally excluded.

#### CLI
- **CLI version:** `velinstyle --help` reads the version from `package.json` instead of a hardcoded string that had drifted to 0.9.0.

#### Tooling
- **Demo sync:** `tools/sync-demos-to-repo.mjs` derives its unpkg pin from `package.json` rather than a hardcoded 0.9.0.

### Fixed

#### Documentation
- **Docs drift:** stale `@birdapi/velinstyle@0.9.0` install snippets and `velin-meta` version blocks across the site, plus a `@0.4.0` CDN example in the framework docs landing page. The site guide generators now read the framework version instead of embedding it.
- **Component counts:** the docs claimed 36 canonical components and 38 loader entries in 20+ places; both repos now report 38 and 40, and the guard keeps them honest.
- **Duplicate heading:** the site accessibility page shipped the "Component contracts" section twice with the same `id="contracts"`, because a one-shot patch script had been applied twice.
- **Site changelog copy:** the a11y bulk-patch script rewrote a link inside the copied `CHANGELOG.md`, which made the copy permanently differ from the framework original. Verbatim copies (`CHANGELOG.md`, `docs/generated/`) are now excluded from that script.
- **Docs coverage audit:** `audit-docs-coverage.py` crashed on Windows consoles because its report contains `→`; it now forces UTF-8 output, and recognises the two new component pages.

#### Quality / Process
- **Release guard robustness:** the repo walk crashed with `ENOENT` when a file disappeared mid-scan, which made the check fail intermittently alongside tests that use temporary directories. Dot-directories are now skipped and vanished files are ignored.

### Build
- `npm run build` regenerates the React wrapper sources; `npm run build:react` also bundles the package.
- New CI gates: React wrapper drift and release sync.
- The loader-count gate now derives its minimum from `component-contracts.json` instead of a hardcoded 36.
- Full-bundle JS budget raised from 200 KB to 215 KB (209.4 KB actual, 46.9 KB brotli) to cover the two new components. Applications using `register()` / `bootFromDOM()` pay only for what they load.

### Breaking Changes

No breaking changes.

### Migration Notes

No required migration. Optional: adopt `<velin-form-summary>` on forms and `<velin-data-table>` for progressive table UX.

### Developer Notes

1.1.0 hardens the **docs <→ package truth** loop and ships two high-leverage a11y components so forms and data UIs can meet WCAG error-identification patterns without custom scaffolding.

---

<!-- Older releases (1.0.0 and below) retain their historical Keep a Changelog sections. Content is unchanged. -->

## [1.0.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v1.0.0) - 2026-05-29

### Fixed
- **Search:** Worker mode now requires an explicit `workerUrl` (prevents broken defaults in non-ESM/IIFE builds).
- **Build:** IIFE bundle no longer emits `import.meta` warnings during build.

### Changed
- **CI:** runs on Linux, Windows, and macOS; Playwright full cross-browser only on Linux (Chromium smoke elsewhere).

## [0.9.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.9.0) - 2026-05-19

### Breaking
- **Component names:** canonical tags are `<velin-tooltip>` and `<velin-stepper>`; source files `components/velin-tooltip.js` and `components/velin-stepper.js`. `<velin-tooltip-wc>` and `<velin-stepper-wc>` remain as **deprecated** aliases (console warning once).
- **Spacing:** `.velin-mb-*` is margin-bottom only; use `.velin-my-*` for block-axis spacing.
- **Visual:** default text/primary tokens are darker for AAA — use `data-velin-contrast="aa"` on `<html>` if you need the previous lighter palette without retuning tokens.

### Migration
- Replace `<velin-tooltip-wc>` → `<velin-tooltip>` and `<velin-stepper-wc>` → `<velin-stepper>` in HTML; legacy tags still work in 0.9.0.
- Imports: `VelinTooltip` / `VelinStepper` from `@birdapi/velinstyle` (or component paths); `VelinTooltipWC` / `VelinStepperWC` re-exported as deprecated.

### Fixed
- **Security:** `velin-secure-field` no longer emits plaintext or AES keys; hardened `sanitizeURL` / `sanitizeSearchUrl`; DOMPurify SVG sanitization in `velin-icon`; search result URLs validated.
- **Runtime:** auto-generated `COMPONENT_LOADERS` (38 tags); `bootFromDOM` scans all `velin-*` elements; stacked modal inert; `velin-copy` `value`/`text` unified; code-block copy fixed.
- **WCAG 2.2:** corrected criterion comments; fixed `wcag22-auth` sample; new `wcag22-dragging` sample and `wcag22-matrix.md`.
- **Utilities:** `.velin-mb-*` margin-bottom semantics corrected.

### Added
- **Audit follow-up:** `velin-scroll-top` declarative attribute; `src/base/wc-placeholder.css` CLS guards for all loader tags; `velin-persist` in `component-contracts.json`; Playwright cross-browser smoke (`npm run test:e2e`); shared docs theme picker assets (`docs/assets/theme-picker.*`).
- **Velin-Meta:** `velinstyle meta` builds `dist/velin-agent.json` and `dist/llms.txt` for AI assistants; MIME `application/vnd.velinstyle.meta+json`; page-level `<script id="velin-meta">`; `velinstyle meta page <file> --write`; `docs generate --scope meta`; export `@birdapi/velinstyle/meta`.
- **WCAG 2.2 AAA defaults:** OKLCH color tokens (`:root`, dark, 13 themes) validated at 7:1 via `npm run test:contrast`; `data-velin-contrast="aa"` opt-down to AA palette.
- **A11y runtime:** `@birdapi/velinstyle/a11y` with `initA11y()` (live announcer, scroll padding); `core/a11y/component-contracts.json`; `docs/generated/a11y/wcag22-aaa-matrix.md`; `npm run test:a11y:coverage`.
- **Component a11y:** `a11y-utils.js`, fixes for `velin-icon`, `velin-search`, `velin-theme-toggle`, `velin-popover` (`aria-labelledby`), dialogs, toasts, and more; scanner rules `velin-icon-label`, `sparkline-label`, `skeleton-text`.
- **VelinHighlight:** `core/highlight/` (`velinSyntax`, `highlightElement`, `highlightAll`, `initHighlight`, `registerLanguage`, `lazyLoadLanguage`); lexers for JS/TS, HTML, CSS, JSON, Markdown, Shell, SQL, PHP, Blade; `highlight.css` with OKLCH/P3 token colors and reduced-motion fade.
- **`<velin-code-block>`** Web Component (copy, line numbers, line highlight, collapsible); `velin-code` attribute bridge with lazy in-view highlighting.
- **Export:** `@birdapi/velinstyle/highlight`; `bootFromDOM({ highlight: true })`; sample `samples/velin-code-block.html`; guide `docs/guides/syntax-highlight.html`.
- **VelinSearch:** `core/search/` API (`velinSearch`, `createSearch`, `registerSearchProvider`), fuzzy offline search, highlight, category filters; optional Web Worker (`core/search/worker.js`).
- **`<velin-search>`** Web Component with autocomplete, keyboard navigation, grouped results.
- **Search benchmark:** `tests/search-benchmark.test.js` — fuzzy query over 10k entries (main thread under 400ms, worker under 500ms in CI); `npm run test:search:bench`.
- **Motion runtime:** `core/motion/` (`initMotion`, `velinMotion`, rAF scheduler, stagger, smooth scroll); unified `.velin-in-view` with scroll-animation CSS fallback.
- **Velin HTML attributes:** `core/attributes/` registry (20+ bridges); `bootFromDOM({ attributes: true })`.
- **CLI:** `velinstyle search index` builds `dist/search-index.json`; `docs generate` emits `docs/generated/` + attributes index.
- **PII scanner:** `hardcoded-email`, `hardcoded-secret`, `mailto-in-source`, `localstorage-pii` rules; `--only pii`; `--fix` masks emails (`cli/pii-scanner.js`).
- **WCAG 2.2 CSS:** `authentication.css`, `consistent-help.css`, `dragging-alternatives.css`, `focus-appearance.css`; scanner rules `a11y/autocomplete-auth`, `a11y/invalid-describedby`.
- **Font tokens:** `tokens/fonts.css`, utilities `.velin-font-display`, `.velin-tabular-nums`, `.velin-text-pretty`; `tokens build` supports `fonts` and `motion` blocks.
- **JS runtime:** `components/runtime/` with `register`, `lazyDefine`, `whenDefined`, `bootFromDOM`; package exports `./runtime`, `./sanitize`, `./email`, `./secure`.
- **CLI `velinstyle perf`:** `audit`, `suggest`, `fix` for images and scripts (`cli/perf-audit.js`).
- **CLI `velinstyle tokens validate`:** JSON validation for OKLCH, themes, fonts (`cli/tokens-validate.js`, `examples/tokens.schema.json`).
- **Web Components:** `<velin-email>` (reveal obfuscation), `<velin-secure-field>` (optional AES-GCM demo; subpath import).
- **Docs:** `guides/performance-audit.html`, `extend/javascript-api.html`; security page PII section.
- **Auto-generated reference:** `velinstyle docs generate` / `npm run docs:generate` writes Markdown to `docs/generated/` (components, tokens, utilities, CLI, scanner rules, a11y modules). CI verifies committed snapshots.
- **Tokens JSON:** `zIndex` block in schema/build/validate; deterministic key order in `tokens build`; `examples/tokens.full.json`.

### Changed
- Documentation and samples: landmark structure (`<header role="banner">`), AAA migration section, updated `docs/getting-started/accessibility.html` (formerly `docs/a11y.html`) and token pages.
- `test:a11y` enables `color-contrast-enhanced`; JSDOM canvas stub for axe in CI.
- Package and CLI version **0.9.0**; CI runs `tokens:validate`, `test:security`, `test:perf`, `ci:checks` (bundle budget, search-index drift, loader drift).
- **Package:** `.` export → `runtime-entry.js`; full bundle at `@birdapi/velinstyle/bundle`; TypeScript `dist/velinstyle.d.ts`. Subpaths: `/search`, `/motion`, `/attributes`, `/highlight`, `/sanitize`. Distribution via [velinstyle.info](https://velinstyle.de).
- `velin-reveal.js` delegates to `core/motion`; attribute bridge uses `<velin-tooltip>` / lazy loaders from renamed component files.
- Generated docs: `velin-tooltip.md`, `velin-stepper.md` (replaces `*-wc.md` filenames).
- `docs:sync-site` uses `velinstyle-site/tools/sync-0.9.0.py`.

## [0.8.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.8.0) - 2026-05-16

### Added
- **Motion tokens:** five new easings (`spring`, `elastic`, `expo-out`, `back-out`, `snappy`) and two new durations (`slowest 800ms`, `cinematic 1200ms`) in `tokens/motion.css`.
- **Filter-effect utilities:** new `utilities/filter-effects.css` with `velin-saturate-*`, `velin-hue-rotate-*`, `velin-contrast-*`, `velin-invert`, `velin-sepia`, `velin-drop-shadow-*`, extended `velin-backdrop-*`, and `velin-glass` / `velin-glass-strong` composites.
- **Chart-animation utilities:** new `utilities/chart-animation.css` with `velin-stroke-draw`, `velin-sparkline-glow`, `velin-value-bump`, `velin-live-pulse`, `velin-count-fade` keyframes and matching `velin-chart-line` / `velin-chart-area` / `velin-chart-glow` / `velin-spark-tick` / `velin-live-pulse` classes &mdash; all reduced-motion safe.
- **Three new Web Components:** `<velin-sparkline>` (animated draw-in + live `update()` API), `<velin-counter>` (rAF + `Intl.NumberFormat` count-up with currency/percent/locale), `<velin-live-dot>` (slotted realtime indicator).
- **Two motion helpers:** `velin-reveal.js` (`initReveal()` plus `[data-velin-reveal-auto]` auto-init) and `velin-flip.js` (`flipReorder()`, `filterList()` plus `[data-velin-flip]` + `[data-velin-filter-value]` / `[data-velin-filter-input]` auto-wiring).
- **Demo upgrades:** crypto dashboard uses sparkline tick + counters + live-dot; forum and shop chips/searches drive real FLIP-animated list filtering; grid/list view toggle on the shop animates layout changes via FLIP.
- **CLI `velinstyle scaffold`:** prompt-based HTML from blueprint composition (`cli/scaffold.js`, `scaffold-recipes.json`); `list-intents`, `-o`, `--json`.
- **CLI `velinstyle layout`:** `audit`, `suggest`, and `fix` for flex/grid/responsive issues (`cli/layout-audit.js`).
- **Docs:** new pages `docs/utilities/motion.html`, `docs/utilities/filter-effects.html`, `docs/utilities/chart-animation.html`, `docs/components/sparkline.html`, `docs/components/counter.html`, `docs/components/live-dot.html`; `docs/guides/prompt-scaffolding.html`, `docs/guides/responsive-layout.html`; layout and getting-started sections for 0.8.0 CLI.

### Changed
- `src/velinstyle.css` imports the new filter-effects + chart-animation utilities.
- `components/index.js` exports the three new WCs and two helpers.
- `index.html` drops the inline scroll-reveal IIFE in favour of the shared `velin-reveal` helper via `data-velin-reveal-auto`.
- CLI help version **0.8.0**; package version **0.8.0**.



### Added
- **`velinstyle prefix` JSON maps:** optional `velinstyle-prefix-map.json` next to the migrated tree (or `--map <file>`) supplies explicit `token` → `velin-class` replacements; merged after auto map, overrides catalog and `--bootstrap-display`. Keys `_*` / `$*` ignored. Sample: `examples/velinstyle-prefix-map.sample.json`. Documented in README, README.de, `docs/migration.html`, `docs/guides/existing-project.html`.

## Unreleased (Internal Publication) → [0.7.5] - 2026-05-16

### Added
- **Security:** hardened `sanitize.js` (`stripControlChars`, `escapeHTMLAttribute`, `createSafeHTML`, stricter `sanitizeURL`); CLI scanner rules (`no-meta-refresh`, `no-inline-style`, `no-data-html-uri`, `dangerous-target`, `integrity-missing`, `postmessage-wildcard`) with `--only` filter; `npm run test:security`.
- **Mobile:** `safe-area.css` utilities (`.velin-pb-safe`, `.velin-mobile-only` / `.velin-desktop-only`).
- **Animations:** 10 utility classes in `animation.css` with `prefers-reduced-motion` and fine-pointer hover gating.
- **Web Components (8):** `velin-combobox`, `velin-bottom-nav`, `velin-sheet`, `velin-segmented-control`, `velin-rating`, `velin-menubar`, `velin-command`, `velin-announcer`; shared `shadow-a11y-styles.js`.
- **CLI blueprints (8):** `bottom-nav-mobile`, `empty-state`, `cookie-consent`, `filter-bar`, `notification-center`, `settings-panel`, `onboarding`, `pricing-table` (22 total).
- **Vite + React:** `templates/vite-react-velinstyle`, expanded `@velinstyle/react` wrappers, `docs/guides/react-vite-starter.html`.

### Changed
- **`components/index.js`:** exports for new WCs and sanitize helpers.
- **`reset.css`:** FOUC guard for new custom element tags.

## [0.7.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.7.0) - 2026-05-16

### Added
- **WCAG 2.2 CSS:** `focus-not-obscured.css`, `target-size.css`, optional AAA contrast via `data-velin-contrast="aaa"`.
- **Expanded `forced-colors` and `preferences.css`** for switch, pagination, tables, stepper, nav.
- **Security layer:** `security.css` moved to dedicated `@layer security` (no longer in `a11y`).
- **CLI scanner:** rules `a11y/heading-order`, `a11y/landmark-main`, `a11y/interactive-aria-hidden`, `a11y/iframe-title`.
- **`npm run test:contrast`:** OKLCH token pair verification script.
- **`docs/assets/docs-a11y.js`:** nav toggle and theme panel without inline handlers.
- **A11y patterns:** menu button, disclosure, data table, loading/busy sections.

### Changed
- **Web Components:** keyboard/ARIA improvements for collapse, popover, tooltip, carousel (pause control), dropdown (type-ahead), drawer (`aria-labelledby`), accordion, modal/drawer (`inert` background).
- **`focus-manager.js`:** visibility-aware focusables, `setBackgroundInert` / `clearBackgroundInert`.
- **`tests/a11y/run.js`:** recursive `docs/**` and `samples/**`, WCAG 2.2 axe tags, IIFE hydration, `matchMedia` polyfill.

### Fixed
- **Target size:** alert/toast close, btn `--sm`, pagination ellipsis meet 44px minimum via `target-size.css`.

## [0.6.1](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.6.1) - 2026-05-11

### Fixed
- **Vitest / jsdom**: `tests/setup.js` mocks `window.matchMedia` for `velin-theme-toggle` tests; `velin-popover` test now sets `trigger="hover"` so `role="tooltip"` is asserted correctly.
- **Drawer CSS**: Fixed `side="end"` drawer showing content and not closing due to `inset-inline-start: 0` leaking to all sides. Each side now explicitly resets opposing inset values.
- **FOUC Protection**: Added `:not(:defined)` rule in `reset.css` hiding VelinStyle custom elements until they are registered, preventing flash of unstyled content.
- **CLI `require()` bug**: Replaced CJS `require('fs').unlinkSync` with ESM `unlinkSync` import in `cli/index.js`.
- **CLI version**: Updated help text to v0.6.1.
- **CLI a11y layer**: `security.css` now included in the `a11y` layer file list.

### Added
- **CLI blueprints**: 11 additional static HTML snippets (`navbar-header`, `footer-simple`, `hero-section`, `card-grid`, `form-contact`, `breadcrumb-bar`, `sidebar-layout`, `table-responsive`, `alert-stack`, `search-field`, `pagination-bar`) — run `velinstyle blueprint list`.
- **Multi-Provider Icon System**: `<velin-icon>` now supports a `provider` attribute for CDN-based icons from Lucide, Heroicons, Bootstrap Icons, Material Symbols, Font Awesome, and Tabler Icons.
- **`VelinIcon.registerProvider()`**: Static method to register custom icon providers at runtime.
- **`cli/icon-providers.js`**: Provider registry with CDN URL mappings, variant support, license info, and homepage links for 6 providers.
- **`velinstyle icons` CLI commands**: `list` (show providers), `add` (download SVGs), `remove` (delete provider icons), `build` (rebuild sprite).
- **`cli/scanner.js`**: Security, Accessibility, and CSS lint scanner engine with 20+ rules.
- **`velinstyle scan` CLI command**: On-demand project scanning with colored terminal output, JSON format for CI/CD, `--fix` for auto-fixable issues, `--severity` filtering.
- **Build-integrated scanning**: `scan.enabled: true` in `velinstyle.config.js` runs scanner after each build.

## [0.6.0] - 2026-05-11

### Security
- **XSS Protection**: New `components/sanitize.js` with `escapeHTML()` and `sanitizeURL()` functions
- **9 Web Components hardened**: All dynamic content rendering now uses `escapeHTML()` (velin-toast, velin-dialog, velin-lightbox, velin-countdown, velin-stepper-wc, velin-tooltip-wc, velin-popover, velin-drawer, velin-modal)
- **Event listener leak fix**: `velin-lightbox.js` no longer accumulates keydown listeners on repeated `open()` calls
- **CSS Security Utilities**: New `src/a11y/security.css` with `.velin-user-content` (content sandboxing), `.velin-secure-frame` (clickjacking protection), autofill protection, external link indicators
- **velin-persist.js hardened**: Storage key validation (regex), 64KB size limit, `QuotaExceededError` handling, `storage="session"` option for sessionStorage
- **Trusted Types support**: Optional `getTrustedPolicy()` for CSP-enforced environments
- **URL validation**: `sanitizeURL()` blocks JavaScript protocol URLs in lightbox

### Added
- **`docs/security.html`**: Dedicated security documentation page with CSP guide, XSS protection details, best practices
- **`docs/css-components.html`**: New page with live demos for breadcrumb, chip, divider, input-group, list-group, pagination, spinner, stat, stepper (CSS), timeline, tooltip (CSS), drawer (CSS)
- **`docs/components.html` rewritten**: All 22 Web Components now documented with live interactive demos, attribute/method/event/slot API tables
- **`docs/utilities.html` expanded**: 10 new utility sections (anchor positioning, color-mix, container-style, divide, responsive, @scope, scroll, scroll-animation, state, view-transitions)
- **`docs/tokens.html` expanded**: Aspect Ratio, Z-Index, and Motion token sections with previews
- **`docs/themes.html` expanded**: All 13 themes now shown with live preview cards
- **IIFE build**: `dist/velinstyle-components.iife.js` for `file://` compatibility (no `type="module"` needed)

### Fixed
- **`docs/404.html`**: CSS path fixed (`dist/` to `../dist/`)
- **Version numbers**: All docs pages unified to v0.6.0
- **Navigation**: All docs pages now link to CSS Components and Security pages

## [0.5.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.5.0) - 2026-05-11

### Added

- **CSS @scope Integration**: Scoped styles fuer Card, Modal, Drawer, Nav + `.velin-scope` / `.velin-scope-island` Utilities
- **Auto-Contrast Utility**: `.velin-auto-text--*` nutzt `color-contrast()` fuer automatische Textfarbe auf farbigen Hintergruenden (OKLCH)
- **Native Anchor Positioning**: `.velin-anchor` / `.velin-anchored--*` fuer CSS-native Tooltip/Popover-Positionierung ohne JS
- **Fluid Typography**: Alle `--velin-text-*` Tokens auf `clamp()` umgestellt -- stufenlose Skalierung 320px bis 1440px
- **Smart User-Preference Queries**: `prefers-contrast: more/less` und `prefers-reduced-transparency` Support
- **CSS-only Filter**: `.velin-filter-group` mit `:has()` fuer JS-freies Listen-Filtern ueber Checkboxen
- **Adaptive @container Style Queries**: `.velin-density-compact/normal/comfortable` + `.velin-style-professional/playful`
- **Luminance-Aware P3 Gradients**: `.velin-gradient-p3-*` mit `color(display-p3)` fuer Wide-Gamut Displays
- **State-driven Utilities**: `.velin-is-loading/empty/error/success/disabled` mit automatischen Icons/Overlays
- **Morph Transitions**: `.velin-morph-source/target` fuer View Transitions API-basierte Komponenten-Morphs
- **Haptics API**: `vibrate()`, `applyHaptic()`, `VelinHapticObserver` -- Vibrationspatterns fuer mobile Interaktion
- **`<velin-persist>`**: Zero-JS Form Persistence Web Component -- auto-save/restore via localStorage
- **A11y Dashboard**: Interaktive Seite auf velinstyle.info mit ARIA Inspector, Keyboard Visualizer, Contrast Checker
- **10 neue Themes**: Neon, Earth, Ocean, Sunset, Nordic, Retro, Corporate, Pastel, Midnight, Forest (13 total)
- **VelinStyle CLI**: `velinstyle init/build/themes/add` fuer CSS Tree-Shaking und Custom Builds

### Fixed

- **39 Accessibility Issues** behoben:
  - Carousel: Keyboard-Navigation, `aria-roledescription`, Dot-Indicators Touch-Target
  - Countdown: `role="timer"`, `aria-live="polite"`, `aria-atomic`
  - Lightbox: Focus-Trap, Focus-Restore, `aria-roledescription="lightbox"`
  - Dropdown/Popover: `aria-expanded`, `aria-haspopup` auf Trigger
  - Stepper: `role="list"` / `role="listitem"`, `aria-current="step"`
  - Progress-Ring: Host-Level `role="progressbar"` + ARIA values
  - Dialog: Focus-Restore, Autofocus
  - Chip: Touch-Target auf 44px erweitert
  - Switch/Progress/Spinner: `forced-colors: active` Support

- **11 velinstyle-site Frontend Issues** behoben:
  - Navigation zwischen index.html und Docs verbunden
  - GitHub URL vereinheitlicht (SkyliteDesign)
  - Dark-Mode Attribut auf `data-velin-theme` vereinheitlicht
  - Absolute Pfade zu relativen konvertiert
  - Bootstrap-Klassen in introduction.html durch VelinStyle ersetzt
  - Mobile Hamburger-Menu hinzugefuegt
  - Footer auf allen Doc-Seiten
  - Prism.js Dark-Mode verbessert

### Changed

- `components/index.js` exportiert jetzt 22 Module (+ VelinPersist, VelinHapticObserver)
- `package.json`: `bin` Eintrag fuer CLI, Version 0.5.0, `cli/` in files
- `src/velinstyle.css`: 6 neue CSS-Imports (scope, anchor, filter, container-style, state, preferences)
- `scripts/build-themes.js`: Auto-Discovery statt hardcoded Array
- Typography Tokens: Fixed values durch `clamp()` ersetzt

### Metrics

| Metrik | v0.4.0 | v0.5.0 |
|--------|--------|--------|
| CSS (min) | 118.7 KB | 132.1 KB |
| JS (min) | 58.6 KB | 63.7 KB |
| Web Components | 20 | 22 |
| Themes | 3 | 13 |
| CSS Utilities | ~600 | ~700+ |
| A11y Issues | 39 | 0 |
| CLI | - | 4 Commands |
| Doc-Seiten | 108 | ~110 |

## [0.4.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.4.0) - 2026-05-11

### Added

- **Float Utilities**: `.velin-float-start`, `.velin-float-end`, `.velin-float-none`, `.velin-clearfix`
- **Vertical-align Utilities**: `.velin-align-baseline/top/middle/bottom/text-top/text-bottom/sub/super`
- **Helpers-Kategorie** (`src/helpers/helpers.css`): Ratio Container, Stacks, Stretched Link, Vertical Rule, Colored Links, Focus Ring, Icon Link
- **12-Column Flex Grid**: `.velin-row`, `.velin-col-1` bis `-12`, responsive sm/md/lg/xl Varianten, Offsets, Gutters, Row-Columns
- **Content-Styles** (`src/base/content.css`): Typography (h1-h6, display-1-6, lead, blockquote), Images (fluid, thumbnail, rounded), Figures
- **Table-Erweiterungen**: Zeilen-Farbvarianten, `.velin-table--sm`, `.velin-table--borderless`, Caption-Top
- **7 neue Animationen**: flip, drop-in, rubber-band, jello, heartbeat, swing, tada + Stagger + Hover-Trigger
- **6 neue Web Components**: `<velin-tooltip-wc>`, `<velin-lightbox>`, `<velin-stepper-wc>`, `<velin-dialog>`, `<velin-countdown>`, `<velin-progress-ring>`
- **106 Dokumentationsseiten** auf velinstyle.info nach Bootstrap-Vorbild (12 Kategorien)
- **Haupt-Repo Docs Banner** mit Link zur vollstaendigen Dokumentation

### Fixed

- Fehlende `@keyframes velin-spin` Definition

### Changed

- `components/index.js` exportiert jetzt alle 20 Web Components
- `src/velinstyle.css` importiert `base/content.css` und `helpers/helpers.css`
- `package.json` Version 0.4.0
- Alle Doc-Seiten auf v0.4.0

## [0.3.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.3.0) - 2026-05-11

### Added

- **Responsive Utility-Varianten**: Vollstaendige `sm`/`md`/`lg`/`xl` Varianten fuer Spacing, Text, Flex, Sizing, Display, Visibility (~300 neue Klassen)
- **Input Group Komponente**: `.velin-input-group` mit Text/Icon Prepend/Append und Groessen-Varianten
- **Floating Labels**: `.velin-float-label` mit animierter Transition fuer Inputs, Selects und Textareas
- **Collapse Komponente**: Standalone Content-Toggle mit CSS-only smooth height Animation
- **Button Toolbar**: `.velin-btn-toolbar` fuer gruppierte Button-Gruppen
- **Navbar Mega-Menu**: `.velin-nav__mega` Multi-Column Dropdown in Navigation
- **Form Validation**: `.velin-form--validated` mit `:valid`/`:invalid` Pseudo-Klassen und visuellem Feedback
- **color-mix() Utilities**: Dynamische Farb-Abstufungen (5%-90%) fuer Primary, Secondary, Success, Danger, Warning, Info -- einzigartig gegenueber Bootstrap/Tailwind
- **Scroll-driven Animations**: `.velin-animate-on-scroll`, `.velin-scroll-progress`, `.velin-parallax` ohne JS
- **View Transitions API**: `.velin-vt-`* Utilities fuer `view-transition-name`, Morph-Uebergaenge, Cross-Fade und Slide Pseudo-Element-Styles
- **Subgrid Support**: `.velin-subgrid` und `.velin-subgrid-rows` in Grid-System
- **Ring Utilities**: `.velin-ring-`* mit Varianten fuer Farben (primary, secondary, success, danger) und Groessen (1-4px, inset)
- **Divide Utilities**: `.velin-divide-y`, `.velin-divide-x` fuer Kind-Element-Trenner
- **Columns Utilities**: `.velin-columns-1/2/3/4` fuer Multi-Column-Layout
- **Order Utilities**: `.velin-order-first/last/none/1-12` fuer Flex/Grid-Reihenfolge
- **Object-position Utilities**: `.velin-object-center/top/bottom/left/right` fuer Bilder
- **Flex-basis Utilities**: `.velin-basis-`* mit Bruch-Varianten (1/2, 1/3, 2/3, 1/4, 3/4, 1/5)
- **Scroll-snap Utilities**: `.velin-snap-x/y`, `.velin-snap-start/center/end`, Scroll-Padding fuer fixe Header
- **Text-wrap Utilities**: `.velin-text-balance`, `.velin-text-pretty`, `.velin-text-nowrap`
- **Isolation/Blend Utilities**: `.velin-isolate`, `.velin-blend-multiply/screen/overlay/difference`
- **Touch-action Utilities**: `.velin-touch-none/pan-x/pan-y/manipulation`
- **Overscroll Utilities**: `.velin-overscroll-contain/none/auto`
- **Will-change Utilities**: `.velin-will-change-transform/opacity/scroll`
- **Hyphens Utilities**: `.velin-hyphens-auto/none`
- **3 neue Web Components**: `<velin-carousel>` (Touch-Swipe, Auto-Play, Indikatoren, `aria-roledescription`), `<velin-collapse>` (grid-row Animation), `<velin-scrollspy>` (IntersectionObserver)
- **8 neue Sample-Seiten**: Login, Signup (Multi-Step), E-Commerce (Sharp), Settings, Pricing (Soft), Chat, Email (Sharp), Kanban
- **Docs-Homepage**: Komplett neue Marketing-Landingpage mit Feature-Grid, Vergleichstabelle, Quick-Start, Component-Showcase
- **velinstyle.info**: Separates Marketing-Repository mit Live-Playground, Theme-Showcase, interaktiven Code-Beispielen

### Changed

- Alle Doc-Seiten haben jetzt einheitliche Navigation mit 10 Links
- Alle Versionsangaben auf v0.3.0 aktualisiert
- `components/index.js` exportiert jetzt alle 14 Web Components
- `src/velinstyle.css` importiert 6 neue Utility-Dateien und 2 neue Komponenten
- `package.json` Version auf 0.3.0

### Metrics


| Metrik               | v0.2.0            | v0.3.0                                                    |
| -------------------- | ----------------- | --------------------------------------------------------- |
| CSS-Komponenten      | 22                | 29+                                                       |
| Web Components       | 11                | 14                                                        |
| Utility-Klassen      | ~150              | ~500+                                                     |
| Responsive Variants  | nur Display       | ALLE                                                      |
| Sample-Seiten        | 5                 | 13                                                        |
| Moderne CSS-Features | Container Queries | + color-mix, View Transitions, Scroll Animations, Subgrid |


## [0.2.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.2.0) - 2026-05-11

### Added

- **15 neue CSS-Komponenten**: Breadcrumb, Pagination, Progress, Spinner, List Group, Avatar (mit Status/Gruppe), Switch/Toggle, Divider, Chip/Tag, Timeline, Stepper, Stat Card, Range Input, File Upload Dropzone, Close Button
- **5 neue Web Components**: `<velin-drawer>` (Offcanvas), `<velin-theme-toggle>` (Dark/Light mit localStorage), `<velin-popover>` (Rich-Content Tooltips), `<velin-copy>` (Click-to-Copy), `<velin-scroll-top>` (Scroll-to-Top)
- **CSS-Animationsbibliothek**: 7 Entrance (fade-in, slide-up/down/left/right, scale-in, zoom-in), 5 Attention (bounce, pulse, shake, wiggle, ping), 2 Exit Animationen mit Duration/Delay/Infinite Modifiern, voll `prefers-reduced-motion`-konform
- **Gradient Utilities**: 6 fertige Gradienten (primary, secondary, surface, hero, sunset, ocean), Gradient-Text, Richtungsmodifier
- **Transform Utilities**: rotate, scale, translate-y mit negativen Varianten
- **Filter/Backdrop Utilities**: blur, backdrop-blur, brightness, grayscale
- **Print Utilities**: print-only, no-print, break-before/after/avoid, automatische Druckoptimierung
- **Layout Patterns**: sidebar, holy-grail, sticky-footer, center, pancake, aside-main
- **Button Erweiterungen**: Success-Variante, Loading-State mit Spinner
- **Docs-Infrastruktur**: Shared `docs.css` mit Sidebar-Layout, Code-Block-Styling, API-Tabellen, Swatch-Komponenten, NEW-Badges
- **5 neue Doc-Seiten**: Getting Started, Layout, Utilities, Forms (alle Controls), Migration Guide (Bootstrap + Tailwind)
- **RTL-Demo**: Vollstaendige arabische Sample-Seite mit gespiegelten Layouts
- **TypeScript-Definitionen**: Vollstaendige `.d.ts` fuer alle 11 Web Components mit HTMLElementTagNameMap
- **GitHub Pages Deployment**: Automatisches Deployment bei Push auf main
- **Custom 404-Seite**: Styled VelinStyle 404 fuer GitHub Pages
- **Testing**: axe-core A11y-Tests, Vitest Web Component Unit-Tests, CI-Integration

### Changed

- `components/index.js` exportiert jetzt alle 11 Web Components
- `src/velinstyle.css` importiert alle neuen Komponenten, Utilities und Layout-Patterns
- `package.json` Version auf 0.2.0, TypeScript-Definitionen als `types` Feld
- CI-Workflow fuehrt jetzt auch Unit-Tests aus

## [0.1.0](https://github.com/SkyliteDesign/velinstyle/releases/tag/v0.1.0) - 2026-05-11

### Added

- **Design Tokens**: OKLCH color palette, spacing scale (4px base), typography scale (1.25x Major Third), border-radius, shadows, motion, z-index, and aspect-ratio tokens
- **Dark Mode**: Automatic via `prefers-color-scheme` and explicit via `data-velin-theme="dark"` attribute
- **Modern CSS Reset**: `box-sizing: border-box`, scroll behavior, motion reduction, min font-size for mobile inputs
- **Accessibility Layer**: `.velin-sr-only`, `.velin-skip-link`, `:focus-visible` outlines, `prefers-reduced-motion` support, `forced-colors` (Windows High Contrast) support, skeleton loading with CLS protection
- **Layout System**: Responsive container with Container Queries, CSS Grid with auto-fit/auto-fill, Flexbox utilities, stack and cluster patterns
- **BEM Components**: Button (6 variants + 4 sizes), Card, Form inputs, Navigation, Alert, Badge, Table, Tooltip, Modal (CSS)
- **Utility Classes**: Flex, spacing, text alignment, display, visibility, color utilities
- **Web Components**: `<velin-modal>`, `<velin-tabs>`, `<velin-accordion>`, `<velin-dropdown>`, `<velin-toast>`, `<velin-icon>` with full keyboard and screen reader support
- **Focus Manager**: Shared module with `trapFocus()`, `rovingTabindex()`, `saveFocus()`, `restoreFocus()`
- **Icon System**: 51 essential SVG icons with sprite builder and `<velin-icon>` component
- **Theme Presets**: Sharp (angular, editorial), Soft (rounded, warm), Brutalist (raw, bold)
- **Documentation**: Token reference, component demos, accessibility guide, theme showcase, icon gallery
- **Sample Pages**: Landing page (default), Dashboard (sharp), Blog (soft), Portfolio (brutalist)
- **Build Tooling**: Lightning CSS for CSS bundling/minification, ESBuild for JS bundling
- **CI/CD**: GitHub Actions workflow for build and a11y tests
- **Linting**: Stylelint configuration enforcing `velin-` prefix convention
