X (Twitter)

Discord

GitHub1.1k
3.535 min read

v1.3.0 — Translations Package, SSR Consent, CLI Telemetry, and Next.js Restructure

Posted By

Christopher Burns
Consent Team
Christopher Burns

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

Published via commit 3eadfd5 by @github-actions

Full Changelog: c15t@1.2.1...c15t@1.3.0

Translations & DX team

c15t.com