2.0.0
What's Changed
BREAKING CHANGES:
- Complete project restructure with new modular architecture
- Renamed directories from hyphenated to underscore format (new-relic-* to new_relic_*)
- Removed legacy base image approach in favor of shared components
- Updated Docker image names and entry points for consistency
MAJOR FEATURES:
-
Modular Architecture Redesign
-
Introduced shared components library for common functionality
-
Created processor-based architecture with specialized handlers:
- BaseProcessor: Common processing interface
- JobProcessor: Individual job processing and tracing
- PipelineProcessor: Pipeline-level orchestration
- BridgeProcessor: Bridge job handling and downstream triggers
- DownstreamProcessor: Multi-project pipeline support
-
Separated exporters into dedicated modules with clear responsibilities
-
Enhanced Bridge and Downstream Pipeline Support
-
Full support for GitLab bridge jobs and downstream pipeline triggers
-
Comprehensive bridge processing with proper parent-child relationships
-
Multi-project pipeline tracing across organizational boundaries
-
Bridge jobs can be excluded using GLAB_EXCLUDE_JOBS configuration
-
Implemented GLAB_USE_NAMESPACE_SLUG feature
-
Centralized Configuration Management
-
Type-safe configuration system with dataclasses and validation
-
Automatic New Relic region detection (US/EU) based on API key format
-
Environment variable validation with descriptive error messages
-
Backward compatibility with deprecation warnings for smooth migration
-
Health monitoring and configuration validation endpoints
-
Structured Logging System
-
Replaced all print statements with structured JSON logging
-
Performance and debugging improvements
-
Comprehensive Test Suite
-
Integration tests for GitLab and New Relic APIs
-
Performance testing and benchmarking
-
Error handling and edge case validation
-
Configuration management testing
-
Processor-specific test suites
-
OTEL attribute filtering and helpers testing
TECHNICAL IMPROVEMENTS:
-
OpenTelemetry Enhancements
-
Improved attribute parsing for nested objects and arrays
-
Enhanced span status handling and instrumentation
-
Optimized resource detection and attribute management
-
Data Processing Improvements
-
Enhanced JSON array flattening for complex GitLab data structures
-
Improved attribute filtering and sanitization
-
Better handling of nested pipeline data and relationships
-
Optimized data transformation pipelines
-
Error Handling and Resilience
-
Comprehensive exception handling with custom exception classes
-
Graceful degradation for API failures and network issues
-
Improved retry logic and rate limiting
-
Better error reporting and debugging capabilities
-
Performance Optimizations
-
Reduced logging verbosity with debug-level operational details
-
Optimized API calls and data processing workflows
-
Improved memory usage and resource management
-
Enhanced caching and data deduplication
INFRASTRUCTURE CHANGES:
- Docker and Deployment
- Updated Dockerfiles with proper PYTHONPATH configuration
- Improved container entry points and health checks
- Enhanced docker-compose.yaml with corrected service definitions
MIGRATION NOTES:
- Update Docker image references to new 2.0.0 tag
- Bridge processing is now enabled by default
Full Changelog: 1.0.15...2.0.0