github storytold/filmcraft v0.18.0
FilmCraft v0.18.0

one hour ago

What's Changed

  • web: check MP4 sample extent before allocating its buffer by @dylanmtaylor in #4102
  • avi: hold child chunks to their container so lists cannot overlap by @dylanmtaylor in #4106
  • security(dnx): cap decoded frame memory and reject repeated scan line indices by @dylanmtaylor in #4101
  • security(apv): size the auxiliary alpha frame only after its tiles decode by @dylanmtaylor in #4109
  • web: load only a same-origin http(s) app in the WebCodecs read-error harness by @dylanmtaylor in #4103
  • captions: escape a TTML cue's unclosed '<' tail in one pass by @dylanmtaylor in #4105
  • interchange: AAF top-level composition carries the registered Usage_TopLevel (#3986) by @JonRC in #3987
  • Interchange export: saturate timecodes and PCM fields on hostile project values by @Lightningbulb2 in #4029
  • interchange: EDL clips named only by clip name are missing, not made offline (#3997) by @JonRC in #4000
  • interchange: EDL media relinked with Align Timecode lands on the file's own time (#3990) by @JonRC in #3996
  • interchange: an OTIO item at a sample rate no longer sets the sequence rate (#4111) by @JonRC in #4112
  • interchange: EDL and OMF export reports name the video tracks they leave out (#4132) by @JonRC in #4133
  • engine: AAF/OMF export takes bitDepth as "24" too, and refuses anything but 16 or 24 (#4019) by @JonRC in #4020
  • captions: TTML export writes the track language, import keeps it (#4025) by @JonRC in #4038
  • Reject '+'-signed audio channel numbers in EDL import by @Silvertree2010 in #3935
  • Only decode percent escapes made of hex digits in file URLs by @Silvertree2010 in #3936
  • Strip leading BOM in WebVTT parse even without a signature by @Silvertree2010 in #3961
  • Read TTS fractions with denominator 1 as "over one" by @Silvertree2010 in #3983
  • Fix per-character Stroke and Stroke 2 appearance controls by @wweimao in #3938
  • captions: SCC and MCC export name the characters they drop or replace (#4023) by @JonRC in #4036
  • i18n(ru): translate the 64 strings the missing-translations report listed (#1674) by @rahul05ranjan in #3960
  • i18n(zh-cn): translate the 41 strings the report listed as missing by @rahul05ranjan in #3964
  • codecs: an MP4 edit rounded to the movie timescale keeps the last frame by @Agapenordev in #3994
  • lumetri.presetThumbnails: write through the host and keep the grid to the presets by @Lightningbulb2 in #4030
  • Name Apple Intermediate Codec and show why a clip is unreadable (part of #3646) by @scks1 in #4010
  • cli: a missing project stops a save in place before it opens by @JonRC in #3946
  • Import by a relative path: '..' climbs out of the document folder, and media paths are resolved once (#3998, #4001) by @JonRC in #4004
  • essentialSound.set: ducking.against takes the type names setType takes by @JonRC in #4041
  • engine: the Metadata panel's Out Point is the last frame kept (#4114) by @JonRC in #4117
  • Image-sequence export reports the stills it wrote, not the path it was given by @JonRC in #4018
  • engine: timeline.move reads a time object and names an entry it cannot use (#4113) by @JonRC in #4116
  • #3948: Time interpolation applies when a clip's frame rate differs from the sequence's by @JonRC in #3949
  • #626: undecodable H.264 shows the unreadable slate at any slice QP, not black by @JonRC in #3959
  • media: say which colour values no tag gave (#4086) by @JonRC in #4089
  • fix(render): an opaque 8-bit still becomes the canvas, not a region over a zero-filled one by @JonRC in #4070
  • audio-dsp: the full-rate sync peak sets the polarity, not the coarse one (#4119) by @JonRC in #4120
  • gpu: export draws Push transitions on the GPU by @ivanao92 in #4122
  • fix(timeline): a marquee takes only the track rows its own pane shows (#2978) by @ivanao92 in #4118
  • fix(#3653): Timeline clicking it brings the Program monitor to the front of its group by @Kathir-D in #4012
  • fix(ui): Remove Attributes says that ticked attributes are removed (#3789) by @mpratsaki in #4003
  • fix(ui): shortcuts need exactly their modifiers by @texjer in #4016
  • gpu: the off-screen instance reads wgpu's flag variables (#4084) by @JonRC in #4087
  • fix(timeline): the Mix row's level sets the Mix fader (#3765) by @mpratsaki in #3954
  • macOS: keep AppKit's Touch Bar observers when AccessKit drops (no crash on quit) by @reedhewitt in #4002
  • dng: budget SubIFD references before reading and queueing them by @dylanmtaylor in #4108
  • security(edit): look up transcript track coverage by binary search by @dylanmtaylor in #4123
  • project: bound the speaker index a transcript word may carry by @dylanmtaylor in #4140
  • h264, hevc: refuse a decode call that starts an absurd number of pictures by @dylanmtaylor in #4231
  • codecs: bound AVI window copying, packet reads, H.264 head collection and decoded-packet caches by @dylanmtaylor in #4228
  • project: cut the speaker name copied into each derived transcript word by @dylanmtaylor in #4223
  • text: lay out overlapping runs, visual runs and wrapped lines without rescanning by @dylanmtaylor in #4221
  • codecs: cap the decoded samples a standalone file or Vorbis stream keeps in memory by @dylanmtaylor in #4203
  • engine: do not keep opened sources in relink search results by @dylanmtaylor in #4198
  • engine: merge imported presets through a name index by @dylanmtaylor in #4168
  • captions: cap the CEA-708 text an MCC import retains by @dylanmtaylor in #4121
  • h264: refuse slices that overlap macroblocks the picture already decoded by @dylanmtaylor in #4204
  • dng: reject zero or over-16-bit sample depths before unpacking by @dylanmtaylor in #4192
  • hevc: do not carry the previous segment's entry points into dependent slices by @dylanmtaylor in #4188
  • render: bound subclip recursion in the preview cost estimate by @dylanmtaylor in #4186
  • engine: leave unselected items' source graphics out of a selection export by @dylanmtaylor in #4183
  • captions: bound caption outline dilation work by @dylanmtaylor in #4110
  • mxf: resolve a source package's repeated track references once by @dylanmtaylor in #4212
  • security(mcp): bound queued parse-error replies so unread output stalls input by @dylanmtaylor in #4115
  • tts: look for a pause marker's closing bracket only a marker's length ahead by @dylanmtaylor in #4189
  • flac: consume encoder batches by offset instead of draining per frame by @dylanmtaylor in #4190
  • speech: validate the Whisper attention head count by @dylanmtaylor in #4195
  • engine: keep a shortcut preset named "active" from replacing the active set by @dylanmtaylor in #4201
  • media: bound still pixel count and YCbCr TIFF strips before allocating by @dylanmtaylor in #4214
  • edit: search transcript phrases in one pass by @dylanmtaylor in #4224
  • export: pick the cheaper resample axis order and refuse short sources in the 8-bit conversions by @dylanmtaylor in #4245
  • logging: escape control characters in a log message so it stays one record by @dylanmtaylor in #4255
  • render: cap Long Shadow and Glint lengths at the picture extent by @dylanmtaylor in #4200
  • media: validate offline slate audio before allocating silence by @dylanmtaylor in #4199
  • interchange: refuse repeated AAF storage ownership and bound weak paths, Bento names and FCP7 link lists by @dylanmtaylor in #4216
  • Pass the Linux signing key to the release workflow by @dylanmtaylor in #4303
  • ogg: stop reading when the packet list passes 256 MiB by @vangel76 in #4066
  • render: turn display-rotated video on the GPU (#3467) by @TuroYT in #3484
  • Preserve same-second autosave snapshots by @TheGalitube in #3844
  • About: credits tables fit without side-scrolling and their columns resize by @FredApps in #4234
  • docs: add a getting-started guide for fades and audio keyframes (#2973) by @Zaxaerith in #3090
  • Drag and drop folders in project media by @cobyfromhtc in #2632
  • Speed/Duration ▸ Maintain Audio Pitch time-stretches a clip's audio instead of resampling it by @txiki739 in #1684
  • Import Premiere .prfpset files and add Presets folder context menu by @justdxvid in #2719
  • #1221: H.264 High 10 and High 10 Intra export in the built-in encoder by @JordyUSA in #1580
  • feat(web): a host bridge for embedding pages, ?host=parent and data-host="page" (#3341) by @helenkwok in #3343
  • interchange: AAF/OMF audio tracks keep their names by @ondarrupeasu in #2845
  • Monitor: full-screen Program monitor cinema mode (#3652) by @lilgar77 in #3708
  • Timeline: a dragged transition snaps like a trimmed clip (#4328) by @ZIDAN44 in #4356
  • render, gpu: adjustment layers composited on the GPU by @EduardoAndradeMachado in #3032
  • Projects: Open Project asks to save unsaved changes first by @dotCooCoo in #1665
  • Copy the shared house rules into AGENTS.md by @FredApps in #4370

New Contributors

Full Changelog: v0.17.1...v0.18.0

Don't miss a new filmcraft release

NewReleases is sending notifications on new releases.