What's Changed
- fix: filmcraft-cli exits quietly on broken pipe (#285) by @mjohnson7cd in #297
- #341: CLI export message names the file written, not the requested path by @JordyUSA in #362
- chore(lints): satisfy strict workspace Clippy on Rust 1.95 by @WavJaby in #252
- #379: preset export and import go through the host, so the web build no longer traps by @MarekSpodBiedry in #393
- #340: FCP7 XML clip source span always matches its record span by @txiki739 in #392
- #318: a reversed clip shows exactly its source range by @txiki739 in #394
- fix: frame stepping broken for non-standard frame rates (#301) by @mjohnson7cd in #324
- #382: File > Export entries work from the menus by @txiki739 in #391
- #259: the edge you press is the edge you trim by @ItzBloxy in #399
- macOS DMG: branded window background and icon layout by @XusBadia in #263
- HW5: Linux VA-API hardware decoding for H.264 and HEVC (Main / Main 10) by @JordyUSA in #358
- #214: install script for the Linux tarball by @txiki739 in #387
- Desktop: write log records to standard error and a rotating log file by @switch87 in #249
- M10: keep combining marks in one vertical text cell by @midasdf in #289
- M10: use Japanese vertical forms and origins for titles by @midasdf in #277
- Issue #139: portable.txt next to the exe keeps the data directory beside it by @MarekSpodBiedry in #303
- Go to In / Go to Out move to the sequence start / end without marks (#208) by @carlitosteso3 in #221
- Program monitor: the picture follows a value that is dragged by @justjohn12345 in #304
- Keyframes: Properties gets Premiere's navigator, Effect Controls a time ruler by @justjohn12345 in #307
- #220: Unlink leaves only the right-clicked clip selected by @MrCloudy2 in #250
- shortcuts: Delete clears the selected timeline clips (#243) by @wstock in #261
- engine: project.delete takes explicit bin ids without a Project-panel selection (#244) by @wstock in #253
- fix(import): use the open Project bin as destination by @WavJaby in #241
- Decode caches: navigation bursts no longer keep every clip's decoder and frames (#55) by @SaymonMaster14 in #381
- Thumbnails decode with small decoders that are not kept (#55) by @SaymonMaster14 in #385
- fix(gpu): normalize YUV code ranges independently of texture scaling by @WavJaby in #319
- Embedding: set_context on the web app, header and status bar flags, status bar colour token by @rossaai in #349
- Windows: export paths expand ~, accept trailing \ and verbatim paths by @Tom1tk in #282
- #296: Auto-Match measures a mono clip as one channel by @Pathos0925 in #305
- mixer: report only the audio gains actually applied by @storybored379 in #373
- graphics: keep duration separate from timeline placement by @storybored379 in #372
- MCP: cancelling a movie export keeps numbered files beside it by @storybored379 in #369
- export: keep alpha in PNG/TIFF sequences (Include Alpha Channel) (#160) by @wstock in #242
- #230: jobs time themselves with web_time, so Create Proxies and mask tracking don't panic on the web by @wstock in #237
- #197, #193: web recovery retries failed snapshot writes and keeps skipped snapshots dirty by @carlitosteso3 in #264
- Windows: platform modifier names in status-bar and mask hints by @Tom1tk in #270
- platform: ask for the hardware HEVC encoder in the background at startup by @dcarnelutti in #300
- #236: audio in MKV and OBS-remuxed MP4 plays without crackling by @IppSec in #359
- fix(web): preserve distinct same-name media imports by @WavJaby in #240
- Sequence ▸ Sequence Settings… opens Premiere's dialog (#172, #287) by @swillunderscore in #355
- control: Ctrl+ chords through ui.key fire shortcuts off macOS (#245) by @wstock in #256
- CI: gpu test uses as_chunks (clippy on Rust 1.99) by @echelon in #417
- Fix #179: leave OpenGL out of the Windows wgpu instance (Vulkan | DX12 by default) by @DWAA1660 in #365
- Windows: NVENC H.265 (HEVC) Main hardware encoding for Export by @SaymonMaster14 in #328
- README: install on Gentoo from the ::snakebyte overlay by @switch87 in #247
- export: free the frame pool when an export ends by @dcarnelutti in #299
- LINUX.VALIDATION: honor preset shortcuts and retain every MPEG oracle timestamp by @sanyamsingh001 in #368
- perf(web): feed WebCodecs YUV planes to the shared compositor by @WavJaby in #375
- GPU.EFFECT_SOURCE: preserve exact texel centers for effect inputs by @sanyamsingh001 in #376
- i18n: Spanish for the whole interface, catalog files and a remembered language by @txiki739 in #238
- perf(gpu): composite Push transitions on the shared GPU path by @WavJaby in #308
- WINCI: Fix Windows paths and portable validation (#337 by @cshapiro) by @echelon in #418
- WINCI: Fix Windows paths and portable validation by @cshapiro in #337
- Windows: NVENC H.265 Main 10 HDR (PQ / HLG) export by @SaymonMaster14 in #360
- Export: stage timings in perf.stats, and render the next batch while encoding by @SaymonMaster14 in #370
- M3.12: Source playback, clip dragging and monitor range editing (#338 by @cshapiro) by @echelon in #423
- M3.12: Source playback, clip dragging and monitor range editing by @cshapiro in #338
- platform: enable existing NVENC H.264 export on Linux by @storybored379 in #386
- M3.12: Export frames from Source and Program monitors (#353 by @cshapiro) by @echelon in #425
- M3.12: Export frames from Source and Program monitors by @cshapiro in #353
- New Sequence… opens the Sequence Settings dialog as New Sequence (stacked on #422) by @carlitosteso3 in #269
- Sequence Settings: Sequence Name on the General tab (follow-up to #355) by @carlitosteso3 in #422
- CI: gpu Push test uses as_chunks (clippy on Rust 1.99) by @echelon in #428
- feat(media, engine): implement multi-stream container audio support and schema v13 by @wisegamesyt-droid in #361
- Fix Chinese glyph rendering in native timeline and UI labels by @jerrykimo in #363
New Contributors
- @mjohnson7cd made their first contribution in #297
- @JordyUSA made their first contribution in #362
- @WavJaby made their first contribution in #252
- @MarekSpodBiedry made their first contribution in #393
- @txiki739 made their first contribution in #392
- @ItzBloxy made their first contribution in #399
- @XusBadia made their first contribution in #263
- @switch87 made their first contribution in #249
- @MrCloudy2 made their first contribution in #250
- @wstock made their first contribution in #261
- @rossaai made their first contribution in #349
- @Tom1tk made their first contribution in #282
- @Pathos0925 made their first contribution in #305
- @IppSec made their first contribution in #359
- @swillunderscore made their first contribution in #355
- @sanyamsingh001 made their first contribution in #368
- @cshapiro made their first contribution in #337
- @wisegamesyt-droid made their first contribution in #361
- @jerrykimo made their first contribution in #363
Full Changelog: v0.4.0...v0.5.0