Skip to content

Changelog ​

All notable changes to the ziegel framework will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased] ​

Added ​

  • Comprehensive documentation website with VitePress
  • Advanced usage examples and patterns
  • Testing guide with Vitest best practices
  • Performance optimization guide
  • Security guide and best practices
  • Contributing guidelines
  • FAQ section

Enhanced ​

  • Improved API documentation structure
  • Better package overview documentation
  • Enhanced troubleshooting guides

[0.0.2] - 2024-01-15 ​

Added ​

  • Complete monorepo structure with Nx workspace
  • Core package (@breadstone/ziegel-core) with fundamental utilities
  • Platform services (@breadstone/ziegel-platform) with dependency injection
  • HTTP client (@breadstone/ziegel-platform-http) with interceptors and retry logic
  • Data access patterns (@breadstone/ziegel-data) with repository pattern
  • Internationalization support (@breadstone/ziegel-intl)
  • Units and measurements (@breadstone/ziegel-intl-units)
  • Commerce and financial tools (@breadstone/ziegel-intl-commerce)
  • Platform components for enterprise features:
    • Analytics (@breadstone/ziegel-platform-analytics)
    • Caching (@breadstone/ziegel-platform-caching)
    • Configuration (@breadstone/ziegel-platform-configuration)
    • Localization (@breadstone/ziegel-platform-localization)
    • Logging (@breadstone/ziegel-platform-logging)
    • Mapping (@breadstone/ziegel-platform-mapping)
    • Messaging (@breadstone/ziegel-platform-messaging)
    • Navigation (@breadstone/ziegel-platform-navigation)
    • Presentation (@breadstone/ziegel-platform-presentation)
    • Serialization (@breadstone/ziegel-platform-serialization)
    • Transaction (@breadstone/ziegel-platform-transaction)
    • Translation (@breadstone/ziegel-platform-translation)
  • Reactive extensions (@breadstone/ziegel-rx)
  • Redux patterns (@breadstone/ziegel-redux)
  • Presentation layer utilities (@breadstone/ziegel-presentation)

Features ​

Core Package (@breadstone/ziegel-core) ​

  • Guid Generation: Unique identifier creation and validation
  • DateTime Handling: Comprehensive date and time utilities
  • Exception Types: Structured error handling with specific exception types
  • Collections: Enhanced data structures (List, Dictionary, Set, Stack, Queue)
  • Validation: Input validation and data integrity checks
  • Cryptography: Hashing, encryption, and secure string handling
  • Text Processing: String extensions and regex patterns
  • Color Management: RGB, HSL color manipulation
  • File Operations: File system utilities and path handling

Platform Services (@breadstone/ziegel-platform) ​

  • Dependency Injection: IoC container with service registration
  • Service Locator: Centralized service resolution
  • Configuration Management: Environment-based configuration
  • Lifecycle Management: Service initialization and disposal
  • Event Aggregation: Decoupled messaging between components

HTTP Client (@breadstone/ziegel-platform-http) ​

  • RESTful Operations: GET, POST, PUT, DELETE with strong typing
  • Interceptor Pattern: Request/response modification and logging
  • Retry Logic: Configurable retry policies with backoff strategies
  • Error Handling: Structured HTTP error responses
  • Authentication: Bearer token and custom authentication support
  • Caching: HTTP response caching with TTL
  • Compression: Request/response compression support

Data Access (@breadstone/ziegel-data) ​

  • Repository Pattern: Generic repository with CRUD operations
  • Query Builder: Fluent API for building complex queries
  • Unit of Work: Transaction management across multiple repositories
  • Pagination: Built-in support for paged results
  • Filtering: Advanced filtering with operators and expressions
  • Validation: Data validation before persistence
  • Caching: Repository-level caching strategies

Internationalization (@breadstone/ziegel-intl) ​

  • Culture Management: Support for multiple cultures and locales
  • Resource Loading: Dynamic loading of localization resources
  • Date/Time Formatting: Culture-specific date and time formatting
  • Number Formatting: Locale-aware number formatting
  • Globalization: Comprehensive globalization support

Platform Components ​

  • Analytics: Event tracking, metrics collection, and performance monitoring
  • Caching: Multi-level caching with memory and distributed cache support
  • Configuration: Hierarchical configuration with environment overrides
  • Localization: Advanced localization with key resolvers and value parsers
  • Logging: Structured logging with multiple providers and log levels
  • Mapping: Object-to-object mapping with validation
  • Messaging: Event aggregation and message handling
  • Navigation: URL routing and navigation management
  • Presentation: UI utilities and window management
  • Serialization: JSON/XML serialization with custom converters
  • Transaction: Transaction scope management
  • Translation: Text translation services

