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