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)
- Analytics (
- 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:
Install all required packages:
bashnpm install @breadstone/ziegel-core @breadstone/ziegel-platformUpdate imports:
typescript// Before import { utilities } from '@breadstone/ziegel'; // After import { Guid, DateTime } from '@breadstone/ziegel-core'; import { Container } from '@breadstone/ziegel-platform';Configure dependency injection:
typescriptimport '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:
- Watch the repository for release notifications
- Subscribe to our newsletter for major announcements
- Follow our RSS feed for all updates
- 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 sectionfix:Bug fixes → Fixed sectiondocs:Documentation → Documentation sectionperf:Performance → Performance sectionrefactor:Code changes → Changed sectionBREAKING 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.