# v0.4.0 Release Notes

## Fixed
- Fixed redundant key parsing overhead
- Fixed inconsistent log formatting
- Fixed non-uniform error handling
- Fixed missing detailed error context
- Fixed incomplete configuration validation
- Fixed log file creation error handling

## Features
- Added LogPath configuration for custom log directory, default path: `./logs/golangJWTAuth`
- Implemented comprehensive logging system for `init`/`create`/`verify`/`refresh` operations
- Added multi-line structured logging with tree-style error details
- Added dual logging capability (file and terminal output)
- Added key pair validation to ensure private/public key matching
- Added PEM key pre-parsing to improve Token generation performance

## Adjusted
- Refactored error handling strategy to return errors instead of `log.Fatalf`
- Refactored `map[string]interface{}` to strongly-typed `RefreshData` struct
- Modified Token signing to use pre-parsed PrivateKeyPEM
- Updated initialization process with complete dependency checks