- Fix Go version to 1.24.4 in go.mod - Add version management with version.go - Add --version flag to CLI tool - Remove deprecated LoadFromFile and LoadFromReader methods - Update tests to use new API - Create TODO.md for future improvements - Update README with Go version requirement Co-Authored-By: Claude <noreply@anthropic.com>
2.3 KiB
2.3 KiB
TODO for smartconfig
This file tracks improvements and features planned for future releases.
Testing Improvements
Concurrency Tests
- Add comprehensive concurrent access tests for Config struct
- Test race conditions with multiple goroutines accessing/modifying config
- Benchmark concurrent access patterns
Security Tests
- Add tests for malicious input handling in EXEC resolver
- Test various command injection attempts
- Add tests for FILE resolver with symlinks and directory traversal attempts
Performance Tests
- Add comprehensive benchmarks for all resolver types
- Benchmark large configuration files (1MB+, 10MB+, 100MB+)
- Benchmark nested interpolation performance
- Compare performance with other config libraries
Integration Tests
- Add integration tests with mocked cloud services
- Test cloud resolver authentication failures and retry scenarios
- Test timeout behavior for all external resolvers
Documentation
Examples
- Add godoc examples for all major functions
- Create example applications demonstrating common use cases
- Add examples for custom resolver implementation
Guides
- Write troubleshooting guide for common issues
- Create migration guide from popular config libraries (Viper, koanf)
- Write security best practices guide
- Add performance tuning guide
Future Features
Caching Layer (if needed)
- Consider adding optional caching for resolver results
- Implement TTL-based cache invalidation
- Add cache statistics and monitoring
Configuration Validation
- Add optional schema validation support
- Implement type-safe configuration structs
- Add validation rules for common patterns
Watch/Reload Support (if needed)
- Add file watching for configuration changes
- Implement hot reload capability
- Add change notification callbacks
Enhanced Error Handling
- Create typed errors for better error handling
- Add error context with resolution path
- Implement error aggregation for multiple failures
Build and Release
Release Automation
- Set up goreleaser configuration
- Automate changelog generation
- Create release binaries for multiple platforms
- Set up GitHub Actions for CI/CD
Distribution
- Publish to common package managers (Homebrew, apt, etc.)
- Create Docker images with the CLI tool
- Set up automated security scanning