Skip to content

v2.0.0-preview.8

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Oct 06:32
· 146 commits to main since this release
646d0b8

日本語のリリースノートはこちらです。

What's Changed

New Features

  • Added Simplified Chinese, Korean, and Spanish translations
  • Version control
    • Added Git-based version control for editing projects (breaking change)
    • Added resumable uploads for large Git LFS objects and parallel multipart uploads to hosted Git
  • AI workflows
    • Added paid AI-assisted editing workflows (breaking change)
    • Added video inputs for AI providers and video editing in the desktop AI workspace (breaking change)
    • Added ComfyUI-style AI generation nodes to the node graph
    • Added sign-in and Pro-plan guidance and simplified the AI workspace section names
  • File browser and packages
    • Added materials and templates to the package store
    • Added thumbnails for object templates in the file browser (breaking change)
    • Added multiple file-browser tabs with separate titles (breaking change)
    • Added access to online storage from the file browser
    • Added support for opening package details from web installation links
    • Added an action to reveal file-browser items in the system file manager
  • Editor workflows and layout
    • Added recovery and repair workflows for malformed elements (breaking change)
    • Enabled automatic saving for all editing sessions (breaking change)
    • Added an option to delete projects from disk through the recent-project list
    • Added close buttons on hover, inline add buttons, and extension icons to dock tabs
    • Unified tool-tab layouts and settings groups and improved property editors at narrow widths
    • Improved path editing interactions and the selected-point inspector
  • Node graph
    • Improved graph editing workflows, property navigation, and hover guidance
    • Added input ports for nested object properties
    • Added fallback displays for unavailable graph nodes
  • Web browser
    • Added a built-in web-browser tool tab
    • Added ad blocking with external filter lists
  • Rendering and effects
    • Upgraded rendering to SkiaSharp 4.152 and adopted its updated APIs (breaking change)
    • Added support for rendering variable fonts at the requested weight
    • Added extension-defined displacement transforms, effect cropping, and resampling for scaled surface copies
    • Added asynchronous render-target readback without blocking on the GPU
    • Aligned 3D coordinates with 2D and added 2D drawables as cards in 3D scenes (breaking change)
    • Added a prewarm duration for particle emitters
  • Added audio latency reporting and effect-tail compensation (breaking change)
  • Focused agent tools on editing and added custom GLSL rendering passes (breaking change)
  • Added lease-based admission for proxy-generation jobs
  • Added Flatpak support to the existing updater
  • Added detailed desktop usage telemetry
  • Developer tools
    • Added a cross-platform Nuke development command
    • Added analyzer diagnostics for operations that BESG004 could not inspect

Improvements & Refactoring

  • Rendering performance and resource limits
    • Reworked rendering into a record-then-plan pipeline with fused GPU shader passes (breaking change)
    • Reduced CPU synchronization overhead between Vulkan and Skia while retaining the required Skia-to-Vulkan wait on macOS
    • Unified buffer-dimension limits in a shared budget type (breaking change)
  • Project persistence and lifecycle
    • Standardized filesystem path identity using canonical paths (breaking change)
    • Propagated migration requirements from persisted project content (breaking change)
    • Isolated undo-history transactions (breaking change)
    • Simplified project recovery and strengthened save handling
    • Centralized cleanup for reusable tool content (breaking change)
    • Reduced Git operations and project lifecycle overhead
    • Shortened file and browser tab titles
  • API and extension development
    • Required cancellation tokens for API and store calls and strengthened API and package-tool lifecycles (breaking change)
    • Made Resource.GetOriginal() nullable and added RequireOriginal() for callers requiring a value (breaking change)
    • Moved output admission under host control and made context commands awaitable (breaking change)
    • Migrated controls and dialogs to Avalonia 12 APIs and improved nullable-reference annotations (breaking change)
    • Replaced fixed editor-command contracts with optional editor capabilities (breaking change)
    • Renamed FilterEffectActivator to FilterEffectExecutor (breaking change)
  • Reworked the Agent Editing Toolkit around advisory checks (breaking change)
  • Reduced repeated missing-FFmpeg-library errors and increased the interval between availability checks (breaking change)

