github storytold/deckcraft v0.8.0
DeckCraft v0.8.0

4 hours ago

What's Changed

  • Opus: validate the header in Decoder::from_head (#425) by @MarekSpodBiedry in #442
  • xtask: assets audit no longer panics on Unicode names and reads real paths from git (#424) by @MarekSpodBiedry in #443
  • Info: keep a property draft when another field or the side menu is clicked (#422) by @MarekSpodBiedry in #445
  • Engine: moving the selection to another text body settles the composition (#421) by @MarekSpodBiedry in #446
  • Format scientific number formats (0.00E+00) in chart labels (#419) by @MarekSpodBiedry in #448
  • UI: notes, alt text and rename drafts no longer carry over to another document (#413) by @MarekSpodBiedry in #450
  • Pptx: keep the math namespace equations inherit from the slide root or a wrapper (#412) by @MarekSpodBiedry in #451
  • MCP: do not resend a command whose reply was lost (#409) by @MarekSpodBiedry in #453
  • Engine: a command that fails after editing puts the presentation back (#405) by @MarekSpodBiedry in #454
  • Table: split and cell fill stay inside the table (#400) by @MarekSpodBiedry in #455
  • Bitstream: reject bad NAL length widths, check NAL endpoints and signed Exp-Golomb limits (#397) by @MarekSpodBiedry in #456
  • Matroska: stop following chapter and tag nesting past 32 levels (#396) by @MarekSpodBiedry in #457
  • AV1: reject tile groups that repeat, skip or reorder tiles (#395) by @MarekSpodBiedry in #458
  • Slide show: Honeycomb's hexagons cover the whole slide again (#420) by @albayazid in #460
  • Copy and Cut buttons and menus put the text on the system clipboard (#431) by @Zetenypapp in #463
  • Media: preserve video frames and EOF across seeks by @MMexicann in #587
  • Fix keyboard navigation when Presenter View has focus by @lambertoo in #707
  • Slide show: click-triggered animations, per-slide state and hit testing by @nagasakimark in #713
  • pptx: write linked pictures with r:link so PowerPoint resolves external images by @midasmatterhorn in #728
  • Colour menus: an Eyedropper that takes a colour from the slide (#367) by @Silvertree2010 in #436
  • Slide: leading tabs in a new slide's body set the outline level (#370) by @MarekSpodBiedry in #459
  • CLI: convert and run refuse output formats DeckCraft can't write (#715) by @switch87 in #716
  • PPTX: .potx and .ppsx declare a template and slide show main part (#210) by @justinjohn0306 in #212
  • Animations: nine PowerPoint exit effects import as themselves (#147) by @justinjohn0306 in #222
  • SmartArt: text is laid out on its text rectangle (dsp:txXfrm), not in columns by @pierrevbc in #242
  • fix: DeckCraft upstream issue #104 by @FabPei in #306
  • macOS: end the process in on_exit so closing the window doesn't crash by @marcoarnulfo in #308
  • Open: a password-protected presentation says so, and open errors show on the start screen by @marcoarnulfo in #348
  • Fonts: the font scan leaves out faces with no outline tables by @dotCooCoo in #351
  • Bump quick-xml to 0.41 (RUSTSEC-2026-0194, RUSTSEC-2026-0195) by @natocool2 in #356
  • Fonts: a lookup finds an installed family whichever thread loads it first by @LloydNicholson in #80
  • Command palette: one Export… entry that opens the dialog, no path-only duplicate (#79) by @MarekSpodBiedry in #82
  • PPTX: animation rewind survives save and reopen (#77) by @MarekSpodBiedry in #83
  • Export: an unknown format is an error instead of a deckcraft file by @mikl0s in #95
  • Slides: going to a slide that does not exist is an error by @mikl0s in #96
  • Commands: an invalid shape id is an error instead of the selection by @mikl0s in #97
  • docs(readme): percent-encode middle dot in platforms badge URL by @dylanmtaylor in #98
  • PPTX import: a transition without spd is 0.5 s, not the effect's default (#117) by @alexanderalber in #149
  • Issue #106: zooming keeps the point under the pointer by @LloydNicholson in #156
  • Charts: value axes start above zero when the values sit high, as in Office by @LloydNicholson in #157
  • Ribbon: transition and animation tiles follow the dark theme (#159) by @MarekSpodBiedry in #160
  • Windows: compile DX12 shaders with FXC by @itrycodinganditsbad in #176
  • CLI: --help prints usage and unknown render flags are rejected (#163) by @MarekSpodBiedry in #179
  • Ctrl+C then Ctrl+V pastes objects that carry no text (Fixes #182) by @Claudio911015 in #189
  • Slide Size: choose Portrait or Landscape (#198) by @justinjohn0306 in #201
  • Home: a Selection Pane button that works with nothing selected (#132) by @justinjohn0306 in #205
  • PPTX: a lone guide keeps the name its preset uses, adj1 or adj (#214) by @justinjohn0306 in #216
  • Read Markdown outlines as Markdown (#211) by @LloydNicholson in #218
  • Text: draw shrink-on-overflow at the scale the file was saved with by @xmaks82 in #226
  • Canvas: right click selects the shape under the pointer by @pierrevbc in #244
  • Title bar: Export button next to Save by @pierrevbc in #246
  • Text: exact line spacing ends at the last line's descent by @xmaks82 in #249
  • Text: line spacing reduction comes off the percentage, not the spacing by @xmaks82 in #253
  • Comments: threads and resolved state survive a .pptx round trip (#70) by @albayazid in #280
  • ui: admit stock macOS CJK faces as interface fallbacks (#101) by @Momentum96 in #376
  • render: 3-D light rigs and materials, per-side extrusion shading by @NikitkaRa in #597
  • render: 3-D contours by @NikitkaRa in #600
  • Animations: check effect options and accept direction words by @NikitkaRa in #620
  • Shapes: star4/star5 text rectangles as the standard defines them by @NikitkaRa in #642
  • Charts: percent axes for 100% stacked; source-linked axis number formats by @NikitkaRa in #659
  • Startup: fall back to Wayland when DISPLAY names no X server by @NikitkaRa in #661
  • Render: don't lay out table cell text that lands off the slide by @NikitkaRa in #663
  • PPTX: keep table styles the file defines when no table uses them by @NikitkaRa in #694
  • PPTX: normalize literal line ends in XML so runs stay put on save by @NikitkaRa in #701
  • Undo: cap the history by memory as well as by steps by @NikitkaRa in #704
  • PPTX: write Color Pulse emphasis as a colour change, not a scale by @NikitkaRa in #705
  • MCP tools refuse an argument that is not in their schema (#371) by @NikitkaRa in #375
  • Metafile: clip EMF and WMF drawing to rectangle regions by @NikitkaRa in #437
  • Edit: copies remap media, connector ends, animation targets and triggers (#406) by @NikitkaRa in #475
  • Render: budget shape path-gradient work on dense outlines (#404) by @NikitkaRa in #476
  • Pptx: budget chart points, chart XML size, inflate work and VML lookups (#401) by @NikitkaRa in #480
  • Charts: pie and doughnut data labels use the number format (#324) by @NikitkaRa in #486
  • Designer: layout ideas that rearrange the current slide (#314) by @NikitkaRa in #489
  • Fonts: find fonts where Linux and Flatpak keep them; add and rescan commands (#277) by @NikitkaRa in #491
  • Format Shape: line compound, cap, join, arrows and sizes; lock aspect ratio by @NikitkaRa in #500
  • Engine: seeded editor soak tests; tiny charts no longer blank the slide by @NikitkaRa in #502
  • Text: set text transparency from Text Fill (#32) by @NikitkaRa in #504
  • Transitions: choose a transition sound and play it in the show by @NikitkaRa in #505
  • UI: seeded whole-window soak with memory and timing bounds by @NikitkaRa in #507
  • UI: WordArt Transform gallery applies a text warp by @NikitkaRa in #511
  • Shapes: Edit Points — drag, add and delete a shape's vertices by @NikitkaRa in #514
  • Format: report damaged embedded media and open such files as a repaired copy by @NikitkaRa in #526
  • Morph: the same text moves and resizes instead of cross-fading by @NikitkaRa in #541
  • Pictures: Remove Background with a classical matte by @NikitkaRa in #550
  • Animations: add 34 PowerPoint motion path presets by @NikitkaRa in #551
  • Text: Bullets and Numbering dialog by @NikitkaRa in #553
  • Pptx: round-trip comments, links, shows, groups and inherited placeholders by @NikitkaRa in #554
  • Edit: Paste Special (destination theme, keep source, picture, text only) by @NikitkaRa in #558
  • Pptx: round-trip text effects, layout, fills, bevels and connectors by @NikitkaRa in #562
  • Performance baseline: deckcraft-cli bench and cargo xtask bench by @NikitkaRa in #564
  • Make PDF export ~2.8× faster with byte-identical output by @NikitkaRa in #566
  • Metafile: draw EMF+ only pictures by @NikitkaRa in #574
  • PPTX: round-trip 3-D models and animation bounce end by @NikitkaRa in #578
  • PPTX corpus: themes, masters, effects and links; keep text Mouse Over actions by @NikitkaRa in #589
  • PPTX: round-trip chart trendlines by @NikitkaRa in #590
  • Render 3-D extrusions: sides under turned cameras (3-D slice 1) by @NikitkaRa in #595
  • Insert: a gallery of Lucide icons as stroked shapes by @NikitkaRa in #625
  • Render: cap dash count so a tiny dash on a huge shape can't crash on open by @NikitkaRa in #639
  • UI: Size and Position dialog sets geometry in one step by @NikitkaRa in #641
  • Shapes: chevron text rectangle per presetShapeDefinitions by @NikitkaRa in #643
  • Charts: draw axis titles by @NikitkaRa in #657
  • Review: previous and next comment by @NikitkaRa in #672
  • Export: image exports keep the whole slide; partial failures say what was written by @NikitkaRa in #681
  • Media: damaged audio no longer hangs or panics by @NikitkaRa in #696
  • Pptx: read and write embedded fonts by @NikitkaRa in #439
  • Parsers: check hostile numeric fields before arithmetic (#426) by @NikitkaRa in #467
  • Anim: group animations by sequence in one pass (#410) by @NikitkaRa in #472
  • Text: bidi levels for language runs in linear time (#403) by @NikitkaRa in #477
  • Render: cap RGBA conversion and bound the failed-image cache (#402) by @NikitkaRa in #478
  • Recovery: unique uids, per-instance ownership, keep snapshots until replaced (#390) by @NikitkaRa in #482
  • Print: choose paper size and orientation for notes and handouts by @NikitkaRa in #499
  • Format Shape: shadow, glow and reflection detail controls by @NikitkaRa in #503
  • Shapes: Edit Points — point types, Bézier handles, right-click menu by @NikitkaRa in #515
  • Transitions: built-in sounds, Stop Previous Sound and Loop Until Next by @NikitkaRa in #516
  • PPTX: owned corpus round-trip, keep notes-master header and footer by @NikitkaRa in #517
  • File: six original starter decks by @NikitkaRa in #593
  • Text: underline an IME composition in a table cell by @NikitkaRa in #618
  • UI: Photo Album dialog inserts pictures as slides by @NikitkaRa in #647
  • Format: repair degenerate slide sizes on load by @NikitkaRa in #665
  • Merge Shapes: text merges as its letters, so a picture can fill them by @NikitkaRa in #678
  • UI: Alt Text's decorative checkbox follows the selection by @NikitkaRa in #682
  • UI: Create New Theme Colors dialog edits the theme in one step by @NikitkaRa in #683
  • UI: Create New Theme Fonts dialog edits the theme in one step by @NikitkaRa in #687
  • Outline: lay out only the slides in view by @NikitkaRa in #695
  • Media: damaged MP4 sample tables no longer abort the app by @NikitkaRa in #699
  • Comments: browser-created comments and replies get a creation timestamp (#72) by @MarekSpodBiedry in #85
  • Slide show: media set to play in the click sequence starts on Next (#116) by @alexanderalber in #140
  • Slides: Ctrl+A in the slide pane selects every slide (#188) by @isaac-levine in #191
  • Animation Pane: advanced timeline with draggable bars by @NikitkaRa in #495
  • Home: Replace Fonts dialog and font.replace command by @NikitkaRa in #512
  • Design: Browse for Themes from a .thmx, .pptx or .potx file by @NikitkaRa in #530
  • Table: borders, cell margins and cell text alignment by @NikitkaRa in #540
  • Pictures: Picture Styles gallery and Picture Border by @NikitkaRa in #545
  • Pictures: Recolor gallery and Set Transparent Color by @NikitkaRa in #547
  • UI: View › New Window opens a second window by @NikitkaRa in #560
  • UI: sections in the Slide Sorter by @NikitkaRa in #586
  • Text: shrink on overflow gives up at once when even 10% overflows by @NikitkaRa in #651
  • UI: Edit Photo Album reflows the album in one step by @NikitkaRa in #658
  • Insert: Action Settings dialog and shape.action by @NikitkaRa in #557
  • SmartArt: Text Pane, add and remove shapes, promote and demote by @NikitkaRa in #596
  • SmartArt: 15 layouts, SmartArt Styles and Change Colors by @NikitkaRa in #606
  • SmartArt: shrink text to fit, picture layouts, 3-D styles and more colours by @NikitkaRa in #610
  • SmartArt: node pictures from the data model, Brick Scene camera, four more layouts by @NikitkaRa in #613
  • SmartArt: six more layouts, clear Venn labels, read back older Picture Accent Process files by @NikitkaRa in #617
  • SmartArt: organisation charts with assistants, segmented/multidirectional cycles, cycle matrix, segmented pyramid, pie by @NikitkaRa in #621
  • SmartArt: Name and Title org chart, closer Half Circle, ten more layouts, convert to/from text and shapes by @NikitkaRa in #623
  • SmartArt: Convert to SmartArt gallery on Home; Convert to Text keeps the text size by @NikitkaRa in #627
  • SmartArt: layout gallery thumbnails and hover preview by @NikitkaRa in #634
  • UI: Date and Time dialog inserts a format in one step by @NikitkaRa in #668
  • UI: Hyperlink dialog follows the selection by @NikitkaRa in #689
  • SmartArt: write the outline to .pptx as a diagram and read it back from the data model by @NikitkaRa in #601
  • Notes and Presenter View: long notes scroll, presenter controls show (#221) by @justinjohn0306 in #224
  • Palette: skip commands that need a value by @NikitkaRa in #440
  • Show: a laser pointer that leaves no ink by @NikitkaRa in #441
  • Media: keep playback with the document and the clip (#415) by @NikitkaRa in #483
  • Show: render the next slide in the background while the current one rests (#240) by @NikitkaRa in #490
  • Pictures: Artistic Effects — apply, change, remove and keep in PPTX by @NikitkaRa in #518
  • Format: bound total embedded media when opening a .deckcraft by @NikitkaRa in #528
  • PPTX: keep add-in tags on the presentation, slides and shapes by @NikitkaRa in #531
  • Pptx: round-trip tables, charts, animation, media, sections and masters by @NikitkaRa in #533
  • PPTX: keep custom XML, the sensitivity label and custom properties by @NikitkaRa in #535
  • Add the Handout Master view (stacked on #533) by @NikitkaRa in #572
  • Add the Notes Master view (stacked on #572 / #533) by @NikitkaRa in #573
  • Notes pages and PDF handouts follow their masters (stacked on #573) by @NikitkaRa in #577
  • Notes Master slide preview; master header/footer text keeps its formatting (stacked on #577) by @NikitkaRa in #580
  • PDF master header/footer text wraps and keeps mixed formatting (stacked on #580) by @NikitkaRa in #583
  • Notes Page view draws master text wrapped (stacked on #583) by @NikitkaRa in #592
  • Show: See All Slides and zoom by @NikitkaRa in #649
  • Presenter view: pause and reset the timer, and notes size by @NikitkaRa in #656
  • Show: play a custom show by @NikitkaRa in #660
  • Show: show the slide number while typing it by @NikitkaRa in #664
  • Show: a first animation set to With/After Previous plays when the slide appears by @NikitkaRa in #671
  • View: Zoom dialog applies a percent or Fit by @NikitkaRa in #675
  • Show: Show Media Controls hides the playback bar by @NikitkaRa in #679
  • Export: a PNG or JPEG slide records 144 dpi at the default 2× size by @NikitkaRa in #684
  • PPTX: keep the notes master's own placeholders and colour map on save by @NikitkaRa in #685
  • UI: Design Effects applies a theme effect scheme by @NikitkaRa in #698
  • UI: Slide Master Preserve and Title or Footers placeholders by @NikitkaRa in #703
  • Text: honour spcFirstLastPara (space before the first paragraph) by @xmaks82 in #254
  • CLI: say that render --slide counts from 0 (#359) by @NikitkaRa in #361
  • AV1: reject duplicate film-grain scaling points; a failed job still publishes (#394) by @NikitkaRa in #481
  • Video: check the whole picture store against a memory budget (#398) by @NikitkaRa in #484
  • PPTX: read Office 2016 charts (waterfall, funnel, treemap…) and keep them by @NikitkaRa in #532
  • UI: customizable Quick Access Toolbar by @NikitkaRa in #563
  • Metafile: EMF+ arcs, convex clip paths, wrapped strings, nested metafiles by @NikitkaRa in #588
  • Charts: histograms, Pareto and box and whisker; Office 2016 charts save as themselves by @NikitkaRa in #591
  • Charts: multi-level treemaps and sunbursts; inclusive box quartiles by @NikitkaRa in #594
  • Charts: keep and draw region map charts by @NikitkaRa in #598
  • Charts: polar radar, stock high-low lines and up/down bars, combo sample by @NikitkaRa in #602
  • Render: draw chart trendlines by @NikitkaRa in #603
  • Metafile: EMF+ cardinal curves and region fills by @NikitkaRa in #633
  • Metafile: EMF+ Clear, and the EMF+ record coverage written down by @NikitkaRa in #635
  • Charts: bar widths, column/bar point fills, smoothed lines and chart text colour as the file sets them by @NikitkaRa in #638
  • Charts: category axis orientation; horizontal bars list the first category at the bottom by @NikitkaRa in #640
  • Charts: scatter and bubble charts get a value x axis by @NikitkaRa in #662
  • Charts: logarithmic value axes by @NikitkaRa in #669
  • Charts: a chart frame with no width no longer panics by @NikitkaRa in #690
  • UI: Trim Media dialog follows the selection by @NikitkaRa in #691
  • Title bar: on macOS the window buttons sit centred in it (#71) by @marcoarnulfo in #223
  • Charts: draw waterfall, funnel, treemap and sunburst layouts by @NikitkaRa in #537
  • Metafile: EMF+ images, text, gradient brushes and clipping by @NikitkaRa in #582
  • Charts: value-axis minor gridlines by @NikitkaRa in #666
  • CLI: render-transition refuses --t values that would share one file name (#423) by @MarekSpodBiedry in #444
  • H.264: bound frame_num gap work and reject gaps the SPS forbids (#427) by @NikitkaRa in #465
  • Control server: bound connections, line length, queue and socket timeouts (#418) by @NikitkaRa in #471
  • Table: inserting and deleting rows and columns keeps merges consistent (#408) by @NikitkaRa in #473
  • Design: Variants gallery with four colour variations of the theme by @NikitkaRa in #542
  • Tables: Draw Table pencil and Table Eraser by @NikitkaRa in #544
  • Review: spelling with Hunspell dictionaries, suggestions, Change and Ignore All by @NikitkaRa in #609
  • Spelling: squiggles while typing, Add to Dictionary, per-run languages, compounds by @NikitkaRa in #615
  • Spelling: squiggles in table cells and speaker notes; UI-thread checking on the web by @NikitkaRa in #626
  • PPTX: shape text anchors at the top when the file gives no anchor; write ctr for centred shapes by @NikitkaRa in #654
  • PDF: map each glyph to its shaping cluster's text in ToUnicode (#164) by @MarekSpodBiedry in #178
  • Text: AutoCorrect options, case rules and your own entries by @NikitkaRa in #521
  • Spelling: notes right-click menu, Review > Language (Do Not Check Spelling), repeated words by @NikitkaRa in #632
  • Mark the current transition effect option (#365) by @NikitkaRa in #369
  • Media: a failed or stalled audio output hands the clock back to wall time (#417) by @NikitkaRa in #468
  • Web: keep a picked file on the document and slide that asked for it by @NikitkaRa in #479
  • Draw: Ink to Shape converts pen strokes into shapes by @NikitkaRa in #539
  • UI: preview slide animations on the editor canvas by @NikitkaRa in #571
  • Startup: survive damaged settings, font folders, recovery folders and small texture limits by @NikitkaRa in #644
  • Canvas: a trackpad swipe turns the page by @NikitkaRa in #648
  • UI: keep every texture within the GPU max texture side by @NikitkaRa in #652
  • Show: presenter view keeps a portrait Next slide inside its column by @NikitkaRa in #655
  • Canvas: a two-finger twist rotates the selection by @NikitkaRa in #674
  • Clipboard: rich text and pictures for Pages and Keynote by @NikitkaRa in #702
  • A tabbed slide body is an outline, and --help exits (#360) by @NikitkaRa in #368
  • UI: Format Shape fill transparency follows the selection by @NikitkaRa in #697
  • Shapes: smooth a rectangle's corners into a squircle (#286) by @NikitkaRa in #492
  • Format Shape: picture or texture fill options by @NikitkaRa in #506
  • UI: WordArt adjust handles drag a text warp by @NikitkaRa in #519
  • Review: compare with a revised copy and accept its slides by @NikitkaRa in #525
  • UI: Grid Options sets spacing, snap and the on-screen grid by @NikitkaRa in #536
  • Text: Find and Replace across slides, tables and notes by @NikitkaRa in #556
  • View: indent and tab markers on the ruler by @NikitkaRa in #567
  • Text: Tabs dialog and the ruler's tab selector (stacked on #567) by @NikitkaRa in #569
  • UI: Font dialog sets character formatting in one step by @NikitkaRa in #630
  • UI: Paragraph dialog sets alignment, indents and spacing by @NikitkaRa in #637
  • Review: Thesaurus pane with a built-in English word list by @NikitkaRa in #549
  • View: movable drawing guides saved with the presentation by @NikitkaRa in #559
  • Charts: error bars by @NikitkaRa in #673
  • Draw: pen pressure scales ink width by @NikitkaRa in #611
  • Format: never save a .deckcraft that cannot be reopened over a NaN by @NikitkaRa in #670
  • Notes: speaker notes show their formatting and keep it when edited by @Mathiasko in #168
  • Pictures: Change Picture replaces the selected picture (#115) by @justinjohn0306 in #204
  • Tables: caret in the edited cell, click-to-place, drag borders to resize by @pierrevbc in #230
  • Canvas: drag the frame of a text box being edited to move it by @pierrevbc in #243
  • fix(cli): render refuses an unknown option instead of writing it as a file (#235) by @RCShoemaker in #258
  • Start screen: a missing Recent file is marked, its error shows, and entries can be removed (#172) by @albayazid in #291
  • deckcraft-cli help explains the CLI to an agent by @hoblin in #303
  • Review: the Language dialog marks the selected text with the language you pick by @marcoarnulfo in #345
  • File: save through a unique, exclusively created temporary file (#391) by @MarekSpodBiedry in #466
  • UI: keep editor slides on the Retina pixel grid by @NikitkaRa in #522
  • UI: Format Background picture fill sets transparency and tiling by @NikitkaRa in #692
  • Export: animated GIF of the deck (Export… dialog, CLI, MCP) (#171) by @Mathiasko in #177
  • Text: typing goes on after Tab in a text box (#78) by @alexanderalber in #139
  • Charts: a missing varyColors varies single-series bar colours by point (#143) by @MarekSpodBiedry in #151
  • MCP: confine file access with --automation-read-root and --automation-write-root by @isaac-levine in #247
  • Text: the caret shows on dark slides and in empty placeholders by @xc4pr in #321
  • Morph: align an outline morph once per transition, not every frame by @alexanderalber in #67
  • Export: PNG images (all slides) in the browser downloads every slide (#64) by @MarekSpodBiedry in #87
  • Paste: Ctrl+V pastes an image-only clipboard as a picture (#53) by @MarekSpodBiedry in #88
  • Morph: text boxes without a partner fade in place instead of moving (#119) by @alexanderalber in #136
  • Morph: a picture cropped differently on the next slide morphs its crop (#118) by @alexanderalber in #137
  • Charts: a single-series chart without an explicit title shows the series name as its automatic title (#142) by @MarekSpodBiedry in #150
  • PPTX: SmartArt and OLE objects we can't draw keep their parts on save (#203) by @justinjohn0306 in #209
  • Bidi: auto-detect RTL paragraph direction when typing Kurdish, Arabic and Hebrew by @Hevarh1 in #169
  • Render: an unfilled shape's glow follows its line by @xmaks82 in #225
  • UI: open presentations in the background with a progress window (#350) by @NikitkaRa in #488
  • Format Shape: 3-D Format and 3-D Rotation controls by @NikitkaRa in #508
  • Pictures: compress pictures to a target resolution by @NikitkaRa in #513
  • Insert: Summary, Section and Slide Zoom with Return to Zoom by @NikitkaRa in #520
  • Charts: keep the embedded workbook when a chart is saved unchanged (#335) by @NikitkaRa in #355
  • Slides: reuse slides from another presentation by @NikitkaRa in #509
  • Model: an exhausted id space refuses growth instead of duplicating ids (#407) by @albayazid in #438
  • media: check the ASF object walk's arithmetic so hostile sizes cannot panic by @midasmatterhorn in #748
  • Preferences: Cancel, Esc and the close button undo the dialog's changes (#752) by @switch87 in #757
  • control: a request that timed out while queued is abandoned, never run late (#719) by @midasmatterhorn in #758
  • text: a bare normAutofit draws at 100% and an edit stores the fitted scale (#724) by @midasmatterhorn in #759
  • Render: a cropped picture keeps its resolution (Intersect no longer blurs it) by @switch87 in #768
  • Preferences: Interface size applies when the slider is let go by @switch87 in #769
  • Text: show gray list markers before typing by @hajdukste in #772
  • Grow table merges to include merged areas they overlap by @Silvertree2010 in #773
  • Slide: a new slide's body goes into the layout's content placeholder by @switch87 in #734
  • Fonts: falling back to the default face no longer deadlocks by @xmaks82 in #738
  • Add an editor screenshot to AppStream metadata by @IanHollow in #746
  • MCP: validate reply IDs and bounded response frames (#718) by @MMexicann in #747
  • media: walk ID3 tag chains iteratively so crafted files cannot overflow the stack by @midasmatterhorn in #749
  • Text: anchorCtr centres the drawn text block - right-aligned text stayed glued to the box edge (#736) by @albayazid in #760
  • ci: add comfortable runtime limits to unbounded jobs by @skylartaylor in #776
  • Use the shared PDF writer and report font embedding failures by @skylartaylor in #708
  • Reject shape ids beyond u32 in shape.connect, sites and points by @Silvertree2010 in #847
  • Keep slide.duplicate copies next to their source in the section by @Silvertree2010 in #822
  • ci: add shared Windows ARM64 and nix checks by @dylanmtaylor in #854
  • Keep leading '-', '*' and '•' text when importing outlines by @Silvertree2010 in #797
  • Don't paste HTML text as bold when sets font-weight:normal by @Silvertree2010 in #798
  • Format: .txt and .md outline includes table cell text (#814) by @albayazid in #816
  • Clamp huge index in table.insertRowBelow/insertColumnRight by @Silvertree2010 in #866
  • Close the control port on the first line that isn't a request by @skylartaylor in #939
  • PPTX: preserve separate click steps in trigger sequences by @MMexicann in #849
  • Contributors: add Marco Arnulfo by @marcoarnulfo in #857
  • Make edit.cut a no-op when only a text caret is set by @Silvertree2010 in #920
  • Fix add overflow panic in table.columnWidth for a huge column index by @Silvertree2010 in #922

New Contributors

Full Changelog: v0.7.0...v0.8.0

Don't miss a new deckcraft release

NewReleases is sending notifications on new releases.