Skip to content

Releases: cartesi/machine-emulator

v0.16.0

09 Feb 16:01
v0.16.0
Compare
Choose a tag to compare

Added

  • Implemented the UARCH reset feature
  • Added soft yield runtime configuration using hints of the SRAIW instruction
  • Added shadow uarch state
  • Embedded the uarch RAM binary
  • Added instructions on how to build libcartesi.a in standalone
  • Supported compiling libcartesi_jsonrpc.a static library
  • Added file mapping and terminal support for Windows
  • Added the possibility to compile libcartesi without mmap()
  • Supported compiling libcartesi as a static library
  • Added memory range introspection
  • Introduced -it option for colored and bigger interactive terminal
  • Replaced MTD drives with PMEM drives
  • Initialized random entropy from the device tree
  • Added root hashes to catalog.json
  • Replaced proof with sibling_hashes

Changed

  • Built device tree automatically into the machine's ROM, eliminating the need for a ROM image
  • Enabled rollup by default
  • Updated libboost version to 1.81
  • Changed stored machine configs from protobuf to JSON
  • Removed remote-cartesi-machine-proxy
  • Moved uarch generated files to the uarch source directory
  • Organized all tests under the tests directory
  • Added emulator major and minor versions to the device tree
  • Used new rootfs provided by the tools repository
  • Used static libraries when compiling executables
  • Made it possible to compile libcartesi without threading support
  • Reimplemented a portable OS time function
  • Allowed compiling libcartesi without GRPC or Lua installed
  • Didn't expose internal symbols in the public C API
  • Added support for cross-compiling libcartesi
  • Removed std::filesystem use from libcartesi (unsupported by WASI)
  • Made termios non-mandatory in libcartesi (unsupported by WASI)
  • Improved makefile for packaging
  • Adjusted bootargs and renamed bootargs command line option
  • Introduced machine init and entrypoint config and options
  • Removed dump_pmas method
  • Removed Lua md5 dependency by using keccak instead
  • Simplified machine hash computation in tests
  • Replaced ROM with DTB
  • Bumped kernel and rootfs versions
  • Replaced crypto++ with tiny sha3 to compute Keccak hash
  • Replaced boost filesystem with std filesystem
  • Updated mongoose to 7.12 and refactored how it's bundled
  • Bundled nlohmann-json into third-party
  • Replaced libb64 with a custom base64 implementation
  • Removed the unused --json-steps option
  • Added support for compiling libcartesi to WebAssembly

Fixed

  • Made append options work when empty
  • Included missing climits in json-util.cpp
  • Correctly counted optional arguments
  • Fixed protoc compile errors on Ubuntu
  • Fixed the build on MacOS with Homebrew
  • Reserved memory for firmware M-mode code in FDT
  • Fixed lint errors and warnings

v0.15.3

25 Jan 21:52
v0.15.3
Compare
Choose a tag to compare

Fixed

  • Fixed missing lua modules in docker image
  • Fixed upload and download of artifacts on CI
  • Fixed protoc compile errors on Ubuntu
  • Fixed build on MacOS with homebrew

v0.15.2

21 Aug 19:36
v0.15.2
Compare
Choose a tag to compare
Release v0.15.2

v0.15.1

17 Aug 21:43
v0.15.1
Compare
Choose a tag to compare
Release v0.15.1

v0.15.0

16 Aug 22:19
v0.15.0
Compare
Choose a tag to compare
Release v0.15.0

v0.14.0-bullseye

17 May 05:53
v0.14.0-bullseye
011bb49
Compare
Choose a tag to compare
v0.14.0-bullseye Pre-release
Pre-release
debian based image

v0.14.0

15 May 15:30
v0.14.0
Compare
Choose a tag to compare
Release v0.14.0

v0.13.0

17 Feb 14:12
v0.13.0
Compare
Choose a tag to compare
Release v0.13.0

v0.12.0

28 Nov 19:11
v0.12.0
Compare
Choose a tag to compare
Release v0.12.0

v0.11.2

28 Oct 13:56
v0.11.2
Compare
Choose a tag to compare
Release v0.11.2