Skip to content

Releases: AluVM/aluvm

v0.6.0

12 Jun 18:30
Compare
Choose a tag to compare
  • New Program type, separated from a virtual machine VM.
  • Program may restrict total number of libraries via const generic parameter.
  • Prohibit programs with no libraries or code ("empty")
  • Convenience constructor for programs containing multiple libraries.
  • Add support for optional strict encoding of a program data
  • Add optional serde encoding of a program data

Full Changelog: v0.5.0...v0.6.0

v0.5.0

26 May 19:46
c733550
Compare
Choose a tag to compare

What's Changed

  • Updated README with links to slides and YouTube videos by @UkolovaOlga in #26
  • First two tests over number.rs by @josediegorobles in #28
  • bugfix on Number by @6293 in #31
  • fix Number from byte array & cargo fmt by @6293 in #34
  • fix applying_sign to be also applicable to int by @6293 in #35
  • clippy by @6293 in #37
  • introduce cargo make by @6293 in #39
  • fix stack overflow in CoreRegs constructor by @6293 in #41
  • fix stp by @6293 in #42
  • fix reshape by @6293 in #45
  • reduce step down to i8 by @6293 in #44
  • fix(BytesOp::Extr): set st0 to false when bit size of the destination plus the offset exceeds string length by @6293 in #49
  • make int_add, int_sub, int_mul applicable to signed by @6293 in #48
  • implement BytesOp::Con by @6293 in #50
  • implement float arithmetic by @6293 in #52
  • fix Secp256k1Op by @6293 in #51
  • support int div / bitwise by @6293 in #53
  • fix eq.n, gt, lt asm by @6293 in #55
  • support curve25519 by @6293 in #54

New Contributors

Full Changelog: v0.4.0...v0.5.0

v0.4.0

31 Jul 00:42
c4ea577
Compare
Choose a tag to compare
  • Number of bytestring registers reduced from 256 to 16 (to allow running on a low profile hardware)
  • Refactored bytestring instruction set to take into account the aforementioned changes
  • Size of data segment reduced to 2^16 (from 2^24)
  • Lib uses dynamic set of instructions
  • Introduced limits for number of libraries per library (256) and in overall tree (1024)
  • Refactored modules
  • Better display information for main data types
  • Bugfixes in Number from/into convertors
  • Completed standalone assembler and linker (see https://github.com/pandoracore/aluasm

v0.3.0

01 Jul 07:51
9c17a9b
Compare
Choose a tag to compare

This is first fully-functioning release of AluVM reference implementation! It still lacks some minor rarely-used float types of arithmetics (BFloat16, IEEE binary256, 512-bit tapered float) and advanced bytestring operations, and has small test coverage, but otherwise it is the first version that may be tried in the wild to run deterministic programs.

AluVM rust implementation is subjected to be used as a plug-in library inside runtime environments providing the execution context.

You can see an example of AluVM assembly program, compile and run it here: https://github.com/internet2-org/rust-aluvm/blob/master/examples/asm.rs

New in this release:

  • Completed assembler
  • Core bytestring operations
  • Separation of code, data, linked libraries and ISA extensions segments
  • Introduction of library format
  • Bech32m-based library identifiers
  • Support for external ISA extensions
  • Instruction complexity counter and settings

Second MVP

09 Jun 14:42
0a50b5c
Compare
Choose a tag to compare

Updates in AluVM v0.2

  • Better & new float types and dedicated registers
  • Instruction set refactoring
  • Clear VM & runtime environment separation

MVP

09 Jun 14:10
ed59482
Compare
Choose a tag to compare
MVP

The initial release of AluVM implementation features:

  • Assembly language
  • Compiler into bytecode representation
  • Bytecode format
  • Initial instruction set
  • Processor implementation for main instructions
  • Registry structure