Releases: eduncan911/podcast
v1.4.2 - Slim down Go Modules
New to Go Modules, I think the previous setup with "required" was far too much. This removes all but what one required to actually use the module (plus another one for any tests).
- Slim down Go Modules for consumers (#32)
v1.4.1 - Commit Fuzzing logic to Repo
Minor release that just updates the README (not exported API), and adds Fuzzing to all inputs. It does not change the underlying code.
v1.4.0 - Go Modules
First release with Go Modules, a significant feature addition to a package - hence the bump in Minor to 1.4 going forward. The most critical thing to note in this update is that the vendor/
folder has been flushed out with more dependencies to allow for a true air-gapped testing setup (which I ran into during development on a new machine).
Unless you were looking for Go Modules support in your pipelines, this is not a required upgrade as there was no underlying package changes.
As always, 1.x branch keeps backwards compatibility.
Also note that going forward, Go Modules is supporting the vendor/
folder, keeping it backwards compatible with 1.7+ versions.
v1.3.2 - Community Edition of Roll-Up PRs!
A big thanks to everyone who have opened and resolved a number of PRs to this repo. This release was long overdue due to life events that just delayed things on my side.
You should upgrade to this version over all previous versions for misc bug and improvements.
As always, the 1.x branch retains all backwards compatibility and does not break anything.
v1.3.1 - Roll-Up Release of some minor improvements
Ran across a few edge cases that needed some updates to the code. You should upgrade to this version over all previous versions.
As always, the 1.x branch retains all backwards compatibility and does not break anything.
- increased itunes compliance after feedback from Apple:
- specified what categories should be set with AddCategory().
- enforced title and link as part of Image.
- added Podcast.AddAtomLink() for more broad compliance to readers.
1.3.0 Rollup Release
1.3.0
- fixes Item.Duration being set incorrectly.
- changed Item.AddEnclosure() parameter definition (Bytes not Seconds!).
- added Item.AddDuration formatting and override.
- added more documentation surrounding Item.Enclosure{}
1.2.1
- added Podcast.AddSubTitle() and truncating to 64 chars.
- added a number of Guards to protect against empty fields.
1.2.0
- added Podcast.AddPubDate() and Podcast.AddLastBuildDate() overrides.
- added Item.AddImage() to mask some cumbersome addition of IImage.
- added Item.AddPubDate to simply datetime setters.
- added more examples (mostly around Item struct).
- tweaked some documentation.
1.1.0 - CDATA for ISummary fields
Release notes:
- Enabling CDATA in ISummary fields for Podcast and Channel.
In this release, the consumer can now enter up to 4000 characters of rich text in the CDATA field. See the examples in the GoDoc for Podcast.AddSummary()
and Item.AddSummary()
.
1.0.0 - Initial Release
In this initial release, the code has been written and tested with 100% code coverage.
Tag Versions
This repo will follow the standard Major.Minor.Patch
release tagging in that:
Major
numbers will be breaking changes to the API.Minor
numbers will be additional features and enhancements to the existing API.Revision
numbers will be bug fixes or other misc tweaks to the existing features and API.
GoLang does support tag versioning; but, it isn't simple. Better to just use the vendor/
approach and snapshot this repo in any case.
Current Roadmap
There are several TODOs which may break the initial API, such as:
- enabling CDATA ISummary tags for channel and item elements.
- clean-up of the API, to make it similar (e.g. change
podcast.New()
to not take so many arguments. - additional validation checking (e.g. change
podcast.New()
to returnPodcast, error
. - additional validation checking (enforce 255 characters max for all fields, except summaries (iTunes)
If such breaking changes happen, the version numbers will be bumped accordingly.