Changes in v0.0.4
Features
- Thread-safe initialization with
sync.Once
- New
Initialize()
and GetDataType()
functions
- Improved error handling
- Support for all system_profiler data structures
Breaking Changes
- Removed legacy
init()
functions
- Data is no longer automatically initialized on package import
Usage
// Recommended way to access data
data, err := audio.GetDataType()
if err != nil {
log.Fatalf("Failed to get audio data: %v", err)
}
Testing
- All tests updated to use new initialization pattern
- Comprehensive test coverage for all type packages
Documentation
- Updated README with usage examples
- Added thread safety documentation