Releases: pbs/pycaption
Releases · pbs/pycaption
Release list
2.2.26
- Implement WebVTT REGION block parsing in the reader. Cues
referencing a region now get proper origin/extent geometry computed
via W3C TTML-WebVTT mapping formulas, enabling correct cross-format
conversion (e.g., VTT with regions → DFXP produces correct
tts:origin and tts:extent).- Fix .x/.y typo in geometry.py fit_to_screen() — the Y-axis safety
guard was checking X twice instead of both axes.- Fix _remove_noop_off_on_italics typo in SCC
specialized_collections.- Add empty-collection guard in _remove_spaces_at_end_of_the_line.
- Replace magic numbers with named _InstructionNode constants.
- Remove dead _remove_styles() method from WebVTT reader.
- Remove redundant if-guard and unused class attributes in WebVTT
writer.
2.2.25
- Add drop-frame timecode support to SCCWriter via a new
drop_frame=Falseparameter. When enabled, timestamps use the
standard 10-minute block method with semicolon separators.- Refactor SCCWriter timing pipeline: exact token counting, monotonic
frame deduplication, and caption splitting at 80 tokens.- Extract
SCC_TOKENS_PER_CAPTION_MAXas a named constant.- CI: guard coverage-parsing step on test success.
2.2.24
- Fix SCC ingestion error when a doubled italic-off mid-row code
(9120 9120) appears before punctuation. The punctuation lookahead
now skips the error-correction duplicate, preventing an unwanted
space that pushed lines past the 32-character limit.
2.2.23
- bumps nltk from 3.9.1 to 3.9.4.
- Fix SCC writer producing out-of-order timestamps when a short
caption is immediately followed by a longer one. The buffer
lead-time calculation could push a caption's start before its
predecessor; now clamped to preserve chronological order.- Fix DFXPReader producing None entries in CaptionList when empty
<p> elements yield zero parsed nodes, causing AttributeError in
merge_concurrent_captions() and SRTWriter.
2.2.22
- Fix: EDM (Erase Displayed Memory) command now correctly clears
displayed captions in paint-on and roll-up modes.
2.2.21
- supports multi-row jumps: small jumps (1-3 rows) emit the correct
number of line breaks, large jumps (4+ rows) trigger repositioning
instead- clear positioning state at caption boundaries (EOC, roll-up,
paint-on, clear commands)- Code reformatted with Black/isort across the codebase
- Added missing tests for _PositioningTracker,
Alignment.from_horizontal_and_vertical_align
- Bump actions/checkout from v2 to v4 in CI workflow
- Replace unmaintained archive/github-actions-slack with
slackapi/slack-github-action@v3.0.2 (fixes Node.js and
set-output deprecation warnings)
2.2.20
Merge pull request #362 from pbs/OCTO-11150-update-apache-and-copyrig…
2.2.19
Remove support for python 3.18 and 3.19.