Releases: aslze/asl
1.11.14
ASL version 1.11.14
Some small fixes and changes.
CmdArgsdefault constructor now works on MacOS too (get command line arguments anywhere).- Better linking to mbedTLS with newer versions (3.6.4+)
- Added
Directory::freeSpace()to get free and total space in a file system. Directory::files(wildcard)now supports multiple wildcards (e.g."*.jpg|*.png")- That function applied to an actual file will return that file (
Directory("/a.txt").files()-> {"/a.txt"}) - Added
Vec*::abs()
More deprecated functions: list here. Most will be removed in next releases.
Attached Debugger visualizer file for Visual Studio (copy "asl.natvis" to \Documents\Visual Studio \Visualizers)
1.11.13
ASL version 1.11.13
Some small fixes and changes.
- Fixed
StreamBuffer,SHA1and other stuff on Big Endian machines (e.g. PowerPC). Endianness autodetected. - Fixed possible use after free in
SocketServerand derived classes. - Fixed memory issues with shared arrays and atomic count in old compilers
- Fixed
Matrix3multiplication for projective transforms and addedoperator-(Matrix3) LocalSocketon recent Windows 10+ can now be used without explicit optionHttpServerwhen serving files will only setContent-Typefrom file extension if it is not explicitly set.- Added
File::CREATEtoFileopen mode for exclusive mode (has to be used together withFile::WRITE)
TextFile file("data.txt", File::WRITE | File::CREATE); // Fail if the file already exists
More deprecated functions: list here. Most will be removed in next releases.
Attached Debugger visualizer file for Visual Studio (copy "asl.natvis" to <user>\Documents\Visual Studio <version>\Visualizers)
1.11.12
ASL version 1.11.12
Some small fixes.
- Fixed
SerialPortoccasional hangs in .read() on Windows - Fixed
Datewriting and parsing dates with milliseconds - Fixed compilation on systems having an
isnumber()macro (e.g. BSD) - Fixed some Testing macros not working without using namespace asl
- Fixed
Randomgenerating some repeated values right after.seed(n) HttpServernow ignores malformed requests (no method or resource)- Avoid warnings with newer CMake
Deprecated functions: list here.
Attached Debugger visualizer file for Visual Studio (copy "asl.natvis" to <user>\Documents\Visual Studio <version>\Visualizers)
1.11.11
ASL version 1.11.11
Fixes and little improvements.
- Fixed
socket.read()andwrite()which could miss data in some situations - Fixed
LocalSocket(Unix sockets) and support them in recent Windows 10+ - Fixed
HttpServerhandling HTTP/1.0 keep-alive,Expectheader, byte ranges and missing served files - Fixed performance issues in
Array.resize()andVar.resize() - Extended
MulticastSocketfor IPv6 (WIP, not tested) - Some old code cleanup, simplifications and tidy, and improved documentation
Deprecated functions: list here.
LocalSocket on Windows require the cmake option ASL_SOCKET_LOCAL, currently.
Updated asl.natvis visualizer for Visual Studio (attached to this release)
1.11.10
ASL version 1.11.10
Fixes and little improvements.
- Fixed compilation with Emscripten SDK
- Fixed
StreamBufferwrite 64 bit values in little-endian - Fixed
Quaternionfunctionsslerp(),angle()when arguments are equal - Fixed XML parsing when processing instructions contain '>' characters
- Fixed
Libraryadding default extension if none given - Printf-like functions will now emit warnings on types vs format mismatch (*)
Process::execute()now searches the PATH in Linux, too- Support reading JSON and CSV with BOM
Matrix4::inverse()now computes the general 4x4 inverse (it used to support only affine transforms)Json::write()now writes large files in chunks, using less memory- Added
.data()method inArray,Array2,MatrixN, etc. HttpServersubclasses can now send data in chunks- Added
String.to<T>()andXml.value<T>() - Several other improvements
(*) Functions String::f(), TextFile::printf() and ASL_LOG_* will emit warnings if argument types don't match the format string. On MSVC this currently requires the /analyze compiler setting, and gcc/clang require the -Wformat warning (often enabled by default).
Deprecated functions: list here.
1.11.9
ASL version 1.11.9
Fixes and little improvements.
- Fixed
Array2<T>constructor from pointer to data and sizes - Fixed
IniFile::values()for some old gcc - Moved
encodeUrl()anddecodeUrl()to structUrlas static functions and improved them - Now
Url::encode(str)works like JSencodeURI(), andUrl::encode(str, true)works like JSencodeURIComponent() - Fixed
HttpServerto serve files with non-ASCII names (request paths are URL-decoded first) - Fixed
Json::decode()to support escaped Unicode non-BMP chars (e.g. emojis, like "\ud83d\ude00") - Fixed
String::count()for non-BMP characters - Added
String::wlength()to count UTF16 code units (length ofwchar_t*string) - Added
Stringconstructors from Unicode code points (single code or array) - Added
Xml:value<T>() - Windows
Consolenow sets the system code page in ASL_ANSI mode by default, and added.setCP()to change it - Improvements in ASL_ANSI mode (
Url::decode()andJson::decodewill translate escaped chars to local charset, if possible) - Added
Matrix<T>::op=(init_list)that copies new data without allocating and freeing - Added operator
Matrix3 ^ Vec2for projective transformation (same inMatrix4 ^ Vec3)
1.11.8
ASL version 1.11.8
Fixes and little improvements.
- Fixed
TabularDataFileCSV parsing quoted values with embedded quotes or commas - Fixed
IniFileparsing duplicate section names (kept only the last) - Fixed
Dateparsing and writing (now basic ISO8601, before only extended and "HTTP"-style, and it could crash with malformed strings). - Fixed
ASL_DEPRECATED()macro on gcc (to mark functions as deprecated and trigger warnings on use). - Improved
solve(A, b)so that it solves least-squares if A is not square (more equations than unknowns), likeA.pseudoinverse()*bbut more efficient. - Improved
solveZero()with optional parameters, earlier iteration stop, and an overload to solve a single variable equation.
1.11.7
ASL version 1.11.7
Some fixes and little improvements.
- Fixed
HashMapwhen keys are pointers. - Fixed
Shared<T>up-cast. - Added
Var::remove(key),Var::removeAt(index), etc. - Extended
SocketandPacketSocketwith functions usingByteArray - Documentation improvements
1.11.6
ASL version 1.11.6
Some fixes, cleaning and deprecations.
- Fixed
CmdArgswrongly reading non-ASCII arguments on non-Windows systems. - Improved performance in
String::replace() - Documentation improvements
- Now CMake
find_packagecan specify a minimum version (but will work only from this version up):
find_package(ASL 1.11.6)Deprecated stuff
Several functions and classes are marked deprecated (See list here). Many will be removed in a next minor version. These are marked deprecated in the online documentation and in code, so that using them will print a compiler warning.
1.11.5
ASL version 1.11.5
Little fixes and improvements.
- Avoid several warnings by newer compilers and static analyzers
Xmlparsing will no longer accept invalid chars in tags/attribs (e.g. cannot start with number)- Removed implicit
Stringconversion tochar*(non const) TabularDataFilewrite undefined items empty- Added
Url::params(dic)to create URL query string from a Dic<> - Fixed
Matrix4constructors fromVec3orVec4that were ignoring the template element type (forcing float) - Other code simplifications
Next version will remove some deprecated functions and will not bring asl::byte to the global scope by default.