Skip to content

Release 0.97.2#14

Merged
skierpage merged 7 commits intomasterfrom
ready_0.97.2
Mar 27, 2026
Merged

Release 0.97.2#14
skierpage merged 7 commits intomasterfrom
ready_0.97.2

Conversation

@skierpage
Copy link
Copy Markdown
Owner

Update version strings, summarize 0.97.2 changes in NEWS; try one more
time to enumerate all CVEs and memory access bugs addressed in v0.97 in
README.md.

skierpage and others added 7 commits March 24, 2026 17:04
Update version strings, summarize 0.97.2 changes in NEWS; try one more
time to enumerate all CVEs and memory access bugs addressed in v0.97 in
README.md.
GitHub actions still warn "Node.js 20 actions are deprecated" unless one
opts in to running with Node.js 24 with an environment variable.
LibreOffice Impress stores slide text in the Escher drawing layer (PPDrawing
records) rather than in SlideListWithText as MS PowerPoint does. catppt was
unconditionally skipping all PPDrawing records, producing no output for LO files.

Fix: descend into PPDrawing only when inside a Slide record (not MainMaster or
Notes), then descend through Escher containers to reach the TextCharsAtom/
TextBytesAtom records within each shape's ClientTextbox.

This also fixes empty output from other PowerPoint files (issue #7).

Also add DBGPRINT macro to catdoc.h (enable with -DDEBUG) and replace all
commented-out fprintf debug calls in pptparse.c.

Update test_LO_file.ppt and its expected output, and remove it from
XFAIL_TESTS now that it passes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
basic.ppt only had one line and it may be a special PowerPoint feature,
so rename it protection_warning.ppt.
Add ppt-microsoft-powerpoint-example-file-download-3slides.ppt from
https://examplefiles.org as a better basic test.
Add file_example_PPT_1MB.ppt from https://disk.sample.cat/ from
https://sample.cat/en/ppt , it has chart, table, and photo slides.
CString records (e.g. "Office Theme", "Default Design") appear in master
slide containers, not in slide content. Apply the same in_slide guard
used for PPDrawing to skip CString records outside of Slide containers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
(With catppt's improved PowerPoint file support.)
@skierpage skierpage merged commit 915d37c into master Mar 27, 2026
4 checks passed
@skierpage skierpage deleted the ready_0.97.2 branch March 27, 2026 07:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant