Slog Compiler Refinements: Major improvements in register allocation and memory management, alongside fixes in unwind table handling for Windows, enhancing compiler efficiency and robustness.
Enhanced Array and Matrix Functionalities: New functions for window aggregation in arrays, along with the introduction of generic matrix multiplication.
New array counting window function: Introduced awinagg which builds windows over stream of arrays.
New array constructor: array(format, shape, initial-value) create array of format with shape and set every element to initial-value.
System Enhancements: Reduced memory object size overhead.
WASM HTTP Download Issue: Resolved a critical bug where files weren't saved correctly in memory when downloaded via WASM HTTP, particularly for non-octet stream types.
Permissions in Release Files: Addressed the issue with incorrect permissions on .dmp files in the release tarball, enhancing system security and integrity.
PNG Handling: Added support for reading and writing PNG files across most platforms, enhancing media processing capabilities.
FFT Performance: Achieved a significant 6x improvement in FFT (Fast Fourier Transform) performance, ensuring faster signal processing and data analysis.
JIT Compiler: Made several internal enhancements to the JIT (Just-In-Time) compiler, optimizing runtime performance.
Python API Stability: Addressed a critical issue in the Python API where calling an undefined function could lead to a system crash.
UTF-8 Reading: Fixed a bug where EOF (End of File) was not detected accurately when reading specific UTF-8 characters. This ensures accurate and efficient text processing.
Code and Network Downloads: Microedge-listeners now support downloading of missing code and SANN-networks.
Array Flattening: A handy new flatten function has been introduced which can transform nested vectors into rank 1 arrays.
Computer Vision Capabilities: Meet the new system model 'CV' - equipped with utility functions tailored specifically for computer vision applications.
Array Support: Arrays have been enhanced with support for special values - Infinity (Inf) and Not-a-Number (NaN).
Array Slicing: Slicing ranges in arrays is now possible using the a[arange(high,low),*] notation. A more intuitive syntax for this feature will be introduced in the future.
MQTT-extension for RPI64: RPI64 now comes bundled with an MQTT-extension, providing more seamless integration with IoT protocols.
JSON Type in OSQL: We’ve introduced the OSQL type Json as a union of Vector and Record types, facilitating easier handling of JSON data.
Array Function Type Inference: Type inference for generic array functions has been added, allowing you to define one function for all types of arrays.
Arrays: We're introducing a new data type for managing densely packed numeric arrays.
Array Comprehension: An experimental feature to allow advanced array operations, translating high-level commands into machine code for maximum performance. Note that it's still under development, with continuous improvements planned for future releases.
The integration of Arrays and Array Comprehension allows our query optimizer and JIT compiler to produce highly efficient machine code. In the near future, it will also support SIMD instructions.
This will enable users to create complex models, such as deep learning, in the high-level OSQL language without compromising on performance or simplicity.
Scalable Federations: We've revamped the connection logic in the SA Engine to support scalability using Kubernetes, harnessing the power of web scale technology.
We've given SA Studio a complete makeover. The Bitmap visualization feature has been added for efficient array visualization. Also, SA Studio is now independent from SA Engine, with separate life cycles. Consequently, this will be the last release note combining updates for both SA Engine and SA Studio.