Skip to main content

Version 8.4.0

Thomas Mattheussen
PO & Lead Developer

πŸš€ New Feature​

chameleon-react​

  • Removed the :focus:not(:focus-visible) fallback in Rating, Tag, and Textarea now that :focus-visible is universally supported. !2733

🎨 Themes​

chameleon-theme-ds​

  • Added the "en franΓ§ais" logos and a new inverted sponsored content logo for chameleon-theme-ds. !2734
  • Domains that have their own Focus URL no longer fall back to the generic https://focus.mediahuisgroup.com, and asset tokens now point to the latest versioned, domain-specific Focus URLs. !2732

🏠 Internal​

  • Updates to dependencies:
  • Fixed pnpm run assets:sync: due to some Figma API breaking changes. !2735
  • Refactored the Figma API layer in chameleon-assets. !2738
  • Replaced the node-chrome Docker base image with the official node image plus a manual Chromium install. !2737
  • Improved tokens build pipeline performance. !2731
  • Focus v2 migration: CDN tooling now authenticates via @azure/identity and uses the new POST /v2 endpoint. !2730
  • Updated chameleon-kotlin to Android 36/AGP 9 with related library bumps to meet Google's new minimum target requirement. !2712

Version 8.3.0

Thomas Mattheussen
PO & Lead Developer

πŸš€ New Feature​

chameleon-react​

  • AutoComplete: reworked internals to fix race conditions between focus, typing and selection. itemToString is now an official prop, and a new actionsRef exposes open(), close(), toggle() for imperative control. Added a defaultValue prop and improved list a11y attributes. !2706

🏠 Internal​

Version 8.2.0

Thomas Mattheussen
PO & Lead Developer

πŸš€ New Feature​

chameleon-react​

  • Exposed locale as a top-level export. !2678
  • ListTeaser: added an articleType prop that renders a matching icon. !2674

πŸ› Bug Fix​

chameleon-react​

  • Fixed Telecran's locale, which was incorrectly set to en-GB instead of de-DE. !2679
  • Theme config JSON files are now imported with import attributes (with { type: 'json' }). !2673

🎨 Themes​

chameleon-theme-hbvl​

  • Updated the design for Button in the premium subtheme. !2666

🏠 Internal​

Version 8.1.0

Wannes De Backer
Front-end Developer Web

πŸš€ New Feature​

  • Added new icons edit and flag-active, and re-synced the frd icon set after a sync issue. !2656

πŸ› Bug Fix​

chameleon-react​

  • Theme config types are now derived from the actual theme imports instead of a hardcoded list, so keyof typeof themeConfigs is accurate again. !2669

🏠 Internal​

  • Updates to dependencies:
  • Moved chameleon-swift-components snapshot tests to Percy, matching Kotlin and Web. !2662
  • Removed the hardcoded GitLab auth token from the project .npmrc to stop a pnpm warning for anyone without that env variable sourced locally. !2655
  • Fixed broken links in the docs still pointing to the obsolete PostCSS configuration for chameleon-react. !2657
  • Renamed CLAUDE.md to AGENTS.md and added CLAUDE.md shims pointing to the new files. !2650

Version 8.0.0

Thomas Mattheussen
PO & Lead Developer

πŸŽ‰πŸ¦Ž Eight versions in, still changing colors: welcome Chameleon 8.0.0!​

Version 8 is a release we've been building towards for a long time, and we're genuinely proud of what it brings. The headline feature is dynamic theming for chameleon-react, and it's a big one. Until now, every product had to maintain separate builds per brand. Dynamic theming eliminates that entirely: a single deployment can switch themes at runtime, without a rebuild or reload. Fewer builds, simpler pipelines, and a much more scalable foundation for every team consuming Chameleon.

This release also ships a full migration of our NPM packages to the GitLab Package Registry with a clean rename to the @chameleon scope, bringing everything under one roof.

As always with a major release, this means breaking changes. Please check out our migration guide before upgrading.

πŸš€ New Feature​

chameleon-react​

  • πŸ’₯ BREAKING: Dynamic Theming β€” chameleon-react now supports runtime theming. Until now, every brand required its own separate build. With dynamic theming, a single deployment can switch themes on the fly. Be sure to check out our migration guide for details. !2485

🏠 Internal​

  • πŸ’₯ BREAKING: NPM Registry Migration β€” All packages have moved from the Azure DevOps registry to the GitLab Package Registry. Along with this, the npm scope has changed from @mediahuis to @chameleon and the chameleon- prefix has been dropped from package names. Be sure to check out our migration guide for the full list of renamed packages and updated .npmrc configuration. !2547