Releases: victorpopkov/go-appcast
Releases · victorpopkov/go-appcast
v0.6.0
Added
- Method
Appcast.GuessSourceProvider
instead of theSource.GuessProvider
- Method
Appcast.Unmarshal
published datetime parse error handling - Package
appcaster
to provide the base for creating an appcast type(s) - Package
github
to support the GitHub releases Atom feed - Package
output
to hold the supported outputs - Package
provider
to hold the supported providers - Package
source
to hold the supported sources - Package
sourceforge
to support the SourceForge releases RSS feed - Package
sparkle
to support the Sparkle Framework releases RSS feed
Changed
- Method
Appcast.LoadFromLocalSource
to finish unmarshalling with errors - Method
Appcast.LoadFromRemoteSource
to finish unmarshalling with errors - Method
Appcast.Unmarshal
to finish unmarshalling with errors - Package
appcast
to use the new packages - Variable
DefaultClient
to be inside thesource
package - Variable
localSourceReadFile
to become the exportedLocalReadFile
inside thesource
package
Removed
- Method
Source.GuessProvider
in favour ofAppcast.GuessSourceProvider
method
Fixed
- Method
Appcast.Uncomment
error handling
v0.5.0
Added
- Interface
Providerer
for theOutput.provider
and theSource.provider
field types - Struct and interface
Releases(er)
with all filtering and sorting methods in therelease
package
Changed
- Field
Appcast.releases
to become a*Releaseser
type - Field
Output.provider
to become aProviderer
type - Field
Source.provider
to become aProviderer
type - Method
Output.GenerateChecksum
to return theChecksum
pointer - Method
Source.GenerateChecksum
to return theChecksum
pointer - Provider
GitHubAtomFeed
to become theGitHub
- Provider
SourceForgeRSSFeed
to become theSourceForge
- Provider
SparkleRSSFeed
to become theSparkle
- Struct and interface
GitHubAtomFeedAppcast(er)
to become theGitHubAppcast(er)
- Struct and interface
SourceForgeRSSFeedAppcast(er)
to become theSourceForgeAppcast(er)
- Struct and interface
SparkleRSSFeedAppcast(er)
to become theSparkleAppcast(er)
Deprecated
- Method
Appcast.FilterReleasesByMediaType
in favour ofAppcast.Releases.FilterByMediaType
methods chain - Method
Appcast.FilterReleasesByPrerelease
in favour ofAppcast.Releases.FilterByPrerelease
methods chain - Method
Appcast.FilterReleasesByTitle
in favour ofAppcast.Releases.FilterByTitle
methods chain - Method
Appcast.FilterReleasesByURL
in favour ofAppcast.Releases.FilterByUrl
methods chain - Method
Appcast.ResetFilters
in favour ofAppcast.Releases.ResetFilters
methods chain - Method
Appcast.SortReleasesByVersions
in favour ofAppcast.Releases.SortByVersions
methods chain - Method
Appcast.UnmarshalReleases
in favour ofAppcast.Unmarshal
Removed
- Field
Appcast.originalReleases
in favour ofAppcast.releases.original
v0.4.0
Added
- Field
Download.dsaSignature
with getter and setter to hold the DSA signature of the file - Field
Release.minimumSystemVersion
with getter and setter to hold the minimum required system version - Field
Release.releaseNotesLink
with getter and setter to hold the release notes link - Interface
Downloader
implemented byDownload
- Support for the "Sparkle RSS Feed" new
<enclosure />
attributes:dsaSignature
,md5sum
,minimumSystemVersion
andreleaseNotesLink
- Support passing
dsaSignature
andmd5
as parameters in theNewDownload
function
Changed
- All
Download
fields to become unexported - Client-specific stuff to be in the separate
client
package - Field
Download.Type
in favour ofDownload.filetype
- Field
Download.URL
in favour ofDownload.url
- Field
PublishedDateTime.time
to become a*time.Time
type - Function
NewClient
to become theNew
in theclient
package - Method
GitHubAtomFeedAppcast.UnmarshalReleases
to return an error when no source or unmarshalling failure - Method
PublishedDateTime.String
to return an empty string for thenil
value - Method
SourceForgeRSSFeedAppcast.UnmarshalReleases
to return an error when no source or unmarshalling failure - Method
SparkleRSSFeedAppcast.UnmarshalReleases
to return an error when no source or unmarshalling failure - Unmarshalling structs for "SourceForge RSS Feed" and "GitHub Atom Feed" to become unexported
Fixed
- Method
GitHubAtomFeedAppcast.UnmarshalReleases
to set theGitHubAtomFeedAppcast.source.appcast
- Method
SourceForgeRSSFeedAppcast.UnmarshalReleases
to set theSourceForgeRSSFeedAppcast.source.appcast
- Method
SparkleRSSFeedAppcast.UnmarshalReleases
to set theSparkleRSSFeedAppcast.source.appcast
v0.3.0
Added
- Extendable
Output
withOutputer
interface for creating use-case specific outputs - Field
Output.appcast
with getter and setter to hold the provider-specific appcast after marshalling - Field
Source.appcast
with getter and setter to hold the provider-specific appcast after unmarshalling - Source
LocalOutput
withLocalOutputer
interface to save an appcast to the local file by path - Struct
PublishedDateTime
to use as theRelease.publishedDateTime
type in therelease
package - Unmarshalling support for the "Sparkle RSS Feed" channel as the
SparkleRSSFeedAppcast.channel
Changed
- Code coverage service from "Coveralls" to "Codecov"
- Dependencies versions to match the latest ones
- Field
Release.publishedDateTime
type to become the newPublishedDateTime
- Function
NewRelease
to become theNew
in therelease
package - Method
Appcast.LoadFromLocalSource
to also return the provider-specific appcast - Method
Appcast.LoadFromRemoteSource
to also return the provider-specific appcast - Method
Appcast.UnmarshalReleases
to also return the provider-specific appcast - Method
GitHubAtomFeedAppcast.UnmarshalReleases
to also return the provider-specific appcast - Method
SourceForgeRSSFeedAppcast.UnmarshalReleases
to also return the provider-specific appcast - Method
SparkleRSSFeedAppcast.UnmarshalReleases
to also return the provider-specific appcast - Release to store the original time and format in the
Release.publishedDateTime
- Release-specific stuff to be in the separate
release
package - Testdata published releases dates to match the real ones in the past
- Unmarshalling structs for the "Sparkle RSS Feed" to become unexported
Removed
- Deprecated
Appcast
methods - Deprecated
GuessProviderFromContent
andGuessProviderFromURL
functions - Deprecated
Release
methods
v0.2.0
Added
- Convenience method
Appcast.LoadSource
to call theAppcast.Source.Load
methods chain - Extendable
Source
withSourcer
interface for creating use-case specific sources - Field
Appcast.source
to hold the source-specific data instead of the removedAppcast
fields - Function
GuessProviderByContent
for the[]byte
type similar to the deprecatedGuessProviderFromContent
- Getters and setters for all unexported
Appcast
fields - Getters and setters for all unexported
Release
fields - Getters for all unexported
Checksum
fields - Interface
Appcaster
implemented byAppcast
- Interface
GitHubAtomFeedAppcaster
implemented byGitHubAtomFeedAppcast
- Interface
Releaser
implemented byRelease
- Interface
SourceForgeRSSFeedAppcaster
implemented bySourceForgeRSSFeedAppcast
- Source
LocalSource
withLocalSourcer
interface to load an appcast from the local file by path - Source
RemoteSource
withRemoteSourcer
interface to load an appcast from the remote location by URL - Source support for the
New
function - This CHANGELOG.md
Changed
- All
Appcast
fields to become unexported - All
Checksum
fields to become unexported - All
Release
fields to become unexported - Always extract releases when calling
Appcast.LoadFrom...
methods - Always generate SHA256 checksum when calling
Appcast.LoadFrom...
methods - Field types for
Appcast.releases
andAppcast.originalReleases
in favour ofReleaser
interface - Method
Release.SetVersion
toRelease.SetVersionString
- Struct
BaseAppcast
name toAppcast
Deprecated
- Function
GuessProviderFromContent
in favour ofGuessProviderByContentString
- Function
GuessProviderFromURL
in favour ofGuessProviderByUrl
- Method
Appcast.ExtractReleases
in favour ofAppcast.UnmarshalReleases
- Method
Appcast.GenerateChecksum
in favour ofAppcast.GenerateSourceChecksum
- Method
Appcast.GetChecksum
in favour ofAppcast.Source.Checksum
methods chain - Method
Appcast.GetFirstRelease
in favour ofAppcast.FirstRelease
- Method
Appcast.GetProvider
in favour ofAppcast.Source.Provider
methods chain - Method
Appcast.GetReleasesLength
in favour oflen(Appcast.Releases)
- Method
Appcast.LoadFromFile
in favour ofAppcast.LoadFromLocalSource
- Method
Appcast.LoadFromURL
in favour ofAppcast.LoadFromRemoteSource
- Method
Release.GetBuildString
in favour ofRelease.Build
- Method
Release.GetDownloads
in favour ofRelease.Downloads
- Method
Release.GetVersionOrBuildString
in favour ofRelease.VersionOrBuildString
- Method
Release.GetVersionString
in favour ofRelease.Version.String
methods chain
Removed
- Source-specific
Appcast
fields in favour ofAppcast.source
field
Fixed
- Method
Appcast.Uncomment
to correctly handle the return of theUnknown
provider - Method
SparkleRSSFeedAppcast.Uncomment
to match theAppcaster
interface
v0.1.0
First release.