What's Changed
- Ignore leading byte order mark in SRT parser by @Silvertree2010 in #3781
- Read sub-dollar amounts without a zero major unit in TTS by @Silvertree2010 in #3783
- i18n(sv): translate 49 new strings by @kler in #3784
- Reject zero, negative and non-finite FPS in ALE import by @Silvertree2010 in #3790
- Refuse non-finite curve coordinates in effects.setParam by @Silvertree2010 in #3792
- Play/Stop once per Space press, not on key repeat by @marshiyar in #3795
- Timeline: the playhead glides during playback instead of jumping a frame at a time by @marshiyar in #3806
- Export: the time left counts down between batches; the status bar shows it once a second, in place by @kler in #3816
- Clamp negative EDL dissolve/wipe durations to 0 on import by @Silvertree2010 in #3827
- Handle sub-two 3D LUT sizes by @TheGalitube in #3839
- fix(ui): a project file dropped on the window opens it (#3843) by @mpratsaki in #3854
- fix(ui): the Project panel's Zoom sizes List thumbnails and the Freeform canvas (#3774) by @mpratsaki in #3871
- Serialize bridge render_frame calls so parallel requests get their own frame (#3837) by @MarekSpodBiedry in #3872
- Effect Controls: double-clicking a property's name resets it by @infinityespi in #3735
- text: count trailing spaces at a hard line end into the alignment width by @marshiyar in #3743
- ui: say where the project was saved in the status bar by @marshiyar in #3744
- effects: give 4-Color Gradient a position for each colour by @marshiyar in #3747
- Focus the Source monitor when a clip is opened in it (#3669) by @marshiyar in #3749
- Bokeh Blur: gather through a kernel of whole-pixel weights, 5x faster on the GPU by @kler in #3768
- History: each step shows the icon of the tool or command that made it by @dotCooCoo in #3776
- fix(graphics): Style buttons show and toggle the Type-tool selection by @alexanderalber in #3673
- G13: TikTok, Instagram Reels and YouTube Shorts export presets by @mpratsaki in #3721
- dng: bound lossless-JPEG decoding by the data it has and reject shared tile bytes by @marshiyar in #3680
- Luma Key: key out brights by @marshiyar in #3688
- Apply background mask tracking in headless sessions by @Silvertree2010 in #3303
- Parse AVI stream numbers as decimal by @TheGalitube in #3603
- ui: media browser test re-maximizes after Shift+O opens Source by @echelon in #3897
- engine: mask discard test checks the cancel flag, not the worker's timing by @echelon in #3899
- fix(ui): Save Arrangement refuses an unknown bin (#3774 follow-up) by @mpratsaki in #3900
- cli: --save runs on one project take turns, so no edit is lost by @JonRC in #3926
- Read decades like 1990s as plural years in TTS normalizer by @Silvertree2010 in #3930
New Contributors
- @mpratsaki made their first contribution in #3854
- @infinityespi made their first contribution in #3735
- @JonRC made their first contribution in #3926
Full Changelog: v0.16.0...v0.17.0