Bug Fixes

  • Playback and media
    • Corrected FFmpeg provider disposal and audio/FFmpeg startup cleanup
    • Preserved FFmpeg error codes across IPC and translated recognized failures (breaking change)
    • Stopped playback loops after editor disposal and awaited pending scene work when pausing
    • Corrected media trimming for playback speed and clamped nested trims to their sampled ranges
  • Rendering, text, and 3D
    • Prevented crashes when a resize requested an empty surface
    • Applied backdrop opacity correctly to captured images
    • Corrected effect-target disposal, completed-frame material reuse, and Vulkan renderer resource cleanup
    • Enforced device attachment and buffer budgets for 3D rendering and nested effect activation (breaking change)
    • Corrected replay density calculations in fragment-local coordinates
    • Excluded undrawn or unsupported 3D scenes from hit testing
    • Aligned Append and Set measurements and hit testing with their rendered positions (breaking change)
    • Made default brush and effect colors fully opaque
    • Corrected Vulkan image-layout synchronization with the custom Skia library
    • Prevented sRGB decoding from altering PBR data maps
    • Prevented concurrent KeySpline evaluation races
    • Moved 3D model loading off the UI thread
    • Preserved ancestor render plans when nested scene structure changed
    • Corrected rendering and hit testing for split color glyphs
  • Project data, saving, and recovery
    • Corrected project recovery, package operations, rendering, and media-processing failures identified in the previous preview
    • Waited for project closure before exiting the application
    • Restored existing files and persistence state after failed saves, supported traverse-only parent directories, and completed editor cleanup after failures
    • Preserved migration requirements from standalone values and file-backed references
    • Preserved shared-project assets, existing export files, update rollback, and plugin dependencies during failed or cancelled operations
    • Limited settings autosave to the configuration file that had been restored
    • Corrected collection replacement and insertion notifications, undo-history recording, and graph value cleanup (breaking change)
  • Version control
    • Corrected Git path lookups and snapshot publishing and aligned version-control behavior with standard Git
    • Restored support for record values in the version-control graph
    • Recorded the first project version before opening a new Git-tracked project and displayed progress while enabling version control
    • Corrected process-group ownership for Git commands
  • File browser and package installation
    • Handled duplicate directory entries, avoided unnecessary autosave refreshes, and ignored watcher callbacks after tab disposal
    • Applied host workspace write admission to file-browser operations
    • Recovered interrupted data-package installations and handled cancelled or streamless package downloads correctly
  • Editor interaction and asynchronous state
    • Corrected extension menu lookup on macOS
    • Prevented unmodified-key shortcuts from intercepting terminal input
    • Restored the Windows window-caption button icons
    • Corrected selected-tab close-button visibility and horizontal dock spacing
    • Kept keyframe menus accessible beneath overlapping control points
    • Preserved natural touchpad scrolling in the timeline
    • Preserved UI-thread scheduling and corrected dispatcher deadlocks, timer scheduling, and cancellation races
    • Prevented cancelled preview and search operations from publishing stale results and preserved file items after atomic saves
  • Node graph
    • Corrected default values for Scale and Random nodes
    • Corrected graph text input and touchpad gestures and made saved node positions independent of locale
  • AI and agent integration
    • Treated disabled editors as unavailable agent sessions and corrected concurrent endpoint lifecycle handling
    • Preserved the selected AI subtitle template when caption templates changed
    • Stabilized desktop AI operations on macOS and preserved quoted upload filenames
    • Corrected Codex MCP server installation through TOML configuration
  • Web browser downloads
    • Corrected redirected downloads on macOS and native WebView2 media downloads on Windows
  • Platform compatibility and extension tooling
    • Corrected Flatpak installation reporting during update checks
    • Prevented Linux font initialization from hanging on fonts without names
    • Corrected analyzer tracking of query-pattern operators used by metadata callbacks
    • Included the appropriate Skia notices for each target runtime
