- 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>
74 lines
2.3 KiB
Markdown
74 lines
2.3 KiB
Markdown
# 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 |