Skip to content

Releases: aleph-im/aleph-client

Version 1.1.0: PAYG support for BASE blockchain

05 Sep 15:23
2ecf2f1
Compare
Choose a tag to compare

New Features and Improvements

  • Added support to create instances using PAYG on BASE blockchain
  • Enhanced user experience by improving the flow and display of pricing and balance information. (PR #266)
  • Refactored the aleph message get function to handle message status. (PR #265)

Bug Fixes

  • Addressed various issues identified after the 1.0.0 release. (PR #262)
  • Fixed a problem related to confidential session handling. (PR #256)
  • Ensured comments are clear and accurate. (PR #260)
  • Updated the aleph-sdk-python dependency version constraint to respect Semantic Versioning (semver). (PR #264)

What's Changed

New Contributors

Full Changelog: 1.0.0...1.1.0

Version 1.0.0: Confidential Instances and UX improvement

26 Aug 18:18
7a806cf
Compare
Choose a tag to compare

Introduction

The Aleph.im CLI client version 1.0.0 marks a significant milestone in the evolution of the platform introducing the confidential instance creation and management and enhancing the user experience. Here's a breakdown of the key areas:.

New Features and Functionality

  • Introduced support for specifying the hypervisor type for instances. (PR #199)
  • Enabled users to create confidential instances and interact with them using dedicated commands. (PR #232, #235, #255)
  • Integrated an interactive selector for choosing the CRN and displaying Confidential Compute support. (PR #232)
  • Added the ability to prompt for payment type during instance creation. (PR #237)
  • Improved user experience by providing a template for new pull requests and enhancing prompting and labeling for instances. (PR #244, #247)
  • Improved CRN table functionalities like sorting and filtering. (PR #259)

Bug Fixes and Improvements

  • Updated documentation with deprecation warnings and new features. (PR #196)
  • Fixed issues related to instance creation, listing, hypervisor selection, and confidential instances. (PR #216, #224, #234, #243, #246, #248, #251, #252)
  • Improved documentation and fixed formatting issues. (PR #249, #254)

What's Changed

  • Fix: Ensure consistent URL formatting in _get_ipv6_address by @1yam in #236
  • Chore(deps): Bump aiohttp from 3.9.5 to 3.10.2 by @dependabot in #239
  • Fix: revert upgrade: aiohttp 3.10.2 -> 3.9.5 by @philogicae in #242
  • Provide a template for new PRs by @olethanh in #244
  • Feature: prompt for payment type by @1yam in #237
  • Various fixes after tests by @philogicae in #243
  • Fix: Cross-device links crashed 'confidential-init-session' by @hoh in #246
  • Problem: Creating non coco instance resulted in invalud message by @olethanh in #248
  • Fix/improve prompting, labels, helper for instances by @philogicae in #247
  • Fix IPv6 in instance list + fix crash by @olethanh in #251
  • Fixes after instance tests by @philogicae in #252
  • Update PR template with details on documentation by @hoh in #249
  • Fix docs by @philogicae in #254
  • Confidential command: Pass hash vm_id and crn_url as argument by @olethanh in #255
  • Fix CRNtable, sort_by keys, autofiltering on reward_add/qemu/coco by @philogicae in #259
  • Feature: Allow PAYG using base by @1yam in #258

New Contributors

Full Changelog: 0.7.1-rc1...1.0.0

0.7.1-rc1

30 Jul 18:31
72cb0eb
Compare
Choose a tag to compare
0.7.1-rc1 Pre-release
Pre-release

Introduction

The Aleph.im CLI client version 0.7.1-rc1 focuses on improving functionality, user experience, and code quality of the Aleph Client. Here's a breakdown of the key areas:.

New Features and Functionality

  • Introduced support for specifying the hypervisor type for instances.
  • Added a field for Single Page Applications (SPA) on domains.
  • Implemented the ability to specify a catch-all route for IPFS static content.
  • Enabled users to create confidential instances.
  • Integrated an interactive selector for choosing the CRN and displaying Confidential Compute support.

Bug Fixes and Improvements

  • Fixed relative import issues and runtime compatibility problems.
  • Improved error messages for better debugging.
  • Updated documentation with deprecation warnings and new features.
  • Migrated the project to use pyproject.toml.
  • Enhanced code quality by removing unused variables, adding type annotations, and refactoring code.
  • Removed support for macOS 11 in CI.

Other Changes

  • Updated the PR Difficulty Rating action.
  • Added a forbidden host to the list.

What's Changed

  • Fix relative import in __main__.py by @MHHukiewitz in #200
  • Add deprecation messages and update docs by @MHHukiewitz in #196
  • Implement hypervisor field for instances by @nesitor in #199
  • Add SPA field on domains by @nesitor in #202
  • Updated PR Difficulty Rating action to version 2 by @MHHukiewitz in #201
  • Fix: Recent example_fastapi versions requires newer runtime by @hoh in #203
  • Fix: Passing to arg did not show help by @hoh in #204
  • Allow user to specify a catch all route page when using ipfs for static content by @aliel in #206
  • Fix: Project did not migrate to pyproject.toml by @hoh in #213
  • Fix: Unable to Create PAYG Instance from CLI by @hoh in #216
  • feat: add x.com to list of forbidden host by @Psycojoker in #217
  • feat(models): type MachineInfo.from_unsanitized_input by @Psycojoker in #222
  • feat(network): more verbose message error for better debugging by @Psycojoker in #218
  • ci: remove macOS 11 support by @Psycojoker in #223
  • fix(node): add missing return type annotation by @Psycojoker in #221
  • refactor: remove unused variable by @Psycojoker in #220
  • Fix: wrong slug in pytest.yml by @hoh in #226
  • Refactor: Allow aleph instance list to handle PAYG by @1yam in #224
  • Add Qemu working runtimes by @nesitor in #228
  • Attempt to fix Codecov - it does not work in this repo by @hoh in #227
  • Feature: Operator command for instance by @1yam in #225
  • Interactive selector for choosing the CRN on which to run the instance + display Confidential compute support by @olethanh in #232
  • Problem: Hypervisor passed in parameter was not respected by @olethanh in #234
  • Add command to create and start a confidential instance by @olethanh in #235

New Contributors

Full Changelog: 0.6.1...0.7.1-rc1

Version 0.6.1 bugfixes and non-interactive domain use

23 Feb 16:04
@hoh hoh
Compare
Choose a tag to compare

What's Changed

    • Update dependencies aleph-sdk-python and aleph-message
    • Fix CLI regression
    • Fix: Domain commands required interactive prompts

Full Changelog: 0.6.0...0.6.1

Version 0.6.0: Rich Interactions with Instances & DNS

15 Dec 15:33
695dee6
Compare
Choose a tag to compare

Introduction

The Aleph.im CLI client version 0.6.0 marks a significant milestone in the evolution of the platform, introducing a suite of powerful new features and essential fixes that dramatically enhance its functionality and user experience.

Split into aleph-client and aleph-sdk-python

A substantial portion of the codebase has been migrated from the aleph-client to the new aleph-sdk-python, streamlining the architecture and paving the way for more robust and scalable development. This change clearly distinguishes between the CLI and SDK, making development with the SDK less bloated. Many improvements to the SDK since 0.5.1 and before the migration have been collected in these release notes.

Many UI/UX Improvements

In version 0.6.0, users can expect to find exciting new functionalities such advanced instance creation capabilities and custom domain support. The release also addresses critical fixes and improvements, ensuring greater stability and smoother operation. This release brings not only functional enhancements but also significant aesthetic and usability improvements, particularly through the integration of the rich library.

New CLI Commands

  • Instance Management Commands (#178 & #192):
    • aleph instance create: Creates a new instance with the help of a wizard.
    • aleph instance delete: Deletes or forgets an existing instance.
    • aleph instance list: Lists all your instances and how to connect to them.
  • Message Signing Command (#164):
    • aleph message sign: Allows users to sign JSON strings as Aleph messages.
    • aleph account sign-raw: Signs any UTF-8 encoded string, useful for dApp development.
  • CLI Version Command (#169):
    • aleph about version, aleph -v, aleph --version: Displays the current version of the Aleph CLI.
  • File Download Command (#175):
    • aleph file download <IPFS or item_hash>: Downloads a file using either its IPFS link or Aleph item hash.
  • Account, File, and Aggregate Commands (#177):
    • aleph account balance: Returns the balance of the current user or a specified address with --address.
    • aleph file list: Lists user files or files of a specific address with --address.
    • aleph file forget: Forgets a specified file.
    • aleph aggregate post: Posts a new aggregate (can also be used for updates).
    • aleph aggregate get: Retrieves an aggregate.
  • Node Management Commands with Filtering (#184):
    • aleph node compute: Lists all compute nodes.
    • aleph node core: Lists all core channel nodes.
    • Both commands support filtering based on the owner's address (--address) and node activity (--active).

Fixes and Improvements

  • Workflow Fixes (#176, #186): Corrected the test_build.yml workflow and made aleph instance delete use async.
  • Dependency Fixes (#179, #180, #181, #182): Addressed the missing requests dependency, upgraded aleph-message to version 0.4.1, replaced requests module with aiohttp, and fixed nuls2 dependencies.

Notable Refactoring and Migrations

  • Migrate Message Commands to SDK (#163, #166): Major code migration from aleph-client to aleph-sdk-python.
  • Removal of Unused/Moved Code (#166): Cleaned up the SDK by removing unused or migrated code.
  • Update and Restrict Dependency Versions (#189, #191): Updated aleph-sdk-python to version 0.8.0 and restricted dependency versions to be fixed.

The following features and fixes have occured before the migration:

New SDK Features:

  • POST /messages/ Endpoint Support (#135): get_message now uses the POST /messages/ endpoint with additional info.
  • Raw Storage File Retrieval (#134): Feature to get raw storage files (issue #60 addressed).
  • LocalVmCache for Testing (#133): Added LocalVmCache for more efficient testing.
  • Broadcast Function Refactoring (#139): Refactored the broadcast function for efficiency.

SDK Fixes & Improvements

  • Function Immutability (#132): Addressed issue with functions not being immutable to None.
  • Private Key Storage Location (#123): Changed to store the private key in the user's home instead of the current directory.
  • Code Formatting and Type Checking (#141, #142): Formatted examples with black and enabled type checking for examples.
  • ASGI 'Lifespan' Scope Support (#155): Resolved the lack of ASGI 'lifespan' scope support.
  • Balance Await Fix (#183): Corrected missing await in aleph account balance.
  • Importing Account Fix (#185): Resolved the issue with importing account from private key.

New Contributors

@1yam: Made his first contribution in pull request #163 and implemented many of the new commands (#175, #177, #184), so awesome! 🥇

All Pull Requests

Full Changelog: 0.5.1...0.6.0

Version 0.5.1

04 Jan 17:30
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.5.0...v0.5.1

Version 0.5.0

06 Oct 20:08
@hoh hoh
Compare
Choose a tag to compare

Main changes

This new release of aleph-client comes with so many improvements they are hard to keep track of.
We hope you will love it 💚.

Command-line changes

  • Type aleph whoami so see your public address easily.
  • Use docker run -ti ghcr.io/aleph-im/aleph-client/aleph-client:master to launch the tool from anywhere in a single command.

API changes

  • Breaking change: Functions now return directly models from aleph-message instead of dictionnaires. Say hello to validation guarantees, auto-completion in your IDE and static checks of your code base.
  • New support: Tezos addresses are now supported.
  • Customise programs by passing environment variables from the messages themselves.
  • The new get_message(...) function helps you fetching a single message without looking for the first element of a list.
  • Use the chains argument in get_posts(...), , get_messages(...) or watch_messages(...) to only fetch messages from specific chains.

Bug fixes

  • An bug prevented passing a private key as a command-line argument

All changes

  • [User ID] whoami command by @odesenfans in #63
  • Fix: Users could not specify program environment variables by @hoh in #65
  • Fix: All committed git files are required for clean version number by @hoh in #66
  • Fix key file or str condition by @aliel in #67
  • Use docker image from GitHub actions by @hoh in #70
  • Refactor: Two origins for PRIVATE_KEY_FILE were confusing by @hoh in #71
  • Code cleanup by @hoh in #73
  • add param for getting posts by chains by @MHHukiewitz in #78
  • Update README.rst by @mrhouzlane in #79
  • Return models instead of dictionaries by @hoh in #74
  • Fix: Runtime name in PROGRAM messages was outdated by @hoh in #81
  • Update test-build.yml by @mrhouzlane in #83
  • Fix: fix text key encoding by @aliel in #69
  • update .gitignore by @MHHukiewitz in #80
  • Fix: Closing aiohttp session is synchronous by @hoh in #88
  • Cleanup: Abstract class did not inherit ABC by @hoh in #89
  • Cleanup: pytest.yield_fixture was deprecated by @hoh in #90
  • Fix: Variable was not a dict since refactoring to Message models by @hoh in #92
  • Cleanup: Typer supports Path, conversion was not required by @hoh in #93
  • Update: Container uses old go-ipfs 0.7 while 0.15 is available by @mrhouzlane in #99
  • Cleanup: Pipfile was not used or maintained by @hoh in #100
  • Tests: OS matrix was not fixed by @hoh in #101
  • Fix: Update command was broken by @hoh in #102
  • Feature: Add backend support for Solana,Tezos in _load_account by @hoh in #91
  • Fix: Received item_hash is the same as in Aleph Explorer by @MHHukiewitz in #106
  • Feature: Could not get a single message easily by @hoh in #103
  • Fix: Amend command was broken due to refactoring by @hoh in #104
  • Add: Tests to increase coverage #87 by @mrhouzlane in #107
  • Fix: Tests failed due to new ItemHash validation by @hoh in #110
  • Add: Support for creating durable VMs by @hoh in #82
  • Fix: Any invalid message in a response crashed the entire response by @hoh in #109
  • Fix: Scripts to publish was broken by @hoh in #112
  • Fix: PyPI does not accept git dependencies by @hoh in #113

New Contributors

Full Changelog: 0.4.8...0.5.0

0.4.8

29 Apr 20:49
@hoh hoh
Compare
Choose a tag to compare

What's Changed

  • Fix: Program vcpus and timeout could not be specified #59

0.4.7

09 Mar 09:14
@hoh hoh
Compare
Choose a tag to compare

This new minor release brings a few small features and bugfixes.

New features

  • The new forget_aggregate command allows to forget all messages in an aggregate
  • Aggregate 'limit' query param can now be specified, which is useful for fetching very large aggregates such as node info
  • Function get_messages adds support for argument content_keys

Bug fixes

  • Fixes typo on startDate and endDate filter params in get_posts and get_messages

All commits

  • Fixes typo on startDate and endDate filter params name by @geraldinefiser in #50
  • [Tests] Integration tests for Aleph nodes by @odesenfans in #52
  • [Messages] Add content keys parameter by @odesenfans in #53
  • [Aggregates] New command to forget an aggregate by @odesenfans in #54
  • Cleanup: Make code more readable by @hoh in #58
  • Fix: Tests were failing due to new node type by @hoh in #57
  • Fix: Aggregate 'limit' query param could not be specified by @hoh in #56
  • Fix: Mypy warned that file_content could be None by @hoh in #55

New Contributors

Full Changelog: 0.4.6...0.4.7

Fixes in ASGI interface

17 Jan 10:53
@hoh hoh
Compare
Choose a tag to compare

What's Changed

  • Fix: ASGI wrapper is not required anymore, causes issues by @hoh in #44

This release fixes an issue with ASGI compatibility that could lead to defective Python apps when using the AlephApp interface.

Full Changelog: 0.4.5...0.4.6