Development Tools ​

  • Nx Workspace: Monorepo management with build optimization
  • TypeScript: Full TypeScript support with strict type checking
  • ESLint: Code quality and style enforcement
  • Prettier: Code formatting consistency
  • Vitest: Fast unit testing framework
  • API Extractor: API documentation generation
  • Commitlint: Conventional commit message validation

Documentation ​

  • API Documentation: Comprehensive API reference
  • Package Documentation: Individual package guides
  • Examples: Practical usage examples
  • Architecture Guide: Framework architecture and design principles
  • Best Practices: Recommended patterns and practices

Build and Release ​

  • Automated Builds: CI/CD pipeline with automated testing
  • Package Publishing: Automated package publishing to npm registry
  • Version Management: Semantic versioning with automated changelog
  • Dependency Management: Optimized dependency resolution

[0.0.1] - 2023-12-01 ​

Added ​

  • Initial project structure
  • Basic package scaffolding
  • Development environment setup
  • Core architecture planning

Version Compatibility ​

Node.js Support ​

  • Recommended: Node.js 18.x or higher
  • Minimum: Node.js 16.x
  • Testing: Versions 16.x, 18.x, 20.x

TypeScript Support ​

  • Recommended: TypeScript 5.0 or higher
  • Minimum: TypeScript 4.8
  • Features: Full type safety with strict mode

Package Manager Support ​

  • npm: 8.x or higher
  • Yarn: 1.22.x or higher (Classic and Berry)
  • pnpm: 7.x or higher

Migration Guides ​

From 0.0.1 to 0.0.2 ​

This is the first major release with full functionality. If you were using the initial version:

  1. Install all required packages:

    bash
    npm install @breadstone/ziegel-core @breadstone/ziegel-platform
  2. Update imports:

    typescript
    // Before
    import { utilities } from '@breadstone/ziegel';
    
    // After
    import { Guid, DateTime } from '@breadstone/ziegel-core';
    import { Container } from '@breadstone/ziegel-platform';
  3. Configure dependency injection:

    typescript
    import 'reflect-metadata';
    import { Container } from '@breadstone/ziegel-platform';
    
    Container.configure(container => {
        // Register your services
    });

Breaking Changes ​

0.0.2 ​

  • Complete rewrite of the framework architecture
  • New package structure with modular design
  • Updated API surface with breaking changes from 0.0.1
  • Dependency injection container replaces manual service instantiation

Deprecations ​

0.0.2 ​

  • Legacy utility functions from 0.0.1 (will be removed in 1.0.0)
  • Old configuration format (migration guide available)

Security Fixes ​

0.0.2 ​

  • Implemented secure string handling for sensitive data
  • Added input validation and sanitization
  • Enhanced HTTP client with security headers
  • Improved error handling to prevent information leakage

Performance Improvements ​

0.0.2 ​

  • Optimized dependency injection container
  • Improved HTTP client connection pooling
  • Enhanced caching strategies
  • Reduced bundle size through tree-shaking

Bug Fixes ​

0.0.2 ​

  • Fixed memory leaks in event handling
  • Resolved HTTP client timeout issues
  • Corrected date formatting edge cases
  • Fixed dependency resolution circular references

Release Process ​

Release Schedule ​

  • Major releases: Annually (breaking changes)
  • Minor releases: Quarterly (new features)
  • Patch releases: As needed (bug fixes)

Support Policy ​

  • Current version: Full support with new features and bug fixes
  • Previous major version: Security fixes and critical bug fixes for 12 months
  • Older versions: Community support only

Getting Notifications ​

To stay informed about releases:

  1. Watch the repository for release notifications
  2. Subscribe to our newsletter for major announcements
  3. Follow our RSS feed for all updates
  4. Join our Discord for real-time discussions

Release Notes ​

Each release includes:

  • New features with examples
  • Breaking changes with migration guides
  • Bug fixes with issue references
  • Performance improvements with benchmarks
  • Security updates with impact assessment

Contributing to Changelog ​

We follow Conventional Commits for automatic changelog generation:

  • feat: New features → Added section
  • fix: Bug fixes → Fixed section
  • docs: Documentation → Documentation section
  • perf: Performance → Performance section
  • refactor: Code changes → Changed section
  • BREAKING CHANGE: Breaking changes → Breaking Changes section

For more details, see our Contributing Guide.


For the most up-to-date information, please check our GitHub repository and documentation website.