File: release-notes.rst

package info (click to toggle)
python-pysubs2 1.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,840 kB
  • sloc: python: 4,016; makefile: 163
file content (158 lines) | stat: -rw-r--r-- 8,417 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
Release Notes
=============

**1.8.0** --- released on 2024-12-24

- Added reader and writer for TTML subtitle format
- Added reader for SAMI subtitle format (Issue #80)
- Added reader for transcriptions from OpenAI Whisper JAX (Issue #73)
- Added ``py.typed`` file to allow MyPy to check types for code using this library, patch by eggplants (https://github.com/eggplants)
- Minor improvements to `pysubs2.formats.substation.parse_tags()` - now supports the ``\fn<fontname>`` tag, can optionally skip empty fragments
- Added support for Python 3.13, removed support for Python 3.8


**1.7.3** --- released on 2024-07-27

- Fixed problem with ``multiprocessing.Pool`` crashing due to ``FormatAutodetectionError`` (Issue #97)


**1.7.2** --- released on 2024-05-25

- Fixed problem with JSON format autodetection (Issue #94)

**1.7.1** --- released on 2024-05-19

- Fixed missing ``pysubs2.formats`` subpackage in PyPI distributions (Issue #92)
- Test sdist and wheel distributions in CI

**1.7.0** --- released on 2024-05-19 (yanked)

- Added ``errors`` option for :meth:`pysubs2.load()`, :meth:`pysubs2.SSAFile.save()` and related methods, exposing
  the encoding handling option of builtin function ``open()``. By default, this option uses value ``None`` which
  is consistent with behaviour of previous versions of the library. However, it's possible to use ``"surrogateescape"``
  to bypass the need to specify correct character encoding in some cases (see the tutorial). In the CLI, surrogateescape
  is now the default behaviour.
- SubStation writer now correctly handles timestamps which are not rounded to centiseconds, for example
  ``00:36:48,998`` from a SRT file no longer produces the invalid ASS timestamp ``0:36:48.100`` (Issue #83),
  patch by moi15moi (https://github.com/moi15moi)
- MicroDVD parser now only uses FPS declaration from the first subtitle if the line starts with ``{1}{1}``,
  matching VLC Player behaviour; the old behaviour is available under the ``strict_fps_inference`` reader option
  (Issue #71)
- SubStation writer now omits fractional part for numeric values if it is zero, patch by Andrey Efremov (https://github.com/PalmtopTiger)
- CLI now shows help message when called without arguments (Issue #81), patches by Northurland (https://github.com/Northurland) and Andrey Efremov (https://github.com/PalmtopTiger)
- pysubs2 now raises correct exception (:class:`pysubs2.exceptions.FormatAutodetectionError`) when attempting to read
  a JSON file that was not saved by pysubs2 (Issue #85)
- More robust SubStation parser (Issues #87, #89)
- Added test data to source distribution (Issue #75)
- Code now passes MyPy check in strict mode, as well as Ruff check
- Added support for Python 3.12, removed support for Python 3.7


**1.6.1** --- released on 2023-04-02

- WebVTT now correctly writes events in cue start order, patch by Anton Melser (https://github.com/AntonOfTheWoods)
- Improved type hints
- Minor documentation fixes and improvements
- Migrated CI from CircleCI to GitHub, added Codecov to CI (we're currently at 93% test coverage)

**1.6.0** --- released on 2022-11-28

- Basic support for ``[Graphics]`` in SubStation files (Issue #59)
- SubStation now outputs timestamps with properly rounded centiseconds, instead of always rounding down (Issue #57)
- ``SSAStyle.alignment`` now uses new ``pysubs2.Alignment`` enum type instead of ``int`` (eg. ``Alignment.TOP_CENTER`` instead of ``8``). Support for integers is retained.
- The library will now issue ``RuntimeWarning`` when saving a timestamp that is too large to be represented in given format (it will be clamped to its maximum legal value).

**1.5.0** --- released on 2022-11-15

- Added support for loading `OpenAI Whisper <https://github.com/openai/whisper>`_ transcription output: ``result = model.transcribe(...); subs = pysubs2.load_from_whisper(result)`` (issue #58)
- Removed old-style ``setup.py``, moved to declarative ``setup.cfg`` and ``pyproject.toml``

**1.4.4** --- released on 2022-11-01

- Added support for Python 3.11 (issue #56)

**1.4.3** --- released on 2022-08-19

- Added support for SubStation files with ``H:M:S.cs`` timestamps, patch by Florian Badie (https://github.com/odrling)

**1.4.2** --- released on 2022-04-08

- Added support for SubStation files with ``H:MM:SS`` timestamps (issue #50)
- Migrated CI from Travis to CircleCI, added Mypy typecheck to CI

**1.4.1** --- released on 2022-03-02

- Added option to keep all HTML tags in SRT input: ``pysubs2.load("subs.srt", keep_html_tags=True)`` (Issue #48)
- Added support for ``<b>`` tags in SRT parser

**1.4.0** --- released on 2022-02-20

- Added option to keep SubStation override tags in SRT output: ``subs.to_file("subs.srt", keep_ssa_tags=True)`` (Issue #48)
- Added format-specific extra options to CLI: ``--srt-keep-unknown-html-tags``, ``--srt-keep-ssa-tags``, ``--sub-no-write-fps-declaration``

**1.3.1** --- released on 2021-12-19

- Fixed WebVTT timestamps output, patch by Mathias Köhler (https://github.com/interru)
- Added slice indexing support to ``SSAFile``
- pysubs2 now passes MyPy non-strict typecheck (with MyPy 0.920)

**1.3.0** --- released on 2021-10-02

- More robust SubStation parser (Issue #45)
- Added Python 3.10 support, patch by luk1337 (https://github.com/luk1337)
- Migrated tests from nose to pytest

**1.2.0** --- released on 2021-05-08

- Basic support for ``[Fonts]`` in SubStation files (Issue #41)
- Default file encoding for CLI is now UTF-8, bringing it in line with how the Python API works (Issue #38)
- The ``--clean`` option for CLI now skips styling when writing non-SubStation formats (Issue #39)
- ``SSAEvent``, ``SSAStyle`` and ``Color`` are now dataclasses
- Improved Sphinx documentation (documented format implementation classes, including what extra read/write
  keyword parameters they support; included CLI ``--help`` output for parameter reference)

**1.1.0** --- released on 2021-02-27

- Added ``--clean`` option to CLI for more aggressive skipping of unwanted subtitles (Issue #37)

**1.0.0** --- released on 2020-10-19

- Dropped support for Python 2. The library now requires Python 3.7 or newer.
- Added type hints and also explicit keyword arguments to ``SSAEvent``, ``SSAStyle``, which should improve coding experience.
- Support for WebVTT subtitle format (this used to be somewhat possible using the SRT parser, but support is much better now)
- Lines with ASS drawing tags (eg. ``{\p1}``) are not written to non-SubStation files, patch by pannal (https://github.com/pannal)
- ASS-style hex colors are supported in SSA files, patch by Mike Wang (https://github.com/MikeWang000000)
- TMP reader no longer creates subtitles with overlapping times (Issue #35)

**0.2.4** --- released on 2019-06-23

- Support for TMP subtitle format, patch by bkiziuk (https://github.com/bkiziuk)
- Support for Python 3.7 thanks to cleaning up string escape issues,
  patch by Spencer Berger (https://github.com/bergerspencer)
- Added ``keep_unknown_html_tags`` parser option for passing through HTML tags in SubRip files (Issue #26)
- SubStation files with negative timestamps no longer break the parser (Issue #28)
- SubStation files with no whitespace in info sections are handled correctly (Issue #14),
  patch by Joshua Avalon (https://github.com/joshuaavalon)
- Updated badges in GitHub readme, patch by Eray Erdin (https://github.com/erayerdin)

**0.2.3** --- released on 2018-04-14

- Added a CLI script ``pysubs2``, patch by Piotr Staroszczyk (https://github.com/oczkers)
- Loading a SRT file with empty subtitles behaves more correctly (Issue #11)
- Using the library from Python 2 is easier due to less pedantic ``str``/``unicode`` checks (Issue #12)

**0.2.2** --- released on 2017-07-22

- Support for MPL2 subtitle format, patch by pannal (https://github.com/pannal)
- Dropped support for Python 3.2

**0.2.1** --- released on 2015-10-17

- CLI can now be invoked by ``python -m pysubs2`` only; broken ``pysubs2.py`` script has been removed (Issue #1).
- Loading a SubStation file no longer swaps color channels (Issue #3).
- pysubs2 now preserves Aegisub 3.2+ project settings (the ``[Aegisub Project Garbage]`` section, stored in :attr:`pysubs2.SSAFile.aegisub_project` dict).
- SubStation version is now correctly declared in ``[Script Info]`` section as ``ScriptType`` (instead of ``ScriptInfo``).

**0.2.0** --- released on 2014-09-09

- Initial release.