Releases: Deflix-tv/go-stremio
Releases · Deflix-tv/go-stremio
v0.9.1 (2021-01-16)
Fixed: ID wasn't unescaped when putting meta into context
v0.9.0 (2021-01-16)
- 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)
- Added: Collection and export of basic metrics for Prometheus
- Using the leaner github.com/VictoriaMetrics/metrics library
- Improved: Made the Cinemeta client replaceable
⚠️ This is a breaking change if you used theOptions.CinemetaClient
before. It's nowOptions.MetaClient
and can be any struct that implements theMetaFetcher
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)
- 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)
- 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)
- Fixed: Manifest is missing "configurationRequired" when it's set to true
v0.5.0 (2020-09-27)
- 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)
- Fixed: Panic when logging media name
v0.4.0 (2020-08-23)
- 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)
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 anAddon
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