Releases: crimsonsunset/jsg-logger
v1.2.0 - Fully Generic Logger
🎯 MAJOR RELEASE: 100% Generic Logger
- Minimal default config with only 'core' component
- Projects must now define custom components in logger-config.json
- All legacy hardcoded components removed
- Core component rename: 'cacp' → 'core' throughout functional code
✨ NEW FEATURES
- 100% Generic design works with any JavaScript project
- Dynamic alias generation (camelCase from kebab-case)
- Smart component auto-creation with sensible defaults
- Enhanced config normalization
- Generic examples for modern component types
🗑️ REMOVED
- 10 hardcoded legacy components (soundcloud, youtube, site-detector, websocket, popup, background, priority-manager, settings, test)
- Project-specific logic and assumptions
- Hardcoded aliases replaced with dynamic generation
📚 MIGRATION REQUIRED
Existing projects need to define components in logger-config.json:
{
"components": {
"core": { "emoji": "🎯", "level": "info" },
"api": { "emoji": "🌐", "level": "debug" },
"ui": { "emoji": "🎨", "level": "info" }
}
}The logger will auto-create missing components, but explicit definition is recommended.
v1.1.3 - Stability Improvements
🔧 Patch Release: Browser Compatibility & Stability
🐛 FIXES
- Fixed browser compatibility issues
- Improved environment detection reliability
- Enhanced error handling in various environments
🔧 IMPROVEMENTS
- Better fallback mechanisms
- Optimized initialization performance
- Enhanced cross-environment stability
This release focuses on stability and compatibility improvements across all supported environments.
v1.1.0 - Major API Enhancement (82% Boilerplate Reduction)
🚀 MAJOR API ENHANCEMENT: Project Simplification
✨ NEW FEATURES
- Static Singleton Pattern:
JSGLogger.getInstance()with auto-initialization - Auto-Discovery Components: Both camelCase and kebab-case access patterns
- Non-Destructive Error Handling: Missing components log but don't break apps
- Built-in Performance Logging:
JSGLogger.logPerformance()static utility - Component Auto-Creation: Missing components created with sensible defaults
📊 IMPACT
- 82% Boilerplate Reduction: Projects reduced from 220+ lines to ~40 lines
- Zero-Config Integration: Single
getInstance()call vs complex initialization - Enhanced Developer Experience: Auto-discovery, performance utilities, graceful errors
🔧 API IMPROVEMENTS
- Static methods available on JSGLogger class
- Eager getter creation during initialization
- Both naming conventions supported automatically
- Real-world validation in production projects
💻 USAGE
import JSGLogger from '@crimsonsunset/jsg-logger';
const logger = JSGLogger.getInstance({
configPath: './logger-config.json'
});
// Auto-discovery works immediately
logger.components.apiHandler();
logger.components.uiComponents();This release represents a massive simplification for consuming projects while maintaining all advanced features.
v1.0.6 - NPM Publication & Documentation
📦 First Stable NPM Release
🎉 MILESTONE
- NPM Package Published: Available as
@crimsonsunset/jsg-logger - Professional Documentation: Complete README, CHANGELOG, CONTRIBUTING
- Legal Protection: ISC license with "AS IS" disclaimer
✨ NEW FEATURES
- Automated publishing scripts (
npm run release) - Comprehensive package exports configuration
- Professional package structure and metadata
📚 DOCUMENTATION
- Complete API documentation with examples
- Installation and usage instructions
- Configuration examples and best practices
- Contributing guidelines for future development
🔧 IMPROVEMENTS
- Fixed internal import paths for all modules
- Enhanced package.json with proper exports
- Streamlined publishing workflow
📦 INSTALLATION
npm install @crimsonsunset/jsg-loggerThis marks the first stable, publicly available release of JSG Logger on NPM.
v1.0.5 - Core Multi-Environment Foundation
🏗️ Foundation Release: Multi-Environment Logger
�� CORE FEATURES
- Smart Environment Detection: Browser, CLI, and server auto-detection
- Direct Browser Logger: Custom console formatting bypassing Pino
- Component Organization: Separate loggers for system components
- File-Level Overrides: Granular control with pattern matching
🎨 BREAKTHROUGH FEATURES
- Perfect Browser Formatting: 100% console styling control
- Runtime Controls: Dynamic configuration without restarts
- Timestamp Modes: Absolute, readable, relative, or disabled
- Display Toggles: Control every aspect of log output
🔧 TECHNICAL FOUNDATION
- Multi-environment formatters (browser, CLI, server)
- Log store for debugging interfaces
- Smart level resolution hierarchy
- Beautiful emoji and color output
💫 INNOVATION
- First logger to achieve perfect browser console formatting
- Surgical debugging with file-level precision
- Zero-compromise multi-environment support
This release establishes the core architecture that makes JSG Logger unique in the JavaScript logging ecosystem.