-
-
-
release/0.7.362a6a18b · ·
* Added interface for inhibiting the screen saver to the UI library. * Support loading icons and setting them on Frames. * Fixed an undercanning issue near the root of the stack. On 64-bit systems (notably Linux), this caused Storm to crash when specifying a source file (or directory) on the command-line that does not contain a main function.
-
-
-
release/0.7.27fe3fb06 · ·
- Made `toS` in `WeakSet<T>` properly respect thread affinity of its elements. - Added `capacity` to `Map<K, V>` and `Set<T>`. Previously it was only available for `WeakSet<T>`. - Fixed a bug that caused updates of class relations to be missed if hash collisions existed.
-
-
-
release/0.7.195bcdc5f · ·
- Throw an appropriate exception when opening non-existing files. This includes opening directories on Linux (Linux allows calling open() on a directory, but not reading from it). - Ignore unused serial port files on Linux (all ttySx are often not used). - Properly follow the system conventions for locking serial ports on Linux.
-
-
-
-
-
release/0.7.0adc634c7 · ·
General: - New build environment for Linux. Linux binaries are now build on Debian Bookworm. - Fixed a potential deadlock situation. When lazy-compiling functions, the calling thread is blocked entirely to preserve thread-related semantics. However, this means that if the compilation process needs to interact with the blocked thread, everything would deadlock. This is now fixed by not entirely blocking threads, but only allowing "high-priority" threads (such as threads stemming from lazy compilation requests) to run in the meantime. - Better stack traces in the presence of thread switches. Now, the stack trace of the thread that is waiting is also added to any exceptions that are thrown. That way it is possible to find the reason why a new thread was spawned. - `Name`, `SimpleName`, and `NamePart` are now actor types since they get called from the compiler thread. - The `Str` class now has a `contains` member. - The `Str` class now provides `nat`, `int`, etc. that returns `Maybe<T>` for more convenient type conversions from strings to numbers. - Calling members of `TObject` reflects the thread affinity of subclasses. For example, calling `toS()` that is not overloaded would previously have caused a thread switch even if it would not have been necessary. See commit `e32b9373777fa1c84956f701dcc9aeefd0a8d080` for details. - Proper support for pointer authentication on Arm. - Improved abilities to reload code live, partially through Active DSU. This also makes package loading more robust if the loading fails for some reason. Basic Storm: - Don't evaluate the LHS of combined operators more than once in Basic Storm. - Allow using getters in weak casts without specifying a target. - Add the special parameter `@parent` to the `named{}` syntax to make looking up member functions more convenient. Progvis: - Progvis now detects busy waits, with an optional marker (`atomics_busy_wait()`) for known busy-waits. - Allow saving screenshots. I/O: - Add support for communicating through serial ports. - Improvements to the handling of closing file descriptors and sockets. - Storm now uses io_uring on Linux for better async I/O. - Sockets allow specifying timeouts on read and write operations. - Fixed a minor bug in the SSL integration on Windows. Gui library: - Updated to Skia version 141. - Fixed a data race in the initialization of the Gui library. - Empty Labels will still have a height. - Fixed a bug in the window timer on Win32. - Allow extracting images rendered by the library. Database library: - Support for PostgreSQL. Originally contributed by Erik Eklöf. - More functionality in the library that is not supported natively by all databases. Particularly, the `RETURNING` clause for various queries. - Support for explicit transactions. New http library: - The new library contains code both for simple http servers and clients. The http/https protocols are moved to this library. The library was initially implemented by Christoffer Lundell, Erik Bäck Lindström, Filip Wojtulewicz, Fabian Pranke, Joel Gustafsson, and Martin Weman. - The library also provides a basic json library. Graphics library: - Re-structured the library to provide loading and saving images.
-
release/0.6.34e4725c6d · ·
- Improved saving/restoring of global variables in Progvis. This makes arrays of locks work properly in the model checker. - Slight improvement in the performance of the model checker by avoiding thread switches in relation to synchronization primitives. - Expanded API in the Thread class.
-
release/0.6.33eeeafacb · ·
More robust handling of function pointers. Previously, the synchronization library created function pointers that pointed to constructors of types. This usage could interfere with normal usage since the `Fn` class did not match based on reference/non-reference parameters. This is now fixed, and function pointers to constructors can be created. The serialization library now utilizes this kind of function pointers as well, which has the additional benefit that it simplifies the implementation of the serialization decorator as well.
-
release/0.6.328ce56515 · ·
- Parse statements like `check true;` (or any other identifier) properly when using the test library. - Improved error messages when passing a non-block to `pattern(<x>)`. - Avoid crashing when passing a string that only contains whitespaces to `trimWhitespace`. - The serialization library uses default constructors to initialize missing members during deserialization. - Minor typographical improvements to the documentation.
-
release/0.6.31e6f4a731 · ·
- Fixed a bug in Progvis that caused it to misbehave when launching a function marked `NO_STEP` with `thread_new`. - Added an `end` parameter to the standard parser in Storm to allow specifying an explicit end. - Updated the example in the usage of the SQL library in the documentation.
-
-
release/0.6.291e5f728b · ·
Improvements to Progvis: - Allow using `i` as a format specifier in addition to `d`. - Make sure that deadlocks are reported, even after restarting the visualized program. - Added `tid_t` type to Progvis. - Changed how atomic operations are shown to make the model checker work better with more complex use of atomics. - Allow capturing screenshots. Improvements to Storm: - Sort the output from `Url:children` for better determinism. - Better handling of GUI scale on Windows. - Allow capturing the content drawn by a painter as a bitmap. - Support saving images from the graphics library.