Skip to content

Releases: jadmadi/Go-OPML

v1.1.0

06 Jun 06:37

Choose a tag to compare

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

  1. Download the appropriate binary for your platform
  2. Make it executable: chmod +x Go-OPML-*
  3. 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 run for code quality checks
  • CI Integration: All changes automatically tested in CI
  • Release Automation: Use ./release.sh for automated releases
  • Template Guidance: Use provided templates for issues and PRs

Breaking Changes

None - This release maintains full backward compatibility

Deprecations

⚠️ None - All existing functionality remains unchanged

🔐 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

🙏 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

06 Jun 06:06

Choose a tag to compare

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

Full Changelog: v1.0.2...v1.0.3

v1.0.2

12 Jul 20:39

Choose a tag to compare

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@latest

For those using Go-OPML as a library, update your go.mod file or run:

go get github.com/jadmadi/Go-OPML@v1.0.2

Feedback

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

11 Jul 22:06

Choose a tag to compare

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!