Skip to content

Aleph-vm 0.4.1

Latest
Compare
Choose a tag to compare
@hoh hoh released this 26 Apr 16:26
· 29 commits to main since this release

We are happy to announce aleph-vm in version 0.4.1.

This release fixes important bugs and increases the reliability of the metrics of the node.

As usual, node operators are expected to upgrade to the new release within a 2 weeks windows from the release.

Main changes

Improvements

  • Diagnostic API Updated: Integrated a new diagnostic VM with the latest runtime, improving the handling of message reading, IPv6 detection, and message signing tests.
  • Internet Connectivity Checks: Enhanced the internet connectivity checks by the diagnostic VM to multiple endpoints, improving reliability in connectivity assessments.
  • CORS Headers Fix: Addressed issues with duplicated CORS headers in the HTTP response, ensuring proper handling and preventing CORS-related errors.

Developer tooling

  • VM Launching from pytest: Enabled testing of VMs from pytest, increasing code coverage and preparing the space for more advanced automated tests.
  • Hatch Configuration: Modified the Hatch configuration to properly set up environments for testing using the virtual environment built-in module.
  • Makefile and Documentation Updates: Updated Makefile and documentation to require an 'update' argument for the 'aleph program', facilitating the publishing process.

Bug Fixes

  • Error Handling and Validation: Improved error handling in various APIs to ensure earlier and more accurate failure detection. Notably, fixed issues where invalid item hashes and double-encoded JSON data led to errors.
  • Typing and Syntax Corrections: Numerous fixes related to Python typing annotations and syntax corrections, including proper handling of strict types, correct annotations, and elimination of circular imports.

These changes aim to improve the robustness, usability, and maintainability of the system, ensuring a smoother experience for both developers and end-users. Please refer to the project documentation for detailed instructions on the new features and improvements.

Git commits

fe9235a Fix: Diagnostic API was not updated
ab79b77 Solve last CORS issues about duplicated headers (#604)
54680ba Problem: could not start Instances from command line (#597)
b7d9202 Problem: Makefile for publishing example were not working
c74ed5a Fix: Internet diagnostic due to single endpoint
8bbd65b Fix: Solved CORS issues on PAYG creation.
57695a1 Fix: Prevent diagnostic VM to fail if the ipv6 or ipv4 raises a Timeout.
0f77070 Cleanup: Frozen requirements were not maintained
fe2e74f Problem cannot import name 'async_sessionmaker' from 'sqlalchemy.ext.asyncio'
f0922f2 Problem: Execution test hanging. Python runtime slow
64af5a1 Fix: Missing comments in workflow
53b52b6 Problem: hatch envs needed manual manipulation for testing
af5b5fd Fix: Could not launch a VM without building it locally (#588)
1b6d429 Fix: Missed documentation, no TESTING.md
e28fcaa Fix: run_guest_api mixed str and Path
d660948 Fix: Assertion errors did not display missing path
6d1482d Doc: Add docstring to settings.setup(), .check()
f096134 Fix: Pytest failed due to missing files
cacb83c Fix: Circular imports prevented pytest to run
950d3e8 Fix: Execution creation was not tested
da112e6 Doc: Update outdated orchestrator README (#592)
0a4f75f Fix: Invalid ItemHash did not raise a ValidationError
2f5aa79 Fix: Error data was JSON encoded twice
4989892 Fix: Imports could be cleaned up
553d1aa Fix: Domain name must always be specified
f1fd306 Fix typing: Missing path was not considered
d386374 Fix typing: Missing annotation on methods
3bfe28d Fix: Automated code cleanup
4381075 Fix typing: Use of lambda caused typing errors
811d791 Fix typing: continue inside try/finally block is unimplemented in mypyc
f31819c Fix typing: ... in class is not allowed
ceecc10 Fix: Properties were initialized with a global object
7e11125 Fix typing: Strict type checks raised issues
c2b540c Fix typing: Missing return types on methods
07c34f9 Fix typing: SQLAlchemy annotations were incorrect
19b0916 Fix typing: Replace Dict->dict, List->list
1b278e0 Fix typing: Invalid type annotations
b65fd9e Fix typing: FakeRequest class was not of type Request
a6508f1 Fix typing: Wrong type in annotation
a355428 Fix typing: web.HTTPBadRequest may not be raised
b90cb84 Fix: Log level was DEBUG instead of WARNING in prod
b6053f6 Fix: Tests were run twice

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 11 (Bullseye):

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.4.1/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Debian 12 (Bookworm):

rm -f /opt/aleph-vm.debian-12.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.4.1/aleph-vm.debian-12.deb
apt install /opt/aleph-vm.debian-12.deb

On Ubuntu 22.04 (Jammy Jellyfish):

rm -f /opt/aleph-vm.ubuntu-22.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.4.1/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb

2. Enable Pay-as-you-go (optional)

See the release notes of version 0.4.0 alpha1.