KSeExpr 4.0.0 Released!

KSeExpr 4.0.0 Released!

Published    11/16/2020

Today, we’re happy to announce the release of KSeExpr!

KSeExpr is the fork of Disney Animation’s SeExpr expression language library that we ship with Krita. It powers the SeExpr Fill Layer that was done in Amyspark’s Google Summer of Code 2020 project.

The main changes

This is a ginormous release, but these are the most important bits:

We’ve rebranded the fork. This allows us to both ship the library without conflict with upstream. The library as a whole is now namespaced (both in CMake and in C++) as KSeExpr. The base library is now KSeExpr, whereas the UI is now KSeExprUI. The include folders have been flattened accordingly, to e.g. and . We’ve changed the license to GPL v3. The original code was (and is still released) under a tainted form of Apache 2.0, which has brought us many headaches. We’ve followed LibreOffice’s lead and our changes are now released under this license. All code has been reformatted and upgraded with C++14 features. We’ve dropped the Python bindings, as well as pthread. If you just need the library (like us), all you need now is Qt and a C++14 compiler. The existing optional LLVM evaluator has reached feature parity with the interpreter. We’ve patched missing functionality, such as automatic casting from 1D vectors to 3D and string operators. Our fork fully supports static LLVM and Android. No more linking or API level issues. Arc trigonometric functions and rand(), previously documented but non-existing in the runtime, have been added. Download

Source code: kseexpr-

Release hashes:

md5sum: 52264980708826d4c38469d6571236e4 kseexpr- sha256: 3b2bfad1a60afb5efcea2c16e424203696e0440401e7169dec1db6df27ef2228 kseexpr-

GPG signature: kseexpr-

The tarball is now signed by amyspark’s Github GPG key (FC00108CFD9DBF1E). You can get the key at their Github’s profile.

The full changelog for v4.0.0.0 (November 12, 2020) Added Add implementation of rand() function (a84fe56) Enable ECM’s automatic ASAN support (16f58e9) Enable and fix skipped imaging and string tests (e8b8072) Standardize all comment parsing (c12bdb4) Add README for the fork (abc4f35) Rebrand our fork into KSeExpr (97694c4) Automagically deploy pregenerated parser files (0ae6a43) Use SPDX license statements (83614e6) Enable version detection (e79c35b) Use STL-provided mutex and drop pthread dependency (1782a65) Reimplement Timer (20a25bd) Complete the relicensing process (b19fd13) Enable arc functions (08af2ef) Add abandoned test for nested expressions (2af1db3) Add abandoned type check tests (65064ad) Implement equality between ColorSwatchEditables (8d864ce) Add the abandoned typePrinter executable (2171588) Add BSD-3 release scripts (fe11265) Automatically deploy version changes (1ebb54b) Fixed Fix printf format validation (a77cbfd) Fix LLVM’s support for string variables (13c1dcd) Detect and link against shared libLLVM (b57c323) Fix compilation on Android (3969081) Only build KSeExprUI if Qt5 is enabled (63a0e3f) Sort out pregenerated parser files (ee47a75) Fix translation lookup (e37d5f0) Fix path substitution with pregenerated files (46acc2e) Restore compatibility with MSVC on Windows (9a8fa7c) Properly trim range comments (6320439) Fix Vec1d promotion with LLVM evaluator (cd9651d) Fix interpreter state dump in MinGW (ee2ca3e) Fix pointless negative check on demos (7328466) Fix SpecExaminer and add abandoned pattern matcher tool (366e733) Removed Clean up various strings (8218ab3) Remove Disney internal widgets (part 1) (a30cfe5) Remove Disney internal widgets (part 2) (14b2610) Remove Disney internal widgets (part 3) (d3b9d34) Remove Disney internal widgets (part 4) (bc65b77) Remove Disney-internal libraries (da04f96) Remove Qt 4 compatibility (bdef3e2) Drop unused demos (884a977) Assorted cleanup

Continue reading

This post was originally published on this site