# Changelog
Starts with version 3, please check the commit history for earlier changes.

## [3.0.0]
- Feature: **Interpolations** can now take **TemplateResults** and **DirectiveResults** and not only strings. This change requires a major version change since the API for interpolations has changed

## [3.0.1]
- Chore: Upgraded Lit to 2.2.8

## [3.0.2]
- Fix: Adapted directory cleanup in build scripts (Linux only)
- Fix: Made interpolations optional in translate service

## [3.0.4]
- Chore: Upgraded Lit to 2.4.1

## [3.0.4]
- Chore: UUpgraded Lit to 2.5.0 and Typescript to 4.9.4

## [3.1.0]
- Fix: **isTemplateResult()** was removed from translate.service.ts since the naming didn't correctly reflect what it was doing and there is a proper
  isTemplateResult() available in lit/directive-helpers. But since it was part of the public api this is a breaking change.

## [3.2.0] Left out by mistake

## [3.3.0]
- Feature: Added **translateLowercase** directive

## [3.3.1]
- Chore: Upgraded Lit to 2.6.0

## [3.3.2]
- Fix: Call render() instead of translate() on language change so the correct render function is executed for other directives than translate.directive

## [3.3.3]
- Chore: Upgraded Lit to 2.7.2

## [3.3.4]
- Fix: Make it work across different versions of TranslateService by writing to a window property

## [3.3.5]
- Chore: Upgraded Lit to 3.0.2

## [3.3.6]
- Chore: Upgraded Lit to 3.1.1

## [3.3.7]
- Chore: Upgrade deps

## [3.3.8]
- Chore: Upgrade Lit to 3.2.0

## [3.4.0]
- Chore: Bump dependencies
- Feat: Add translateObject service method & directive

## [3.4.1]
- Build: Upgrade target version

## [3.4.2]
- Fix: Fix condition in translateFromObject

## [3.5.0]
- Feat: Add translateObjectUnsafeHTML directive

## [3.5.1]
- Fix: Restore broken replacement of template type interpolations

## [3.5.2]
- Chore(deps): Bump versions

## [3.5.3]
- Chore(deps): Bump versions

## [3.6.0]
- Feat: A fallback language can be provided at `init()` and `use()`
- Feat: Add vitest for testing
- Fix: `translateObject.directive` change detection
- Fix: `translate.directive` interpolation change check
- Fix: Add js extension to exports
- Fix: Typo in `main` property in package.json
- Chore: Switch to peerDependency use
- Chore: Add exports to package.json
- Chore: Change to strict mode
- Chore(deps): Bump versions and upgrade lockfile

## [3.6.1]
- chore: allow deep imports

## [4.0.0]
- **Breaking**: The package root (`.`) now only exports the core `TranslateService` and shared types. Directives are no longer re-exported from the root barrel and must be imported from their dedicated subpaths (e.g. `@stefanholzapfel/lit-translate/translateUppercase.js`). This forces IDE auto-import and bundlers to resolve each directive directly, avoiding eager loading of unused directives.
- **Breaking**: Deep imports into `dist/` are no longer supported. Use the published subpath exports instead (see README).
- Feat: Enforce explicit subpath exports for every directive and mark the package as side-effect-free (`"sideEffects": false`) for reliable tree-shaking.

## [4.0.1]
- Chore(package.json): remove types field