Repository navigation
v1.0.0
1.0.0 (2026-11-03)
This is the first release of 1. Maul Tween's API is settled, and from here it ships only minor and patch releases of 1 (#273). Every function, type, enum value, macro and struct field in include/maul-tween/ keeps its name, signature and meaning across 1.y. The binary interface holds within a minor version. The API is the same as 0.17.0's, so a program built against 0.17.0 needs only a rebuild. MTWN_ABI_VERSION and a shared library's SOVERSION are now 1.0, and a context def stamped by 0.17.0's headers is refused with mtwn_errorVersion. No value, velocity or event record changes.
Changed
- The getting started guide's Compatibility section states the promise 1.y keeps (#273):
- what it covers, and the fields of the structs a maker fills, which it leaves out;
- the binary interface within a minor version, with
MTWN_ABI_VERSIONand the SOVERSION at major.minor, and the CMake package taking any later 1.y; - a changelog line for any change of results;
- no stored format to keep.
- The easing guide and
mtwnMakeElasticEasing's header give the largest difference from GSAP's and tween.js's elastic for every amplitude (#272). The new bound isq (1 + q) 2^-10 / (1 - q 2^-10), withqthe larger of the amplitude and 1. The old bound,a (1 + a) 2^-10, was too small below amplitude 1 and at large amplitudes. The curves do not change;test_rival_easingchecks 90 of the rivals' curves against the new bound.