Repository navigation
Go-OPML v1.1.0 - Infrastructure & Quality Improvements
🚀 Major Infrastructure Enhancements
This release focuses on significantly improving the project's infrastructure, development workflow, and code quality without breaking existing functionality.
✨ What's New
🔄 CI/CD Pipeline & Automation
- GitHub Actions Workflow: Complete CI/CD pipeline with automated testing
- Multi-Version Testing: Automated testing across Go 1.20, 1.21, and 1.22
- Automated Binary Building: Cross-platform binaries built automatically on release
- Automated Release Uploads: Binaries automatically uploaded to GitHub releases
🔍 Code Quality & Linting
- golangci-lint Integration: Comprehensive linting configuration
- Code Quality Checks: Automated code quality validation in CI
- Deprecated Linter Removal: Updated to use current, maintained linters
- Type Safety Improvements: Fixed type checking and import issues
📦 Missing Components Added
- pkg/rss Package: Previously missing RSS fetching functionality now properly implemented
- Episode Struct: Proper data structures for podcast episode information
- RSS Integration: Full integration between OPML parsing and RSS fetching
📋 Project Governance
- Issue Templates: Structured bug reports and feature request templates
- Pull Request Template: Standardized PR workflow and checklist
- Security Policy: Comprehensive security reporting and best practices
- Contributing Guidelines: Clear contribution process and standards
🧪 Testing Improvements
- Fixed Test Structure: Resolved import issues and undefined function calls
- Cross-Platform Testing: Ensures compatibility across different environments
- Automated Test Execution: Tests run automatically on every PR and push
📦 Available Downloads
Windows
- Go-OPML.exe - Windows 64-bit
macOS
- Go-OPML-mac-intel - macOS Intel 64-bit
- Go-OPML-mac-arm64 - macOS Apple Silicon (M1/M2/M3)
Linux
- Go-OPML-linux - Linux 64-bit
🔧 Quick Start
- Download the appropriate binary for your platform
- Make it executable:
chmod +x Go-OPML-* - Run:
./Go-OPML-* -input your_file.opml -output result.json
📋 Checksums
SHA256 checksums are provided in checksums.txt for verification.
🛠️ For Developers
New Development Features
- Automated Linting: Run
golangci-lint runfor code quality checks - CI Integration: All changes automatically tested in CI
- Release Automation: Use
./release.shfor automated releases - Template Guidance: Use provided templates for issues and PRs
Breaking Changes
❌ None - This release maintains full backward compatibility
Deprecations
🔐 Security Enhancements
- Updated Security Policy: Comprehensive vulnerability reporting process
- Automated Security Checks: CI pipeline includes security scanning
- Dependency Monitoring: Automated dependency update monitoring
- Best Practices Documentation: Security guidelines for users
🐛 Bug Fixes
- Fixed linting issues throughout the codebase
- Resolved undefined type and function references
- Fixed import paths and package structure
- Corrected deprecated configuration warnings
📈 Performance & Reliability
- Improved Error Handling: Better error messages and handling
- Code Optimization: Cleaner, more maintainable code structure
- Testing Coverage: Enhanced test coverage and reliability
- Documentation: Improved inline documentation and comments
🔗 Links
- Documentation: go-opml.madi.se
- Go Package: pkg.go.dev/github.com/jadmadi/Go-OPML
- Source Code: github.com/jadmadi/Go-OPML
🙏 Acknowledgments
This release significantly improves the project's maintainability and contributor experience while maintaining the same reliable OPML to JSON conversion functionality users expect.
Full Changelog: v1.0.3...v1.1.0