github storytold/filmcraft v0.4.0
FilmCraft v0.4.0

5 hours ago

What's Changed

  • Windows on ARM64: release builds, PE header check, install test on ARM64 hardware by @echelon in #69
  • codecs: resampled MP4 audio reads apply the edit list once by @punkhop in #42
  • engine: file.exportInterchange refuses an unknown format by @punkhop in #46
  • interchange: an export names every title it cannot carry by @punkhop in #51
  • engine: a project saved after an interchange import opens again by @punkhop in #43
  • engine: sequence.inspect reports clip ends, gain and marker comments by @punkhop in #48
  • engine: sequence.inspect reports a reversed clip by @punkhop in #59
  • engine: clip.replaceFromBin can keep the clip's source In by @punkhop in #49
  • engine: Replace With Clip reports clips that run past the new media by @punkhop in #50
  • engine: a command whose targets are named in the parameters does not need a selection by @punkhop in #52
  • filmcraft: --help prints usage and an unknown option is an error by @punkhop in #47
  • engine: naming a track that does not exist is an error by @punkhop in #44
  • engine: timeline.place on an audio track places the sound there by @punkhop in #60
  • engine: timeline.move takes linked partners along by @punkhop in #45
  • edit: a ripple trim takes a later split edit along by @punkhop in #56
  • edit: ripple delete closes one gap for a clip with a split edit by @punkhop in #57
  • edit: a speed change with ripple moves later clips once by @punkhop in #58
  • i18n: Japanese interface language (uses an installed system font) by @midasdf in #38
  • MEM1–MEM4 + HW1: clip memory on a timeline from 12 GB to 1.9 GB; hardware decode actually on by @justjohn12345 in #41
  • Docs: hardware decode correction; log the 2026-10-06 community batch by @echelon in #72
  • Fonts: use craft-fonts as an optional build input (Japanese UI and title fallback) by @echelon in #81
  • Tests: fix seed_sweep overflow and the speed-dependent export progress test by @justjohn12345 in #77
  • interchange: an FCP7 master clip lands in its bin when a sequence used it first by @punkhop in #64
  • project: Clear deletes a bin it is given, with everything in it by @punkhop in #68
  • timeline.move: report the clips an overwrite move covers by @punkhop in #96
  • codecs: look video frames up by the nearest timestamp unit (WebM at 30 fps drops every third frame) by @EthanSuquet in #83
  • h264enc: strict ffmpeg oracle that sees damaged slices (#74) by @EthanSuquet in #101
  • codecs: an MP4/MOV clip lasts as long as its edit list plays it by @EthanSuquet in #102
  • codecs: MP4/MOV pixel format and alpha come from hvcC, avcC and the ProRes frame header (#103) by @HEOJUNFO in #118
  • gpu: upload and composite the alpha plane of Y'CbCr frames by @dcarnelutti in #109
  • graphics: all eight layer handles scale towards the pointer by @justjohn12345 in #79
  • Timeline: the wheel scrolls as in Premiere, and the view cannot be lost by @justjohn12345 in #120
  • Packaging: describe FilmCraft, not PhotoCraft, in package metadata (#94, #100) by @carlitosteso3 in #126
  • i18n: Spanish interface language (Español) by @carlitosteso3 in #127
  • Icons: draw straight lines on whole device pixels by @punkhop in #128
  • docs: add star history chart to README by @coygeek in #122
  • Window ▸ Workspaces: save your own workspaces, like Premiere by @punkhop in #121
  • Ripple trim: a shorter head on a J-cut take is no longer refused by @punkhop in #104
  • Ripple trim: a shorter head after an L cut keeps the earlier sound in place by @punkhop in #124
  • Control: close the connection on input that isn't a request (#119) by @Luskish in #123
  • Sequence: Add Tracks… opens Premiere's dialog (amount, placement, track type) by @justjohn12345 in #117
  • HE-AAC plays at its output rate; AAC export caps the bitrate (#108, parts 1–2) by @carlitosteso3 in #129
  • Audio: mix playback 200 ms ahead so a busy Mac doesn't drop sound by @punkhop in #131
  • Audio: play a sequence on a device at another rate without phase jumps by @punkhop in #132
  • Nested sequences: interchange (AAF compositions, OMF rendered sound, EDL reel AX) by @justjohn12345 in #116
  • NEST4–NEST8: nest toggle, sequences as sources, Reveal in Project, Multi-Camera submenu by @justjohn12345 in #112
  • Timeline: sequence tabs, Premiere-style clip menu, Nest name dialog by @justjohn12345 in #78
  • NEST1–NEST3: nested sequences safety and Premiere-matching Nest (fixes two crashes) by @justjohn12345 in #82
  • Nested sequences: rendering fidelity (sizes, speed, effects, captions, waveforms) by @justjohn12345 in #113
  • Nested sequences: Timeline tabs (view per sequence, tab menu, reorder, restore on open) by @justjohn12345 in #115
  • Codecs: add clean-room APV (RFC 9924) decoder, encoder, container support, and export presets by @mweinbach in #105
  • Theme: interface type closer to Premiere's by @punkhop in #130
  • Hardening: hostile MP4 edit lists and cyclic subclip chains (#66) by @echelon in #142
  • Tests: image-sequence oracle fixtures are written atomically (#125) by @echelon in #143
  • MCP: render_frame and render_preview leave the playhead where it was (#114) by @echelon in #144
  • Transcripts: builds without speech-to-text say so (#97, #98, #89) by @echelon in #146
  • Packaging: the rpm requires glibc >= 2.35, as the deb does (#93) by @echelon in #147
  • Bridge: a blocking export runs as an app job, so it neither times out nor freezes the app (#91, #92) by @echelon in #154
  • Transcripts: disabled, not failing, in builds without speech-to-text (#89, #97, #98) by @carlitosteso3 in #151
  • Docs: releasing guide, CLI export options, README and CLAUDE.md drift (#85, #86, #87, #88, #99) by @echelon in #156
  • Packaging: the Flatpak can read a project's media wherever it lives (#107) by @echelon in #158
  • Web: window.filmcraft rejects with Error objects everywhere (#90) by @echelon in #159
  • Rename PrintCraft to PdfCraft by @echelon in #177
  • Graphics: point text and paragraph text, as Premiere has them by @justjohn12345 in #166
  • Graphics: only selected layers have a box, and a hidden layer has none by @justjohn12345 in #182
  • Graphics: New Layer from File anchors the picture at its own centre by @ajsongpilot in #190
  • Color Matte: pick the color on creation and change it later (#29) by @carlitosteso3 in #145
  • h264enc: 1-pass bitrate modes no longer starve the opening second by @EthanSuquet in #148
  • Playback: a stalled audio device no longer freezes the playhead (#136) by @carlitosteso3 in #155
  • Media Browser: probing a file doesn't read it whole (#157) by @carlitosteso3 in #165
  • Shortcut recorder accepts modifier chords; Add Edit cuts only selected clips (#164, items 1 and 5) by @carlitosteso3 in #173
  • i18n: add Brazilian Portuguese (pt-br) UI translation by @RicSchonfelder in #176
  • platform: opt-in hardware H.264 encoding with VideoToolbox by @dcarnelutti in #183
  • render: composite only what overlays cover, and reuse the float images by @dcarnelutti in #184
  • export: show the estimated time left of a render next to its percentage by @dcarnelutti in #185
  • platform: H.265 (HEVC) export with VideoToolbox by @dcarnelutti in #186
  • Engine: project.selectAll and project.deselectAll for the Project panel (#168) by @Luna161 in #189
  • Windows: Media Foundation/D3D11 hardware H.264 + HEVC decode by @SaymonMaster14 in #141
  • M10: choose vertical titles from the Type tool flyout by @midasdf in #195
  • Engine: file.import refreshes the offline-missing list (#110) by @Luna161 in #175
  • Windows: VP9 + AV1 hardware decode (Media Foundation / DXVA) by @SaymonMaster14 in #162
  • Windows: NVENC H.264 hardware encoding for Export (opt-in) by @SaymonMaster14 in #180
  • Q/W ripple trim only the selected clips' tracks (#164) by @carlitosteso3 in #207
  • Ripple delete names the sync-locked track in the way; playhead snaps to cuts (#164, items 2, 3 and snap) by @carlitosteso3 in #203
  • Stabilize project lifecycle, timeline, audio and export workflows by @cirocueto2013-wq in #192
  • #199: make Ctrl+C / Ctrl+X / Ctrl+V work on Windows and Linux by @DWAA1660 in #204
  • fix: support integer CPAL devices and recover voice-over/audio failures by @cirocueto2013-wq in #209
  • Web: Link Media Locate… links the chosen file to the selected missing clip (#111) by @Luna161 in #174
  • #188: regression test — a copied Graphic clip pastes at the playhead by @echelon in #212
  • fix: validate hostile project, export and MXF inputs by @cirocueto2013-wq in #210
  • About: contributor and model credits compiled in (grab bag + table, self-submitted names) by @echelon in #215
  • Speed/Duration opens its dialog; dragging an effect parameter is one undo step (#201) by @carlitosteso3 in #213
  • Release: FreeBSD, Flatpak x86_64/aarch64, AppImage zsync; README Downloads by @echelon in #267
  • README Downloads: where to get it, then builds (Windows first) by @echelon in #271

New Contributors

Full Changelog: v0.2.1...v0.4.0

Don't miss a new filmcraft release

NewReleases is sending notifications on new releases.