DeckCraft v0.12.0
- Migrate DeckCraft to egui 0.37 by @skylartaylor in https://github.com/storytold/deckcraft/pull/1350
- refactor: explicit imports in engine/anim/geom/model/render/text/pdf/ogg modules (SonarCloud S2208) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1270
- Slides: Ctrl+Shift+click selects a range, also in the slide sorter by @Faabyy in https://github.com/storytold/deckcraft/pull/1107
- Reuse Slides: choose which slides of the other file to insert by @Faabyy in https://github.com/storytold/deckcraft/pull/1109
- Review: proofing language for the whole presentation by @Katacc in https://github.com/storytold/deckcraft/pull/1118
- Reject invalid row/col index in table row and column commands by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1189
- Use scale-relative degeneracy check in linear trendline fit by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1190
- H.264: the inverse transforms clamp coefficients to the spec r range by @SusieeTheLinuxUser in https://github.com/storytold/deckcraft/pull/1246
- Media: a video with an unsupported codec says only its audio plays (#1237) by @SusieeTheLinuxUser in https://github.com/storytold/deckcraft/pull/1256
- Decode numeric tab entities in HTML paste by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1259
- Reject '+' sign in OPC target percent-decoding by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1284
- Reject invalid shape ids in
idsinstead of using the selection by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1291 - Reject multiple leading '#' in Rgba::from_hex by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1297
- Return BadParams for overflowing start in review.spellingChange by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1302
- Match style as a whole attribute name in HTML paste by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1303
- Reject invalid index in animation remove, move, timing and options by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1304
- Shapes: a speech bubble's wedge mirrors with its tip, at 7..10 twelfths on the far side as presetShapeDefinitions give it by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1311
- Shapes: Arrow: Notched Right cuts its notch as deep as presetShapeDefinitions give it, parallel to the head by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1313
- Files: opening a Word RTF outline skips the list bullets and keeps each item's indent by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1315
- Files: opening an RTF outline keeps non-breaking hyphens by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1317
- Files: saving as Outline/RTF keeps every paragraph of a slide title by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1319
- Show: Ctrl+wheel zooms the slide in and out around the pointer (#1286) by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1331
- Pasted shapes get the next automatic name instead of keeping the original's by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1334
- Units: Preferences chooses inches or centimetres for the Format pane, the ribbon's size boxes, the Slide Size dialog and the ruler (#1326) by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1336
- Ignore signed 'hh hex escapes in RTF outline import by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1351
- Resolve OPC relationship targets that use backslash separators by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1352
- Fix HTML paste panic on bare '&' before multi-byte text by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1353
- Keep auto-advance when transition.timing gets an invalid
afterby @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1354 - Reject invalid layout index in master.deleteLayout and renameLayout by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1358
- PDF export keeps only web and mail links by @oracola91 in https://github.com/storytold/deckcraft/pull/1221
- Render: a picture's fill shows behind its transparent pixels by @pick2510 in https://github.com/storytold/deckcraft/pull/1294
- Treat curly apostrophe as ASCII in spell check by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1329
- feat: startup update prompt modal and direct self-updating by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1377
- build: pin craft-update to craft-libs main (db19c37) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1383
- fix(codecs): harden media decoders against resource amplification and unbound state by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1285
- fix(render): optimize table styles, chart lookups, line trimming, and canvas limits by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1288
- refactor(hevc): Sonar S3776 slicedec helpers by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1273
- build: pin craft-update to craft-libs main (495e597) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1386
- build: pin craft-update to craft-libs main (495e597) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1388
- refactor(av1): S1612 closure to method path by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1269
- chore(deps): refresh serde_json, arboard, winresource, i_overlay by @skylartaylor in https://github.com/storytold/deckcraft/pull/1394
- refactor(h264,hevc): Sonar S107 parameter counts by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1271
- refactor(av1): reduce complexity of parse_obus (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1279
- refactor(h264): Sonar S3776 split two slicedec functions by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1272
- refactor(av1): split grain::apply into stages (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1276
- refactor(h264): Sonar S3776 dpb helpers by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1275
- fix(windows): keep the shortcut icon after an update (#1114) by @SofiaAFigueredo in https://github.com/storytold/deckcraft/pull/1391
- fix(h264): Sonar S1612 closure to method path by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1268
- refactor(av1): reduce complexity in transform.rs (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1277
- refactor(av1): reduce complexity in cdef.rs and restoration.rs (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1278
- refactor(rtf): split the outline reader into per-construct methods (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1399
- refactor(hevc): split prediction_unit into merge, AMVP and store helpers (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1400
- refactor(hevc): split derive_merge into spatial, temporal, combined and zero stages (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1401
- refactor(show): split the key handler into grid, navigation and tool keys (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1402
- refactor: reduce cognitive complexity in five functions (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1404
- refactor: reduce cognitive complexity in five more functions (S3776) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1405
- ci: require nextest 0.9.150 by @skylartaylor in https://github.com/storytold/deckcraft/pull/1429
- refactor: shared module layout (craft-contrib#20) by @aiongg in https://github.com/storytold/deckcraft/pull/1433
- refactor(ui): use craft-ui's ComboBox for every dropdown by @aiongg in https://github.com/storytold/deckcraft/pull/1457
- Speed up PDF export by reusing equal slide backdrops by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1461
- Windows installation policy: DeckCraft by @Jeremy8776 in https://github.com/storytold/deckcraft/pull/1434
- Enforce Rust coding standards via Clippy by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1444
- @SusieeTheLinuxUser made their first contribution in https://github.com/storytold/deckcraft/pull/1246
- @SofiaAFigueredo made their first contribution in https://github.com/storytold/deckcraft/pull/1391
- @Jeremy8776 made their first contribution in https://github.com/storytold/deckcraft/pull/1434
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.11.1...v0.12.0
DeckCraft v0.11.1
- packaging: [[ ]] tests, named positional parameters, explicit returns and a default case (SonarCloud S7688, S7679, S7682, S131) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1212
- Use chrono instead of hand-rolled UTC conversion by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1116
- CI: one test binary per crate, nextest, line tables only by @aiongg in https://github.com/storytold/deckcraft/pull/1213
- CI: shared gate workflow; FreeBSD nightly and on release by @aiongg in https://github.com/storytold/deckcraft/pull/1214
- Packaging: pin the signing client and appimagetool, and check their hashes by @aiongg in https://github.com/storytold/deckcraft/pull/1082
- ci(sonar): stop cancelling main-branch runs so coverage is published by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1243
- Keep the slide show in a window for "Browsed by an individual" (#1229) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/1235
- Render: a shape with no fill and no line draws no glow round its box by @leobasilio in https://github.com/storytold/deckcraft/pull/1240
- Read a newline in pasted HTML text as a space by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/820
- Fix dropped rapid mouse-wheel slide navigation steps by @kinower in https://github.com/storytold/deckcraft/pull/872
- fix(design): propagate Format Background Apply to All to slide masters (#891) by @kk376 in https://github.com/storytold/deckcraft/pull/894
- About: Contributors and Models get their own fixed-size block below the tabs (#843) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/906
- Declare the a: and r: namespaces on the modern comments part (#974) by @HyakoV3 in https://github.com/storytold/deckcraft/pull/986
- Duplicate: a copy that was moved is duplicated the same distance further on (#966) by @Zetenypapp in https://github.com/storytold/deckcraft/pull/988
- Media: look a clip up on the slide it belongs to (#994) by @Faabyy in https://github.com/storytold/deckcraft/pull/999
- Canvas: resizing snaps the edge being dragged (#961) by @Faabyy in https://github.com/storytold/deckcraft/pull/1003
- Insert: keep the Icons popup open when clicking the search box (#971) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/1007
- Keep the crop of a PPTX video and apply it in the poster and playback (#972) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/1008
- Show: draw shapes stacked above a playing video over its frame (#1005) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/1009
- Play animated GIFs inside groups by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1026
- Reject non-hex characters such as '+' in Rgba::from_hex by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1027
- Format General scientific notation like Excel (1.5E+12) by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1035
- Apply trailing-comma thousands scaling to formats with decimals by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1036
- Control server: a rejected line's reason survives a pipelined peer by @Hamza0101 in https://github.com/storytold/deckcraft/pull/1039
- Fix extra empty histogram bin with a fixed bin count by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1054
- The AppImage and DeckCraft.app ship the licence files by @oracola91 in https://github.com/storytold/deckcraft/pull/1056
- Control server: wait after a failed accept instead of retrying at once by @oracola91 in https://github.com/storytold/deckcraft/pull/1060
- Escape carriage return as in XML text content by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1064
- Keep rounded corners round in non-uniformly scaled groups by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1085
- M8: honor explicit empty chart number-format sections by @MMexicann in https://github.com/storytold/deckcraft/pull/1091
- Add angle adjust handles to partial-circle presets by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1101
- Render: 3-D sizes in a scaled group stay in points by @pick2510 in https://github.com/storytold/deckcraft/pull/1134
- PPTX: a theme's spDef anchor is for new shapes, not the file's own by @pick2510 in https://github.com/storytold/deckcraft/pull/1136
- Text: table text takes the master's other-text style by @pick2510 in https://github.com/storytold/deckcraft/pull/1145
- Use a relative coefficient threshold in trendline equations by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1148
- Thumbnails: count the renders, not only the thumbnails held (#969) by @Hamza0101 in https://github.com/storytold/deckcraft/pull/1160
- Keep the slide backdrop while animations play by @kbarni in https://github.com/storytold/deckcraft/pull/1161
- Apply group fill and outline edits to member shapes by @samirhvbr in https://github.com/storytold/deckcraft/pull/1187
- Cap the PDF slide raster by total pixel count (#1178) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/1193
- Animation Pane: Play From the selected effect by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1199
- Design Ideas: switching ideas removes the Full-bleed title band (#1201) by @xc4pr in https://github.com/storytold/deckcraft/pull/1207
- Presenter View: speaker notes keep their bullets, numbers and formatting by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1211
- Show: refuse a show.start from that is not a slide by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1228
- Pictures: Set Transparent Color picks the colour by clicking the picture, as in PowerPoint by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1233
- Shape Fill and Shape Outline: the button applies the last colour picked from its menu by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1234
- Canvas: scroll bars when the zoomed slide is larger than the window by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/1239
- Find: Ctrl+F puts the caret in "Find what:" (#951) by @Zetenypapp in https://github.com/storytold/deckcraft/pull/989
- Fix scientific number format for subnormal values by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1099
- text: remap symbol-font U+F0xx codes to the installed Symbol face's real Unicode by @Bryson14 in https://github.com/storytold/deckcraft/pull/896
- Count line breaks as one char in Find/Replace by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1002
- README: Linux runtime libraries for tarball and musl installs (#955) by @FabPei in https://github.com/storytold/deckcraft/pull/1037
- Format Painter: apply on text selection by @fchinu in https://github.com/storytold/deckcraft/pull/1076
- Treat CRLF as a single paragraph break in text.set by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1097
- Show All slides in the Presenter View window, not on the audience screen (#1130) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/1191
- Media: use craft-media for bitstream, isobmff and matroska by @aiongg in https://github.com/storytold/deckcraft/pull/1034
- Media: a clip opened from a .pptx gets its length and size from its headers by @aiongg in https://github.com/storytold/deckcraft/pull/1250
- PDF: pin craft-pdf and krilla to craft-libs main by @aiongg in https://github.com/storytold/deckcraft/pull/1253
- chore: resolve SonarCloud maintainability issues by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1255
- refactor: replace redundant closures with method paths (SonarCloud S1612) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1261
- security: use exclusive temporary directories for macOS cert import and media fixtures by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1263
- security: clamp alpha_num bullet expansion and sanitize filename logging by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1264
- perf(chart): optimize axis plotted extent scan and cache non-bar error bar stats by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1266
- perf(engine): bound HTML entity semicolon scan window and formatting stack search by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1267
- refactor: explicit imports for table modules (SonarCloud S2208) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1262
- security(engine): check regular file and size bound on read, preserve permissions and symlinks on save by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1265
- security(metafile): harden EMF+ parsing, clipping complexity, and memory accounting by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1280
- perf(pptx): index export lookups and deduplicate relationship parts by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1281
- fix(pptx): harden import resource budgets, deduplication, and lookup caching by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1283
- Integration batch 1: 35 contributor PRs (charts, shapes, slides, text editing, dialogs, outline files) by @aiongg in https://github.com/storytold/deckcraft/pull/1260
- Status bar: keep a long language name from overlapping by @Katacc in https://github.com/storytold/deckcraft/pull/1244
- Reject '+'-signed numeric character references in HTML paste by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1252
- Web: point web app favicon to deckcraft.ico by @GhostMitra in https://github.com/storytold/deckcraft/pull/384
- Files: save and open outlines as RTF by @NikitkaRa in https://github.com/storytold/deckcraft/pull/565
- UI: close About dialog on Cancel and test Options Cancel from File tab (#782) by @GhostMitra in https://github.com/storytold/deckcraft/pull/793
- Preferences: checkboxes and slider rails show in light mode by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/805
- Canvas: the resize cursor follows the handle's rotated diagonal (#745) by @albayazid in https://github.com/storytold/deckcraft/pull/806
- engine: a hostile text selection can't drive paragraph commands past the body by @midasmatterhorn in https://github.com/storytold/deckcraft/pull/813
- Shapes: Edit Points — Straight/Curved Segment and Open/Close Path from the right-click menu by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/833
- Canvas: the Format and Animation Painter override the cursor (#830) by @albayazid in https://github.com/storytold/deckcraft/pull/846
- Render: quick styles render on empty placeholder text boxes (#832) by @albayazid in https://github.com/storytold/deckcraft/pull/848
- Review: reject revisions after Compare, one or all by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/850
- PPTX: paragraph builds edited in PowerPoint keep their clicks by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/883
- Clamp text.selectParagraph paragraph index to avoid overflow by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/904
- Header & Footer: the automatic date takes a format by @Hamza0101 in https://github.com/storytold/deckcraft/pull/927
- Thumbnails: navigating slides scrolls the pane to keep the current slide visible (#917) by @albayazid in https://github.com/storytold/deckcraft/pull/945
- Charts: a series' own data-label setting decides whether its labels show (#868) by @albayazid in https://github.com/storytold/deckcraft/pull/956
- Tests: the Options dialog's Cancel, Esc and the close button restore the settings (#878) by @albayazid in https://github.com/storytold/deckcraft/pull/962
- Tests: Ctrl+A in the slide sorter selects every slide (#936) by @albayazid in https://github.com/storytold/deckcraft/pull/965
- Hide the slide show media controls when the pointer is idle (#967) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/978
- Chart text can be coloured (chart.options textColor, format.color) and follows the theme by default by @zberry in https://github.com/storytold/deckcraft/pull/1015
- Render: table body text on tinted cells picks the theme colour that contrasts with the fill, so default tables stay readable on dark themes by @zberry in https://github.com/storytold/deckcraft/pull/1016
- Replace Fonts test: a window wide enough to hold Home's ribbon by @Hamza0101 in https://github.com/storytold/deckcraft/pull/1043
- Indent table rows in outline export so they stay on their slide by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1075
- Make chart axis flatness thresholds relative to data magnitude by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1198
- Design Ideas: no ideas for slides with diagrams, connectors or other graphics (#1200) by @xc4pr in https://github.com/storytold/deckcraft/pull/1205
- Theme: text fields show in the light theme (#1204) by @xc4pr in https://github.com/storytold/deckcraft/pull/1208
- Title: arrange.group: nest groups at most 32 deep by @Katacc in https://github.com/storytold/deckcraft/pull/1245
- Fix arrange.distribute span to use the selection's full extent by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1251
- Reject invalid index in slide.hide and slide.layout by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1254
- security(anim): bound custom-show and timeline lookups, share motion paths across paragraph effects by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1341
- Merge 14 open PRs (tested batch) by @aiongg in https://github.com/storytold/deckcraft/pull/1344
- Text: AutoFormat starts bulleted and numbered lists as you type by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1258
- Paste: a table, bullet or slide from another deck keeps its own pictures and sounds by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1289
- Tests: UI tests that render with wgpu take turns, so the Windows test run no longer crashes by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1292
- Control server: a peer refused as busy still reads why, and two tests no longer race by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1298
- Text: a Columns dialog sets the number of columns and the spacing between them by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1301
- Edit Points: Esc before releasing the mouse button cancels a point or handle drag by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1325
- Docs: Play From and the .potx/.ppsx content types are no longer listed as missing by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1327
- Edit Points: right-click a segment for Add Point, Delete Segment and Open/Close Path by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1332
- Format: Pattern fill shows a gallery of every preset with Foreground and Background colors by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1335
- Format: Fill shows Color and Transparency only for fills they change by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1338
- Tables: dragging across cells selects a range of cells by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1282
- Tests: the Notes-button test clicks where the button is laid out, so it passes without Inter by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1300
- Status bar: screen readers can name its controls and read the slide counter and status message by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1307
- Edit Points: Shift, Ctrl or Alt while dragging a handle makes the point smooth, straight or corner by @dotCooCoo in https://github.com/storytold/deckcraft/pull/1308
- Colour names, media ids after a paste, and pressing a table outside its cells (#1344 follow-ups) by @aiongg in https://github.com/storytold/deckcraft/pull/1348
- @aiongg made their first contribution in https://github.com/storytold/deckcraft/pull/1213
- @leobasilio made their first contribution in https://github.com/storytold/deckcraft/pull/1240
- @kinower made their first contribution in https://github.com/storytold/deckcraft/pull/872
- @kk376 made their first contribution in https://github.com/storytold/deckcraft/pull/894
- @HyakoV3 made their first contribution in https://github.com/storytold/deckcraft/pull/986
- @oracola91 made their first contribution in https://github.com/storytold/deckcraft/pull/1056
- @pick2510 made their first contribution in https://github.com/storytold/deckcraft/pull/1134
- @kbarni made their first contribution in https://github.com/storytold/deckcraft/pull/1161
- @samirhvbr made their first contribution in https://github.com/storytold/deckcraft/pull/1187
- @Bryson14 made their first contribution in https://github.com/storytold/deckcraft/pull/896
- @fchinu made their first contribution in https://github.com/storytold/deckcraft/pull/1076
- @Katacc made their first contribution in https://github.com/storytold/deckcraft/pull/1244
- @GhostMitra made their first contribution in https://github.com/storytold/deckcraft/pull/384
- @zberry made their first contribution in https://github.com/storytold/deckcraft/pull/1015
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.10.0...v0.11.1
DeckCraft v0.10.0
[!NOTE] FreeBSD aarch64 is dropped from this release. We had to cut releases, and we cannot build this target within the 5-hour CI limit for any of the Craft apps, so we are dropping it for now. This is a known blocker, flagged for a future fix in storytold/craft-common-actions#39. FreeBSD x86_64 and every other platform are included.
- docs: add SonarCloud and CodeRabbit badges to README by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/984
- Skip CodeRabbit reviews on Dependabot PRs by @echelon in https://github.com/storytold/deckcraft/pull/1068
- ci: switch to shared nix workflow from craft-common-actions by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/865
- macOS: open presentations from Finder, Open With and the Dock (#138, #347) by @Lexx143 in https://github.com/storytold/deckcraft/pull/432
- security: enforce HTTPS on curl downloads (SonarCloud S6506) by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/1139
- README: the app icon above the title by @bflatastic in https://github.com/storytold/deckcraft/pull/1158
- fix(wasm): avoid std services that panic on wasm32-unknown-unknown at… by @alexeyvolkoff in https://github.com/storytold/deckcraft/pull/982
- Thumbnails: only render the slides in view (#969) by @Faabyy in https://github.com/storytold/deckcraft/pull/1011
- Text: an empty line takes the size of the mark that ends it by @Hamza0101 in https://github.com/storytold/deckcraft/pull/790
- Reject invalid slide index params instead of using the selection by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1063
- Strip URI fragment before percent-decoding OPC targets by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/1071
- Clear animation triggers that point at deleted shapes by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/996
- @Lexx143 made their first contribution in https://github.com/storytold/deckcraft/pull/432
- @bflatastic made their first contribution in https://github.com/storytold/deckcraft/pull/1158
- @alexeyvolkoff made their first contribution in https://github.com/storytold/deckcraft/pull/982
- @Hamza0101 made their first contribution in https://github.com/storytold/deckcraft/pull/790
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.9.0...v0.10.0
DeckCraft v0.9.0
[!NOTE] FreeBSD aarch64 is dropped from this release. We had to cut releases, and we cannot build this target within the 5-hour CI limit for any of the Craft apps, so we are dropping it for now. This is a known blocker, flagged for a future fix in storytold/craft-common-actions#39. FreeBSD x86_64 and every other platform are included.
- Keep bare '&' text when pasting HTML instead of dropping it by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/795
- Keep multi-paragraph slide titles on one line in outline export by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/796
- PPTX: a slide that can't be read is reported, not dropped in silence (#203) by @Faabyy in https://github.com/storytold/deckcraft/pull/802
- Add slides from an outline to the section of the slide they follow by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/827
- Text: AutoFormat superscripts ordinals (1st, 22nd) as you type by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/856
- Opening a .ppsx from the command line starts the slide show (#862) by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/864
- Show: Back leaves a slide whose first animation plays by itself by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/882
- Export: PNG with a transparent background (#784) by @switch87 in https://github.com/storytold/deckcraft/pull/885
- Limit shape.setBounds, shape.resize and shape.move size and position by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/886
- Remap slide links to the copies when reusing slides by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/893
- Change case across formatting run boundaries by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/898
- Mirror the rotation when flipping a rotated shape by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/901
- Reject invalid comment.delete index instead of clearing the slide by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/902
- Export: PDFs store each slide backdrop once (#845) by @FabPei in https://github.com/storytold/deckcraft/pull/928
- Canvas: a shape in front of edited text takes the click (#931) by @Zetenypapp in https://github.com/storytold/deckcraft/pull/943
- Edit Points: turning a shape into a freeform is one undo step by @Zetenypapp in https://github.com/storytold/deckcraft/pull/946
- Open: cap absurd effect sizes from a file (a huge glow made rendering ask for 34 GB) by @Zetenypapp in https://github.com/storytold/deckcraft/pull/947
- Open: give shapes that repeat an id in a .deckcraft file fresh ones by @Zetenypapp in https://github.com/storytold/deckcraft/pull/948
- Hide the idle cursor over clickable clips during a slideshow (#968) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/979
- Arrange: Align to Slide and Align Selected Objects in the Align menu, as in PowerPoint by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/871
- docs: drop references to competing commercial software by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/952
- ci: configure Dependabot for Cargo and GitHub Actions by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/993
- Format: retain imported chart parts through native saves by @MMexicann in https://github.com/storytold/deckcraft/pull/851
- @Faabyy made their first contribution in https://github.com/storytold/deckcraft/pull/802
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.8.0...v0.9.0
DeckCraft v0.8.0
- Opus: validate the header in Decoder::from_head (#425) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/442
- xtask: assets audit no longer panics on Unicode names and reads real paths from git (#424) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/443
- Info: keep a property draft when another field or the side menu is clicked (#422) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/445
- Engine: moving the selection to another text body settles the composition (#421) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/446
- Format scientific number formats (0.00E+00) in chart labels (#419) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/448
- UI: notes, alt text and rename drafts no longer carry over to another document (#413) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/450
- Pptx: keep the math namespace equations inherit from the slide root or a wrapper (#412) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/451
- MCP: do not resend a command whose reply was lost (#409) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/453
- Engine: a command that fails after editing puts the presentation back (#405) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/454
- Table: split and cell fill stay inside the table (#400) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/455
- Bitstream: reject bad NAL length widths, check NAL endpoints and signed Exp-Golomb limits (#397) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/456
- Matroska: stop following chapter and tag nesting past 32 levels (#396) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/457
- AV1: reject tile groups that repeat, skip or reorder tiles (#395) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/458
- Slide show: Honeycomb's hexagons cover the whole slide again (#420) by @albayazid in https://github.com/storytold/deckcraft/pull/460
- Copy and Cut buttons and menus put the text on the system clipboard (#431) by @Zetenypapp in https://github.com/storytold/deckcraft/pull/463
- Media: preserve video frames and EOF across seeks by @MMexicann in https://github.com/storytold/deckcraft/pull/587
- Fix keyboard navigation when Presenter View has focus by @lambertoo in https://github.com/storytold/deckcraft/pull/707
- Slide show: click-triggered animations, per-slide state and hit testing by @nagasakimark in https://github.com/storytold/deckcraft/pull/713
- pptx: write linked pictures with r:link so PowerPoint resolves external images by @midasmatterhorn in https://github.com/storytold/deckcraft/pull/728
- Colour menus: an Eyedropper that takes a colour from the slide (#367) by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/436
- Slide: leading tabs in a new slide's body set the outline level (#370) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/459
- CLI: convert and run refuse output formats DeckCraft can't write (#715) by @switch87 in https://github.com/storytold/deckcraft/pull/716
- PPTX: .potx and .ppsx declare a template and slide show main part (#210) by @justinjohn0306 in https://github.com/storytold/deckcraft/pull/212
- Animations: nine PowerPoint exit effects import as themselves (#147) by @justinjohn0306 in https://github.com/storytold/deckcraft/pull/222
- SmartArt: text is laid out on its text rectangle (dsp:txXfrm), not in columns by @pierrevbc in https://github.com/storytold/deckcraft/pull/242
- fix: DeckCraft upstream issue #104 by @FabPei in https://github.com/storytold/deckcraft/pull/306
- macOS: end the process in on_exit so closing the window doesn't crash by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/308
- Open: a password-protected presentation says so, and open errors show on the start screen by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/348
- Fonts: the font scan leaves out faces with no outline tables by @dotCooCoo in https://github.com/storytold/deckcraft/pull/351
- Bump quick-xml to 0.41 (RUSTSEC-2026-0194, RUSTSEC-2026-0195) by @natocool2 in https://github.com/storytold/deckcraft/pull/356
- Fonts: a lookup finds an installed family whichever thread loads it first by @LloydNicholson in https://github.com/storytold/deckcraft/pull/80
- Command palette: one Export… entry that opens the dialog, no path-only duplicate (#79) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/82
- PPTX: animation rewind survives save and reopen (#77) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/83
- Export: an unknown format is an error instead of a deckcraft file by @mikl0s in https://github.com/storytold/deckcraft/pull/95
- Slides: going to a slide that does not exist is an error by @mikl0s in https://github.com/storytold/deckcraft/pull/96
- Commands: an invalid shape id is an error instead of the selection by @mikl0s in https://github.com/storytold/deckcraft/pull/97
- docs(readme): percent-encode middle dot in platforms badge URL by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/98
- PPTX import: a transition without spd is 0.5 s, not the effect's default (#117) by @alexanderalber in https://github.com/storytold/deckcraft/pull/149
- Issue #106: zooming keeps the point under the pointer by @LloydNicholson in https://github.com/storytold/deckcraft/pull/156
- Charts: value axes start above zero when the values sit high, as in Office by @LloydNicholson in https://github.com/storytold/deckcraft/pull/157
- Ribbon: transition and animation tiles follow the dark theme (#159) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/160
- Windows: compile DX12 shaders with FXC by @itrycodinganditsbad in https://github.com/storytold/deckcraft/pull/176
- CLI: --help prints usage and unknown render flags are rejected (#163) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/179
- Ctrl+C then Ctrl+V pastes objects that carry no text (Fixes #182) by @Claudio911015 in https://github.com/storytold/deckcraft/pull/189
- Slide Size: choose Portrait or Landscape (#198) by @justinjohn0306 in https://github.com/storytold/deckcraft/pull/201
- Home: a Selection Pane button that works with nothing selected (#132) by @justinjohn0306 in https://github.com/storytold/deckcraft/pull/205
- PPTX: a lone guide keeps the name its preset uses, adj1 or adj (#214) by @justinjohn0306 in https://github.com/storytold/deckcraft/pull/216
- Read Markdown outlines as Markdown (#211) by @LloydNicholson in https://github.com/storytold/deckcraft/pull/218
- Text: draw shrink-on-overflow at the scale the file was saved with by @xmaks82 in https://github.com/storytold/deckcraft/pull/226
- Canvas: right click selects the shape under the pointer by @pierrevbc in https://github.com/storytold/deckcraft/pull/244
- Title bar: Export button next to Save by @pierrevbc in https://github.com/storytold/deckcraft/pull/246
- Text: exact line spacing ends at the last line's descent by @xmaks82 in https://github.com/storytold/deckcraft/pull/249
- Text: line spacing reduction comes off the percentage, not the spacing by @xmaks82 in https://github.com/storytold/deckcraft/pull/253
- Comments: threads and resolved state survive a .pptx round trip (#70) by @albayazid in https://github.com/storytold/deckcraft/pull/280
- ui: admit stock macOS CJK faces as interface fallbacks (#101) by @Momentum96 in https://github.com/storytold/deckcraft/pull/376
- render: 3-D light rigs and materials, per-side extrusion shading by @NikitkaRa in https://github.com/storytold/deckcraft/pull/597
- render: 3-D contours by @NikitkaRa in https://github.com/storytold/deckcraft/pull/600
- Animations: check effect options and accept direction words by @NikitkaRa in https://github.com/storytold/deckcraft/pull/620
- Shapes: star4/star5 text rectangles as the standard defines them by @NikitkaRa in https://github.com/storytold/deckcraft/pull/642
- Charts: percent axes for 100% stacked; source-linked axis number formats by @NikitkaRa in https://github.com/storytold/deckcraft/pull/659
- Startup: fall back to Wayland when DISPLAY names no X server by @NikitkaRa in https://github.com/storytold/deckcraft/pull/661
- Render: don't lay out table cell text that lands off the slide by @NikitkaRa in https://github.com/storytold/deckcraft/pull/663
- PPTX: keep table styles the file defines when no table uses them by @NikitkaRa in https://github.com/storytold/deckcraft/pull/694
- PPTX: normalize literal line ends in XML so runs stay put on save by @NikitkaRa in https://github.com/storytold/deckcraft/pull/701
- Undo: cap the history by memory as well as by steps by @NikitkaRa in https://github.com/storytold/deckcraft/pull/704
- PPTX: write Color Pulse emphasis as a colour change, not a scale by @NikitkaRa in https://github.com/storytold/deckcraft/pull/705
- MCP tools refuse an argument that is not in their schema (#371) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/375
- Metafile: clip EMF and WMF drawing to rectangle regions by @NikitkaRa in https://github.com/storytold/deckcraft/pull/437
- Edit: copies remap media, connector ends, animation targets and triggers (#406) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/475
- Render: budget shape path-gradient work on dense outlines (#404) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/476
- Pptx: budget chart points, chart XML size, inflate work and VML lookups (#401) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/480
- Charts: pie and doughnut data labels use the number format (#324) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/486
- Designer: layout ideas that rearrange the current slide (#314) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/489
- Fonts: find fonts where Linux and Flatpak keep them; add and rescan commands (#277) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/491
- Format Shape: line compound, cap, join, arrows and sizes; lock aspect ratio by @NikitkaRa in https://github.com/storytold/deckcraft/pull/500
- Engine: seeded editor soak tests; tiny charts no longer blank the slide by @NikitkaRa in https://github.com/storytold/deckcraft/pull/502
- Text: set text transparency from Text Fill (#32) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/504
- Transitions: choose a transition sound and play it in the show by @NikitkaRa in https://github.com/storytold/deckcraft/pull/505
- UI: seeded whole-window soak with memory and timing bounds by @NikitkaRa in https://github.com/storytold/deckcraft/pull/507
- UI: WordArt Transform gallery applies a text warp by @NikitkaRa in https://github.com/storytold/deckcraft/pull/511
- Shapes: Edit Points — drag, add and delete a shape's vertices by @NikitkaRa in https://github.com/storytold/deckcraft/pull/514
- Format: report damaged embedded media and open such files as a repaired copy by @NikitkaRa in https://github.com/storytold/deckcraft/pull/526
- Morph: the same text moves and resizes instead of cross-fading by @NikitkaRa in https://github.com/storytold/deckcraft/pull/541
- Pictures: Remove Background with a classical matte by @NikitkaRa in https://github.com/storytold/deckcraft/pull/550
- Animations: add 34 PowerPoint motion path presets by @NikitkaRa in https://github.com/storytold/deckcraft/pull/551
- Text: Bullets and Numbering dialog by @NikitkaRa in https://github.com/storytold/deckcraft/pull/553
- Pptx: round-trip comments, links, shows, groups and inherited placeholders by @NikitkaRa in https://github.com/storytold/deckcraft/pull/554
- Edit: Paste Special (destination theme, keep source, picture, text only) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/558
- Pptx: round-trip text effects, layout, fills, bevels and connectors by @NikitkaRa in https://github.com/storytold/deckcraft/pull/562
- Performance baseline: deckcraft-cli bench and cargo xtask bench by @NikitkaRa in https://github.com/storytold/deckcraft/pull/564
- Make PDF export ~2.8× faster with byte-identical output by @NikitkaRa in https://github.com/storytold/deckcraft/pull/566
- Metafile: draw EMF+ only pictures by @NikitkaRa in https://github.com/storytold/deckcraft/pull/574
- PPTX: round-trip 3-D models and animation bounce end by @NikitkaRa in https://github.com/storytold/deckcraft/pull/578
- PPTX corpus: themes, masters, effects and links; keep text Mouse Over actions by @NikitkaRa in https://github.com/storytold/deckcraft/pull/589
- PPTX: round-trip chart trendlines by @NikitkaRa in https://github.com/storytold/deckcraft/pull/590
- Render 3-D extrusions: sides under turned cameras (3-D slice 1) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/595
- Insert: a gallery of Lucide icons as stroked shapes by @NikitkaRa in https://github.com/storytold/deckcraft/pull/625
- Render: cap dash count so a tiny dash on a huge shape can't crash on open by @NikitkaRa in https://github.com/storytold/deckcraft/pull/639
- UI: Size and Position dialog sets geometry in one step by @NikitkaRa in https://github.com/storytold/deckcraft/pull/641
- Shapes: chevron text rectangle per presetShapeDefinitions by @NikitkaRa in https://github.com/storytold/deckcraft/pull/643
- Charts: draw axis titles by @NikitkaRa in https://github.com/storytold/deckcraft/pull/657
- Review: previous and next comment by @NikitkaRa in https://github.com/storytold/deckcraft/pull/672
- Export: image exports keep the whole slide; partial failures say what was written by @NikitkaRa in https://github.com/storytold/deckcraft/pull/681
- Media: damaged audio no longer hangs or panics by @NikitkaRa in https://github.com/storytold/deckcraft/pull/696
- Pptx: read and write embedded fonts by @NikitkaRa in https://github.com/storytold/deckcraft/pull/439
- Parsers: check hostile numeric fields before arithmetic (#426) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/467
- Anim: group animations by sequence in one pass (#410) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/472
- Text: bidi levels for language runs in linear time (#403) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/477
- Render: cap RGBA conversion and bound the failed-image cache (#402) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/478
- Recovery: unique uids, per-instance ownership, keep snapshots until replaced (#390) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/482
- Print: choose paper size and orientation for notes and handouts by @NikitkaRa in https://github.com/storytold/deckcraft/pull/499
- Format Shape: shadow, glow and reflection detail controls by @NikitkaRa in https://github.com/storytold/deckcraft/pull/503
- Shapes: Edit Points — point types, Bézier handles, right-click menu by @NikitkaRa in https://github.com/storytold/deckcraft/pull/515
- Transitions: built-in sounds, Stop Previous Sound and Loop Until Next by @NikitkaRa in https://github.com/storytold/deckcraft/pull/516
- PPTX: owned corpus round-trip, keep notes-master header and footer by @NikitkaRa in https://github.com/storytold/deckcraft/pull/517
- File: six original starter decks by @NikitkaRa in https://github.com/storytold/deckcraft/pull/593
- Text: underline an IME composition in a table cell by @NikitkaRa in https://github.com/storytold/deckcraft/pull/618
- UI: Photo Album dialog inserts pictures as slides by @NikitkaRa in https://github.com/storytold/deckcraft/pull/647
- Format: repair degenerate slide sizes on load by @NikitkaRa in https://github.com/storytold/deckcraft/pull/665
- Merge Shapes: text merges as its letters, so a picture can fill them by @NikitkaRa in https://github.com/storytold/deckcraft/pull/678
- UI: Alt Text's decorative checkbox follows the selection by @NikitkaRa in https://github.com/storytold/deckcraft/pull/682
- UI: Create New Theme Colors dialog edits the theme in one step by @NikitkaRa in https://github.com/storytold/deckcraft/pull/683
- UI: Create New Theme Fonts dialog edits the theme in one step by @NikitkaRa in https://github.com/storytold/deckcraft/pull/687
- Outline: lay out only the slides in view by @NikitkaRa in https://github.com/storytold/deckcraft/pull/695
- Media: damaged MP4 sample tables no longer abort the app by @NikitkaRa in https://github.com/storytold/deckcraft/pull/699
- Comments: browser-created comments and replies get a creation timestamp (#72) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/85
- Slide show: media set to play in the click sequence starts on Next (#116) by @alexanderalber in https://github.com/storytold/deckcraft/pull/140
- Slides: Ctrl+A in the slide pane selects every slide (#188) by @isaac-levine in https://github.com/storytold/deckcraft/pull/191
- Animation Pane: advanced timeline with draggable bars by @NikitkaRa in https://github.com/storytold/deckcraft/pull/495
- Home: Replace Fonts dialog and font.replace command by @NikitkaRa in https://github.com/storytold/deckcraft/pull/512
- Design: Browse for Themes from a .thmx, .pptx or .potx file by @NikitkaRa in https://github.com/storytold/deckcraft/pull/530
- Table: borders, cell margins and cell text alignment by @NikitkaRa in https://github.com/storytold/deckcraft/pull/540
- Pictures: Picture Styles gallery and Picture Border by @NikitkaRa in https://github.com/storytold/deckcraft/pull/545
- Pictures: Recolor gallery and Set Transparent Color by @NikitkaRa in https://github.com/storytold/deckcraft/pull/547
- UI: View › New Window opens a second window by @NikitkaRa in https://github.com/storytold/deckcraft/pull/560
- UI: sections in the Slide Sorter by @NikitkaRa in https://github.com/storytold/deckcraft/pull/586
- Text: shrink on overflow gives up at once when even 10% overflows by @NikitkaRa in https://github.com/storytold/deckcraft/pull/651
- UI: Edit Photo Album reflows the album in one step by @NikitkaRa in https://github.com/storytold/deckcraft/pull/658
- Insert: Action Settings dialog and shape.action by @NikitkaRa in https://github.com/storytold/deckcraft/pull/557
- SmartArt: Text Pane, add and remove shapes, promote and demote by @NikitkaRa in https://github.com/storytold/deckcraft/pull/596
- SmartArt: 15 layouts, SmartArt Styles and Change Colors by @NikitkaRa in https://github.com/storytold/deckcraft/pull/606
- SmartArt: shrink text to fit, picture layouts, 3-D styles and more colours by @NikitkaRa in https://github.com/storytold/deckcraft/pull/610
- SmartArt: node pictures from the data model, Brick Scene camera, four more layouts by @NikitkaRa in https://github.com/storytold/deckcraft/pull/613
- SmartArt: six more layouts, clear Venn labels, read back older Picture Accent Process files by @NikitkaRa in https://github.com/storytold/deckcraft/pull/617
- SmartArt: organisation charts with assistants, segmented/multidirectional cycles, cycle matrix, segmented pyramid, pie by @NikitkaRa in https://github.com/storytold/deckcraft/pull/621
- SmartArt: Name and Title org chart, closer Half Circle, ten more layouts, convert to/from text and shapes by @NikitkaRa in https://github.com/storytold/deckcraft/pull/623
- SmartArt: Convert to SmartArt gallery on Home; Convert to Text keeps the text size by @NikitkaRa in https://github.com/storytold/deckcraft/pull/627
- SmartArt: layout gallery thumbnails and hover preview by @NikitkaRa in https://github.com/storytold/deckcraft/pull/634
- UI: Date and Time dialog inserts a format in one step by @NikitkaRa in https://github.com/storytold/deckcraft/pull/668
- UI: Hyperlink dialog follows the selection by @NikitkaRa in https://github.com/storytold/deckcraft/pull/689
- SmartArt: write the outline to .pptx as a diagram and read it back from the data model by @NikitkaRa in https://github.com/storytold/deckcraft/pull/601
- Notes and Presenter View: long notes scroll, presenter controls show (#221) by @justinjohn0306 in https://github.com/storytold/deckcraft/pull/224
- Palette: skip commands that need a value by @NikitkaRa in https://github.com/storytold/deckcraft/pull/440
- Show: a laser pointer that leaves no ink by @NikitkaRa in https://github.com/storytold/deckcraft/pull/441
- Media: keep playback with the document and the clip (#415) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/483
- Show: render the next slide in the background while the current one rests (#240) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/490
- Pictures: Artistic Effects — apply, change, remove and keep in PPTX by @NikitkaRa in https://github.com/storytold/deckcraft/pull/518
- Format: bound total embedded media when opening a .deckcraft by @NikitkaRa in https://github.com/storytold/deckcraft/pull/528
- PPTX: keep add-in tags on the presentation, slides and shapes by @NikitkaRa in https://github.com/storytold/deckcraft/pull/531
- Pptx: round-trip tables, charts, animation, media, sections and masters by @NikitkaRa in https://github.com/storytold/deckcraft/pull/533
- PPTX: keep custom XML, the sensitivity label and custom properties by @NikitkaRa in https://github.com/storytold/deckcraft/pull/535
- Add the Handout Master view (stacked on #533) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/572
- Add the Notes Master view (stacked on #572 / #533) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/573
- Notes pages and PDF handouts follow their masters (stacked on #573) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/577
- Notes Master slide preview; master header/footer text keeps its formatting (stacked on #577) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/580
- PDF master header/footer text wraps and keeps mixed formatting (stacked on #580) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/583
- Notes Page view draws master text wrapped (stacked on #583) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/592
- Show: See All Slides and zoom by @NikitkaRa in https://github.com/storytold/deckcraft/pull/649
- Presenter view: pause and reset the timer, and notes size by @NikitkaRa in https://github.com/storytold/deckcraft/pull/656
- Show: play a custom show by @NikitkaRa in https://github.com/storytold/deckcraft/pull/660
- Show: show the slide number while typing it by @NikitkaRa in https://github.com/storytold/deckcraft/pull/664
- Show: a first animation set to With/After Previous plays when the slide appears by @NikitkaRa in https://github.com/storytold/deckcraft/pull/671
- View: Zoom dialog applies a percent or Fit by @NikitkaRa in https://github.com/storytold/deckcraft/pull/675
- Show: Show Media Controls hides the playback bar by @NikitkaRa in https://github.com/storytold/deckcraft/pull/679
- Export: a PNG or JPEG slide records 144 dpi at the default 2× size by @NikitkaRa in https://github.com/storytold/deckcraft/pull/684
- PPTX: keep the notes master's own placeholders and colour map on save by @NikitkaRa in https://github.com/storytold/deckcraft/pull/685
- UI: Design Effects applies a theme effect scheme by @NikitkaRa in https://github.com/storytold/deckcraft/pull/698
- UI: Slide Master Preserve and Title or Footers placeholders by @NikitkaRa in https://github.com/storytold/deckcraft/pull/703
- Text: honour spcFirstLastPara (space before the first paragraph) by @xmaks82 in https://github.com/storytold/deckcraft/pull/254
- CLI: say that render --slide counts from 0 (#359) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/361
- AV1: reject duplicate film-grain scaling points; a failed job still publishes (#394) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/481
- Video: check the whole picture store against a memory budget (#398) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/484
- PPTX: read Office 2016 charts (waterfall, funnel, treemap…) and keep them by @NikitkaRa in https://github.com/storytold/deckcraft/pull/532
- UI: customizable Quick Access Toolbar by @NikitkaRa in https://github.com/storytold/deckcraft/pull/563
- Metafile: EMF+ arcs, convex clip paths, wrapped strings, nested metafiles by @NikitkaRa in https://github.com/storytold/deckcraft/pull/588
- Charts: histograms, Pareto and box and whisker; Office 2016 charts save as themselves by @NikitkaRa in https://github.com/storytold/deckcraft/pull/591
- Charts: multi-level treemaps and sunbursts; inclusive box quartiles by @NikitkaRa in https://github.com/storytold/deckcraft/pull/594
- Charts: keep and draw region map charts by @NikitkaRa in https://github.com/storytold/deckcraft/pull/598
- Charts: polar radar, stock high-low lines and up/down bars, combo sample by @NikitkaRa in https://github.com/storytold/deckcraft/pull/602
- Render: draw chart trendlines by @NikitkaRa in https://github.com/storytold/deckcraft/pull/603
- Metafile: EMF+ cardinal curves and region fills by @NikitkaRa in https://github.com/storytold/deckcraft/pull/633
- Metafile: EMF+ Clear, and the EMF+ record coverage written down by @NikitkaRa in https://github.com/storytold/deckcraft/pull/635
- Charts: bar widths, column/bar point fills, smoothed lines and chart text colour as the file sets them by @NikitkaRa in https://github.com/storytold/deckcraft/pull/638
- Charts: category axis orientation; horizontal bars list the first category at the bottom by @NikitkaRa in https://github.com/storytold/deckcraft/pull/640
- Charts: scatter and bubble charts get a value x axis by @NikitkaRa in https://github.com/storytold/deckcraft/pull/662
- Charts: logarithmic value axes by @NikitkaRa in https://github.com/storytold/deckcraft/pull/669
- Charts: a chart frame with no width no longer panics by @NikitkaRa in https://github.com/storytold/deckcraft/pull/690
- UI: Trim Media dialog follows the selection by @NikitkaRa in https://github.com/storytold/deckcraft/pull/691
- Title bar: on macOS the window buttons sit centred in it (#71) by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/223
- Charts: draw waterfall, funnel, treemap and sunburst layouts by @NikitkaRa in https://github.com/storytold/deckcraft/pull/537
- Metafile: EMF+ images, text, gradient brushes and clipping by @NikitkaRa in https://github.com/storytold/deckcraft/pull/582
- Charts: value-axis minor gridlines by @NikitkaRa in https://github.com/storytold/deckcraft/pull/666
- CLI: render-transition refuses --t values that would share one file name (#423) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/444
- H.264: bound frame_num gap work and reject gaps the SPS forbids (#427) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/465
- Control server: bound connections, line length, queue and socket timeouts (#418) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/471
- Table: inserting and deleting rows and columns keeps merges consistent (#408) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/473
- Design: Variants gallery with four colour variations of the theme by @NikitkaRa in https://github.com/storytold/deckcraft/pull/542
- Tables: Draw Table pencil and Table Eraser by @NikitkaRa in https://github.com/storytold/deckcraft/pull/544
- Review: spelling with Hunspell dictionaries, suggestions, Change and Ignore All by @NikitkaRa in https://github.com/storytold/deckcraft/pull/609
- Spelling: squiggles while typing, Add to Dictionary, per-run languages, compounds by @NikitkaRa in https://github.com/storytold/deckcraft/pull/615
- Spelling: squiggles in table cells and speaker notes; UI-thread checking on the web by @NikitkaRa in https://github.com/storytold/deckcraft/pull/626
- PPTX: shape text anchors at the top when the file gives no anchor; write ctr for centred shapes by @NikitkaRa in https://github.com/storytold/deckcraft/pull/654
- PDF: map each glyph to its shaping cluster's text in ToUnicode (#164) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/178
- Text: AutoCorrect options, case rules and your own entries by @NikitkaRa in https://github.com/storytold/deckcraft/pull/521
- Spelling: notes right-click menu, Review > Language (Do Not Check Spelling), repeated words by @NikitkaRa in https://github.com/storytold/deckcraft/pull/632
- Mark the current transition effect option (#365) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/369
- Media: a failed or stalled audio output hands the clock back to wall time (#417) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/468
- Web: keep a picked file on the document and slide that asked for it by @NikitkaRa in https://github.com/storytold/deckcraft/pull/479
- Draw: Ink to Shape converts pen strokes into shapes by @NikitkaRa in https://github.com/storytold/deckcraft/pull/539
- UI: preview slide animations on the editor canvas by @NikitkaRa in https://github.com/storytold/deckcraft/pull/571
- Startup: survive damaged settings, font folders, recovery folders and small texture limits by @NikitkaRa in https://github.com/storytold/deckcraft/pull/644
- Canvas: a trackpad swipe turns the page by @NikitkaRa in https://github.com/storytold/deckcraft/pull/648
- UI: keep every texture within the GPU max texture side by @NikitkaRa in https://github.com/storytold/deckcraft/pull/652
- Show: presenter view keeps a portrait Next slide inside its column by @NikitkaRa in https://github.com/storytold/deckcraft/pull/655
- Canvas: a two-finger twist rotates the selection by @NikitkaRa in https://github.com/storytold/deckcraft/pull/674
- Clipboard: rich text and pictures for Pages and Keynote by @NikitkaRa in https://github.com/storytold/deckcraft/pull/702
- A tabbed slide body is an outline, and --help exits (#360) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/368
- UI: Format Shape fill transparency follows the selection by @NikitkaRa in https://github.com/storytold/deckcraft/pull/697
- Shapes: smooth a rectangle's corners into a squircle (#286) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/492
- Format Shape: picture or texture fill options by @NikitkaRa in https://github.com/storytold/deckcraft/pull/506
- UI: WordArt adjust handles drag a text warp by @NikitkaRa in https://github.com/storytold/deckcraft/pull/519
- Review: compare with a revised copy and accept its slides by @NikitkaRa in https://github.com/storytold/deckcraft/pull/525
- UI: Grid Options sets spacing, snap and the on-screen grid by @NikitkaRa in https://github.com/storytold/deckcraft/pull/536
- Text: Find and Replace across slides, tables and notes by @NikitkaRa in https://github.com/storytold/deckcraft/pull/556
- View: indent and tab markers on the ruler by @NikitkaRa in https://github.com/storytold/deckcraft/pull/567
- Text: Tabs dialog and the ruler's tab selector (stacked on #567) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/569
- UI: Font dialog sets character formatting in one step by @NikitkaRa in https://github.com/storytold/deckcraft/pull/630
- UI: Paragraph dialog sets alignment, indents and spacing by @NikitkaRa in https://github.com/storytold/deckcraft/pull/637
- Review: Thesaurus pane with a built-in English word list by @NikitkaRa in https://github.com/storytold/deckcraft/pull/549
- View: movable drawing guides saved with the presentation by @NikitkaRa in https://github.com/storytold/deckcraft/pull/559
- Charts: error bars by @NikitkaRa in https://github.com/storytold/deckcraft/pull/673
- Draw: pen pressure scales ink width by @NikitkaRa in https://github.com/storytold/deckcraft/pull/611
- Format: never save a .deckcraft that cannot be reopened over a NaN by @NikitkaRa in https://github.com/storytold/deckcraft/pull/670
- Notes: speaker notes show their formatting and keep it when edited by @Mathiasko in https://github.com/storytold/deckcraft/pull/168
- Pictures: Change Picture replaces the selected picture (#115) by @justinjohn0306 in https://github.com/storytold/deckcraft/pull/204
- Tables: caret in the edited cell, click-to-place, drag borders to resize by @pierrevbc in https://github.com/storytold/deckcraft/pull/230
- Canvas: drag the frame of a text box being edited to move it by @pierrevbc in https://github.com/storytold/deckcraft/pull/243
- fix(cli): render refuses an unknown option instead of writing it as a file (#235) by @RCShoemaker in https://github.com/storytold/deckcraft/pull/258
- Start screen: a missing Recent file is marked, its error shows, and entries can be removed (#172) by @albayazid in https://github.com/storytold/deckcraft/pull/291
- deckcraft-cli help explains the CLI to an agent by @hoblin in https://github.com/storytold/deckcraft/pull/303
- Review: the Language dialog marks the selected text with the language you pick by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/345
- File: save through a unique, exclusively created temporary file (#391) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/466
- UI: keep editor slides on the Retina pixel grid by @NikitkaRa in https://github.com/storytold/deckcraft/pull/522
- UI: Format Background picture fill sets transparency and tiling by @NikitkaRa in https://github.com/storytold/deckcraft/pull/692
- Export: animated GIF of the deck (Export… dialog, CLI, MCP) (#171) by @Mathiasko in https://github.com/storytold/deckcraft/pull/177
- Text: typing goes on after Tab in a text box (#78) by @alexanderalber in https://github.com/storytold/deckcraft/pull/139
- Charts: a missing varyColors varies single-series bar colours by point (#143) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/151
- MCP: confine file access with --automation-read-root and --automation-write-root by @isaac-levine in https://github.com/storytold/deckcraft/pull/247
- Text: the caret shows on dark slides and in empty placeholders by @xc4pr in https://github.com/storytold/deckcraft/pull/321
- Morph: align an outline morph once per transition, not every frame by @alexanderalber in https://github.com/storytold/deckcraft/pull/67
- Export: PNG images (all slides) in the browser downloads every slide (#64) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/87
- Paste: Ctrl+V pastes an image-only clipboard as a picture (#53) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/88
- Morph: text boxes without a partner fade in place instead of moving (#119) by @alexanderalber in https://github.com/storytold/deckcraft/pull/136
- Morph: a picture cropped differently on the next slide morphs its crop (#118) by @alexanderalber in https://github.com/storytold/deckcraft/pull/137
- Charts: a single-series chart without an explicit title shows the series name as its automatic title (#142) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/150
- PPTX: SmartArt and OLE objects we can't draw keep their parts on save (#203) by @justinjohn0306 in https://github.com/storytold/deckcraft/pull/209
- Bidi: auto-detect RTL paragraph direction when typing Kurdish, Arabic and Hebrew by @Hevarh1 in https://github.com/storytold/deckcraft/pull/169
- Render: an unfilled shape's glow follows its line by @xmaks82 in https://github.com/storytold/deckcraft/pull/225
- UI: open presentations in the background with a progress window (#350) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/488
- Format Shape: 3-D Format and 3-D Rotation controls by @NikitkaRa in https://github.com/storytold/deckcraft/pull/508
- Pictures: compress pictures to a target resolution by @NikitkaRa in https://github.com/storytold/deckcraft/pull/513
- Insert: Summary, Section and Slide Zoom with Return to Zoom by @NikitkaRa in https://github.com/storytold/deckcraft/pull/520
- Charts: keep the embedded workbook when a chart is saved unchanged (#335) by @NikitkaRa in https://github.com/storytold/deckcraft/pull/355
- Slides: reuse slides from another presentation by @NikitkaRa in https://github.com/storytold/deckcraft/pull/509
- Model: an exhausted id space refuses growth instead of duplicating ids (#407) by @albayazid in https://github.com/storytold/deckcraft/pull/438
- media: check the ASF object walk's arithmetic so hostile sizes cannot panic by @midasmatterhorn in https://github.com/storytold/deckcraft/pull/748
- Preferences: Cancel, Esc and the close button undo the dialog's changes (#752) by @switch87 in https://github.com/storytold/deckcraft/pull/757
- control: a request that timed out while queued is abandoned, never run late (#719) by @midasmatterhorn in https://github.com/storytold/deckcraft/pull/758
- text: a bare normAutofit draws at 100% and an edit stores the fitted scale (#724) by @midasmatterhorn in https://github.com/storytold/deckcraft/pull/759
- Render: a cropped picture keeps its resolution (Intersect no longer blurs it) by @switch87 in https://github.com/storytold/deckcraft/pull/768
- Preferences: Interface size applies when the slider is let go by @switch87 in https://github.com/storytold/deckcraft/pull/769
- Text: show gray list markers before typing by @hajdukste in https://github.com/storytold/deckcraft/pull/772
- Grow table merges to include merged areas they overlap by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/773
- Slide: a new slide's body goes into the layout's content placeholder by @switch87 in https://github.com/storytold/deckcraft/pull/734
- Fonts: falling back to the default face no longer deadlocks by @xmaks82 in https://github.com/storytold/deckcraft/pull/738
- Add an editor screenshot to AppStream metadata by @IanHollow in https://github.com/storytold/deckcraft/pull/746
- MCP: validate reply IDs and bounded response frames (#718) by @MMexicann in https://github.com/storytold/deckcraft/pull/747
- media: walk ID3 tag chains iteratively so crafted files cannot overflow the stack by @midasmatterhorn in https://github.com/storytold/deckcraft/pull/749
- Text: anchorCtr centres the drawn text block - right-aligned text stayed glued to the box edge (#736) by @albayazid in https://github.com/storytold/deckcraft/pull/760
- ci: add comfortable runtime limits to unbounded jobs by @skylartaylor in https://github.com/storytold/deckcraft/pull/776
- Use the shared PDF writer and report font embedding failures by @skylartaylor in https://github.com/storytold/deckcraft/pull/708
- Reject shape ids beyond u32 in shape.connect, sites and points by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/847
- Keep slide.duplicate copies next to their source in the section by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/822
- ci: add shared Windows ARM64 and nix checks by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/854
- Keep leading '-', '*' and '•' text when importing outlines by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/797
- Don't paste HTML text as bold when sets font-weight:normal by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/798
- Format: .txt and .md outline includes table cell text (#814) by @albayazid in https://github.com/storytold/deckcraft/pull/816
- Clamp huge index in table.insertRowBelow/insertColumnRight by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/866
- Close the control port on the first line that isn't a request by @skylartaylor in https://github.com/storytold/deckcraft/pull/939
- PPTX: preserve separate click steps in trigger sequences by @MMexicann in https://github.com/storytold/deckcraft/pull/849
- Contributors: add Marco Arnulfo by @marcoarnulfo in https://github.com/storytold/deckcraft/pull/857
- Make edit.cut a no-op when only a text caret is set by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/920
- Fix add overflow panic in table.columnWidth for a huge column index by @Silvertree2010 in https://github.com/storytold/deckcraft/pull/922
- @albayazid made their first contribution in https://github.com/storytold/deckcraft/pull/460
- @Zetenypapp made their first contribution in https://github.com/storytold/deckcraft/pull/463
- @MMexicann made their first contribution in https://github.com/storytold/deckcraft/pull/587
- @lambertoo made their first contribution in https://github.com/storytold/deckcraft/pull/707
- @nagasakimark made their first contribution in https://github.com/storytold/deckcraft/pull/713
- @midasmatterhorn made their first contribution in https://github.com/storytold/deckcraft/pull/728
- @Silvertree2010 made their first contribution in https://github.com/storytold/deckcraft/pull/436
- @justinjohn0306 made their first contribution in https://github.com/storytold/deckcraft/pull/212
- @pierrevbc made their first contribution in https://github.com/storytold/deckcraft/pull/242
- @FabPei made their first contribution in https://github.com/storytold/deckcraft/pull/306
- @marcoarnulfo made their first contribution in https://github.com/storytold/deckcraft/pull/308
- @dotCooCoo made their first contribution in https://github.com/storytold/deckcraft/pull/351
- @natocool2 made their first contribution in https://github.com/storytold/deckcraft/pull/356
- @mikl0s made their first contribution in https://github.com/storytold/deckcraft/pull/95
- @itrycodinganditsbad made their first contribution in https://github.com/storytold/deckcraft/pull/176
- @Claudio911015 made their first contribution in https://github.com/storytold/deckcraft/pull/189
- @xmaks82 made their first contribution in https://github.com/storytold/deckcraft/pull/226
- @Momentum96 made their first contribution in https://github.com/storytold/deckcraft/pull/376
- @NikitkaRa made their first contribution in https://github.com/storytold/deckcraft/pull/597
- @isaac-levine made their first contribution in https://github.com/storytold/deckcraft/pull/191
- @Mathiasko made their first contribution in https://github.com/storytold/deckcraft/pull/168
- @RCShoemaker made their first contribution in https://github.com/storytold/deckcraft/pull/258
- @hoblin made their first contribution in https://github.com/storytold/deckcraft/pull/303
- @xc4pr made their first contribution in https://github.com/storytold/deckcraft/pull/321
- @Hevarh1 made their first contribution in https://github.com/storytold/deckcraft/pull/169
- @hajdukste made their first contribution in https://github.com/storytold/deckcraft/pull/772
- @IanHollow made their first contribution in https://github.com/storytold/deckcraft/pull/746
- @skylartaylor made their first contribution in https://github.com/storytold/deckcraft/pull/776
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.7.0...v0.8.0
DeckCraft v0.7.0
- Text: superscript and subscript letters no longer spread apart by @echelon in https://github.com/storytold/deckcraft/pull/264
- Themes: background pictures are recoloured, and dark layouts stay dark by @echelon in https://github.com/storytold/deckcraft/pull/269
- Render: two-colour gradients ramp like PowerPoint's by @echelon in https://github.com/storytold/deckcraft/pull/273
- PPTX: a picture fill with no stretch or tile is tiled, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/290
- PPTX: a placeholder without geometry takes its layout's by @echelon in https://github.com/storytold/deckcraft/pull/301
- Draw only the first character of a multi-character bullet by @echelon in https://github.com/storytold/deckcraft/pull/307
- Text: a list whose hang passes the box edge keeps its gap after the number by @echelon in https://github.com/storytold/deckcraft/pull/265
- Text: single-spaced lines are 1.2 times the font size apart, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/266
- Render: shapes filled with the slide background show it by @echelon in https://github.com/storytold/deckcraft/pull/274
- Render: slide backgrounds are laid over white, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/275
- Text: wrap URLs, Korean and CJK punctuation where PowerPoint does by @echelon in https://github.com/storytold/deckcraft/pull/276
- Emoji: drawn in colour, with families, skin tones and flags joined by @echelon in https://github.com/storytold/deckcraft/pull/278
- Text: gradient fills draw, starting over on every line as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/281
- Text: shadows and glows are drawn, with PowerPoint's glow spread by @echelon in https://github.com/storytold/deckcraft/pull/283
- Bullets: circled numbers and symbols the text font lacks come from a fallback font by @echelon in https://github.com/storytold/deckcraft/pull/284
- Render: pattern fills draw PowerPoint's preset tiles by @echelon in https://github.com/storytold/deckcraft/pull/285
- Render: compound outlines (double, thick-thin, thin-thick, triple) by @echelon in https://github.com/storytold/deckcraft/pull/287
- Render: rectangle and outline path gradients by @echelon in https://github.com/storytold/deckcraft/pull/288
- Render: soft edges fade to the shape's outline by @echelon in https://github.com/storytold/deckcraft/pull/289
- Tables: styles the file defines are read, drawn and kept by @echelon in https://github.com/storytold/deckcraft/pull/292
- Tables: the table's own fill is drawn behind its cells by @echelon in https://github.com/storytold/deckcraft/pull/294
- Bullets: an installed symbol font draws its own glyph by @echelon in https://github.com/storytold/deckcraft/pull/293
- Render: shadows, inner shadows and glows spread like PowerPoint's by @echelon in https://github.com/storytold/deckcraft/pull/305
- Text: no Latin ligatures, and kerning only from the run's kern size by @echelon in https://github.com/storytold/deckcraft/pull/309
- Text: WordArt transforms (prstTxWarp) draw, and their adjusts round-trip by @echelon in https://github.com/storytold/deckcraft/pull/312
- Shapes: the 38 missing PowerPoint preset shapes by @echelon in https://github.com/storytold/deckcraft/pull/315
- Pictures: WMF and EMF draw (metafile reader ported from WordCraft) by @echelon in https://github.com/storytold/deckcraft/pull/317
- Fonts: missing fonts draw as PowerPoint draws them, and Windows family names resolve by @echelon in https://github.com/storytold/deckcraft/pull/322
- Render tests: arch top bound allows Linux's fallback font by @echelon in https://github.com/storytold/deckcraft/pull/323
- Fonts: use Office's downloaded fonts, and say which fonts a file is missing by @echelon in https://github.com/storytold/deckcraft/pull/326
- Embedded objects draw their preview picture, including old VML previews by @echelon in https://github.com/storytold/deckcraft/pull/328
- Canvas: objects off the slide show and can be grabbed around it, as in PowerPoint (#270) by @echelon in https://github.com/storytold/deckcraft/pull/329
- Fills: a gradient without stops takes them from its style, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/330
- Korean, Japanese and Chinese: input-method composition and interface text (#101) by @echelon in https://github.com/storytold/deckcraft/pull/331
- Selection Pane: reorder by drag and drop, groups, Show/Hide All and Lock, as in PowerPoint (#133) by @echelon in https://github.com/storytold/deckcraft/pull/332
- Text: Ctrl+arrows, Ctrl+Backspace/Delete and other text keys work like PowerPoint (#268) by @echelon in https://github.com/storytold/deckcraft/pull/333
- UI: en and em dashes show in interface text by @echelon in https://github.com/storytold/deckcraft/pull/334
- Pictures: WMF/EMF text, pattern and hatch brushes draw; ActiveX previews show by @echelon in https://github.com/storytold/deckcraft/pull/336
- Render: a group's child-coordinate scale no longer scales line widths (#233, from #251) by @echelon in https://github.com/storytold/deckcraft/pull/337
- Render: pictures cast their shadow from their pixels, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/338
- Render: text in a scaled group keeps its point size, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/340
- Docs: text in scaled groups is drawn by @echelon in https://github.com/storytold/deckcraft/pull/341
- Effects: fill overlays blend over the shape's fill, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/342
- Text: symbol-font characters draw in the run's a:sym font by @echelon in https://github.com/storytold/deckcraft/pull/343
- File tab: PowerPoint's File view (Home, New, Open, Info, Save As, Print, Export, Close) (#76) by @echelon in https://github.com/storytold/deckcraft/pull/344
- Charts: legend position, combo charts with a secondary axis, axis number formats (from #295, #227, #238) by @echelon in https://github.com/storytold/deckcraft/pull/357
- Charts: text at the sizes the file sets, as in PowerPoint by @echelon in https://github.com/storytold/deckcraft/pull/358
- Transitions: measured against PowerPoint's video export (average difference 35.7 → 15.0) by @echelon in https://github.com/storytold/deckcraft/pull/366
- Text: wild cases measured against PowerPoint (bidi, tabs, underlines, caps, numbering, vertical, emoji…) by @echelon in https://github.com/storytold/deckcraft/pull/379
- Render: wild shape, picture, effect and table cases measured against PowerPoint (35 fixes) by @echelon in https://github.com/storytold/deckcraft/pull/428
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.6.1...v0.7.0
DeckCraft v0.6.1
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/152
- Release workflow: pass the Azure signing secrets by @echelon in https://github.com/storytold/deckcraft/pull/181
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.5.0...v0.6.1
DeckCraft v0.5.0
- Issue #23: README lists the ALSA headers a Linux build needs by @LloydNicholson in https://github.com/storytold/deckcraft/pull/24
- Morph test: sort the ids before dedup so it really checks uniqueness by @alexanderalber in https://github.com/storytold/deckcraft/pull/25
- App icon: scalable SVG for Linux desktops (#12) by @alexanderalber in https://github.com/storytold/deckcraft/pull/29
- Slide show: transitions show the old slide instead of the new one twice (#33) by @alexanderalber in https://github.com/storytold/deckcraft/pull/46
- Issue #44: MCP: the export tool lists PDF and its layout options by @LloydNicholson in https://github.com/storytold/deckcraft/pull/65
- Issue #63: Text: hyperlinks are drawn in the theme's hyperlink colour, underlined by @LloydNicholson in https://github.com/storytold/deckcraft/pull/37
- chore: bump github actions to fix Node 20 deprecation warnings by @dylanmtaylor in https://github.com/storytold/deckcraft/pull/52
- Add OmaStore manifest by @KitsuneSemCalda in https://github.com/storytold/deckcraft/pull/57
- Issue #61: Shapes: flipped shapes keep their text readable by @LloydNicholson in https://github.com/storytold/deckcraft/pull/35
- Morph: a changed geometry morphs its outline (a circle turns into a star) by @alexanderalber in https://github.com/storytold/deckcraft/pull/27
- Colour menus: clicking the hex field no longer closes the menu (#32) by @alexanderalber in https://github.com/storytold/deckcraft/pull/47
- Home: the title bar's Home button opens the start screen (#17) by @alexanderalber in https://github.com/storytold/deckcraft/pull/49
- feat(pictures): animated GIFs play, with pause (media.gifPlay) by @DimaSmaha in https://github.com/storytold/deckcraft/pull/39
- Links: Insert Hyperlink with a bare caret inserts the address; the show follows links (#31) by @alexanderalber in https://github.com/storytold/deckcraft/pull/45
- Animation Painter: copy and apply animation sequences between shapes by @Johannesgauss in https://github.com/storytold/deckcraft/pull/54
- Issue #62: Fields: date fields show today's date in their own format by @LloydNicholson in https://github.com/storytold/deckcraft/pull/36
- Progress docs: re-measure against PowerPoint 16.113 (craftrules standard) by @echelon in https://github.com/storytold/deckcraft/pull/89
- Release prep: 0.5.0 and Linux riscv64 release build by @echelon in https://github.com/storytold/deckcraft/pull/102
- @LloydNicholson made their first contribution in https://github.com/storytold/deckcraft/pull/24
- @dylanmtaylor made their first contribution in https://github.com/storytold/deckcraft/pull/52
- @KitsuneSemCalda made their first contribution in https://github.com/storytold/deckcraft/pull/57
- @DimaSmaha made their first contribution in https://github.com/storytold/deckcraft/pull/39
- @Johannesgauss made their first contribution in https://github.com/storytold/deckcraft/pull/54
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.4.0...v0.5.0
DeckCraft v0.4.0
- CI: no macOS on PRs or main; macOS is built and tested by releases by @echelon in https://github.com/storytold/deckcraft/pull/22
- macOS DMG: branded window background and icon layout by @XusBadia in https://github.com/storytold/deckcraft/pull/8
- Fix integer overflow on hostile H.264/HEVC parameter sets by @Pedroj-64 in https://github.com/storytold/deckcraft/pull/2
- README: install on Gentoo from the ::snakebyte overlay by @switch87 in https://github.com/storytold/deckcraft/pull/6
- Slide show: a click after a long pause plays its step instead of skipping it by @alexanderalber in https://github.com/storytold/deckcraft/pull/11
- PPTX: recognise packages whose [Content_Types].xml is not in the first 4 KB by @wurstbrotdlx in https://github.com/storytold/deckcraft/pull/19
- Start screen: theme tiles that wrap to a new row keep the left inset (#17) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/20
- Desktop: write log records to standard error and a rotating log file by @switch87 in https://github.com/storytold/deckcraft/pull/7
- Default Windows startup to DirectX 12 by @DWAA1660 in https://github.com/storytold/deckcraft/pull/16
- Morph: shapes move, resize and blend; Words and Characters options morph text by @alexanderalber in https://github.com/storytold/deckcraft/pull/5
- Tables: rows grow to fit their text, cell text in the PDF text layer (#13) by @MarekSpodBiedry in https://github.com/storytold/deckcraft/pull/14
- feat(text, fonts): UAX #9 BiDi and Arabic complex script typography engine by @hamzaelkachtaf4-star in https://github.com/storytold/deckcraft/pull/4
- @XusBadia made their first contribution in https://github.com/storytold/deckcraft/pull/8
- @Pedroj-64 made their first contribution in https://github.com/storytold/deckcraft/pull/2
- @switch87 made their first contribution in https://github.com/storytold/deckcraft/pull/6
- @alexanderalber made their first contribution in https://github.com/storytold/deckcraft/pull/11
- @wurstbrotdlx made their first contribution in https://github.com/storytold/deckcraft/pull/19
- @MarekSpodBiedry made their first contribution in https://github.com/storytold/deckcraft/pull/20
- @DWAA1660 made their first contribution in https://github.com/storytold/deckcraft/pull/16
- @hamzaelkachtaf4-star made their first contribution in https://github.com/storytold/deckcraft/pull/4
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.3.0...v0.4.0
DeckCraft v0.3.0
- Rename PrintCraft to PdfCraft by @echelon in https://github.com/storytold/deckcraft/pull/1
- About: contributor and model credits compiled in (grab bag + table, self-submitted names) by @echelon in https://github.com/storytold/deckcraft/pull/3
- Release: Windows arm64, Flatpak aarch64, AppImage zsync, README Downloads by @echelon in https://github.com/storytold/deckcraft/pull/9
- README Downloads: where to get it, then builds (Windows first) by @echelon in https://github.com/storytold/deckcraft/pull/10
- @echelon made their first contribution in https://github.com/storytold/deckcraft/pull/1
Full Changelog: https://github.com/storytold/deckcraft/compare/v0.1.0...v0.3.0