Skip to content

Scorilo v3.0.0

Choose a tag to compare

@kersten kersten released this 27 Sep 20:27
· 3 commits to main since this release
fccfae7

3.0.0 (2026-09-27)

⚠ BREAKING CHANGES

  • releasing: This release migrates stored data once and cannot be downgraded. On first start the workspace is upgraded to version 5 in one transaction: every slide document is converted to the unified slide format (#1061), catalogue collection strings move into each profile's library organisation document (#1044) and saved match tools gain observation drafts (#1279); shared media then moves into each profile's media directory (#655). v2.19.0 and earlier refuse the upgraded workspace with the unsupported-data message and change nothing. Slide definitions before version 7 and library envelopes before version 4 are no longer read outside that conversion (#1119). Legacy goal records and pre-v2 image edits are normalized once and their old readers are removed (#505). The minimum version an installation can upgrade from is v2.17.0: older installations must first update to a release between v2.17.0 and v2.19.0, because the settings.json-era migration is removed and a start that finds only settings.json-era data shows the unsupported-data message naming v2.17.0 (#506). Pre-migration backups, the restore-backup actions and the unbound legacy session and matchday file stores are removed (#503, #609). Fixes move forward with a follow-up release.

Features

  • animation: add beat detection controls and the Edit beats mode [SPEC-0224 7/8] (#740) (3a4be3d)
  • animation: add position keyframe operations and trim subdivision [SPEC-0209 6/7] (#808) (df59b8c), closes #761
  • animation: add the version-7 position model, validator and evaluator [SPEC-0209 1/7] (#753) (f157811), closes #752
  • animation: author element lifetimes and extend scene resizing to lifetimes [SPEC-0209 5/7] (#804) (1008fca), closes #760
  • animation: compact the scene timeline and resize clips by their real edges [SPEC-0209 4/7] (#787) (aef2f7d), closes #759
  • animation: record position keyframes with Auto-key on the canvas and edit them in the timeline [SPEC-0209 6b/7] (#810) (91a5398), closes #794
  • animation: render version-7 lifetimes and positions through the split mount predicate and scene timebase [SPEC-0209 3/7] (#780) (c2a9de9), closes #758
  • animation: show beatlines and snap timeline edits to beats [SPEC-0224 6/8] (#724) (08b3f8e)
  • audio: add the beat analysis service, cache and editor IPC [SPEC-0224 5/8] (#728) (bb96be5)
  • audio: add the pinned music-tempo adapter and sandboxed beat processor [SPEC-0224 4/8] (#726) (ba3fe51)
  • branding: add a dark-surface Scorilo icon and show it in settings (#604) (8d717e6)
  • branding: show the Scorilo app icon in the launch window and header (#588) (4f235c0)
  • ci: allow feat/ branch prefix in PR validation (#518) (a6919cc)
  • dfbnet: enable native macOS AutoFill in the DFBnet login window (#394) (ea4fe14)
  • display: crossfade overlay cues and publish team totals to the display (#718) (1c01f57)
  • display: raise the score under a fading cue only after its fade-in (#873) (1fbd0c6)
  • display: render goal scene element kinds from a goal scene snapshot (#927) (8a37ef1)
  • display: toggle and overlay image/slide/animation/sequence cues (#697) (1eea90f)
  • document: restore the call name from .scorilo profile documents [SPEC-0331/R21] (#1243) (84e8f0b)
  • documents: add File → Open… and Open Recent with guarded activation and refusal reasons [SPEC-0292 7/20] (#633) (1580177)
  • documents: add File → Save as… with binding and Open Recent [SPEC-0292 4/20] (#614) (c6e73d0)
  • documents: append the document write to File → Save [SPEC-0292 5/20] (#620) (ac5c29f)
  • documents: convert version 1-6 slide definitions when opening a .scorilo document [SPEC-0312 4/11] (#1081) (47cf517)
  • documents: define the .scorilo document schema, validators and chunked blob store [SPEC-0292 1/20] (#558) (6b69821)
  • documents: derive the document edited state from profile generations [SPEC-0292 9/20] (#596) (a6ee115)
  • documents: encrypt documents of protected profiles and require the password to open them (#733) (820071e)
  • documents: import a document into the workspace behind a durable import journal [SPEC-0292 6/20] (#623) (f45f6e2)
  • documents: prompt to save edited documents on quit, switch, open and archive [SPEC-0292 10/20] (#628) (083bf3d)
  • documents: queue and route open-file, argv and second-instance document paths behind the single-instance lock [SPEC-0292 11/20] (#653) (cd5ab40)
  • documents: resolve same-document conflicts on Open [SPEC-0292 8/20] (#654) (a4748de)
  • documents: serialize a profile snapshot with its media list [SPEC-0292 2/20] (#597) (f2fb078)
  • documents: show document write and open progress and finish localization [SPEC-0292 13/20] (#656) (ec075de)
  • documents: write documents in a worker behind a durable install journal [SPEC-0292 3/20] (#606) (d827b09)
  • editor: add context menus for elements, selections and the artboard [SPEC-0316 7/16] (#1002) (73d8cf9)
  • editor: add the document header, in-window menus, command table and status bar [SPEC-0316 2/16] (#994) (ca199a4)
  • editor: add the Ereignis element group, Ersatzbild and Vorschaudaten (#937) (3635945)
  • editor: add the scene bar with scene tabs, scene settings and the scene menu [SPEC-0316 14/16] (#1006) (803a858)
  • editor: add the sequence timeline view with scene, marker and audio panels [SPEC-0316 15/16] (#1037) (bc7ae53)
  • editor: ask to save unsaved editor windows and route Save to them [SPEC-0304 4/8] (#659) (e6f1fb3)
  • editor: change an element's content source within its family [SPEC-0316 9/16] (#1000) (d2011fd)
  • editor: draw the thin selection frame with name labels and new snap guides [SPEC-0316 11/16] (#999) (874e5d9)
  • editor: edit animations and sequences in their own editor window [SPEC-0304 3/8] (#658) (4ed664e)
  • editor: edit display program copies in a program-copy editor window [SPEC-0304 7/8] (#662) (2e38b62)
  • editor: edit match slide designs in an editor window [SPEC-0312 8/11] (#1143) (91509fd)
  • editor: lay out the production editor window with a pinned resizable timeline and split sidebar [SPEC-0209 4b/7] (#793) (9314710), closes #764
  • editor: move editor menus, popovers, dialogs and focus onto the design system [SPEC-0318 3/12] (#1124) (b189831)
  • editor: move motion editing into the Animation tab and the gallery drawer [SPEC-0316 13/16] (#1035) (1199c00)
  • editor: move the editor windows onto the shared design system [SPEC-0318 2/12] (#1089) (95d9c7e)
  • editor: offer the same element tools for slides, animations and sequences [SPEC-0312 9/11] (#1141) (27287d7)
  • editor: open a private preview dialog and save without a prior preview [SPEC-0316 3/16] (#1001) (b21606c)
  • editor: open library slides in their own editor window [SPEC-0304 2/8] (#657) (53ef178)
  • editor: open slides and program copies in the unified authoring workspace [SPEC-0312 7/11] (#1138) (b760c08)
  • editor: rebuild the canvas area with toolbar, tool palette, footer and view overlays [SPEC-0316 10/16] (#991) (9ec49c0)
  • editor: rebuild the Elements panel with search, row actions and the add menu (#986) (ed32733)
  • editor: rebuild the scene timeline with element rows, sub-rows and the new toolbar [SPEC-0316 12/16] (#1009) (b708fcb)
  • editor: render editor windows in the compact editor shell grid (#977) (5cb630d)
  • editor: route menu Undo and Redo to the focused production editor window [SPEC-0209 4c/7] (#782) (f6a88e4), closes #765
  • editor: show element display names instead of IDs (#961) (791f96d)
  • editor: show the clip, lifetime and keyframe inspector in the Properties panel [SPEC-0209 R16] (#812) (d2862f2), closes #799
  • editor: split the Properties panel into Layout, Animation and Inhalt tabs (#992) (eb794c2)
  • editor: store optional element names and rename elements [SPEC-0316 5/16] (#1075) (3b46a60)
  • editor: support slide drafts in the main-process authoring service [SPEC-0312 6/11] (#1130) (44e6988)
  • effects: add revision-checked effect authoring operations and effect-range snapping (#883) (bf7ee22)
  • effects: add the Cinematic Title, Typewriter and Word Cascade text effects (#884) (7864292)
  • effects: add the curated effect registry and effect limits (#877) (9786ee0)
  • effects: add the curated motion evaluator and the eleven non-text families (#882) (8d7b38e)
  • effects: add the effect examples, enable curated authoring and pass the performance gate (#933) (07daacf)
  • effects: add the PixiJS effect surface service and prove the shared-atlas topology (#886) (a67c4be)
  • effects: add the version-8 effect model and library/program envelope 5 (#881) (b553521)
  • effects: include effects in scene readiness and add the GPU degraded mode (#925) (5d48d6e)
  • effects: render the six graphics filters with deterministic Glitch slices (#896) (04d5716)
  • effects: render the six procedural animation elements from seeded absolute time (#910) (044bd23)
  • effects: replace the preset select with the effect gallery and effect settings (#931) (24501a1)
  • export: build a complete private matchday dossier (#1286) (3b6477c)
  • export: copy and save private matchday Markdown (#1287) (8ef11b8)
  • icons: add licensed Pro subset and shared icon layer (#508) (979d4d1)
  • icons: adopt actual Pro icons in the Live design prototype [SPEC-0296] (#512) (1eb0db0), closes #459
  • icons: adopt shared Pro icons in existing Live controls (#519) (fbbf7e6)
  • icons: migrate editor and production icons to AppIcon [SPEC-0296] (#543) (dac8114)
  • icons: migrate pre-game and media icons to AppIcon (#511) (f8c7acc)
  • icons: migrate settings and data icons (#510) (c8078d7)
  • icons: migrate static concept SVGs to registry icons [SPEC-0296] (#513) (6d16b6c)
  • icons: render the referee card icons in yellow and red (#870) (477f7ac)
  • icons: switch goal to Classic Light futbol [SPEC-0296] (#521) (332645a)
  • icons: switch the shared icon layer to Font Awesome Classic Light (#1299) (7324f07)
  • image-editor: add background-removal method/settings panel [SPEC-0217 17/27] (#449) (f252d77)
  • image-editor: add protection/removal regions, brushes, connected areas and confirmed protection changes [SPEC-0217 18-21/27] (#591) (b9c01d5)
  • image-editor: offer explicit rendered-copy recovery and show editing limitations [SPEC-0217 22/27] (#601) (aaf8dee)
  • launch: create the frameless launch window and its preload [SPEC-0294 1/7] (#419) (a870991)
  • launch: hand over from the launch window after first render [SPEC-0294 4/7] (#466) (7b15710)
  • launch: move the launch window onto the design system [SPEC-0318 10/12] (#1110) (0e1b5cd)
  • launch: order media gates around the launch handover [SPEC-0294 6/7] (#522) (c3602ae)
  • launch: render startup failures inside the launch window with error-box fallback [SPEC-0294 5/7] (#470) (94f54fb)
  • launch: run startup as reported phases with timings [SPEC-0294 2/7] (#441) (6050107)
  • library: resolve and store automatic collection memberships for imported images [SPEC-0334 1/2] (#1311) (0c6e317)
  • library: sort logos and player photos introduced by imports and assignments into collections [SPEC-0334 2/2] (#1313) (c5126b1)
  • live: add a global Rückgängig for the last Live action [SPEC-0330 7/11] (#1204) (6ceef20)
  • live: add corner, foul and penalty situations and skip the ticker draft of linked media buttons [SPEC-0311 1/2] (#850) (4d71760)
  • live: add Schnellmedien with one Medien konfigurieren dialog [SPEC-0330 9/11] (#1203) (1211f41)
  • live: add the match header card with primary clock control and period menu [SPEC-0297 1/6] (#534) (a780bd8)
  • live: add the Offene Details tab and open-detail chips [SPEC-0330 6/11] (#1215) (5815bc1)
  • live: add the Spielaktionen card with Einfach/Erweitert [SPEC-0330 3/11] (#1202) (2370cc2)
  • live: add the Stadionton music card to Live [SPEC-0330 10/11] (#1281) (6387610)
  • live: add the Torszenen dialog and the follow-up checkbox (#940) (5543cf6)
  • live: build goal scene snapshots with the publication rules (#936) (c4cfcb2)
  • live: build the event entry with team goal actions, event-team control and tool actions [SPEC-0297 2/6] (#535) (43c4373)
  • live: capture goals in the task area in three steps [SPEC-0330 4/11] (#1206) (235b8ee)
  • live: configure cue buttons in a context-menu dialog (#739) (f676196)
  • live: cue display durations, stop on second press and companion audio (#845) (c84a398)
  • live: deliver the compact Live tab slices 3–6 [SPEC-0297] (#536) (bb2268f)
  • live: hand over from the button's medium to the armed goal scene (#975) (f5e6781)
  • live: hide the shortcut keycaps by default behind a General setting [SPEC-0330/R5] (#1249) (31eabcc)
  • live: link a goal to its button playback and arm the goal scene (#959) (19830ff)
  • live: make the team choice the first step of the event dialogs (#806) (88f6cd6), closes #805
  • live: merge the Liveticker tab into the Verlauf (#854) (71a5883)
  • live: mirror overlay cues in the operator's stadium preview (#756) (d5c973e)
  • live: move event capture and corrections into the task area [SPEC-0330 5/11] (#1219) (50a3c05)
  • live: open every event action in a floating dialog and drop the event-team control (#582) (0234c17)
  • live: per-button cue fade including video with one global duration (#849) (2219124)
  • live: persist the goal scene configuration and the button follow-up flag (#926) (8582658)
  • live: play a goal's scene from the Verlauf menu (#981) (a8abf28)
  • live: record the Live action of a linked media button press [SPEC-0311 2/2] (#852) (543915c)
  • live: rename the break action, verify SPEC-0330 and mark it Implemented [SPEC-0330 11/11] (#1284) (58e1a7b)
  • live: replace digit shortcuts with the Live-Regie shortcuts [SPEC-0330 8/11] (#1205) (312c19e)
  • live: replace the lineup summary with the substitution dialog [SPEC-0299] (#571) (09a8e2f)
  • live: replace the Live header card with labelled clock actions and team logos [SPEC-0330 1/11] (#1198) (b29e10a)
  • live: restructure the Live frame, output card and Live footer [SPEC-0330 2/11] (#1199) (fef8ed6)
  • live: restyle the header clock control as a primary circle [SPEC-0300] (#562) (c767445)
  • live: show card reasons and the ticker text in the card dialog [SPEC-0302 3/3] (#622) (057b6c4)
  • live: show Font Awesome Pro icons on the Shot and Penalty tools [SPEC-0297 R7] (#848) (b8d6247)
  • live: show the matching card on the card dialog's colour choice (#871) (54d8f54)
  • live: store player photo assignments and resolve goal scene photos (#928) (dfccfea)
  • live: store the clock's stoppage offset on recorded events [SPEC-0331 2/5] (#1218) (7ad69b4)
  • match-tools: add card reasons and the card ticker sentence [SPEC-0302 1/3] (#618) (4adefad)
  • match-tools: fix the prepared lineup with the first substitution [SPEC-0299] (#557) (0171eaf)
  • match-tools: record card ticker entries with the card [SPEC-0302 2/3] (#621) (6b7ae2e)
  • match: capture defensive observations in Live (#1283) (7c35b7e)
  • matchday: add library resync for embedded cue assets (#695) (581ad68)
  • matchday: extend CueAsset with image/slide/animation/sequence kinds (#688) (297124f)
  • matchday: let the cue picker attach images, slides, animations and sequences (#694) (dba93bb)
  • matchday: persist defensive observations and drafts [SPEC-0332] (#1279) (fb9f9e3)
  • matchday: provide safe save Retry and truthful scoped feedback [SPEC-0218 16/22] (#389) (b7f69b4)
  • mcp: add MCP jobs and agent-started beat analysis [SPEC-0223 13/17] (#1118) (d119553)
  • mcp: add revision-checked mutation receipts, per-draft serialization and request budgets [SPEC-0223 2/17] (#1088) (8d9664e)
  • mcp: add the AI assistance settings section, approval dialog, status and revocation [SPEC-0223 7/17] (#1135) (a1e6eb9)
  • mcp: add the AI draft review window with deterministic summary and private preview [SPEC-0223 9/17] (#1139) (e1096af)
  • mcp: add the MCP authoring coordinator with connection grants, one tool scope and fail-closed invalidation [SPEC-0223 1/17] (#1079) (dd1ca68)
  • mcp: add the MCP read tools and authoring context sections [SPEC-0223 4/17] (#1096) (e0d5d36)
  • mcp: add the one-time squad and club grant to the MCP approval [SPEC-0223 8/17] (#1137) (1019763)
  • mcp: add the packaged --mcp-stdio entry mode with the pinned MCP SDK [SPEC-0223 5/17] (#1121) (c81cf49)
  • mcp: add the typed MCP tool registry and the authoring mutation tools [SPEC-0223 3/17] (#1097) (46630fe)
  • mcp: adopt an AI revision into a new sequence editor window and submit editor snapshots for another iteration [SPEC-0223 10/17] (#1150) (42d085b)
  • mcp: compute advisory design diagnostics for AI drafts [SPEC-0223 12/17] (#1112) (8b14a4c)
  • mcp: connect the MCP adapter to main over an OS-user-restricted socket or named pipe with pairing approval [SPEC-0223 6/17] (#1132) (bbdcb79)
  • mcp: render private draft frames behind a separate visual grant [SPEC-0223 14/17] (#1140) (89ff881)
  • mcp: ship the player-intro design guide, three reference productions and server instructions [SPEC-0223 11/17] (#1076) (f5fa7da)
  • media: add collection, favourite and tag editing with drag and drop [SPEC-0317 11/16] (#1239) (08d2207)
  • media: add keyboard navigation, toasts, undo and redo, and the shortcut dialog [SPEC-0317 9/16] (#1233) (7f9bec3)
  • media: add library:changed event and remove explorer polling [SPEC-0295 4/9] (#461) (43823c2)
  • media: add multi-selection, the selection bar and the item menu [SPEC-0317 8/16] (#1232) (73551c2)
  • media: add the audio-analysis profile document and its store [SPEC-0333 1/6] (#1314) (16d7cdd)
  • media: add the details panel and the preview dialog [SPEC-0317 10/16] (#1234) (b28ffeb)
  • media: add the library organisation document with validated batch writes [SPEC-0317 1/16] (#1209) (3387ded)
  • media: add the per-profile media store for display, cue and pre-game media [SPEC-0292 14/20] (#564) (d205f72)
  • media: add the program drawer with ordering, durations, save, discard and private program test [SPEC-0317 14/16] (#1240) (c1cb1af)
  • media: add the pure library item, query and selection models [SPEC-0317 4/16] (#1217) (d8ef396)
  • media: add the search row, type tabs, filter popover, gallery info and empty states [SPEC-0317 6/16] (#1224) (79f14a8)
  • media: add typed availability, verifying model phase and stamped URLs [SPEC-0295 2/9] (#445) (9b3afa6)
  • media: answer matching beat detection from the stored analysis [SPEC-0333 5/6] (#1318) (b01c1e6)
  • media: bind verification generations to the profile media context [SPEC-0295 7/9] (#576) (faf32f7)
  • media: create and open slides, animations and sequences from the media library [SPEC-0304 6/8] (#661) (501103f)
  • media: duplicate images, videos and audio in the media library (#755) (bb81554)
  • media: journal every media write intent-first and replay it after handover [SPEC-0295 6/9] (#579) (b639a72)
  • media: list publishable DFBnet player photos in the media library [SPEC-0305] (#676) (a3d57d3)
  • media: list slides, animations and sequences with previews in the media library [SPEC-0304 5/8] (#660) (62dec2b)
  • media: migrate catalogue collection strings into collections and remove the collection field [SPEC-0317 2/16] (#1235) (a74a37e)
  • media: migrate shared media into profile directories one way [SPEC-0292 15/20] (#655) (dfcc510)
  • media: move slides, animations and sequences to a trash with restore and consumer filtering [SPEC-0317 3/16] (#1221) (902ac15)
  • media: move the media library and picker onto the design system [SPEC-0318 9/12] (#1133) (6c1d1c6)
  • media: offer Import again for missing media [SPEC-0292 17/20] (#652) (0a4a53e)
  • media: queue background audio analysis with editor precedence [SPEC-0333 2/6] (#1319) (6de8c84)
  • media: record derived digests and catalogue recipes with verifyEntry rebuild [SPEC-0295 5/9] (#463) (5e69dff)
  • media: render cards and list rows with continuous windowed scrolling instead of paging [SPEC-0317 7/16] (#1227) (b18b59b)
  • media: render the media browser frame with sidebar, heading, tokens and without the match card [SPEC-0317 5/16] (#1222) (ea21b96)
  • media: serve and copy media only from verified descriptors [SPEC-0295 6/9] (#561) (4696cd3)
  • media: share one program draft store and add media to the program from the library [SPEC-0317 13/16] (#1238) (0a9a1f3)
  • media: show the missing-file state in every media consumer [SPEC-0292 16/20] (#599) (f3e498a)
  • media: show waveform, beat markers, inline playhead and BPM in the media details [SPEC-0333 4/6] (#1325) (f17eec9)
  • media: split the media gate into catalogReady and mediaVerified [SPEC-0295 1/9] (#420) (f2a2f9e)
  • media: store media library assets in the profile media directory [SPEC-0292 14b/20] (#635) (fe60237)
  • media: tombstoned permanent delete through the catalog-cleanup record [SPEC-0295 6/9] (#574) (4818239)
  • media: trigger audio analysis on import and in the media details [SPEC-0333 3/6] (#1324) (7651bb1)
  • media: verify media in a throttled chunked pass with a media-digests trust anchor [SPEC-0295 3/9] (#451) (be4f5d8)
  • menu: add File → New match with Cmd/Ctrl+N and Open match with archived matches [SPEC-0291 5/9] (#997) (34e9193)
  • models: add the KI-Modelle settings tab and models IPC (#958) (ffa4739)
  • models: replace MediaModelStore with the installation-wide model store (#929) (d6f7309)
  • packaging: register the .scorilo document type and document icon [SPEC-0292 12/20] (#575) (03f819c)
  • pregame: add the announcement dialog and lower music during an announcement [SPEC-0329 5/11] (#1247) (c4e9a87)
  • pregame: add the compact music card and the music drawer [SPEC-0329 10/11] (#1265) (f2b17ad)
  • pregame: add the compact program card with preview rows and transport [SPEC-0329 8/11] (#1258) (b1900a3)
  • pregame: add the kickoff dialog that starts the clock and fades out music [SPEC-0329 7/11] (#1259) (5fcc579)
  • pregame: add the output connection strip under the stadium monitor [SPEC-0329 3/11] (#1252) (e2a4c46)
  • pregame: add the start check card [SPEC-0329 4/11] (#1253) (626d65d)
  • pregame: add the title row, kickoff-time dialog and two-column frame [SPEC-0329 1/11] (#1246) (c30e15a)
  • pregame: add through the menu and picker and edit in the program drawer [SPEC-0329 9/11] (#1275) (0753aed)
  • pregame: align the kickoff and clock strip with the Live header card (#638) (26316d0)
  • pregame: apply a saved display program immediately and restart it from the start (#594) (e25b319)
  • pregame: separate output and preview in the stadium monitor and take the preview to the output explicitly [SPEC-0329 2/11] (#1250) (9999571)
  • pregame: stop media through one path on every view and with Cmd/Ctrl+Shift+X [SPEC-0329 6/11] (#1251) (81d1aa3)
  • preparation: add the DFBnet branch to the guided new-match flow [SPEC-0291 4/9] (#998) (fa8952e)
  • preparation: add the guided new-match flow with the manual branch [SPEC-0291 3/9] (#993) (39e9e2a)
  • preparation: add the prepared starting lineup section [SPEC-0299] (#559) (91a4592)
  • preparation: assign player photos in Match preparation (#939) (7fbbcd4)
  • preparation: create a match from a reviewed sheet in one atomic transaction [SPEC-0291 2/9] (#989) (2b9cb11)
  • preparation: keep team identity in the match and add an explicit Use as defaults action [SPEC-0291 7/9] (#988) (ff70845)
  • preparation: mark a hidden logo slot with an icon [SPEC-0300] (#563) (a3ba8ac)
  • preparation: replace the saved DFBnet record panel with a source indicator and add Import from DFBnet [SPEC-0291 6/9] (#1003) (1ed8e2d)
  • preparation: supply the guided new-match review proposal [SPEC-0291 1/9] (#983) (8966f68)
  • profiles: add the protection controls, unlock prompt and lock mark (#725) (0eca63d)
  • profiles: keep the profile lock state in main with unlock, lock and attempt delay (#719) (c310262)
  • profiles: refuse the locked capability matrix in main and flush windows on lock (#722) (f69077c)
  • profiles: store a password verifier and set, change or remove profile protection (#710) (961a76b)
  • remote: add the remote command service with catalog validation and a refusing default policy [SPEC-0319 2/5] (#1122) (8b5e81c)
  • remote: namespace remote operation IDs, answer repeats and fence unseen IDs on lookup [SPEC-0319 4/5] (#1127) (32d00be)
  • remote: report output started or failed separately for remote commands [SPEC-0319 5/5] (#1128) (b885f2a)
  • remote: route remote commands to the domain with context binding and strict clock preconditions [SPEC-0319 3/5] (#1125) (51b3e1e)
  • sequence: add sequence-v2 with a validated beat track [SPEC-0224 1/4] (#692) (39593eb)
  • sequence: align beat-track bounds and add the shared beat projection [SPEC-0224 2/8] (#720) (cf83b97)
  • sequence: route beat-track corrections through the draft history [SPEC-0224 3/8] (#721) (1dbba19)
  • settings: close the focused Settings window with Escape (#709) (e6bcc55)
  • settings: configure the profile match report prompt [SPEC-0332] (#1280) (a75df15)
  • settings: move the settings window onto the design system [SPEC-0318 8/12] (#1134) (68e6a94)
  • slides: accept and write version-7 slide definitions in every slide consumer (#930) (0adafdc)
  • slides: accept element groups and honour group visibility and lock [SPEC-0308 1/5] (#789) (3833442), closes #783
  • slides: accept version-7 slides in sequences and version-4 library and program envelopes [SPEC-0209 2/7] (#763) (210aa26), closes #757
  • slides: add fouls/penalties live slide elements next to corners/cautions (#696) (1758b59)
  • slides: add live home/away corners and cautions slide elements (#691) (373e6ea)
  • slides: add the pure slide document conversion to version 7 with explicit library kinds [SPEC-0312 2/11] (#1039) (d86a4d2)
  • slides: date slide library entries in envelope version 3 [SPEC-0304 1/8] (#651) (3ca46e6)
  • slides: duplicate the selected slide element (#751) (a6344e9)
  • slides: fill the host with a full-height slide editor workspace [SPEC-0310 1/3] (#828) (dc9f876), closes #823
  • slides: finish the slide editor grid, save bar and control sizes [SPEC-0301] (#581) (e19869f)
  • slides: group slide elements in the layer panel [SPEC-0308 3/5] (#795) (24c3c1e), closes #785
  • slides: group the slide editor toolbar and move help into a popover [SPEC-0301] (#572) (5279abf)
  • slides: list layers front to back with bring forward, backward, front and back [SPEC-0308 2/5] (#791) (c87c681), closes #784
  • slides: migrate the workspace to unified slide documents and raise the workspace version to 3 [SPEC-0312 3/11] (#1061) (a4a24cb)
  • slides: move, scale and rotate a slide element group on the canvas [SPEC-0308 4/5] (#800) (fe628bd), closes #786
  • slides: rebuild the slide editor element list [SPEC-0301] (#578) (14997af)
  • slides: remove slide definition versions 1-6, their version gates and legacy library readers [SPEC-0312 5/11] (#1119) (9637253)
  • slides: show a rotate cursor on the slide rotation handle (#586) (982eacf)
  • slides: show layer and group commands as Font Awesome Pro icon buttons (#819) (0f2c978), closes #817
  • slides: show one context in the slide editor inspector [SPEC-0301] (#580) (d15d522)
  • slides: show team logo placeholders in the slide editor (#748) (3dde443)
  • slides: show the slide on a zoomable, freely movable artboard [SPEC-0310 2/3] (#831) (f45eeac), closes #824
  • slides: size slide text automatically to fill its box (#779) (1c96fdc), closes #792
  • slides: zoom with Cmd/Ctrl + wheel and pinch, pan by hand and add zoom shortcuts [SPEC-0310 3/3] (#834) (ae4979d)
  • ticker-eval: add the bounded evaluation runner with fake adapter, fallback and stale-result harness [SPEC-0314 5/10] (#990) (16bb378)
  • ticker-eval: add the evaluation fixture schema, corpus validator and catalogue baseline (#973) (6168109)
  • ticker-eval: add the opt-in llama.cpp adapter with outbound networking blocked [SPEC-0314 6/10] (#995) (88a2ee1)
  • ticker-eval: build the complete-context request, derived facts and source manifest (#978) (ddca0ab)
  • ticker-eval: commit the synthetic evaluation corpus with holdout, scripted tickers and canaries (#984) (474d315)
  • ticker-eval: freeze model configurations with pins, preflight, attempt ledger and holdout lock [SPEC-0314 7/10] (#1004) (f46812b)
  • ticker-eval: generate blind review forms and the gated evaluation report [SPEC-0314 8/10] (#996) (90c86d8)
  • ticker-eval: measure warm timing, cold starts, memory and co-running with a match [SPEC-0314 9/10] (#1005) (53b4a4f)
  • ticker-eval: validate model responses and classify their publication eligibility (#979) (c88af46)
  • ticker: add WhatsApp forms for cards, withdrawals and situation sentences [SPEC-0331 4/5] (#1225) (3309793)
  • ticker: copy fluent WhatsApp messages for goals with call names, wir/uns and the minute [SPEC-0331 3/5] (#1223) (e70cae9)
  • ticker: generate varied, context-aware card sentences [SPEC-0303 2/2] (#650) (80782aa)
  • ticker: generate varied, context-aware goal sentences from the view of "Unser Team" [SPEC-0303 1/2] (#634) (9e63bfa)
  • ticker: record kickoff, break and final milestone rows with WhatsApp messages [SPEC-0331 5/5] (#1226) (2b1c405)
  • ticker: refer to non-publishable participants by shirt number (#1036) (41441ce)
  • timing: relabel the clock-session action so only one control says New match [SPEC-0291 8/9] (#982) (866fb9f)
  • ui: add compact shared form controls and themed selects [SPEC-0298] (#541) (a63fa3d)
  • ui: add the shared design tokens and the design-system reference [SPEC-0318 1/12] (#1074) (4fbb29b)
  • ui: apply team colours as primary-only accent in every window [SPEC-0318 11/12] (#1136) (2d9a83e)
  • ui: compact shared button size and grouped action rows [SPEC-0300] (#566) (ee10062)
  • ui: move control-window buttons, action rows and states onto the design system [SPEC-0318 6/12] (#1126) (90f365e)
  • ui: move control-window fields, selects and checkboxes onto the design system [SPEC-0318 5/12] (#1111) (ae3d9d4)
  • ui: move control-window tabs, menus, dialogs and notices onto the design system [SPEC-0318 7/12] (#1131) (6cd1085)
  • workspace: add an editable call name to shared player identities [SPEC-0331 1/5] (#1220) (527a8fb)

Bug Fixes

  • animation: enlarge the Beat settings target and record the beat accessibility pass [SPEC-0224 gate] (#833) (0015e6d)
  • animation: size the Properties motion inspector with the editor's control tokens (#829) (7a63a6a)
  • ci: extract the installed smoke harness with its helper modules in the release macOS job (#1154) (58e81a9)
  • ci: press Quit on a launch-window startup failure in the Electron crash harness (#1191) (848b1a5)
  • ci: wait for the archived catalogue labels in the header UI smoke (#1196) (c09e14d)
  • clock: tick wall-clock values on whole seconds in every window (#665) (500d3bf)
  • control: fill the music volume slider and progress bars with the theme colour (#1295) (0904282)
  • control: retry match switch on transient workspace-gate contention (#427) (d70ea17)
  • control: share one footer across views and drop "Zurück zum Spielstand" (#729) (9492e13)
  • control: stop closed-select arrow browsing from switching the live match (#440) (0924ec9), closes #435
  • dev: rebuild the processor pages on every npm run dev Electron start (#857) (85b8cc0)
  • display: accept fouls and penalties totals in CueVisual (#708) (04995a0)
  • display: lead Open to the monitor selector when no monitor is available (#589) (56e9492)
  • documents: drop the removed media-conflict reason from Open (#649) (4e85798)
  • documents: keep unchanged bound profiles clean across a profile switch (#627) (bf2d76e)
  • documents: name the required version on Open and drop the archive hint from the size limit (#678) (fd48226)
  • documents: save embedded cue slides, animations and sequences without a media file (#1090) (cbdfeea)
  • documents: show the document name without the .scorilo extension in the window title (#632) (2ed1450)
  • editor: ask Save / Don't save / Cancel from the production editor's Close button [SPEC-0209 R15] (#798) (07181d1), closes #796
  • editor: record the position keyframe of an animated element without Auto-key (#880) (dc6f94c)
  • live: give the history tabs inline room for the hover fill (#1245) (365239e)
  • live: keep unassigned cue button text at 4.5:1 contrast (#1086) (e61f0a7)
  • live: let the cue button dialog scroll instead of clipping its fields (#864) (3e4889d)
  • live: order count-down match events by remaining time (#980) (d8dc109)
  • live: play animation and sequence cues on the display clock (#1008) (71e57cc)
  • live: record a linked media button's Live action only once (#876) (ea4fd71)
  • match-tools: allow return substitutions by default (#672) (440ce52)
  • matchday: give the reopened guided ticker dialog a height floor (#395) (bb64043)
  • matchday: scope Live badge and unfinished entries to active session (#390) (7940e2d)
  • mcp: name an adopted squad photo or club logo element after the player or club (#1294) (46e7b0e)
  • mcp: offer music that Scorilo has not decoded since its start for approval (#1160) (5c36463)
  • mcp: resolve squad photos and club logos in memory and copy them only at adoption (#1148) (6c58b43)
  • mcp: serve the packaged stdio adapter and named-pipe bridge on Windows (#1175) (596ff61)
  • media: defer verification until the queued startup document open ends [SPEC-0295 8/9] (#838) (5080b38)
  • media: give the browser type tabs inline room for the hover fill [SPEC-0317 R6] (#1291) (e670eb9)
  • media: ignore lstat's unreliable dev on Windows in readBounded (#409) (4322879)
  • media: let the Media view fill the console body edge to edge [SPEC-0317 R1] (#1293) (3ce1af3)
  • media: remove the model disclosure from the media browser sidebar (#1323) (5764168)
  • media: show item actions first and label other-source media by origin (#746) (1462f20)
  • media: tidy the media picker header and style its fields (#837) (edf297e)
  • media: title an asset made by Verwenden after the library item (#1312) (5c34db7)
  • models: start a new download when Install follows Cancel before it settles (#1197) (757cc5f)
  • pregame: fit the four cards at 1440×900 and 1366×900 [SPEC-0329 R1] (#1269) (35d06a8)
  • profiles: keep a fresh profile unmodified with a second display (#593) (323e86c)
  • scripts: update installed-media-smoke for the trusted session edit API (#450) (662f5a4)
  • settings: blend sidebar icon tiles into the selected team-color tab (#539) (8787bab)
  • settings: read the kickoff time for the LED calibration preview through its own channel (#869) (283a26e)
  • slides: float the add menu, edge-to-edge editor window and warning tooltip (#730) (bcc6b5d)
  • slides: show slide editor position, size and rotation with two decimals (#826) (b948166)
  • slides: show whether the snapping toggle is on (#801) (ad15007), closes #797
  • smoke: commit deferred slide editor fields in the match-slide smoke (#573) (45917c9)
  • smoke: measure the media view toggle as one control in the compact-buttons smoke [SPEC-0317 R5, R8] (#1278) (4f0cf17)
  • ticker-eval: allow prefix caching and GPU and repair the Phase-1 harness defects [SPEC-0314] (#1059) (9ed7065)
  • ticker-eval: decide publication per event situation and allow restricted shirt numbers (#1032) (8d67f14)
  • ticker-eval: do not search evidence for default device names such as Mac (#1095) (641efc5)
  • ticker-eval: gate delivered text and require only the M2 Pro target [SPEC-0314] (#1257) (2f20f6a)
  • ticker: copy a withdrawn goal's or card's original row in its WhatsApp form (#1231) (0246c3d)
  • ui: always use the system font in the interface (#976) (1acf17c), closes #974
  • ui: keep the control page at its 900 CSS px floor on Windows (#432) (8d97cea)
  • workspace: convert the settings snapshot in match checkpoints during the SPEC-0312 migration and on Open (#1177) (96df67c)

Documentation

  • releasing: release the one-way legacy cleanup as 3.0.0 with upgrade notes (bc9c8d6)