Repository navigation
What's Changed
- svg: bound raster surfaces and handle duplicate gradient stops by @dylanmtaylor in #2190
- ui: bound queued synthetic input gestures by @dylanmtaylor in #2197
- text: bound layout and variable font metadata by @dylanmtaylor in #2193
- pdf: bound image sample and mask allocations by @dylanmtaylor in #2191
- roto: bound frozen matte decoding and serialization by @dylanmtaylor in #2194
- expr: bound rewrite expansion and preserve assignment targets by @dylanmtaylor in #2195
- fix: validate the CLI path in the AE ease checker (SonarCloud jssecurity:S8705) by @dylanmtaylor in #2214
- fix: put the NOSONAR marker on the spawnSync line (SonarCloud follow-up) by @dylanmtaylor in #2215
- fix: document the AE checker's operator-supplied CLI path (SonarCloud) by @dylanmtaylor in #2217
- fix: suppress the stat check's taint finding (SonarCloud) by @dylanmtaylor in #2218
- segment: bound checkpoint tensors and pickle work by @dylanmtaylor in #2192
- xtask: use unique temporary directories for bench tests by @dylanmtaylor in #2196
- packaging: use [[ tests, named locals and explicit returns (SonarCloud S7688/S7679/S7682) by @dylanmtaylor in https://github.com//pull/2187
- Use chrono instead of hand-rolled UTC conversion by @dylanmtaylor in #2023
- CI: dev-profile gate, one test binary per crate, nextest, line tables only by @aiongg in #2235
- Packaging: pin the signing client and appimagetool, and check their hashes by @aiongg in #1976
- Footage, Lottie and models: resolve stored paths with craft-docpath's resolve_absolute by @aiongg in #1975
- GPU tests: pass on Mesa lavapipe (boundary flips, skip the Reshape case that crashes it); cargo fmt by @aiongg in #2239
- CI: shared gate workflow; FreeBSD nightly and on release by @aiongg in #2204
- security: move the release workflow's write permission to the job level (SonarCloud githubactions:S8233) by @dylanmtaylor in #2241
- Translations: missing strings show in English and are listed by a report, not failed by tests by @aiongg in #2244
- ci(sonar): stop cancelling main-branch runs so coverage is published by @dylanmtaylor in #2249
- Integration batch 1: 18 contributor PRs (CJK fonts, timeline, preview caches, interface languages) by @aiongg in #2257
- Preview: keep rendering past the cached frames after a loop or restart by @ded-achtung in #1920
- Layer: replace a layer's source with Alt-drag and Ctrl+Alt+/ (#991) by @ki2pixel in #1929
- Layer: Reveal Layer Source in Project from the context menus (#1809) by @ki2pixel in #1931
- Timeline: the disk-cache bar checks only the visible frames by @arnav-hiwarkar in #2048
- engine: split layers above the original by default (#2083) by @gmrmad1 in #2114
- ui: Spacebar hand pans timeline rows vertically (#2083) by @gmrmad1 in #2116
- ui: the interface prefers the platform's UI faces, rendered text keeps the print ones by @FeiLiuEM in #1322
- Preview: replaced browser media gets a new disk-cache key (#1253) by @vbasky in #1699
- Text: draw Faux Bold and synthetic bold (#1676) by @HEOJUNFO in #1837
- i18n: tab titles, workspaces and Project/Timeline column headers reach the catalogs; web language follows ?lang= and the browser by @devius in #1842
- i18n: Georgian (ka) interface language by @devius in #1843
- Timeline: layer switches, labels and modes act on the whole selection (#1849) by @ki2pixel in #1850
- Text Range Selector: Start, End and Offset show as counts with Units = Index (#1814) by @SBaksa in #1865
- fix(text): isolate CJK fallback language and cache entries by @TimotheusG in #1907
- #1812: stills at reduced resolution are resampled once, and their layers cached by @ded-achtung in #1917
- #1812: workers that render a layer at once share the cached buffer by @ded-achtung in #1928
- Fix incomplete system font coverage in the Chinese interface by @yuraizmailov in #1973
- Preview: a zoom or resolution change evicts the other sizes' frames first by @arnav-hiwarkar in #2046
- Translations report: count repeated menu entries once; list panel strings no catalog has yet by @aiongg in #2252
- Integration batch 2: 18 contributor PRs (SVG, engine, colour effects, effects, settings, tests) by @aiongg in #2259
- Color effects and keys render as in After Effects (Tint, Tritone, Black & White, Exposure, Levels, Brightness & Contrast, Curves, Luma Key, Extract, 4-Color Gradient, Fill) by @vangel76 in #1872
- Resolve SVG font-size percentages against the parent font size by @Silvertree2010 in #1901
- engine: a keyframe on the out point no longer warns (#2084) by @gmrmad1 in #2106
- svg: share CSS declaration blocks and cap <style> work (#2140) by @Barzabel in #2159
- i18n(ja): AE says 縦横比, not アスペクト比 by @zitann2020 in #2166
- Project Settings: Frame Count, Start at 0 or Start at 1 by @marcoarnulfo in #2185
- #2094 (adv): crisp cast shadows so diffusion only softens by @ChristopherLinnett in #2211
- Composition Settings: Resolution menu with the frame size and memory at that resolution by @marcoarnulfo in #2223
- UI: native press-and-browse menus, with edge auto-scroll by @elZanco in #1653
- Tests: serialise disk-cache-opening tests with the roto tests by @iannitram in #1833
- Cryptomatte: pick the ID under a point into the Selection (
effect.pickCryptomatte) by @MatejKozlovsky in #1841 - Make Fractal Noise evolution progress linearly by @Silvertree2010 in #1846
- xtask bench: run on Windows (scenario commands from an args file, os error 206) by @ded-achtung in #1906
- test(render): make automatic backend checks independent of timing by @TimotheusG in #1915
- Motion Tile's Output size works on adjustment layers (#1727) by @ded-achtung in #2003
- 3D: add a New 3D Primitive dialog to Layer > New by @tylerjenningsw in #2050
- engine: resolve effect match-name paths in prop_ref (#2064) by @gmrmad1 in #2108
- Regression tests for #354, #382, #979 and #1497 by @skylartaylor in #2182
- Integration batch 3: 19 contributor PRs (interface, engine, effects, GPU, PDF and EPS import) by @aiongg in #2260
- effects: CC Radial Fast Blur grows its buffer so streaks pass the layer edge (#2095) by @mercuryVM in #2206
- Cryptomatte: skip the ID colours unless Colors shows them, key the layer in place, and cache each rank's last ID colour by @MatejKozlovsky in #1604
- Shift Channels: After Effects' Take … From menu order, so 10 is Full Off (#1797) by @Anubhav-Rai in #1810
- Hold position between identical auto-Bézier spatial keys by @Silvertree2010 in #1847
- EPS: Illustrator EPS files draw their artwork (#955) by @JWesCampbell in #1909
- #1926: an edit no longer stamps every image-sequence frame for the disk cache by @ded-achtung in #1946
- script: comp.width and comp.height resize the frame without moving the layers (#1942) by @Anubhav-Rai in #1958
- Make Gaussian Blur and Fast Box Blur continuous at small values (#1939) by @MarekSpodBiedry in #1968
- Fix #1708: calibrate CC Blobbylize from the AE oracle by @ki2pixel in #2027
- Fractal Noise: resolve the Blending Mode once per layer, not per pixel by @arnav-hiwarkar in #2040
- Save: check the file's values without reparsing it in release builds by @arnav-hiwarkar in #2041
- GPU: devices favour memory use, so Purge and Close give video memory back by @arnav-hiwarkar in #2045
- Light Settings: expose and preserve Environment lights by @tylerjenningsw in #2049
- Timeline: pick layer-valued properties from a layer drop-down (#2093) by @ChristopherLinnett in #2155
- Fix u32 overflows in PDF CID width tables and CMap ranges (#2147) by @MarekSpodBiedry in #2163
- engine: deleting a layer clears the references to it (#2153) by @Anubhav-Rai in #2177
- Reject malformed thumbnail text without crashing (#2135) by @Maokus in #2178
- Reload a numbered still as its own file (#2074) by @HEOJUNFO in #2184
- fix(ui): expose Duplicate in the Project panel context menu (#2207) by @Zaxaerith in #2221
- Integration batch 4: 15 contributor PRs (interface, scripting, hardening, docs) by @aiongg in #2264
- Reject non-hex characters such as '+' in Rgba::from_hex by @Silvertree2010 in #1945
- CLI: preserve template composition names when rendering by @tylerjenningsw in #1948
- Keep rgb_to_hsv and rgb_to_hsl hue within 0..1 by @Silvertree2010 in #1997
- docs: escape the backtick in the twirlSelected shortcut (#2025) by @gmrmad1 in #2033
- Return None from Mat4::inverse for non-finite input by @Silvertree2010 in #2156
- Settings: fit translated page names in the sidebar (#2034) by @Maokus in #2171
- End an open text edit when Deselect All runs (#2096) by @ChristopherLinnett in #2228
- Timeline: focus newly added expressions after Alt-click (refs #1072) by @tylerjenningsw in #1327
- Timeline: a shape group's inner Contents draws no row, as After Effects elides it by @elZanco in #1761
- Fix scheduled ScriptUI tasks in host sessions by @dorfee in #1867
- Reject non-finite numbers in CSS colour parsing by @Silvertree2010 in #1881
- fix(script): interrupt blocked socket writes on close by @TimotheusG in #1891
- Viewer: keep hidden AV layers' controls visible (#1769) by @ki2pixel in #1933
- Settings: list the languages alphabetically by their own name by @nikolainyegaard in #2016
- ui: scrub hot text from the slider range (#2097) by @gmrmad1 in #2110
- PDF: repin the shared reader to craft-libs 9f75d3dc (xref, object-stream, graphics-state and JBIG2 input bounds) by @aiongg in #2265
- Preview: an edit keeps the cached frames outside the layers it changes (#1641) by @arnav-hiwarkar in #1643
New Contributors
- @aiongg made their first contribution in #2235
- @ded-achtung made their first contribution in #1920
- @ki2pixel made their first contribution in #1929
- @devius made their first contribution in #1842
- @SBaksa made their first contribution in #1865
- @TimotheusG made their first contribution in #1907
- @yuraizmailov made their first contribution in #1973
- @Barzabel made their first contribution in #2159
- @ChristopherLinnett made their first contribution in #2211
- @mercuryVM made their first contribution in #2206
- @JWesCampbell made their first contribution in #1909
- @Maokus made their first contribution in #2178
- @Zaxaerith made their first contribution in #2221
- @dorfee made their first contribution in #1867
- @nikolainyegaard made their first contribution in #2016
Full Changelog: v0.16.0...v0.17.0