Install temporary custom lxml wheel on Windows built in an external
repo, as official wheels are missing for Python 3.11. Building it
from source requires building libxml2 and libxslt first and patching
the wheel build config, which is slow and tedious.
- Completely rewrite GitHub release script
- Remove --dry-run and make it implicit when no API key is set
- Remove --api-key and read from RELEASES_API_KEY or GITHUB_TOKEN
- Add --template, --changelog, --no-contributors and --no-shortlog
- Refactor GitHub API stuff
- Update release template logic and use Jinja2
- Get list of contributors (with support for commit co-authors):
GitHub highlights usernames in releases, which this is meant for
- Generate git shortlog automatically
- Always close open file handles
- Update release template based on Jinja2 logic
- Update release CI job
- Install Jinja2
- Upgrade Python to 3.10 and setup-python to v2
- Fetch entire repo
- Don't upload wheels to GitHub releases
- move build directory of the shell completions from /build/shtab to
/completions due to an sdist restriction of setuptools and MANIFEST.in
- recursively include the /completions directory in MANIFEST.in
- update data_files path in setup.py (for inclusion in wheels)
- update .gitignore
- drop iso-639 and iso3166 dependencies in favor of pycountry
- remove the `STREAMLINK_USE_PYCOUNTRY` env var switch from setup.py
- move dependencies list from setup.py to setup.cfg
- update utils.l10n and its tests
- update Windows installer config
- update docs
- drop RTMP stream implementation
- drop RTMP plugin
- drop RTMPDump dependency
- remove stream.streamprocess and utils.{rtmp,swf}
- remove "rtmp" from default stream types list
- remove "rtmp" from player-passthrough options list
- remove all `--rtmp*` CLI args and `rtmp-*` session options
- remove all `--subprocess-*` CLI args and `subprocess` session options,
as these were used only by StreamProcess which is no longer needed
- update tests
- update docs and CLI argument help texts
- drop HDS and AkamaiHD stream implementations
- drop HDS and AkamaiHD plugins
- drop streamlink.packages.flashmedia
- remove stream.flvconcat, stream.playlist and plugins.common_swf
- remove "hds" from default stream types list
- remove all `--hds-*` CLI arguments and `hds-*` session options
- remove unneeded flashmedia license text files
- update tests
- update docs and CLI argument help texts
This temporarily fixes the issue of randomly failing tests on
Windows which seems to be related to the latest requests version
2.26 and requests-mock, where mocked request responses take an
random/arbitrary time to return data, which makes the
EventedHLSStreamWriter tests miss their time frames when writing
HLS segment data to the output buffer.
Since Windows builds of Streamlink don't rely on system python
packages like on most Linux distros for example, downgrading and
forcing an older version of requests on Windows should be fine.
This commit thus partly reverts 35cb8d9f and 29a25fc7 which fixed
the broken dependencies of the Windows installer and skipped the
randomly failing tests on Windows.
- Bump requests to latest version:
This replaces transitive dependency chardet with charset-normalizer
- Fix Windows installer dependencies:
Upgrade dependencies and list them as wheels with strict versions,
where possible.
pynsist unfortunately doesn't support additional wheel checksums.
- add shell script for updating the removed plugins list from the git
history of deleted and renamed plugin files, compared with the current
list of plugins
- test that the removed plugins list does not include any active plugins
- update removing plugins section in developing docs
- Install fixed pynsist pre-release version from git. This is necessary
when trying to install wheels with an included Python ABI tag in their
file name, as the tag naming scheme has been changed in Python 3.8.0.
- Bump the installer's Python version to 3.9.0
- Bump pycryptodome dependency to 3.9.9
- Move removed plugins list into a text file and read from it
- Add log and err functions
- Define build dependencies
- Set repo root directory instead of assuming it
- Clean up build directory before building the installer
- Set dist dir to same STREAMLINK_DIST_DIR
- Suppress warning/error messages from inkscape and imagemagick
- Replace some strings in pynsist config with variables
- Add Streamlink license file to pynsist config
- Update python license text according to the currently used version
- Remove unneeded pbs license text