Changelog
  • ci: add the Flatpak download link to release notes by @yuto-trd in #2198
  • chore(deps): bump anthropics/claude-code-action from 1.0.183 to 1.0.187 by @dependabot[bot] in #2200
  • Bump Refit from 14.0.1 to 15.0.0 by @dependabot[bot] in #2207
  • Bump Roslynator.Analyzers from 4.15.0 to 4.16.0 by @dependabot[bot] in #2208
  • feat: add zh-CN, ko-KR, and es localization by @yuto-trd in #2214
  • fix(api): report flatpak installs as zip in the update check by @yuto-trd in #2216
  • chore(deps): bump anthropics/claude-code-action from 1.0.187 to 1.0.189 by @dependabot[bot] in #2217
  • fix(ffmpegipc): make provider _disposed fields volatile by @yuto-trd in #2213
  • refactor!(ffmpeg): suppress missing-libraries error spam and lengthen re-probe cooldown by @yuto-trd in #2212
  • Bump Microsoft.Extensions.DependencyModel from 10.0.9 to 10.0.11 by @dependabot[bot] in #2224
  • Bump Microsoft.Extensions.Hosting and Microsoft.Extensions.Logging.Console by @dependabot[bot] in #2226
  • Bump Microsoft.Extensions.FileSystemGlobbing from 10.0.10 to 10.0.11 by @dependabot[bot] in #2225
  • Bump Microsoft.Extensions.DependencyInjection and Microsoft.Extensions.Logging by @dependabot[bot] in #2227
  • feat: distribute materials and templates through the package store by @yuto-trd in #2215
  • chore(deps): bump anthropics/claude-code-action from 1.0.189 to 1.0.190 by @dependabot[bot] in #2228
  • Bump Microsoft.Extensions.ObjectPool from 10.0.10 to 10.0.11 by @dependabot[bot] in #2229
  • Bump Microsoft.Extensions.TimeProvider.Testing from 10.8.0 to 10.9.0 by @dependabot[bot] in #2230
  • Bump NuGet.Protocol and NuGet.Resolver by @dependabot[bot] in #2234
  • Bump NuGet.Packaging from 7.6.0 to 7.9.0 by @dependabot[bot] in #2231
  • Bump NuGet.ProjectModel from 7.6.0 to 7.9.0 by @dependabot[bot] in #2232
  • build(deps): bump anthropics/claude-code-action from 1.0.190 to 1.0.191 by @dependabot[bot] in #2235
  • Bump ModelContextProtocol and ModelContextProtocol.AspNetCore by @dependabot[bot] in #2238
  • Bump System.CommandLine from 2.0.10 to 2.0.11 by @dependabot[bot] in #2240
  • Bump System.Management from 10.0.10 to 10.0.11 by @dependabot[bot] in #2241
  • feat!: Show object template thumbnails in the file browser by @yuto-trd in #2243
  • feat!: Support multiple file browser tabs with per-instance titles by @yuto-trd in #2242
  • refactor!(api): require CancellationToken on API client and store calls by @yuto-trd in #2244
  • feat(engine)!: add audio latency reporting and tail compensation by @yuto-trd in #1998
  • refactor!(api): harden API application and package-tools lifecycles by @yuto-trd in #2245
  • Bump Refit from 15.0.0 to 15.1.0 by @dependabot[bot] in #2251
  • Bump NAudio.Wasapi from 2.3.0 to 3.0.0 by @dependabot[bot] in #2250
  • Bump Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0 by @dependabot[bot] in #2248
  • build(deps): bump anthropics/claude-code-action from 1.0.191 to 1.0.193 by @dependabot[bot] in #2246
  • Bump Microsoft.Windows.CsWin32 from 0.3.298 to 0.3.321 by @dependabot[bot] in #2256
  • Bump Microsoft.CodeAnalysis.Analyzers and Microsoft.CodeAnalysis.CSharp by @dependabot[bot] in #2254
  • Bump Microsoft.CodeAnalysis.CSharp.Scripting from 5.6.0 to 5.9.0 by @dependabot[bot] in #2255
  • Bump Microsoft.CodeAnalysis.Analyzers from 5.9.0-1.26328.17 to 5.9.0 by @dependabot[bot] in #2260
  • Bump NAudio.Wasapi from 3.0.0 to 3.0.1 by @dependabot[bot] in #2261
  • build(deps): bump anthropics/claude-code-action from 1.0.193 to 1.0.195 by @dependabot[bot] in #2262
  • build(deps): bump anthropics/claude-code-action from 1.0.195 to 1.0.199 by @dependabot[bot] in #2266
  • Bump OpenTelemetry and OpenTelemetry.Exporter.OpenTelemetryProtocol by @dependabot[bot] in #2270
  • Bump NAudio.Core from 2.3.0 to 3.0.1 by @dependabot[bot] in #2257
  • ci: cache .NET intermediate build outputs by @yuto-trd in #2272
  • Bump Roslynator.Analyzers from 4.16.0 to 5.0.0 by @dependabot[bot] in #2276
  • Bump NUnit3TestAdapter from 6.2.0 to 6.3.0 by @dependabot[bot] in #2274
  • build(deps): bump anthropics/claude-code-action from 1.0.199 to 1.0.200 by @dependabot[bot] in #2273
  • Bump Refit from 15.1.0 to 15.2.0 by @dependabot[bot] in #2275
  • fix(ffmpeg)!: propagate FFmpeg error codes over IPC and translate known failures by @yuto-trd in #2271
  • fix(editor): complete the editor-clock bridge subject and guard the playback loop past PlayerViewModel disposal by @yuto-trd in #2265
  • refactor(engine)!: GPU pass fusion — record-then-plan pipeline with fused shader passes by @yuto-trd in #2221
  • refactor!: make Resource.GetOriginal() nullable and add RequireOriginal() by @yuto-trd in #2205
  • ci: integrate Codecov coverage reporting by @yuto-trd in #2306
  • Bump Microsoft.Windows.CsWin32 from 0.3.321 to 0.3.330 by @dependabot[bot] in #2297
  • Bump System.Security.Cryptography.Xml from 10.0.10 to 10.0.11 by @dependabot[bot] in #2279
  • fix(shell): resolve macOS extension menus by header by @yuto-trd in #2315
  • feat!: add Git version control for editing projects by @yuto-trd in #2164
  • refactor!: Make the Agent Editing Toolkit advisory-first by @yuto-trd in #2150
  • Bump NAudio.Core from 3.0.1 to 3.1.0 by @dependabot[bot] in #2328
  • Bump NAudio.Wasapi from 3.0.1 to 3.1.0 by @dependabot[bot] in #2329
  • Bump Microsoft.Windows.CsWin32 from 0.3.330 to 0.3.333 by @dependabot[bot] in #2327
  • test: preserve shared shell across window tests by @yuto-trd in #2335
  • refactor: remove repository AI development setup by @yuto-trd in #2333
  • feat!: recover malformed elements and preserve repair workflows by @yuto-trd in #2159
  • test(rendering): scope renderer pull API census by @yuto-trd in #2314
  • refactor(core)!: use canonical filesystem path identity by @yuto-trd in #2316
  • fix(agent-host): treat disabled editors as unavailable sessions by @yuto-trd in #2320
  • feat(proxy): add lease-based job admission by @yuto-trd in #2321
  • ci: reduce .NET workflow turnaround time by @yuto-trd in #2336
  • fix(core): remove stale path comparison API references by @yuto-trd in #2339
  • fix(tests): avoid shadowed census alias variable by @yuto-trd in #2341
  • fix(agent-host): harden concurrent endpoint lifecycle by @yuto-trd in #2323
  • fix(file-browser): ignore watcher events after disposal by @yuto-trd in #2322
  • refactor(extensibility)!: make output admission host-controlled by @yuto-trd in #2319
  • refactor(extensibility)!: make context command execution awaitable by @yuto-trd in #2318
  • feat!: add paid AI editing workflows by @yuto-trd in #2305
  • refactor(project-system)!: propagate persisted-content migration requirements by @yuto-trd in #2317
  • fix(tests): migrate context fixtures to async element addition by @yuto-trd in #2343
  • refactor!: isolate HistoryManager transactions by @yuto-trd in #2325
  • refactor: simplify recovery workflows and harden saving by @yuto-trd in #2346
  • fix: prevent crashes from zero-length resize requests by @yuto-trd in #2347
  • fix: address preview 7 review findings by @yuto-trd in #2363
  • refactor!: migrate controls and dialogs to Avalonia 12 APIs by @yuto-trd in #2364
  • test: avoid racing successful preview recovery by @yuto-trd in #2370
  • refactor!: centralize reusable tool content disposal by @yuto-trd in #2369
  • test: make proxy notification recording thread-safe by @yuto-trd in #2371
  • fix: keep plain-key shortcuts from stealing terminal input by @yuto-trd in #2372
  • feat: Add hover close button and inline add button to dock tabs by @yuto-trd in #2374
  • feat: add cross-platform Nuke dev command by @yuto-trd in #2375
  • chore: update dependencies except SkiaSharp and HarfBuzzSharp by @yuto-trd in #2376
  • build(deps): bump anthropics/claude-code-action from 1.0.200 to 1.0.219 by @dependabot[bot] in #2365
  • feat: add a web browser tool tab by @yuto-trd in #2377
  • docs: correct the render-cache performance record by @yuto-trd in #2384
  • fix: apply SourceBackdrop opacity to its captured image by @yuto-trd in #2380
  • feat: open DisplacementMapTransform to out-of-tree transforms by @yuto-trd in #2381
  • fix: preserve lexical project paths for Git tree lookup by @yuto-trd in #2382
  • fix: dispose the targets EffectTargets drops by @yuto-trd in #2383
  • feat!: migrate to SkiaSharp 4.152 and adopt its new APIs by @yuto-trd in #2386
  • feat: render variable fonts at the requested weight by @yuto-trd in #2392
  • feat: add FilterEffectContext.Crop and resample scaled surface blits by @yuto-trd in #2393
  • feat: read render targets back without waiting for the GPU by @yuto-trd in #2394
  • Bump FluentIcons.Avalonia.Fluent from 2.1.339.1 to 2.1.341 by @dependabot[bot] in #2388
  • feat(ui): unify tool tab layouts and settings groups by @yuto-trd in #2395
  • fix!: refuse 3D allocations past what the device can attach by @yuto-trd in #2396
  • fix: tolerate a directory listing that repeats a name by @yuto-trd in #2399
  • fix: stop rejecting record values in the version-control graph by @yuto-trd in #2400
  • fix(ui): restore Windows caption button icons by @yuto-trd in #2406
  • test: wait for a cancelled storyboard job to release its lease by @yuto-trd in #2403
  • fix: show tool tab close button on selected hover by @yuto-trd in #2407
  • fix: align version control with plain Git by @yuto-trd in #2398
  • fix: derive the replay caller density in the fragment's logical space by @yuto-trd in #2397
  • fix: recover interrupted data package installations by @yuto-trd in #2405
  • fix: await project close before desktop lifetime Exit by @yuto-trd in #2404
  • fix: balance horizontal dock layout gutters by @yuto-trd in #2402
  • fix: gate File Browser writes behind the host workspace admission by @yuto-trd in #2409
  • fix: restore every file a failed scene save replaced by @yuto-trd in #2411
  • fix: save scenes beneath traverse-only ancestors by @yuto-trd in #2412
  • fix: stop an undrawn 3D scene from answering hit tests by @yuto-trd in #2413
  • fix: publish reftable snapshots through HEAD by @yuto-trd in #2410
  • fix: reuse 3D material draw bindings once their frames complete by @yuto-trd in #2414
  • refactor!: consolidate the buffer-dimension budget into one type by @yuto-trd in #2415
  • fix: follow the query-pattern operators a metadata callback runs by @yuto-trd in #2418
  • fix!: measure and hit test Append and Set where they draw by @yuto-trd in #2421
  • feat: show each tool tab's extension icon left of its title by @yuto-trd in #2417
  • Bump Microsoft.NET.Test.Sdk from 18.10.0 to 18.10.1 by @dependabot[bot] in #2425
  • feat: improve responsive property editor layouts by @yuto-trd in #2428
  • fix: stop a 3D scene the device cannot attach from answering hit tests by @yuto-trd in #2424
  • fix: carry a standalone value's migration into the owner that saves it by @yuto-trd in #2416
  • perf: reduce Git and project lifecycle overhead by @yuto-trd in #2426
  • fix: clear new build warnings by @yuto-trd in #2431
  • fix: open a new Git-tracked project only after its first version is recorded by @yuto-trd in #2433
  • feat: let the start page's recent list delete a project from disk by @yuto-trd in #2432
  • fix: show progress in place of suspended editors while enabling version control by @yuto-trd in #2436
  • fix!: raise Reset or Remove and Add when a CoreList is replaced by @yuto-trd in #2437
  • chore(deps): bump codecov/codecov-action from 7.0.0 to 7.1.0 by @dependabot[bot] in #2439
  • fix: correct NodeGraph default values for Scale and Random nodes by @yuto-trd in #2450
  • refactor: shorten file and browser tab names by @yuto-trd in #2449
  • fix: make default brush and effect colors opaque by @yuto-trd in #2451
  • Bump HarfBuzzSharp.NativeAssets.Linux from 14.2.1.200 to 14.2.1.201 by @dependabot[bot] in #2445
  • Bump SkiaSharp.NativeAssets.Linux from 4.152.0 to 4.152.1 by @dependabot[bot] in #2448
  • Bump HarfBuzzSharp, SkiaSharp and SkiaSharp.HarfBuzz by @dependabot[bot] in #2447
  • feat: integrate online storage into the file browser by @yuto-trd in #2427
  • feat: gate AI workspace behind sign-in and Pro plan with an empty-state panel by @yuto-trd in #2452
  • fix: own each Git command's process group from launch by @yuto-trd in #2434
  • fix: keep the AI Subtitles template choice when caption templates change by @yuto-trd in #2441
  • fix: raise exactly the inserted items from CoreList span inserts by @yuto-trd in #2440
  • fix: record Reset notifications of observed lists in history by @yuto-trd in #2442
  • feat!: add provider video inputs and desktop video editing by @yuto-trd in #2453
  • test: reduce redundant setup and speed up test execution by @yuto-trd in #2454
  • fix: show keyframe menus beneath overlapping control points by @yuto-trd in #2463
  • refactor!: replace known editor commands with capabilities by @yuto-trd in #2464
  • refactor!: rename FilterEffectActivator to FilterEffectExecutor by @yuto-trd in #2461
  • chore(deps): bump codecov/codecov-action from 7.1.0 to 7.1.1 by @dependabot[bot] in #2456
  • Bump Refit from 15.2.0 to 16.1.0 by @dependabot[bot] in #2459
  • Bump Microsoft.Windows.CsWin32 from 0.3.333 to 0.3.335 by @dependabot[bot] in #2471
  • Bump OpenTelemetry and OpenTelemetry.Exporter.OpenTelemetryProtocol by @dependabot[bot] in #2473
  • feat: add nested object input ports to the node graph by @yuto-trd in #2460
  • feat: add WebView ad blocking with external filter lists by @yuto-trd in #2468
  • fix: handle redirected browser downloads on macOS by @yuto-trd in #2467
  • ci: migrate release-note workflows to opencode by @yuto-trd in #2474
  • Bump Avalonia and Avalonia.Skia by @dependabot[bot] in #2479
  • Bump Avalonia and Avalonia.Headless by @dependabot[bot] in #2477
  • ci: pass discussion fields through env in the release-notes dispatcher by @yuto-trd in #2476
  • feat: open package details from web installation links by @yuto-trd in #2465
  • Bump Avalonia.Headless.NUnit from 12.1.2 to 12.1.3 by @dependabot[bot] in #2478
  • fix: stabilize desktop AI operations on macOS by @yuto-trd in #2485
  • test(ui): wait for a rendered frame before hit testing the graph editor by @yuto-trd in #2484
  • feat!: always enable auto save by @yuto-trd in #2481
  • fix: preserve quoted AI upload filenames by @yuto-trd in #2486
  • fix: handle native WebView2 media downloads by @yuto-trd in #2480
  • feat: open file browser items in system file manager by @yuto-trd in #2487
  • feat: improve node graph editing and property hover guidance by @yuto-trd in #2498
  • fix(serialization): follow file-backed references when discovering migration requirements by @yuto-trd in #2483
  • fix(rendering): hold typed fallback stages and nested activation to a named buffer budget by @yuto-trd in #2482
  • refactor: enable nullable reference types in Beutl.Controls by @yuto-trd in #2502
  • Bump AsyncImageLoader.Avalonia from 3.8.0 to 4.0.0 by @dependabot[bot] in #2505
  • Bump Moq from 4.20.72 to 4.21.0 by @dependabot[bot] in #2506
  • fix: preserve natural timeline scrolling for touchpads by @yuto-trd in #2508
  • feat!: align 3D space with 2D and add 2D drawables as 3D cards by @yuto-trd in #2488
  • feat(analyzers): report what BESG004 cannot follow instead of treating it as pure by @yuto-trd in #2501
  • fix: install Codex MCP servers through TOML configuration by @yuto-trd in #2509
  • fix: avoid file browser refreshes during autosave by @yuto-trd in #2514
  • feat!: focus agent tools on editing and add custom GLSL passes by @yuto-trd in #2511
  • feat: simplify AI workspace section labels by @yuto-trd in #2517
  • Bump FluentIcons.Avalonia.Fluent from 2.1.341 to 2.1.343 by @dependabot[bot] in #2520
  • Bump coverlet.collector from 10.0.1 to 10.1.0 by @dependabot[bot] in #2519
  • Bump Refit from 16.1.0 to 16.3.0 by @dependabot[bot] in #2523
  • feat: improve path editor interactions and point inspector by @yuto-trd in #2515
  • feat: improve graph editor workflows and property navigation by @yuto-trd in #2518
  • feat: add Flatpak updates to the existing updater by @yuto-trd in #2527
  • feat: display unavailable graph nodes using IFallback by @yuto-trd in #2530
  • fix: correct node graph text input and touchpad gestures by @yuto-trd in #2543
  • fix: synchronize Vulkan layouts with custom libSkiaSharp by @yuto-trd in #2538
  • feat: Add ComfyUI-style AI generation nodes to the node graph by @yuto-trd in #2542
  • fix: harden project sharing, exports, updates, and plugin loading by @yuto-trd in #2539
  • ci: lock GitHub Actions dependencies by @yuto-trd in #2545
  • fix: make graph node positions culture independent by @yuto-trd in #2546
  • test: stabilize path editor selection clicks by @yuto-trd in #2547
  • fix: prevent Linux font initialization hangs for nameless fonts by @yuto-trd in #2549
  • fix: make ad-block matching tests deterministic by @yuto-trd in #2551
  • fix: keep PBR data maps out of sRGB decoding by @yuto-trd in #2550
  • fix: prevent races in KeySpline evaluation by @yuto-trd in #2548
  • Bump NUnit from 4.6.1 to 5.0.0 by @dependabot[bot] in #2521
  • fix: load 3D model files off the UI thread by @yuto-trd in #2552
  • fix: migrate ReactiveUI Avalonia while preserving UI scheduling by @dependabot[bot] in #2534
  • perf: remove CPU waits between Skia and Vulkan render passes by @yuto-trd in #2560
  • fix: run render benchmarks with Beutl's libSkiaSharp by @yuto-trd in #2561
  • fix(engine): retain ancestor render plans when nesting changes by @yuto-trd in #2567
  • fix: account for media speed in trim modes by @yuto-trd in #2564
  • fix: drain scene work before completing playback pause by @yuto-trd in #2568
  • perf: keep the CPU wait before Vulkan passes read Skia's Metal output by @yuto-trd in #2574
  • feat: collect detailed desktop usage telemetry by @yuto-trd in #2570
  • feat: add particle emitter prewarm duration by @yuto-trd in #2563
  • fix: clamp nested media trims to their sampled windows by @yuto-trd in #2565
  • fix: render and hit-test split color glyphs by @yuto-trd in #2566
  • fix: respect playback speed when trimming media by @yuto-trd in #2572
  • fix: preserve collection notifications and graph value ownership by @yuto-trd in #2575
  • fix: close dispatcher and asynchronous operation lifetimes safely by @yuto-trd in #2576
  • fix: preserve Vulkan and renderer resource ownership by @yuto-trd in #2577
  • fix: retire audio and FFmpeg startup resources safely by @yuto-trd in #2578
  • fix: preserve editor preview and asynchronous UI state by @yuto-trd in #2579
  • fix: preserve persistence state and release editor resources by @yuto-trd in #2580
  • test: correct portable host and process fixtures by @yuto-trd in #2581
  • fix: only auto-save settings to a file the configuration restored by @yuto-trd in #2582
  • feat: upload large Git LFS objects through a bundled tus agent by @yuto-trd in #2585
  • feat: upload Git LFS parts in parallel to hosted Git by @yuto-trd in #2586
  • fix: publish Skia notices for the target runtime by @yuto-trd in #2587

Full Changelog: v2.0.0-preview.7...v2.0.0-preview.8