What's Changed
- packaging: [[ ]] tests, named positional parameters, explicit returns and a default case (SonarCloud S7688, S7679, S7682, S131) by @dylanmtaylor in #1212
- Use chrono instead of hand-rolled UTC conversion by @dylanmtaylor in #1116
- CI: one test binary per crate, nextest, line tables only by @aiongg in #1213
- CI: shared gate workflow; FreeBSD nightly and on release by @aiongg in #1214
- Packaging: pin the signing client and appimagetool, and check their hashes by @aiongg in #1082
- ci(sonar): stop cancelling main-branch runs so coverage is published by @dylanmtaylor in #1243
- Keep the slide show in a window for "Browsed by an individual" (#1229) by @MarekSpodBiedry in #1235
- Render: a shape with no fill and no line draws no glow round its box by @leobasilio in #1240
- Read a newline in pasted HTML text as a space by @Silvertree2010 in #820
- Fix dropped rapid mouse-wheel slide navigation steps by @kinower in #872
- fix(design): propagate Format Background Apply to All to slide masters (#891) by @kk376 in #894
- About: Contributors and Models get their own fixed-size block below the tabs (#843) by @MarekSpodBiedry in #906
- Declare the a: and r: namespaces on the modern comments part (#974) by @HyakoV3 in #986
- Duplicate: a copy that was moved is duplicated the same distance further on (#966) by @Zetenypapp in #988
- Media: look a clip up on the slide it belongs to (#994) by @Faabyy in #999
- Canvas: resizing snaps the edge being dragged (#961) by @Faabyy in #1003
- Insert: keep the Icons popup open when clicking the search box (#971) by @MarekSpodBiedry in #1007
- Keep the crop of a PPTX video and apply it in the poster and playback (#972) by @MarekSpodBiedry in #1008
- Show: draw shapes stacked above a playing video over its frame (#1005) by @MarekSpodBiedry in #1009
- Play animated GIFs inside groups by @Silvertree2010 in #1026
- Reject non-hex characters such as '+' in Rgba::from_hex by @Silvertree2010 in #1027
- Format General scientific notation like Excel (1.5E+12) by @Silvertree2010 in #1035
- Apply trailing-comma thousands scaling to formats with decimals by @Silvertree2010 in #1036
- Control server: a rejected line's reason survives a pipelined peer by @Hamza0101 in #1039
- Fix extra empty histogram bin with a fixed bin count by @Silvertree2010 in #1054
- The AppImage and DeckCraft.app ship the licence files by @oracola91 in #1056
- Control server: wait after a failed accept instead of retrying at once by @oracola91 in #1060
- Escape carriage return as in XML text content by @Silvertree2010 in #1064
- Keep rounded corners round in non-uniformly scaled groups by @Silvertree2010 in #1085
- M8: honor explicit empty chart number-format sections by @MMexicann in #1091
- Add angle adjust handles to partial-circle presets by @Silvertree2010 in #1101
- Render: 3-D sizes in a scaled group stay in points by @pick2510 in #1134
- PPTX: a theme's spDef anchor is for new shapes, not the file's own by @pick2510 in #1136
- Text: table text takes the master's other-text style by @pick2510 in #1145
- Use a relative coefficient threshold in trendline equations by @Silvertree2010 in #1148
- Thumbnails: count the renders, not only the thumbnails held (#969) by @Hamza0101 in #1160
- Keep the slide backdrop while animations play by @kbarni in #1161
- Apply group fill and outline edits to member shapes by @samirhvbr in #1187
- Cap the PDF slide raster by total pixel count (#1178) by @MarekSpodBiedry in #1193
- Animation Pane: Play From the selected effect by @marcoarnulfo in #1199
- Design Ideas: switching ideas removes the Full-bleed title band (#1201) by @xc4pr in #1207
- Presenter View: speaker notes keep their bullets, numbers and formatting by @marcoarnulfo in #1211
- Show: refuse a show.start from that is not a slide by @marcoarnulfo in #1228
- Pictures: Set Transparent Color picks the colour by clicking the picture, as in PowerPoint by @marcoarnulfo in #1233
- Shape Fill and Shape Outline: the button applies the last colour picked from its menu by @marcoarnulfo in #1234
- Canvas: scroll bars when the zoomed slide is larger than the window by @marcoarnulfo in #1239
- Find: Ctrl+F puts the caret in "Find what:" (#951) by @Zetenypapp in #989
- Fix scientific number format for subnormal values by @Silvertree2010 in #1099
- text: remap symbol-font U+F0xx codes to the installed Symbol face's real Unicode by @Bryson14 in #896
- Count line breaks as one char in Find/Replace by @Silvertree2010 in #1002
- README: Linux runtime libraries for tarball and musl installs (#955) by @FabPei in #1037
- Format Painter: apply on text selection by @fchinu in #1076
- Treat CRLF as a single paragraph break in text.set by @Silvertree2010 in #1097
- Show All slides in the Presenter View window, not on the audience screen (#1130) by @MarekSpodBiedry in #1191
- Media: use craft-media for bitstream, isobmff and matroska by @aiongg in #1034
- Media: a clip opened from a .pptx gets its length and size from its headers by @aiongg in #1250
- PDF: pin craft-pdf and krilla to craft-libs main by @aiongg in #1253
- chore: resolve SonarCloud maintainability issues by @dylanmtaylor in #1255
- refactor: replace redundant closures with method paths (SonarCloud S1612) by @dylanmtaylor in #1261
- security: use exclusive temporary directories for macOS cert import and media fixtures by @dylanmtaylor in #1263
- security: clamp alpha_num bullet expansion and sanitize filename logging by @dylanmtaylor in #1264
- perf(chart): optimize axis plotted extent scan and cache non-bar error bar stats by @dylanmtaylor in #1266
- perf(engine): bound HTML entity semicolon scan window and formatting stack search by @dylanmtaylor in #1267
- refactor: explicit imports for table modules (SonarCloud S2208) by @dylanmtaylor in #1262
- security(engine): check regular file and size bound on read, preserve permissions and symlinks on save by @dylanmtaylor in #1265
- security(metafile): harden EMF+ parsing, clipping complexity, and memory accounting by @dylanmtaylor in #1280
- perf(pptx): index export lookups and deduplicate relationship parts by @dylanmtaylor in #1281
- fix(pptx): harden import resource budgets, deduplication, and lookup caching by @dylanmtaylor in #1283
- Integration batch 1: 35 contributor PRs (charts, shapes, slides, text editing, dialogs, outline files) by @aiongg in #1260
- Status bar: keep a long language name from overlapping by @Katacc in #1244
- Reject '+'-signed numeric character references in HTML paste by @Silvertree2010 in #1252
- Web: point web app favicon to deckcraft.ico by @GhostMitra in #384
- Files: save and open outlines as RTF by @NikitkaRa in #565
- UI: close About dialog on Cancel and test Options Cancel from File tab (#782) by @GhostMitra in #793
- Preferences: checkboxes and slider rails show in light mode by @marcoarnulfo in #805
- Canvas: the resize cursor follows the handle's rotated diagonal (#745) by @albayazid in #806
- engine: a hostile text selection can't drive paragraph commands past the body by @midasmatterhorn in #813
- Shapes: Edit Points — Straight/Curved Segment and Open/Close Path from the right-click menu by @marcoarnulfo in #833
- Canvas: the Format and Animation Painter override the cursor (#830) by @albayazid in #846
- Render: quick styles render on empty placeholder text boxes (#832) by @albayazid in #848
- Review: reject revisions after Compare, one or all by @marcoarnulfo in #850
- PPTX: paragraph builds edited in PowerPoint keep their clicks by @marcoarnulfo in #883
- Clamp text.selectParagraph paragraph index to avoid overflow by @Silvertree2010 in #904
- Header & Footer: the automatic date takes a format by @Hamza0101 in #927
- Thumbnails: navigating slides scrolls the pane to keep the current slide visible (#917) by @albayazid in #945
- Charts: a series' own data-label setting decides whether its labels show (#868) by @albayazid in #956
- Tests: the Options dialog's Cancel, Esc and the close button restore the settings (#878) by @albayazid in #962
- Tests: Ctrl+A in the slide sorter selects every slide (#936) by @albayazid in #965
- Hide the slide show media controls when the pointer is idle (#967) by @MarekSpodBiedry in #978
- Chart text can be coloured (chart.options textColor, format.color) and follows the theme by default by @zberry in #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 #1016
- Replace Fonts test: a window wide enough to hold Home's ribbon by @Hamza0101 in #1043
- Indent table rows in outline export so they stay on their slide by @Silvertree2010 in #1075
- Make chart axis flatness thresholds relative to data magnitude by @Silvertree2010 in #1198
- Design Ideas: no ideas for slides with diagrams, connectors or other graphics (#1200) by @xc4pr in #1205
- Theme: text fields show in the light theme (#1204) by @xc4pr in #1208
- Title: arrange.group: nest groups at most 32 deep by @Katacc in #1245
- Fix arrange.distribute span to use the selection's full extent by @Silvertree2010 in #1251
- Reject invalid index in slide.hide and slide.layout by @Silvertree2010 in #1254
- security(anim): bound custom-show and timeline lookups, share motion paths across paragraph effects by @dylanmtaylor in #1341
- Merge 14 open PRs (tested batch) by @aiongg in #1344
- Text: AutoFormat starts bulleted and numbered lists as you type by @dotCooCoo in #1258
- Paste: a table, bullet or slide from another deck keeps its own pictures and sounds by @dotCooCoo in #1289
- Tests: UI tests that render with wgpu take turns, so the Windows test run no longer crashes by @dotCooCoo in #1292
- Control server: a peer refused as busy still reads why, and two tests no longer race by @dotCooCoo in #1298
- Text: a Columns dialog sets the number of columns and the spacing between them by @dotCooCoo in #1301
- Edit Points: Esc before releasing the mouse button cancels a point or handle drag by @dotCooCoo in #1325
- Docs: Play From and the .potx/.ppsx content types are no longer listed as missing by @dotCooCoo in #1327
- Edit Points: right-click a segment for Add Point, Delete Segment and Open/Close Path by @dotCooCoo in #1332
- Format: Pattern fill shows a gallery of every preset with Foreground and Background colors by @dotCooCoo in #1335
- Format: Fill shows Color and Transparency only for fills they change by @dotCooCoo in #1338
- Tables: dragging across cells selects a range of cells by @dotCooCoo in #1282
- Tests: the Notes-button test clicks where the button is laid out, so it passes without Inter by @dotCooCoo in #1300
- Status bar: screen readers can name its controls and read the slide counter and status message by @dotCooCoo in #1307
- Edit Points: Shift, Ctrl or Alt while dragging a handle makes the point smooth, straight or corner by @dotCooCoo in #1308
- Colour names, media ids after a paste, and pressing a table outside its cells (#1344 follow-ups) by @aiongg in #1348
New Contributors
- @aiongg made their first contribution in #1213
- @leobasilio made their first contribution in #1240
- @kinower made their first contribution in #872
- @kk376 made their first contribution in #894
- @HyakoV3 made their first contribution in #986
- @oracola91 made their first contribution in #1056
- @pick2510 made their first contribution in #1134
- @kbarni made their first contribution in #1161
- @samirhvbr made their first contribution in #1187
- @Bryson14 made their first contribution in #896
- @fchinu made their first contribution in #1076
- @Katacc made their first contribution in #1244
- @GhostMitra made their first contribution in #384
- @zberry made their first contribution in #1015
Full Changelog: v0.10.0...v0.11.1