Skip to content

Releases: Deflix-tv/go-stremio

v0.9.1 (2021-01-16)

16 Jan 15:55
Compare
Choose a tag to compare

Fixed: ID wasn't unescaped when putting meta into context

v0.9.0 (2021-01-16)

16 Jan 00:04
Compare
Choose a tag to compare
  • Added: The manifest object is now passed to the manifest callback and it can be changed on a per-call basis
  • Added: The log encoding is now configurable ("console" or "json")
    • "json" is useful when using a centralized log solution like ELK, Graylog or Loki
    • The "json" encoder also includes a short caller entry
  • Added: Special error BadRequest for returning from the catalog and stream handlers
  • Improved: The ID parameter that's passed to the catalog and stream handlers is now unescaped before passing
    • Useful for the ":" in TV show IDs
  • Fixed: Using multiple handlers in a handler map didn't work correctly
  • Fixed: Addon couldn't be installed when setting ConfigurationRequired to true and also using the manifest callback

v0.8.0 (2020-12-12)

12 Dec 22:43
Compare
Choose a tag to compare
  • Added: Collection and export of basic metrics for Prometheus
  • Improved: Made the Cinemeta client replaceable
    • ⚠️ This is a breaking change if you used the Options.CinemetaClient before. It's now Options.MetaClient and can be any struct that implements the MetaFetcher interface.
  • Improved: Added HEAD to allowed CORS methods
    • (Stremio sends a HEAD request right before starting to stream an HTTP stream)
  • Improved: Updated all dependencies to their latest versions

v0.7.0 (2020-11-08)

08 Nov 11:36
Compare
Choose a tag to compare

⚠️ This release contains major breaking changes due to the breaking changes in Fiber v2!

  • Improved: Updated to Fiber v2
  • Fixed: The media name was logged as " ()" when no media name was found in the Cinemeta response

v0.6.0 (2020-10-17)

17 Oct 17:48
Compare
Choose a tag to compare
  • Added: Stream ID filtering via regex
    • Even if "tt" is used as prefix in the manifest, some Stremio clients send requests for other streams anyway, leading to the fetching of media metadata (if activated) and your handlers being called even if the IDs can then not be handled. With this feature you can prevent that.
  • Added: Requests without user data are rejected in an early middleware when the addon requires configuration (set via manifest)
    • This leads for example to media metadata not being fetched anymore for requests that aren't handled anyway (only relevant if media metadata fetching is activated)
  • Improved: Routes without user data are not registered anymore when the addon requires configuration (set via manifest)
  • Improved: The manifest endpoint now reuses a marshaled manifest instead of repeatedly marshaling it
  • Improve: The JavaScript for the "/configure" page in the custom addon example now determines the host and port dynamically
  • Fixed: The benchmark code had compile errors because it wasn't updated after the last breaking change in go-stremio
  • Fixed: cinemeta.NewClient didn't set the default cache TTL if it wasn't set in the passed options

v0.5.1 (2020-10-10)

10 Oct 17:50
Compare
Choose a tag to compare
  • Fixed: Manifest is missing "configurationRequired" when it's set to true

v0.5.0 (2020-09-27)

27 Sep 20:15
Compare
Choose a tag to compare
  • Added: Support for Stremio's "/configure" endpoint to show a website that generates a "stremio://.../some-configuration/manifest.json" link
    • The required fields in the manifest type
    • Handlers for the "/configure" and "/:userData/configure" endpoints
    • This is now also used by the custom addon example including a simple HTML file that's served
  • Improved: Increased buffer size for longer request URLs
  • Improved: Changed the implementations of the custom middlewares, endpoint and manifest callback in the custom addon example to make everything more clear
  • Improved: Allow Base64URL encoding both with and without padding
  • Improved: Decoded user data is now logged
  • Fixed catalog addon example

v0.4.1 (2020-08-27)

27 Aug 19:46
Compare
Choose a tag to compare
  • Fixed: Panic when logging media name

v0.4.0 (2020-08-23)

23 Aug 17:41
Compare
Choose a tag to compare
  • Added: New independent cinemeta package with a Cinemeta client
  • Added: Optional meta middleware to put the meta of a movie or TV show into the context
  • Added: Convenience function to get meta from context
  • Added: A channel can optionally be passed to an Addon's Run method to be notified of a server shutdown
  • Added: Optional logging of media name in request log (only works for stream requests)
  • Improved: Decreased WriteTimeout and IdleTimeout to make sure connections are closed in time when Docker stop is used (which kills containers that aren't stopped within 10s)
  • Improved: Added context to handler function signatures
  • Improved: Updated to Go 1.15
  • Improved: Updated to Fiber v1.14.2

v0.3.0 (2020-07-11)

11 Jul 12:42
Compare
Choose a tag to compare

Major changes:

  • Added support for custom middlewares
  • Added support for custom endpoints
  • Added support for custom user data
  • Added possibility to set a manifest callback
  • Added NewLogger() to get a logger that can be used in the manifest callback, handlers etc.
  • Renamed logging options
  • IP address and user agent logging is now optional and disabled by default
  • Added response status code to request log
  • NewAddon() now returns a pointer to an Addon

You can have a look at an example addon that uses most of these new features here:
https://github.com/Deflix-tv/go-stremio/blob/v0.3.0/examples/custom/main.go

Minor changes:

  • Added more precondition checks for option combinations that don't make sense
  • Improved example code
  • Updated dependencies