# Changelog

All notable changes to the `healing-icons` package. Add entries under **Unreleased**;
the Release workflow turns that section into the new version and the GitHub Release notes.

## Unreleased

## 0.9.0 - 2026-10-16

- **New package `@healing-icons/font`**: all 4 styles as icon fonts, `.ttf` and `.woff2` (families "Healing Icons
  Outline", "Outline Duo", "Fill", "Glyph Duo"). Type an icon's name in the font and it turns into the icon
  (ligatures), so they work in Figma, Word or PowerPoint after installing the `.ttf`; in Windows apps (WinUI, WPF, …)
  use the code point. On the web: `import "@healing-icons/font"`, then `<i class="hi-font-outline hi-heart"></i>` or
  `<i class="hi-font-outline">heart</i>`. The duo styles' faded layer is a COLRv1 color layer in the text color;
  apps without color fonts show a one-color fallback. Strokes are fixed at the 1.5 width. The GitHub Release has
  the fonts as a ZIP.
- `icons.json` lists each icon's font `codepoint`. Code points are fixed (`icons/codepoints.json`), shared by all
  styles and never reused.

## 0.8.0 - 2026-10-14

- **Search from the terminal**: `npx healing-icons search shopping cart` (synonyms, small typos, Vietnamese, old
  names; `--style`, `--limit`, `--json` for scripts and AI assistants). The same ranking is exported as
  `rankIcons()` from `healing-icons/search`, and the website now uses it too.
- **Animations**: `animations.css` in every package (`healing-icons/animations.css`, `@healing-icons/react/animations.css`, …)
  with `hi-spin`, `hi-spin-reverse`, `hi-pulse`, `hi-beat`, `hi-fade`, `hi-bounce`, `hi-shake`, `hi-wiggle` and
  `hi-float`, tunable with CSS custom properties and off under `prefers-reduced-motion`.
- **App-wide defaults**: `<HealingIconsProvider size strokeWidth color … variant>` in `@healing-icons/react` and
  `@healing-icons/react-native`, `app.use(createHealingIcons({ … }))` in `@healing-icons/vue`. `variant` sets the
  default style of `DynamicIcon`.
- **Renamed icons keep working**: old names listed in `icons/aliases.json` become deprecated aliases (component,
  SVG file, `DynamicIcon` and web component name, `IconName`), and `icons.json` lists them as `aliases`.

## 0.7.0 - 2026-10-13

- **New package `@healing-icons/svelte`**: Svelte 5 components with the same props, single-icon imports
  (`@healing-icons/svelte/fill/HeartIcon`), `IconName` and `DynamicIcon`.
- **New package `@healing-icons/elements`**: a `<healing-icon name="heart" variant="fill">` web component for any
  framework or plain HTML. Import the icons you use, or load `dist/lazy.js` from a CDN to fetch icons on demand.
- **New package `@healing-icons/angular`**: standalone `<healing-icon [icon]="HeartIcon">` component (Angular 17+,
  server rendering supported), tree-shakable icon data per style, and `<healing-dynamic-icon name="…">`.
- **New package `@healing-icons/react-native`**: the React components rendered with `react-native-svg`
  (same props; `title` becomes the accessibility label).
- **Sprites**: `npx healing-icons sprite heart star --style fill --out icons.svg` builds an SVG sprite with the
  icons you pick (`--all` for a whole style); `createSprite()` from `healing-icons/sprite` does the same in code.
- README: using the SVG files from a CDN (jsDelivr / unpkg), including recoloring with a CSS mask.

## 0.6.0 - 2026-10-13

- **Breaking: components moved to their own packages** so you only download what you use
  (13 MB instead of 36 MB):
  - React: `healing-icons` → **`@healing-icons/react`** (`healing-icons/fill` → `@healing-icons/react/fill`, …)
  - Vue: `healing-icons/vue` → **`@healing-icons/vue`**
  - `healing-icons` keeps the SVG files, `icons.json`, and the `IconName` / `IconStyle` types.
  Props, component names and import paths inside each package are unchanged.

## 0.5.0 - 2026-10-13

- **`strokeWidth` and `absoluteStrokeWidth` props** (React and Vue) for outline icons.
- **Single-icon imports**: `healing-icons/<style>/<Component>` and `healing-icons/vue/<style>/<Component>`.
- **`IconName` and `IconStyle` types** listing every icon name and style.
- **`DynamicIcon`** (`healing-icons/dynamic`, `healing-icons/vue/dynamic`) loads an icon by name on demand;
  each style's name map is loaded lazily, so the entry adds under 1 KB.
- Package now ships `LICENSE` (MIT) and this changelog.
- Tests for the build output, React and Vue rendering, TypeScript consumers and the package size.

## 0.4.0 - 2026-10-13

- **Vue 3 components**: `import { HeartIcon } from "healing-icons/vue"` (outline) and
  `healing-icons/vue/<style>` for every style. Same props as React: `size`, `color`,
  `secondaryColor`, `title`; other attributes fall through to the `<svg>`.
- React output is unchanged.

## 0.3.0 - 2026-10-12

- Search tags: `icons.json` lists the tags of every icon.

## 0.2.0 - 2026-10-12

- First public release: 3,500+ icons in 4 styles (`outline`, `outline-duo`, `fill`, `glyph-duo`)
  as React components and optimized SVG files.
