Releases: Diaoul/subliminal
Releases · Diaoul/subliminal
2.3.2
2.3.0
2.3.0 (2025-04-27)
Changes
- By default, use the latest of creation and modification date to compute the age of the file.
Use the CLI option--no-use-ctime
to use the modification date only, that was the previous behavior. (#860) - Make
rarfile
an optional dependency, install withpip install subliminal[rar]
(#1096) - add
subtitles
attribute to Video (#1151) - Use
knowit
to extract information from video file, instead ofenzyme
:
frame rate, duration and subtitles.
knowit
relies on external programs (mediainfo
,ffmpeg
,mkvmerge
)
and falls back to usingenzyme
if none is installed.
On Windows and MacOS,libmediainfo
is installed automatically
via thepymediainfo
python package dependency.
On Linux, thelibmediainfo
ormediainfo
package needs to be installed
with the package manager of your distribution. (#1154) - show "Insufficient data to process the guess" without debug, but with verbose (#1164)
- Add
Provider.hash_video
staticmethod, to allow creating standalone providers. (#1172) - Drop python 3.8, support python 3.13. (#1176)
- Remove addic7ed and napiprojekt from the list of disabled providers.
Remove the default_providers and default_refiners variables,
instead theget_default_providers()
andget_default_refiners()
functions can be used. (#1181) - Add a mock provider.
Fix doctest. (#1185) - Add release scripts, documentation and Github Actions (#1186)
- Rename optional dependency test -> tests.
Improve security of github actions using woodruffw/zizmor. (#1190) - Use hatch builder and hatch-vcs (#1192)
- Add a Github action to publish the docker images to ghcr.io (#1196)
- Can use
python -m subliminal
(#1197) - create a prepare_tests.py script to download the tests data beforehand and avoid repeated downloads (#1220)
- CLI option
--use-ctime
is set to True by default (#1238)
Provider Changes
- [OpenSubtitlesCom] Avoid duplicate subtitles (#1146)
- Added BSPlayer provider (#996)
- Added Subtitulamos provider (#1170)
CLI Changes
- Add a
--subtitle-format
CLI option to force converting subtitles to another format (#536) - Add CLI
ignore
option for refiners, providers and subtitle ids. (#585, #1018) - Add a
--skip-wrong-fps
CLI option to completely skip subtitles with FPS different from the video FPS (if detected) (#748) - add CLI options
--force-embedded-subtitles
and--force-external-subtitles
.
They are fine-tuned--force
options to ignore only embedded or external existing subtitles.
They are superseded by--force
. (#891) - Add a
-n/--name
option to use a replacement name for the video.
Sort files alphabetically before scanning a directory. (#991, #1132) - Add an option to change the style of the language suffix of saved subtitles.
Allow adding the language type, "hi" or "fo". (#1022) - Remove the original-encoding CLI option, pass
--encoding=
for the same effect. (#1125) - Add cli option to prefer or disfavor hearing impaired (
-hi/-HI
) or foreign only (-fo/-FO
) subtitles. (#1175) - Add a CLI option
--use-absolute-path
that can take the values 'fallback' (default), 'never' or 'always'
to choose if the given path is transformed to an absolute path before guessing information from the path. (#1216) - add a CLI option
--logfile
to log to file. Level can be specified with--logfile-level
, default to DEBUG (#1223)
Deprecations
- Deprecate the
--addic7ed USERNAME PASSWORD
,--opensubtitles
and--opensubtitlescom
CLI options
in favor of--provider.addic7ed.username USERNAME
,--provider.addic7ed.password PASSWORD
, etc...
Add a generic way of passing arguments to the providers using CLI options.
Use environment variables to pass options to the CLI. (#1179)
Documentation
Misc
New Contributors
- @Nyaran made their first contribution in #996
- @etherealite made their first contribution in #1182
- @glensc made their first contribution in #1197
Full Changelog: 2.2.1...2.3.0
2.2.1
What's Changed
- Relax the version bounds on platformdirs to
>= 3
by @ptrcnull in #1137 - Show config message only in debug mode in CLI by @getzze in #1140
- Add example subliminal.toml to docs and various docs fixes by @getzze in #1139
- Patch release 2.2.1 by @getzze in #1141
Full Changelog: 2.2.0...2.2.1
2.2.0
What's Changed
- Drop python2 support, the supported versions are
>=3.8,<=3.12
. - Load CLI options from a configuration file with the
--config/-c
option (#1084). - Change default encoding of downloaded subtitles to 'utf-8' (not the original encoding). Use the
--original-encoding
cli option to recover the previous default behavior (#1125). - Add opensubtitlescom provider
- Add gestdown provider
- Add tmdb refiner (requires a personal API key)
- Fix tvsubtitles provider
- Fix opensubtitles provider
- Fix napiprojekt provider
- Fix podnapisi provider to use JSON API
- Fix addic7ed provider
- Remove thesubdb provider
- Remove argenteam provider
- Remove shooter provider
- Remove legendastv provider
- Use
pyproject.toml
to specify the package configurations. - Add pre-commit hook (#1115).
- Use ruff to lint and format
- Use mypy to check types
- Add type annotations
- Drop dependencies: pysrt, appdirs, six, pytz
- Add dependencies:
- click-option-group>=0.5.6
- platformdirs>=4.2
- pysubs2>=1.7
- srt>=3.5
- tomli>=2
- Bump dependency versions:
- babelfish>=0.6.1
- chardet>=5.0
- click>=8.0
- dogpile.cache>=1.0
- enzyme>=0.5.0
- stevedore>=3.0
Contributors
New Contributors
- @DerouineauNicolas made their first contribution in #1089
Full Changelog: 2.1.0...2.2.0
2.1.0
- Improve legendastv provider matches
- Fix video extensions (.mk3d .ogm .ogv)
- Use new url to search for titles in legendastv provider
- Fix stevedore incompatibility
- Add support to webm video extension
- Make providers easier to be extended and customized
- Update podnapisi URL
- Add support to VIP/Donor accounts in legendastv provider
- Proper handling titles with year / country in legendastv provider
- Several minor enhancements in legendastv provider
- Add support for python 3.6, 3.7 and 3.8
- Drop support for python 3.3 and 3.4
- Do not discard providers bad zip/rar is downloaded
- SubsCenter provider removal
- Fix lxml parsing for Addic7ed provider
- Support titles with asterics in Addic7ed provider
- Add support to multi-episode search in Opensubtitles provider
- Fix multi-episode search in TVSubtitles provider
- Update to guessit 3
- Improve archive scanning
- Add Opensubtitles VIP provider
- Add country to Movie and Episode
- Add streaming_service to Video
- Add info property to Subtitle
- Do not search for subtitles if all required languages is already present
- Improve TVDB refiner to support series with comma
- Add alternative_titles to Video and enhance OMDB refiner to use alternative_titles
- Only compute video hashes when required
- Add apikey to OMDB refiner
- Fix Subtitle validation when unable to guess encoding
- Add support to rar in Dockerfile