- The cursor moves automatically one column to the right after each character or Mid-Row Code received.
- Pass the caption cue time with all error messages.
- Yanked.
- Skip duplicated extended characters.
- Add new substitute character to ignore before extended character in SCC input files
- Remove support for Python 3.6 & 3.7
- Restrict SCC source files to 31 characters per line (32 will throw an exception)
- Bump readthedocs-sphinx-search from 0.3.1 to 0.3.2
- Change Apache copyright licensing (ending) copyright year
- Ignore the substitute character that comes before the extended character in SCC files.
- Added support for Python 3.11
- Added support for Beautifulsoup 4.12.2
- Remove support for Beautifulsoup < 4.12.1
- DFXP captions now end consistently with a newline
- Added nltk as transcript dependency
- Remove upper limit for dependency versions to solve vulnerabilities
- Changed DFXPReader default horizontal alignment from 'center' to 'start'
- Updated WebVTT horizontal alignment from 'middle' to 'center'
- Added support for Python 3.10
- Added default start align to WebVTTWriter
- Implemented skipping duplicate special characters for SCCReader
- Added support for beautifulsoup 4.10 and lxml 4.8
- Added pytest and pytest-lazy-fixture as development dependencies
- Updated Size.from_string() to accept 0 size without measuring unit
- Replaced ValueError with CaptionReadSyntaxError for invalid sizes passed to Size.from_string()
- Updated DFXPReader timestamp validation according to TTML time expression specs
- Updated flashing cues validation for SCCReader to raise a CaptionReadTimingError
- Fixed SCC translator not recognising special and extended characters
- Raise CaptionReadTimingError for missing 'start' on SAMIReader
- Updated DFXPReader to ignore paragraphs that only contain spaces, tabs or new lines
- Added CaptionReadTimingError for invalid SCC timestamps
- Added CaptionReadSyntaxError for invalid colors in SAMIReader
- Raise CaptionReadTimingError when missing 'begin' or 'end' and 'dur' time on DFXPReader
- Updated the counting of frames to happen after processing SCC commands
- Made all SCC-sourced captions which have a difference of up to 5 frames between them more fluid
- Implemented time shift for WebVTTReader
- Removed WebVTTWriter 'start' position alignment
- Updated the SCC Pop-On caption timing logic
- Fixed the correction of end times for multiple last captions
- Fixed bug when flushing implicit buffers and old key was None
- Implemented Tab Offset commands for SCCReader
- Implemented caption safe area limits (80% horizontally and 90% vertically)
- Implemented SCC translator
- Added newline between merged SRT captions with overlapping timestamps
- Updated tests for SAMI format
- Updated tests for SRT format
- Added zero padding to 1-digit hours outputted by WebVTTWriter
- Dropped support for Python 3.5
- Updated tests to run using pytest
- Added pre-commit config
- Fixed issue with SCC paint-on buffer not being cleared after storing
- Removed null DFXPReader captions from the resulting caption list
- Updated SCCReader double command handling to include the positioning and tab offset case
- Added MicroDVD format
- Fix for missing end times when reading multiple SAMI paragraphs inside a SYNC
- Fix for wrong order when multiple SRT captions have the same timestamp
- Fix for DFXP timestamps adding leading zeros to 2-digit hours
- Added support for BeautifulSoup 4.9
- Added tests for SCC to DFXP conversion when the source contains ampersands
- Added support for Python 3.9
- Added language parameter to WebVTTWriter
- Fix for TranscriptWriter merging words at caption boundary
- Updated documentation with positioning information
- Updated DFXP reader to fallback to the document's language if no language is present on individual <div>
- Introduced PYCAPTION_DEFAULT_LANG environment variable and set it to default to 'und'
- Fixed DFXPReader timestamp validation to accept frames and frames conversion to microseconds
- Included tests in PyPI tarball
- Ignore WebVTT empty cues instead of raising an exception
- Updated BeautifulSoup version to >=4.8.1,<4.9 and fixed failing tests
- Handled index error when sending bad timestamp for DFXP format
- Fixed issue with SCC reader including both special characters and their potential substitute
- Modified enum34 dependency to versions under Python 3.4
- Removed Python 3.4 and added 3.6, 3.7 and 3.8 to Travis tests
- Fixed typos in SCC positioning codes
- Added missing SCC positioning codes to positioning map
- Added Python 3 support
- Added positioning support
- Created documentation