Minor Changes
This release represents a major step forward in internationalization support, developer experience, and architectural refinements across the entire c15t ecosystem.
🌍 New Translations Package
- NEW: Added
@c15t/translations
with comprehensive i18n support - 8 languages: English, German, Spanish, Finnish, French, Italian, Dutch, Portuguese
- Covers consent banners, dialogs, and common phrases
- Replaces former middleware-centric translation handling
🔧 CLI Enhancements
- NEW: Telemetry system with framework and package manager detection
- NEW: Enhanced onboarding flow with better framework detection (React, Next.js, etc.)
- NEW: Automatic package manager detection (pnpm, yarn, npm)
- NEW:
--telemetry-debug
flag for debugging telemetry - Improved error handling and setup UX
- Better file generation across storage modes and configurations
🎯 Backend Updates
- NEW: Server-side translation support in consent banner handling
- Accept-Language header parsing for language detection
- Consent banner contracts updated with translation schemas
- Enhanced jurisdiction checking with better defaults
- User-Agent and IP address handling now default to
null
instead of "unknown"
⚛️ React Package Changes
- Integrated translation support throughout components
ConsentManagerProvider
now supports initial translation configuration- Removed dependency on middleware package
- Store enhanced with translation capabilities
🔄 Next.js Package Restructuring
- BREAKING: Removed middleware exports and functionality
- NEW:
ConsentManagerProvider
for server-side rendering - NEW: Server-side consent banner detection with jurisdiction mapping
- Support for extracting consent-relevant headers
- Updated to work with the new translations system
🏗️ Core Package Updates
- Integrated translation configuration system
- Offline client includes default translations
- Consent banner fetching enhanced with translation support
- Improved store management with initial data handling
🔄 Infrastructure & Tooling
- NEW: GitHub Actions workflow for canary releases
- NEW: Branch synchronization workflow (main → canary)
- Updated BiomeJS configuration with comprehensive lint rules
- Enhanced build configurations across packages
📦 Package Management
- Updated dependencies and added peer dependencies where appropriate
- Improved module exports and build configs
- Enhanced TypeScript configs for better type safety
📋 Detailed Change Breakdown
New Features
- Multi-language consent banners (de, es, fi, fr, it, nl, pt)
- SSR consent initialization for Next.js
- CLI telemetry and onboarding upgrades;
--telemetry-debug
flag
Improvements
- Consent banner responses include translation structures and jurisdiction info
- Translations utilities and types centralized in
@c15t/translations
- Unified onboarding file generation for client config and env files
- Enhanced telemetry with async tracking and debug logging
Bug Fixes
- Fixed consent banner logic for US jurisdiction and fallback scenarios
- Improved CLI telemetry and onboarding error handling
Refactor
- Removed legacy middleware exports and Node SDK re-exports from Next.js/middleware packages
- Consolidated jurisdiction and consent banner logic into Next.js provider modules
- Async CLI context creation with richer environment metadata and logging
- Storage modes refactored to delegate file generation and unify cancellation handling
Tests
- Extensive coverage for banner display, jurisdiction detection, language parsing, translation selection
- Removed deprecated tests for deleted middleware/jurisdiction modules
Chores
- Version bumps, dependency updates, and new canary workflows
- Metadata/build config updates for consistency and tooling
💥 Breaking Changes
@c15t/nextjs
: Removed middleware exports and functionality in favor of server-side provider-based initialization
✨ What's Changed
- refactor(api): switch to oRPC and unified contract routing by @BurnedChris in #213
- feat(sdk): introduce Node.js client with OpenAPI support by @BurnedChris in #214
- fix(styles): remove Tailwind layer to avoid collision by @KayleeWilliams in #217
- refactor(translations): consolidate into common + remove widget keys by @KayleeWilliams in #219
- Version Packages by @github-actions in #249
Published via commit 3eadfd5 by @github-actions
Full Changelog: c15t@1.2.1...c15t@1.3.0