Skip to content

Commit 419fc46

Browse files
authored
Changelog clean up and start of new version
docs: Add Upcoming section to changelog
2 parents fc230fc + 825e160 commit 419fc46

File tree

1 file changed

+24
-91
lines changed

1 file changed

+24
-91
lines changed

docs/CHANGES.TXT

Lines changed: 24 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,39 @@
1+
Upcoming (unreleased)
2+
---------------------
3+
- New: Multi-page teletext extraction support (#665)
4+
- Extract multiple teletext pages simultaneously with separate output files
5+
- Use --tpage multiple times (e.g., --tpage 100 --tpage 200)
6+
- Output files are named with page suffix (e.g., output_p100.srt, output_p200.srt)
7+
18
0.96 (2025-12-21)
29
-----------------
310
- New: Added --list-tracks (-L) option to list all tracks in media files without processing
4-
- Fix: Garbled captions from HDHomeRun and I/P-only H.264 streams (#1109)
5-
- Fix: Enable stdout output for CEA-708 captions on Windows (#1693)
6-
- Fix: McPoodle DVD raw format read/write - properly handle loop markers (#1524)
7-
- Fix: Variable shadowing in general_loop causing false "premature end of file" messages
8-
- Fix: Double-free crash in teletext cleanup when processing multiple files
9-
- Fix: Uninitialized memory and memory leaks found by Valgrind testing
10-
- Fix: Dangling pointers in Rust FFI copy_from_rust functions
11-
- New: Improve -out=report to show detected Teletext subtitle pages (#1034)
12-
- FIX: Include ATSC VCT virtual channel numbers and call signs in XMLTV output
13-
- FIX: Restore ATSC XMLTV generation with ETT parsing for extended descriptions, multi-segment handling, extended table ID's (EIT/VCT), corrected <programme> XMLTV formatting, buffer bounds fixes
14-
- Fix: DVB subtitle extraction improvements for Chinese broadcasts (#224):
15-
- Fix crash in parse_PMT() due to missing bounds checks
16-
- Fix negative timestamps in DVB subtitle output
17-
- Fix crash in ignore_alpha_at_edge() OCR cropping
18-
- Improve DVB subtitle OCR accuracy with image inversion
19-
- Fix --ocrlang to accept Tesseract language names (chi_tra, chi_sim, etc.)
20-
- Add case-insensitive matching for --dvblang parameter
21-
- FIX: Add HEVC/H.265 stream type recognition to prevent crashes on ATSC 3.0 streams
22-
- New: Add demuxer and file_functions module in lib_ccxr (#1662)
23-
- Fix: handle row_count decrease in CEA-708 C decoder
24-
- Fix: Bounds checks to prevent panic on malformed CEA-708 data
25-
- Fix: Multiprogram logic in is_decoder_processed_enough() causing false warnings
26-
- Fix: Write consistent 2-byte UTF-16BE encoding for CEA-708 captions (Japanese/Chinese)
27-
- New: Add --ttxtforcelatin option to force Latin G0 charset in Teletext
28-
- Fix: Add fallback for TS files without PAT/PMT tables
29-
- Fix: PTS jump handling to continue fts_now updates after jump
30-
- Fix: Null checks for unchecked memory allocations throughout codebase
31-
- Fix: Null checks and invalid UTF-8 handling in Rust FFI functions
32-
- Fix: Panics in timing code when processing multiple files
33-
- Fix: Caption start/end times to match FFmpeg timing in MP4/MPEG/TS
34-
- Fix: Correctly count and store multiple input files
35-
- Fix: Handle MP4 c608 tracks and improve garbage frame detection
36-
- Fix: Update fts_now for each frame in elementary streams
37-
- Fix: Preserve CR time during pop-on to roll-up transition
38-
- Fix: Defer min_pts until frame type is known
39-
- Fix: Skip leading non-I-frames when setting min_pts
40-
- Fix: Memory leaks in ts_tables_epg, ocr, and ccx_encoders_spupng
41-
- Fix: Buffer overruns in 708_output, mcc_encoder, utility, xds_decoder
42-
- Fix: Replace sprintf/strcpy with bounds-checked snprintf/strncpy in encoders
43-
- Fix: HHMMSSFFF format for ttxt output timestamps
44-
- Fix: Always emit position codes at start of SCC caption
45-
- Fix: Memory safety issues in ccx_decoders_common
46-
- Fix: Null checks after malloc calls in dvb_subtitle_decoder
47-
- Fix: Memory safety checks and memory leaks in Matroska parser
48-
49-
0.95 (2025-09-15)
50-
-----------------
51-
- Fix: ARM64/aarch64 build failure due to c_char type mismatch in nal.rs
52-
- Fix: HardSubX OCR on Rust
53-
- Removed the Share Module
54-
- Fix: Regression failures on DVD files
55-
- Fix: Segmentation faults on MP4 files with CEA-708 captions
56-
- Refactor: Remove API structures from ccextractor
57-
- New: Add Encoder Module to Rust
58-
- Fix: Elementary stream regressions
59-
- Fix: Segmentation faults on XDS files
60-
- Fix: Clippy Errors Based on Rust 1.88
61-
- IMPROVEMENT: Refactor and optimize Dockerfile
62-
- Fix: Improved handling of IETF language tags in Matroska files (#1665)
63-
- New: Create unit test for rust code (#1615)
64-
- Breaking: Major argument flags revamp for CCExtractor (#1564 & #1619)
11+
New: Chinese, Korean, Japanese support - proper encoding and OCR.
12+
New: Correct McPoodle DVD raw format support
13+
Fix: Timing is now frame perfect (using FFMpeg timing dump as reference) in all formats.
14+
Fix: Solved garbling in all the pending issues we had on GitHub.
15+
Fix: All causes of "premature end of file" messages due to bugs and not actual file cuts.
16+
Fix: All memory leaks, double frees and usual C nastyness that valgrind could find.
17+
- Fix Include ATSC VCT virtual channel numbers and call signs in XMLTV output
18+
- Fix: Restore ATSC XMLTV generation with ETT parsing for extended descriptions, multi-segment handling, extended table ID's (EIT/VCT), corrected <programme> XMLTV formatting, buffer bounds fixes
19+
- Fix: Add HEVC/H.265 stream type recognition to prevent crashes on ATSC 3.0 streams.
20+
Fix: Tolerance to damaged streams - recover where possible instead of terminating.
21+
Issues closed: Over 40! Too many to list here, but each of them was either a bug squashed or a feature implemented.
22+
23+
0.95 (2025-09-15 - never formally packaged)
24+
-----------------
6525
- New: Create a Docker image to simplify the CCExtractor usage without any environmental hustle (#1611)
66-
- New: Add time units module in lib_ccxr (#1623)
67-
- New: Add bits and levenshtein module in lib_ccxr (#1627)
68-
- New: Add constants module in lib_ccxr (#1624)
69-
- New: Add log module in lib_ccxr (#1622)
70-
- New: Create `lib_ccxr` and `libccxr_exports` (#1621)
71-
- Fix: Unexpected behavior of get_write_interval (#1609)
72-
- Update: Bump rsmpeg to latest version for ffmpeg bindings (#1600)
7326
- New: Add SCC support for CEA-708 decoder (#1595)
74-
- Fix: respect `-stdout` even if multiple CC tracks are present in a Matroska input file (#1453)
75-
- Fix: crash in Rust decoder on ATSC1.0 TS Files (#1407)
76-
- Removed the --with-gui flag for linux/configure and mac/configure (use the Flutter GUI instead)
27+
Refactor: Lots of code ported to Rust.
28+
- Fix: Improved handling of IETF language tags in Matroska files (#1665)
29+
- Breaking: Major argument flags revamp for CCExtractor (#1564 & #1619)
7730
- Fix: segmentation fault in using hardsubx
78-
- New: Add function (and command) that extracts closed caption subtitles as well as burnt-in subtitles from a file in a single pass. (As proposed in issue 726)
79-
- Refactored: the `general_loop` function has some code moved to a new function
8031
- Fix: WebVTT X-TIMESTAMP-MAP placement (#1463)
81-
- Disable X-TIMESTAMP-MAP by default (changed option --no-timestamp-map to --timestamp-map)
82-
- Fix: missing `#` in color attribute of font tag
8332
- Fix: ffmpeg 5.0, tesseract 5.0 compatibility and remove deprecated methods
8433
- Fix: tesseract 5.x traineddata location in ocr
85-
- Fix: fix autoconf tesseract detection problem (#1503)
86-
- Fix: add missing compile_info_real.h source to Autotools build
87-
- Fix: add missing `-lavfilter` for hardsubx linking
88-
- Fix: make webvtt-full work correctly with multi-byte utf-8 characters
89-
- Fix: encoding of solid block in latin-1 and unicode
90-
- Fix: McPoodle Broadcast Raw format for field 1
91-
- Fix: Incorrect skipping of packets
92-
- Fix: Repeated values for enums
93-
- Cleanup: Remove the (unmaintained) Nuklear GUI code
94-
- Cleanup: Reduce the amount of Windows build options in the project file
95-
- Fix: infinite loop in MP4 file type detector.
96-
- Improvement: Use Corrosion to build Rust code
9734
- Improvement: Ignore MXF Caption Essence Container version byte to enhance SRT subtitle extraction compatibility
9835
- New: Add tesseract page segmentation modes control with `--psm` flag
99-
- Fix: Resolve compile-time error about implicit declarations (#1646)
100-
- Fix: fatal out of memory error extracting from a VOB PS
101-
- Fix: Unit Test Rust failing due to changes in Rust Version 1.86.0
10236
- Fix: Support for MINGW-w64 cross compiling
103-
- Fix: Build with ENABLE_FFMPEG to support ffmpeg 5
10437

10538
0.94 (2021-12-14)
10639
-----------------

0 commit comments

Comments
 (0)