Release notes

The dynasm-rs project consists out of two crates: The procedural macro crate dynasm and the runtime support crate dynasmrt. The versions of these two crates are synchronized and should always match. From version 0.7.0 onwards dynasmrt depends on dynasm itself to simplify this relationship. Any version listings below therefore refers to both the dynasm and dynasmrt crate version.

§Version 3.2.0

§Architecture support

§Version 3.1.0

§Summary

This release adds support for several architectures from the RISC-V family of instruction sets. These are riscv64i, riscv64e, riscv32i and riscv32e. There’s also support for a large set of instruction set extensions. This architecture support is introduced with the same standards as currently supported targets, meaning that they come with full runtime support, immediate checking and cache management support out of the box.

This architecture support has been sponsored by Wasmer.

§General

§Architecture support

§Version 3.0.1

§Bugfix

§Version 3.0.0

§Summary

This release brings significant improvements to the aarch64 experience. The runtime assemblers now handle cache invalidation internally where necessary. Furthermore, where previously overly large immediates would just wrap during encoding, they are now fully checked and error at compile time, or panic at runtime. One major backwards compatibility break is that the syntax for data directives has changed. This syntax now uses the relevant rust type names, and supports significantly more types. Next to this, several long-standing bugs have been fixed, dependencies have been updated, and the crate has moved to rust edition 2021. The minimum supported rust version is now 1.77.

§General

§Architecture support

§Bugfixes

Several of these changes were the result of external contributions, we’d like to thank everyone who contributed to this release.

§Version 2.0.0

§Plugin

§Runtime

§Documentation

§Version 1.2.3

§Plugin

§Version 1.2.2

§Global

Fixes travis integration displayed in crates.io

§Version 1.2.1

§Runtime

§Version 1.2.0

§Runtime

§Version 1.1.0

§Runtime

§Version 1.0.1

§Runtime

§Version 1.0.0

§Global

§Plugin

§Version 0.7.1

§Runtime

§Version 0.7.0

§Global

§Plugin

§Runtime

§Version 0.6.0

§Runtime

§Tests

§Version 0.5.2

§Plugin

§Version 0.5.1

§Runtime

§Version 0.5.0

§Plugin

§Runtime

§Version 0.4.0

§Architecture support

§Plugin

§Documentation

§Version 0.3.2

§Plugin

§Version 0.3.1

§Plugin

§Runtime

§Version 0.3.0

§Architecture support

§Plugin

§Runtime

§Versions 0.2.1, 0.2.2 and 0.2.3

§Plugin

§Version 0.2.0

§Architecture support

§Plugin

§Runtime

§Versions 0.1.4, 0.1.3, 0.1.2, 0.1.1

§Plugin

§Versions <= 0.1.0

§Global