Skip to content

Releases: eduncan911/podcast

v1.4.2 - Slim down Go Modules

13 Feb 23:07
4b460c4
Compare
Choose a tag to compare

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

13 Feb 18:54
975adb8
Compare
Choose a tag to compare

Minor release that just updates the README (not exported API), and adds Fuzzing to all inputs. It does not change the underlying code.

  • Implement fuzz logic testing of exported funcs (#31)
  • Upgrade CICD Pipeline Tooling (#31)
  • Update documentation for 1.x and 2.3 (#31)
  • Allow godoc2ghmd to run without network (#31)

v1.4.0 - Go Modules

07 Feb 02:30
71f0d6d
Compare
Choose a tag to compare

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.

  • Add C.I., Add Go Modules (#27)
  • Create FUNDING.yml (#23) (#24)

v1.3.2 - Community Edition of Roll-Up PRs!

05 Feb 21:19
25b4a0b
Compare
Choose a tag to compare

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.

  • Correct count len of UTF8 strings (#9)
  • Implement duration parser (#8)
  • Fix Github and GoDocs Markdown (#14)
  • Move podcast.go Private Methods to Respected Files (#12)
  • Allow providing GUID on Podcast (#15)

v1.3.1 - Roll-Up Release of some minor improvements

05 Feb 14:45
Compare
Choose a tag to compare

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

20 Feb 00:56
Compare
Choose a tag to compare

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

06 Feb 12:59
Compare
Choose a tag to compare

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

06 Feb 12:42
Compare
Choose a tag to compare

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 return Podcast, 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.