What's Changed
- Migrate DeckCraft to egui 0.37 by @skylartaylor in #1350
- refactor: explicit imports in engine/anim/geom/model/render/text/pdf/ogg modules (SonarCloud S2208) by @dylanmtaylor in #1270
- Slides: Ctrl+Shift+click selects a range, also in the slide sorter by @Faabyy in #1107
- Reuse Slides: choose which slides of the other file to insert by @Faabyy in #1109
- Review: proofing language for the whole presentation by @Katacc in #1118
- Reject invalid row/col index in table row and column commands by @Silvertree2010 in #1189
- Use scale-relative degeneracy check in linear trendline fit by @Silvertree2010 in #1190
- H.264: the inverse transforms clamp coefficients to the spec r range by @SusieeTheLinuxUser in #1246
- Media: a video with an unsupported codec says only its audio plays (#1237) by @SusieeTheLinuxUser in #1256
- Decode numeric tab entities in HTML paste by @Silvertree2010 in #1259
- Reject '+' sign in OPC target percent-decoding by @Silvertree2010 in #1284
- Reject invalid shape ids in
idsinstead of using the selection by @Silvertree2010 in #1291 - Reject multiple leading '#' in Rgba::from_hex by @Silvertree2010 in #1297
- Return BadParams for overflowing start in review.spellingChange by @Silvertree2010 in #1302
- Match style as a whole attribute name in HTML paste by @Silvertree2010 in #1303
- Reject invalid index in animation remove, move, timing and options by @Silvertree2010 in #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 #1311
- Shapes: Arrow: Notched Right cuts its notch as deep as presetShapeDefinitions give it, parallel to the head by @marcoarnulfo in #1313
- Files: opening a Word RTF outline skips the list bullets and keeps each item's indent by @marcoarnulfo in #1315
- Files: opening an RTF outline keeps non-breaking hyphens by @marcoarnulfo in #1317
- Files: saving as Outline/RTF keeps every paragraph of a slide title by @marcoarnulfo in #1319
- Show: Ctrl+wheel zooms the slide in and out around the pointer (#1286) by @marcoarnulfo in #1331
- Pasted shapes get the next automatic name instead of keeping the original's by @marcoarnulfo in #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 #1336
- Ignore signed 'hh hex escapes in RTF outline import by @Silvertree2010 in #1351
- Resolve OPC relationship targets that use backslash separators by @Silvertree2010 in #1352
- Fix HTML paste panic on bare '&' before multi-byte text by @Silvertree2010 in #1353
- Keep auto-advance when transition.timing gets an invalid
afterby @Silvertree2010 in #1354 - Reject invalid layout index in master.deleteLayout and renameLayout by @Silvertree2010 in #1358
- PDF export keeps only web and mail links by @oracola91 in #1221
- Render: a picture's fill shows behind its transparent pixels by @pick2510 in #1294
- Treat curly apostrophe as ASCII in spell check by @Silvertree2010 in #1329
- feat: startup update prompt modal and direct self-updating by @dylanmtaylor in #1377
- build: pin craft-update to craft-libs main (db19c37) by @dylanmtaylor in #1383
- fix(codecs): harden media decoders against resource amplification and unbound state by @dylanmtaylor in #1285
- fix(render): optimize table styles, chart lookups, line trimming, and canvas limits by @dylanmtaylor in #1288
- refactor(hevc): Sonar S3776 slicedec helpers by @dylanmtaylor in #1273
- build: pin craft-update to craft-libs main (495e597) by @dylanmtaylor in #1386
- build: pin craft-update to craft-libs main (495e597) by @dylanmtaylor in #1388
- refactor(av1): S1612 closure to method path by @dylanmtaylor in #1269
- chore(deps): refresh serde_json, arboard, winresource, i_overlay by @skylartaylor in #1394
- refactor(h264,hevc): Sonar S107 parameter counts by @dylanmtaylor in #1271
- refactor(av1): reduce complexity of parse_obus (S3776) by @dylanmtaylor in #1279
- refactor(h264): Sonar S3776 split two slicedec functions by @dylanmtaylor in #1272
- refactor(av1): split grain::apply into stages (S3776) by @dylanmtaylor in #1276
- refactor(h264): Sonar S3776 dpb helpers by @dylanmtaylor in #1275
- fix(windows): keep the shortcut icon after an update (#1114) by @SofiaAFigueredo in #1391
- fix(h264): Sonar S1612 closure to method path by @dylanmtaylor in #1268
- refactor(av1): reduce complexity in transform.rs (S3776) by @dylanmtaylor in #1277
- refactor(av1): reduce complexity in cdef.rs and restoration.rs (S3776) by @dylanmtaylor in #1278
- refactor(rtf): split the outline reader into per-construct methods (S3776) by @dylanmtaylor in #1399
- refactor(hevc): split prediction_unit into merge, AMVP and store helpers (S3776) by @dylanmtaylor in #1400
- refactor(hevc): split derive_merge into spatial, temporal, combined and zero stages (S3776) by @dylanmtaylor in #1401
- refactor(show): split the key handler into grid, navigation and tool keys (S3776) by @dylanmtaylor in #1402
- refactor: reduce cognitive complexity in five functions (S3776) by @dylanmtaylor in #1404
- refactor: reduce cognitive complexity in five more functions (S3776) by @dylanmtaylor in #1405
- ci: require nextest 0.9.150 by @skylartaylor in #1429
- refactor: shared module layout (craft-contrib#20) by @aiongg in #1433
- refactor(ui): use craft-ui's ComboBox for every dropdown by @aiongg in #1457
- Speed up PDF export by reusing equal slide backdrops by @Silvertree2010 in #1461
- Windows installation policy: DeckCraft by @Jeremy8776 in #1434
- Enforce Rust coding standards via Clippy by @dylanmtaylor in #1444
New Contributors
- @SusieeTheLinuxUser made their first contribution in #1246
- @SofiaAFigueredo made their first contribution in #1391
- @Jeremy8776 made their first contribution in #1434
Full Changelog: v0.11.1...v0.12.0