Releases: jadmadi/Go-OPML
v1.1.0
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
v1.0.3
What's New in v1.0.3:
✅ Dependency Updates: Additional dependencies updated to latest stable versions
✅ Sample File Fix: Removed broken RSS feed from sample.opml
✅ Enhanced Build Pipeline: Intelligent version detection and automated release management
✅ Automated Release Script: Complete release automation with cross-platform binary building
✅ Improved Documentation: Better build and release process documentation
✅ Performance: Updated libraries for better performance and security
Status: Released and available on GitHub with cross-platform binaries.
What's Changed
- Bump golang.org/x/net from 0.17.0 to 0.38.0 in the go_modules group across 1 directory by @dependabot in #1
New Contributors
- @dependabot made their first contribution in #1
Full Changelog: v1.0.2...v1.0.3
v1.0.2
Go-OPML v1.0.2 Release Notes
We're excited to announce the release of Go-OPML v1.0.2!
This release includes updates to our documentation and clarifies installation and usage instructions.
What's New
Documentation Improvements
- Clearer Installation Instructions: We've reorganized our installation section to provide better guidance for different use cases.
- Updated instructions for using Go-OPML as a library (recommended method)
- Simplified steps for installing Go-OPML as a command-line tool
Usage Clarifications
- Library Usage: Added detailed instructions on how to import and use Go-OPML as a library in Go projects.
- Command-Line Usage: Provided clear steps for those who prefer to use Go-OPML as a standalone CLI tool.
New Sections
- Troubleshooting: Added a new section with common issues and their solutions to help users quickly resolve potential problems.
- Verifying Installation: Included steps to verify successful installation and usage of Go-OPML.
Package Information
- pkg.go.dev Integration: Updated information about Go-OPML's availability on pkg.go.dev, making it easier for users to access official documentation.
Other Enhancements
- Improved overall README structure for better readability
- Updated examples and usage scenarios
- Clarified project goals and main features
Upgrading
To upgrade to the latest version, users can run:
go install github.com/jadmadi/Go-OPML/cmd/go-opml@latestFor those using Go-OPML as a library, update your go.mod file or run:
go get github.com/jadmadi/Go-OPML@v1.0.2Feedback
We welcome your feedback on these changes! If you encounter any issues or have suggestions for further improvements, please open an issue on our GitHub repository.
Thank you for using Go-OPML!
Go-OPML v1.0.0
We're excited to announce the first stable release of Go-OPML! This powerful command-line tool is designed to simplify the process of converting OPML files to JSON and fetching RSS feeds for podcasts.
Key Features:
- OPML to JSON Conversion: Easily convert your OPML files to a more manageable JSON format.
- Concurrent RSS Feed Fetching: Rapidly retrieve podcast episode data from multiple feeds simultaneously.
- Customizable Output: Control the number of episodes fetched per podcast and adjust timeout settings.
- Cross-Platform Compatibility: Run Go-OPML on Windows, macOS, or Linux.
What's New in v1.0.0:
- Initial stable release with core functionality implemented.
- Optimized concurrent processing for faster RSS feed fetching.
- Comprehensive error handling and logging for improved reliability.
- User-friendly command-line interface with intuitive options.
Installation:
Download the appropriate binary for your operating system from the releases page and run it from the command line.
Quick Start:
Convert OPML to JSON:
./Go-OPML -input your_file.opml -output result.json
Convert OPML to JSON and fetch RSS feeds:
./Go-OPML -input your_file.opml -output result.json -fetch-rss
Feedback and Contributions:
We welcome your feedback and contributions! Please open an issue or submit a pull request on our GitHub repository.
Thank you for using Go-OPML. We hope it streamlines your podcast and RSS feed management workflows!