Skip to content

Releases: aleph-im/pyaleph

0.8.1

02 Sep 14:29
Compare
Choose a tag to compare

This new release of the aleph.im Core Channel Node application significantly enhances security and functionality while ensuring the codebase remains up-to-date.

✨ Features

  • Historical Pricing: Implemented a new system for historical pricing to allow for the recalculation of message costs.
  • Version Display: The Git version is now displayed on the status HTML page for easier tracking.

🐛 Fixes

  • API Fix: Resolved an issue that was causing the /api/v0/balances endpoint to fail.
  • Security Fix: Addressed an important bugfix by implementing proper permission validation to prevent unauthorized message processing.

🔧 Maintenance & Dependencies

  • Documentation: The metrics.rst documentation file has been updated.
  • Dependency Updates: Several dependencies were update

What's Changed

  • Fix: /api/v0/balances broken by @aliel in #843
  • Chore(deps): Bump pytz from 2025.1 to 2025.2 by @dependabot[bot] in #764
  • Chore(deps): Bump requests from 2.32.3 to 2.32.4 by @dependabot[bot] in #804
  • Chore(deps): Bump urllib3 from 2.3 to 2.5.0 by @dependabot[bot] in #811
  • Chore(deps): Bump aiohttp from 3.11.14 to 3.12.15 by @dependabot[bot] in #828
  • Chore(deps): Bump sentry-sdk from 2.23.1 to 2.35.1 by @dependabot[bot] in #842
  • Update metrics.rst by @aliel in #839
  • Chore(deps): Bump requests from 2.32.3 to 2.32.5 by @dependabot[bot] in #840
  • Chore(deps): Bump types-aiofiles from 24.1.0.20241221 to 24.1.0.20250822 by @dependabot[bot] in #841
  • feat: Implement historical pricing for message cost recalculation by @amalcaraz in #813
  • Added git version in status html page by @amalcaraz in #844
  • Fix: Prevent unauthorized message processing due to missing permission validation by @amalcaraz in #845

Full Changelog: 0.8.0...0.8.1

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.8.1.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.
  • On the same folder than docker-compose.yml file, should be a proper kubo.json configuration file, can be downloaded with wget https://raw.githubusercontent.com/aleph-im/pyaleph/0.8.1/deployment/samples/docker-compose/kubo.json.
  • On the docker-compose.yml file, in the ipfs service must use the ipfs/kubo:v0.35.0 and the command section should be ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc", "--config-file", "/etc/kubo.json"].
  • On the docker-compose.yml file, in the ipfs service must include a volume pointing to local kubo.json configuration file, like - "./kubo.json:/etc/kubo.json:ro".
  • On the docker-compose.yml file, ONLY FOR CCNs WITH HIGH CPU LOADS, in the ipfs service, must have some CPU and memory limitations. On CPU side should be the half of total CPU cores, and on memory side around 20% of the total memory. To configure it, the service should look like (new lines added with comments):
  ipfs:
    restart: always
    image: ipfs/kubo:v0.35.0
    ports:
      - "4001:4001"
      - "4001:4001/udp"
      - "127.0.0.1:5001:5001"
    volumes:
      - "pyaleph-ipfs:/data/ipfs"
      - "./kubo.json:/etc/kubo.json:ro"
    environment:
      - IPFS_PROFILE=server
      - GOMAXPROCS=4  # 50% of total CPU cores amount
      - GOMEMLIMIT=23500MiB # 25% of total RAM memory minus 500MB
    networks:
      - pyaleph
    command: ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc", "--config-file", "/etc/kubo.json"]
    cpus: 4.0  # 50% of total CPU cores amount
    mem_limit: 24g # 25% of total RAM memory
    memswap_limit: 24g # Same amount than up

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.8.0

26 Jun 15:53
Compare
Choose a tag to compare

This new release of the aleph.im Core Channel Node application significantly enhances the pyaleph library with new capabilities for automated balance management, improved file pin handling, the integration of the Unichain network, message status filtering, and Kubo configuration. It also addresses a bug related to balance tracking for specific accounts and includes a Pydantic migration for improved codebase.

✨ New Features

  • Balance Pre-check: A balance pre-check has been added for file pins to ensure sufficient funds before proceeding (#799).
  • Automated Balance Management: The system now includes automated balance checking and management of the message lifecycle (#798).
  • Message Status Filtering: The messages API now supports filtering messages by their status (#806).
  • Unichain Network Implementation: Support for the Unichain network has been implemented (#802).
  • Kubo Configuration: A new implementation for Kubo configuration has been added (#805).

🐞 Bug Fixes

  • A fix was implemented to correctly handle accounts without a balance, allowing for proper balance tracking after the cutoff (#801).
  • An issue where file content could not be found has been resolved (#812).

🛠️ Technical Improvements

  • Pydantic Migration: The test codebase has been migrated to the new Pydantic interface (#807).
  • Docker Image: The Docker Image version has been updated (#815).

What's Changed

New Contributors

Full Changelog: 0.7.4...0.8.0

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.8.0.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.
  • On the same folder than docker-compose.yml file, should be a proper kubo.json configuration file, can be downloaded with wget https://raw.githubusercontent.com/aleph-im/pyaleph/0.8.0/deployment/samples/docker-compose/kubo.json.
  • On the docker-compose.yml file, in the ipfs service must use the ipfs/kubo:v0.35.0 and the command section should be ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc", "--config-file", "/etc/kubo.json"].
  • On the docker-compose.yml file, in the ipfs service must include a volume pointing to local kubo.json configuration file, like - "./kubo.json:/etc/kubo.json:ro".
  • On the docker-compose.yml file, ONLY FOR CCNs WITH HIGH CPU LOADS, in the ipfs service, must have some CPU and memory limitations. On CPU side should be the half of total CPU cores, and on memory side around 20% of the total memory. To configure it, the service should look like (new lines added with comments):
  ipfs:
    restart: always
    image: ipfs/kubo:v0.35.0
    ports:
      - "4001:4001"
      - "4001:4001/udp"
      - "127.0.0.1:5001:5001"
    volumes:
      - "pyaleph-ipfs:/data/ipfs"
      - "./kubo.json:/etc/kubo.json:ro"
    environment:
      - IPFS_PROFILE=server
      - GOMAXPROCS=4  # 50% of total CPU cores amount
      - GOMEMLIMIT=23500MiB # 25% of total RAM memory minus 500MB
    networks:
      - pyaleph
    command: ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc", "--config-file", "/etc/kubo.json"]
    cpus: 4.0  # 50% of total CPU cores amount
    mem_limit: 24g # 25% of total RAM memory
    memswap_limit: 24g # Same amount than up

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.8.0-rc2

13 Jun 12:08
440c96a
Compare
Choose a tag to compare
0.8.0-rc2 Pre-release
Pre-release

This new release of the aleph.im Core Channel Node application significantly enhances the pyaleph library with new capabilities for automated balance management, improved file pin handling, the integration of the Unichain network, message status filtering, and Kubo configuration. It also addresses a bug related to balance tracking for specific accounts and includes a Pydantic migration for improved codebase.

New Features:

  • Automated Balance Checking and Message Lifecycle Management: Introduced automated balance checks and comprehensive management of message lifecycles. (PR #798)
  • Balance Pre-check on File Pins: Added a balance pre-check mechanism for file pins. (PR #799)
  • Unichain Network Implementation: Implemented support for the Unichain network. (PR #802)
  • Message Status Filtering: Added message status filtering to the messages API. (PR #806)
  • Kubo Configuration Implementation: Implemented configuration capabilities for Kubo. (PR #805)

Bug Fixes:

  • Accounts Without Balance: Fixed an issue to correctly catch and track accounts that do not have a balance after a cutoff period. (PR #801)

Improvements:

  • Pydantic Migration to New Interface on tests: Migrated Pydantic to its new interface on some tests. (PR #807)

What's Changed

New Contributors

Full Changelog: 0.7.4...0.8.0-rc2

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.8.0-rc2.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.
  • On the same folder than docker-compose.yml file, should be a proper kubo.json configuration file, can be downloaded with wget https://raw.githubusercontent.com/aleph-im/pyaleph/refs/heads/main/deployment/samples/docker-compose/kubo.json.
  • On the docker-compose.yml file, in the ipfs service must use the ipfs/kubo:v0.35.0 and the command section should be ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc", "--config-file", "/etc/kubo.json"].
  • On the docker-compose.yml file, in the ipfs service must include a volume pointing to local kubo.json configuration file, like - "./kubo.json:/etc/kubo.json:ro".
  • On the docker-compose.yml file, ONLY FOR CCNs WITH HIGH CPU LOADS, in the ipfs service, must have some CPU and memory limitations. On CPU side should be the half of total CPU cores, and on memory side around 20% of the total memory. To configure it, the service should look like (new lines added with comments):
  ipfs:
    restart: always
    image: ipfs/kubo:v0.35.0
    ports:
      - "4001:4001"
      - "4001:4001/udp"
      - "127.0.0.1:5001:5001"
    volumes:
      - "pyaleph-ipfs:/data/ipfs"
      - "./kubo.json:/etc/kubo.json:ro"
    environment:
      - IPFS_PROFILE=server
      - GOMAXPROCS=4  # 50% of total CPU cores amount
      - GOMEMLIMIT=23500MiB # 25% of total RAM memory minus 500MB
    networks:
      - pyaleph
    command: ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc", "--config-file", "/etc/kubo.json"]
    cpus: 4.0  # 50% of total CPU cores amount
    mem_limit: 24g # 25% of total RAM memory
    memswap_limit: 24g # Same amount than up

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.8.0-rc1

06 Jun 12:26
e706cbd
Compare
Choose a tag to compare
0.8.0-rc1 Pre-release
Pre-release

This new release of the aleph.im Core Channel Node application significantly enhances the pyaleph library with new capabilities for automated balance management, improved file pin handling, and the integration of the Unichain network. It also addresses a bug related to balance tracking for specific accounts.

New Features:

  • Automated Balance Checking and Message Lifecycle Management: Introduced automated balance checks and comprehensive management of message lifecycles. (PR #798)
  • Balance Pre-check on IPFS Pins: Added a balance pre-check mechanism for IPFS file pins. (PR #799)
  • Unichain Network Implementation: Implemented support for the Unichain network. (PR #802)

Bug Fixes:

  • Accounts Without Balance: Fixed an issue to correctly catch and track accounts that do not have a balance after a cutoff period. (PR #801)

What's Changed

  • Added balance pre-check on file pins by @nesitor in #799
  • Feat: Add automated balance checking and message lifecycle management by @amalcaraz in #798
  • fix: catch accounts without balance to track balance after cutoff by @amalcaraz in #801
  • Implement Unichain network by @nesitor in #802

Full Changelog: 0.7.4...0.8.0-rc1

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.8.0-rc1.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.
  • On the docker-compose.yml file, in the ipfs service must use the ipfs/kubo:v0.34.1 and the command section should be ["daemon", "--enable-pubsub-experiment", "--migrate"].
  • On the docker-compose.yml file, ONLY FOR CCNs WITH HIGH CPU LOADS, in the ipfs service, must have some CPU and memory limitations. On CPU side should be the half of total CPU cores, and on memory side around 20% of the total memory. To configure it, the service should look like (new lines added with comments):
  ipfs:
    restart: always
    image: ipfs/kubo:v0.34.1
    ports:
      - "4001:4001"
      - "4001:4001/udp"
      - "127.0.0.1:5001:5001"
    volumes:
      - "pyaleph-ipfs:/data/ipfs"
    environment:
      - IPFS_PROFILE=server
      - GOMAXPROCS=4  # 50% of total CPU cores amount
      - GOMEMLIMIT=23500MiB # 25% of total RAM memory minus 500MB
    networks:
      - pyaleph
    command: ["daemon", "--enable-pubsub-experiment", "--migrate"]
    cpus: 4.0  # 50% of total CPU cores amount
    mem_limit: 24g # 25% of total RAM memory
    memswap_limit: 24g # Same amount than up

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.7.4

15 May 16:19
Compare
Choose a tag to compare

This new release of the aleph.im Core Channel Node application includes garbage collection bug fixes and improvements.

Bug Fixes:

  • Pydantic Migrations Error Handling: Improved error handling during Pydantic migrations. (PR #786)
  • Garbage Collector Issue: Resolved an issue with the garbage collector. (PR #787)
  • Garbage Collection Failure Proofing: Made the garbage collection process more resilient to failures. (PR #792)

Improvements:

  • Garbage Collection Session Handling: Improved the way garbage collection sessions are handled. (PR #793)

What's Changed

  • Fix: pydantic migrations error handling by @1yam in #786
  • Solve garbage collector issue by @nesitor in #787
  • Garbage collection failure proof by @nesitor in #792
  • Improve garbage collection session handling by @nesitor in #793

Full Changelog: 0.7.3...0.7.4

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.7.4.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.
  • On the docker-compose.yml file, in the ipfs service must use the ipfs/kubo:v0.34.1 and the command section should be ["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc"].

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.7.3

01 May 12:06
Compare
Choose a tag to compare

This new release of the aleph.im Core Channel Node application includes message processing bug fixes and dependency upgrades.

New Features:

  • Charge for Store and Program Messages: Implemented a change where store and program messages are no longer free. (PR #757)

Bug Fixes:

  • Inconsistent Pagination: Fixed an issue causing inconsistent pagination in API responses. (PR #777)
  • Item Hashes List Endpoint: Resolved a problem with the item hashes list endpoint. (PR #779)
  • Pending POST Messages Increase: Fixed a bug that caused an incorrect increase in pending POST messages. (PR #782)
  • Account files: Fixed an issue causing an error on the account files endpoint. (PR #784)

Improvements:

  • Pydantic V1 Migration: Completed the migration from Pydantic V1 to V2 for the remaining parsing methods. (PR #781)

What's Changed

Full Changelog: 0.7.2...0.7.3

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.7.3.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.7.2

25 Apr 07:50
Compare
Choose a tag to compare

This new release of the aleph.im Core Channel Node application includes message processing bug fixes and dependency upgrades.

New Features:

  • Charge for Store and Program Messages: Implemented a change where store and program messages are no longer free. (PR #757)

Bug Fixes:

  • Inconsistent Pagination: Fixed an issue causing inconsistent pagination in API responses. (PR #777)
  • Item Hashes List Endpoint: Resolved a problem with the item hashes list endpoint. (PR #779)
  • Pending POST Messages Increase: Fixed a bug that caused an incorrect increase in pending POST messages. (PR #782)

Improvements:

  • Pydantic V1 Migration: Completed the migration from Pydantic V1 to V2 for the remaining parsing methods. (PR #781)

What's Changed

Full Changelog: 0.7.1...0.7.2

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.7.2.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.7.1

17 Apr 16:43
afbe5af
Compare
Choose a tag to compare

This new release of the aleph.im Core Channel Node application includes several bug fixes, dependency upgrades, and new features aimed at improving the stability, performance, and functionality of the Aleph Python library. The migration of the Dockerfile to Ubuntu 24.04 and the Pydantic upgrade are notable changes.

New Features

  • Estimated Size in Program Content: Added support for estimated_size_mib in the program content schema for the cost estimation endpoint. (PR #715)
  • Ubuntu 24.04 Dockerfile: Migrated the Dockerfile to use Ubuntu 24.04. (PR #716)
  • Storage on CCN as Option: Made storage on a CCN (Content Coordination Network) an optional feature. (PR #711)
  • Support for More Blockchains: Implemented support for additional blockchains. (PR #774)

Bug Fixes

  • pyproject-fmt Trailing .0: Prevented pyproject-fmt from being overly strict with trailing .0 in versioning. (PR #710)
  • Slow Server References: Removed references to the slow server api1.aleph.im. (PR #714)
  • Lint Subdependencies Category: Addressed an issue where pyaleph did not provide the lint subdependencies category. (PR #707)
  • Store Price Calculations: Fixed store price calculations for small files. (PR #706)
  • WORKDIR in Non-Existing Directory: Fixed an issue where WORKDIR could not be set in a non-existing directory. (PR #717)
  • Dependabot Docker Image Pushing: Fixed a potential issue where Dependabot branches might not push Docker images. (PR #718)
  • pip install .[testing]: Resolved an issue preventing installation with the [testing] extra. (PR #721)
  • Renamed Dependency: Corrected a renamed dependency (pytezos-crypto). (PR #723)
  • EstimatedCostDetail Response: Fixed an error in the EstimatedCostDetail response. (PR #772)
  • Message Confirmations Response: Removed the datetime field from the message confirmations response. (PR #773)
  • Typos: Corrected various typos in the codebase. (PR #709)

Improvements

  • CI Test Execution: Prevented running tests twice in the CI pipeline. (PR #719)
  • Dependabot Configuration: Increased Dependabot values to handle a large number of dependency upgrades. (PR #724)
  • Pydantic Upgrade: Upgraded Pydantic from v1 to v2. (PR #771)
  • Restore Nix-Shell: Restored the nix-shell environment on Ubuntu. (PR #722)

Dependency Updates

  • Numerous dependencies have been bumped to newer versions, including: sentry-sdk, ujson, gunicorn, pycryptodome, python-dateutil, pytest-mock, types-aiofiles, setproctitle, alembic, aiohttp-jinja2, aiocache, aiofiles, more-itertools, msgpack, sqlalchemy-utils, psycopg2-binary, pytz, dataclasses-json, pytest-aiohttp, pytest-cov, aio-pika, redis[hiredis], configparser, coincurve, substrate-interface, aiohttp, and aiohttp-cors. (PR #621, #619, #623, #702, #712, #734, #725, #726, #727, #728, #730, #732, #733, #729, #743, #742, #738, #736, #735, #748, #747, #745, #744, #749, #756, #755, #753, #752, #760)

What's Changed

  • Fix: (packing) sort unconfirmed messages => order by reception_time by @aliel in #751
  • Solve metrics.json issue by @nesitor in #778
  • Chore(deps): Bump sentry-sdk from 2.20 to 2.21.0 by @dependabot in #702
  • Corrected typos by @helicopter-1 in #709
  • Chore(deps): Bump sentry-sdk from 2.21.0 to 2.22.0 by @dependabot in #712
  • chore: prevent pyproject-fmt from being annoying with trailing .0 by @Psycojoker in #710
  • Fix: Remove references to slow server api1.aleph.im by @hoh in #714
  • pyaleph does not provide the lint subdependencies category by @Psycojoker in #707
  • Fix: Store price calculations on small file by @1yam in #706
  • Fix: Could not WORKDIR in non-existing directory by @hoh in #717
  • feat: migrate dockerfile to ubuntu 24.04 by @Psycojoker in #716
  • ci: avoid running tests twice by @Psycojoker in #719
  • ALEPH-408 Storage on a CCN should be an option by @Psycojoker in #711
  • Fix: Dependabot branches may not push Docker images by @hoh in #718
  • Chore(deps): Bump ujson from 5.1 to 5.10.0 by @dependabot in #621
  • Chore(deps): Bump gunicorn from 21.2 to 23.0.0 by @dependabot in #619
  • Chore(deps): Bump pycryptodome from 3.17 to 3.21.0 by @dependabot in #623
  • Fix: Could not pip install .[testing] by @hoh in #721
  • Restore nix-shell on Ubuntu by @hoh in #722
  • Fix: Depencency was renamed pytezos-crypto by @hoh in #723
  • feat: increase dependabot values, we have a LOT of dependencies that needs upgrade by @Psycojoker in #724
  • Chore(deps): Bump python-dateutil from 2.8.2 to 2.9.0 by @dependabot in #734
  • Chore(deps): Bump pytest-mock from 3.12.0 to 3.14.0 by @dependabot in #725
  • Chore(deps): Bump types-aiofiles from 23.2.0.20240403 to 24.1.0.20241221 by @dependabot in #726
  • Chore(deps): Bump setproctitle from 1.3.3 to 1.3.5 by @dependabot in #727
  • Chore(deps): Bump alembic from 1.12.1 to 1.15.1 by @dependabot in #728
  • Chore(deps): Bump aiohttp-jinja2 from 1.5 to 1.6 by @dependabot in #730
  • Chore(deps): Bump aiocache from 0.12.2 to 0.12.3 by @dependabot in #732
  • Chore(deps): Bump aiofiles from 23.2.1 to 24.1.0 by @dependabot in #733
  • Chore(deps): Bump more-itertools from 8.14.0 to 10.6.0 by @dependabot in #729
  • Chore(deps): Bump msgpack from 1.0.3 to 1.0.8 by @dependabot in #743
  • Chore(deps): Bump sqlalchemy-utils from 0.38.3 to 0.41.2 by @dependabot in #742
  • Chore(deps): Bump psycopg2-binary from 2.9.5 to 2.9.10 by @dependabot in #738
  • Chore(deps): Bump pytz from 2023.3 to 2025.1 by @dependabot in #736
  • Chore(deps): Bump dataclasses-json from 0.5.6 to 0.6.7 by @dependabot in #735
  • Chore(deps): Bump pytest-aiohttp from 1.0.5 to 1.1.0 by @dependabot in #748
  • Chore(deps): Bump pytest-cov from 4.1.0 to 6.0.0 by @dependabot in #747
  • Chore(deps): Bump aio-pika from 9.5 to 9.5.5 by @dependabot in #745
  • Chore(deps): Bump redis[hiredis] from 5.0.1 to 5.2.1 by @dependabot in #744
  • Chore(deps): Bump configparser from 6 to 7.2.0 by @dependabot in #749
  • Chore(deps): Bump coincurve from 20 to 21.0.0 by @dependabot in #756
  • Chore(deps): Bump pycryptodome from 3.21.0 to 3.22.0 by @dependabot in #755
  • Chore(deps): Bump substrate-interface from 1.7.4 to 1.7.11 by @dependabot in #753
  • Chore(deps): Bump aiohttp from 3.11.11 to 3.11.14 by @dependabot in #752
  • Chore(deps): Bump aiohttp-cors from 0.7 to 0.8.0 by @dependabot in #760
  • Chore(deps): Bump sentry-sdk from 2.22.0 to 2.23.1 by @dependabot in #759
  • Feat: Support estimated_size_mib in program content schema for cost estimation endpoint by @amalcaraz in #715
  • Upgrade pydantic v1 to v2 by @nesitor in #771
  • Fix: Solve EstimatedCostDetail response error. by @nesitor in #772
  • Remove datetime field from message confirmations response by @nesitor in #773
  • Implement support for more blockchains. by @nesitor in #774

New Contributors

Full Changelog: 0.6.0...0.7.1

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.7.1.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.7.0-rc1

11 Apr 11:09
Compare
Choose a tag to compare
0.7.0-rc1 Pre-release
Pre-release

This new release of the aleph.im Core Channel Node application includes several bug fixes, dependency upgrades, and new features aimed at improving the stability, performance, and functionality of the Aleph Python library. The migration of the Dockerfile to Ubuntu 24.04 and the Pydantic upgrade are notable changes.

New Features

  • Estimated Size in Program Content: Added support for estimated_size_mib in the program content schema for the cost estimation endpoint. (PR #715)
  • Ubuntu 24.04 Dockerfile: Migrated the Dockerfile to use Ubuntu 24.04. (PR #716)
  • Storage on CCN as Option: Made storage on a CCN (Content Coordination Network) an optional feature. (PR #711)

Bug Fixes

  • pyproject-fmt Trailing .0: Prevented pyproject-fmt from being overly strict with trailing .0 in versioning. (PR #710)
  • Slow Server References: Removed references to the slow server api1.aleph.im. (PR #714)
  • Lint Subdependencies Category: Addressed an issue where pyaleph did not provide the lint subdependencies category. (PR #707)
  • Store Price Calculations: Fixed store price calculations for small files. (PR #706)
  • WORKDIR in Non-Existing Directory: Fixed an issue where WORKDIR could not be set in a non-existing directory. (PR #717)
  • Dependabot Docker Image Pushing: Fixed a potential issue where Dependabot branches might not push Docker images. (PR #718)
  • pip install .[testing]: Resolved an issue preventing installation with the [testing] extra. (PR #721)
  • Renamed Dependency: Corrected a renamed dependency (pytezos-crypto). (PR #723)
  • EstimatedCostDetail Response: Fixed an error in the EstimatedCostDetail response. (PR #772)
  • Message Confirmations Response: Removed the datetime field from the message confirmations response. (PR #773)

Improvements

  • CI Test Execution: Prevented running tests twice in the CI pipeline. (PR #719)
  • Dependabot Configuration: Increased Dependabot values to handle a large number of dependency upgrades. (PR #724)
  • Pydantic Upgrade: Upgraded Pydantic from v1 to v2. (PR #771)
  • Restore Nix-Shell: Restored the nix-shell environment on Ubuntu. (PR #722)

Dependency Updates

  • Numerous dependencies have been bumped to newer versions, including: sentry-sdk, ujson, gunicorn, pycryptodome, python-dateutil, pytest-mock, types-aiofiles, setproctitle, alembic, aiohttp-jinja2, aiocache, aiofiles, more-itertools, msgpack, sqlalchemy-utils, psycopg2-binary, pytz, dataclasses-json, pytest-aiohttp, pytest-cov, aio-pika, redis[hiredis], configparser, coincurve, substrate-interface, aiohttp, and aiohttp-cors. (PR #621, #619, #623, #702, #712, #734, #725, #726, #727, #728, #730, #732, #733, #729, #743, #742, #738, #736, #735, #748, #747, #745, #744, #749, #756, #755, #753, #752, #760)

Full list

  • Chore(deps): Bump sentry-sdk from 2.20 to 2.21.0 by @dependabot in #702
  • Corrected typos by @helicopter-1 in #709
  • Chore(deps): Bump sentry-sdk from 2.21.0 to 2.22.0 by @dependabot in #712
  • chore: prevent pyproject-fmt from being annoying with trailing .0 by @Psycojoker in #710
  • Fix: Remove references to slow server api1.aleph.im by @hoh in #714
  • pyaleph does not provide the lint subdependencies category by @Psycojoker in #707
  • Fix: Store price calculations on small file by @1yam in #706
  • Fix: Could not WORKDIR in non-existing directory by @hoh in #717
  • feat: migrate dockerfile to ubuntu 24.04 by @Psycojoker in #716
  • ci: avoid running tests twice by @Psycojoker in #719
  • ALEPH-408 Storage on a CCN should be an option by @Psycojoker in #711
  • Fix: Dependabot branches may not push Docker images by @hoh in #718
  • Chore(deps): Bump ujson from 5.1 to 5.10.0 by @dependabot in #621
  • Chore(deps): Bump gunicorn from 21.2 to 23.0.0 by @dependabot in #619
  • Chore(deps): Bump pycryptodome from 3.17 to 3.21.0 by @dependabot in #623
  • Fix: Could not pip install .[testing] by @hoh in #721
  • Restore nix-shell on Ubuntu by @hoh in #722
  • Fix: Depencency was renamed pytezos-crypto by @hoh in #723
  • feat: increase dependabot values, we have a LOT of dependencies that needs upgrade by @Psycojoker in #724
  • Chore(deps): Bump python-dateutil from 2.8.2 to 2.9.0 by @dependabot in #734
  • Chore(deps): Bump pytest-mock from 3.12.0 to 3.14.0 by @dependabot in #725
  • Chore(deps): Bump types-aiofiles from 23.2.0.20240403 to 24.1.0.20241221 by @dependabot in #726
  • Chore(deps): Bump setproctitle from 1.3.3 to 1.3.5 by @dependabot in #727
  • Chore(deps): Bump alembic from 1.12.1 to 1.15.1 by @dependabot in #728
  • Chore(deps): Bump aiohttp-jinja2 from 1.5 to 1.6 by @dependabot in #730
  • Chore(deps): Bump aiocache from 0.12.2 to 0.12.3 by @dependabot in #732
  • Chore(deps): Bump aiofiles from 23.2.1 to 24.1.0 by @dependabot in #733
  • Chore(deps): Bump more-itertools from 8.14.0 to 10.6.0 by @dependabot in #729
  • Chore(deps): Bump msgpack from 1.0.3 to 1.0.8 by @dependabot in #743
  • Chore(deps): Bump sqlalchemy-utils from 0.38.3 to 0.41.2 by @dependabot in #742
  • Chore(deps): Bump psycopg2-binary from 2.9.5 to 2.9.10 by @dependabot in #738
  • Chore(deps): Bump pytz from 2023.3 to 2025.1 by @dependabot in #736
  • Chore(deps): Bump dataclasses-json from 0.5.6 to 0.6.7 by @dependabot in #735
  • Chore(deps): Bump pytest-aiohttp from 1.0.5 to 1.1.0 by @dependabot in #748
  • Chore(deps): Bump pytest-cov from 4.1.0 to 6.0.0 by @dependabot in #747
  • Chore(deps): Bump aio-pika from 9.5 to 9.5.5 by @dependabot in #745
  • Chore(deps): Bump redis[hiredis] from 5.0.1 to 5.2.1 by @dependabot in #744
  • Chore(deps): Bump configparser from 6 to 7.2.0 by @dependabot in #749
  • Chore(deps): Bump coincurve from 20 to 21.0.0 by @dependabot in #756
  • Chore(deps): Bump pycryptodome from 3.21.0 to 3.22.0 by @dependabot in #755
  • Chore(deps): Bump substrate-interface from 1.7.4 to 1.7.11 by @dependabot in #753
  • Chore(deps): Bump aiohttp from 3.11.11 to 3.11.14 by @dependabot in #752
  • Chore(deps): Bump aiohttp-cors from 0.7 to 0.8.0 by @dependabot in #760
  • Chore(deps): Bump sentry-sdk from 2.22.0 to 2.23.1 by @dependabot in #759
  • Feat: Support estimated_size_mib in program content schema for cost estimation endpoint by @amalcaraz in #715
  • Upgrade pydantic v1 to v2 by @nesitor in #771
  • Fix: Solve EstimatedCostDetail response error. by @nesitor in #772
  • Remove datetime field from message confirmations response by @nesitor in #773

New Contributors

Full Changelog: 0.6.0...0.7.0-rc1

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.7.0-rc1.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.

0.6.0

19 Feb 20:11
Compare
Choose a tag to compare

This new release of the aleph.im Core Channel Node application bring new features like GPU support, account management, and pricing estimations, alongside numerous bug fixes, dependency updates, and performance enhancements.

New Features

  • Aggregates Caching: Implemented caching for aggregates by owner and all metrics data for 10 seconds to improve performance. (PR #693, #690)
  • Cost Service Update: The cost service now utilizes the pricing aggregate. (PR #694)
  • Executable Message Price Estimation: Added a new endpoint to estimate the final price of an executable message before sending. (PR #695)
  • Pre-calculated Balances: Introduced pre-calculated balances for improved performance. (PR #698)
  • GPU Pricing Update: Implemented new pricing for GPU usage. (PR #701)

Bug Fixes

  • Duplicate Messages: Fixed an issue where duplicate messages of already forgotten messages were being processed. (PR #692)
  • Pydantic Int Handling: Corrected an issue with how Pydantic handles integers. (PR #696)
  • Migration 32 Fix: Fixed migration 32 to delete confirmations before the message. (PR #697)
  • Staging Migration Hotfix: Implemented a hotfix to resolve a staging migration issue. (PR #700)
  • Default Price and Settings Aggregates: Fixed issues related to default price and settings aggregates. (PR #704)

Improvements

  • Dependency Updates: Updated pycryptodome, gunicorn, and sentry-sdk to their latest versions. (PR #613, #614, #686)
  • Branding Update: Replaced the old branding logo with the new one. (PR #691)
  • Estimate Costs Update: Updated the cost estimation process. (PR #703)
  • aleph-message Upgrade: Upgraded aleph-message to version 0.6.1. (PR #705)

What's Changed

  • Chore(deps): Bump pycryptodome from 3.17.0 to 3.19.1 by @dependabot in #613
  • Chore(deps): Bump gunicorn from 21.2.0 to 22.0.0 by @dependabot in #614
  • Replace old branding logo for the new one by @nesitor in #691
  • feat: cache aggregates by owner results until they are updated by @Psycojoker in #693
  • feat: cache all metrics data for 10 seconds for performances reasons by @Psycojoker in #690
  • Feature: Cost service now uses pricing aggregate by @amalcaraz in #694
  • Feat: new endpoint for estimating the final executable message price before sending it by @amalcaraz in #695
  • Fix: Ignore duplicated messages of already forgotten messages by @amalcaraz in #692
  • fix: pydantic is doing weid things with ints by @Psycojoker in #696
  • fix: migration 32 delete confirmations before message by @amalcaraz in #697
  • Chore(deps): Bump sentry-sdk from 1.34 to 2.20.0 by @dependabot in #686
  • Hotfix to solve staging migration by @amalcaraz in #700
  • feat: pre calculated blances by @amalcaraz in #698
  • Implemented GPU new pricings by @nesitor in #701
  • Estimate costs update by @amalcaraz in #703
  • Upgrade aleph-message version to 0.6.1 by @nesitor in #705
  • Fix: Default price and settings aggregates by @1yam in #704

Full Changelog: 0.5.9...0.6.0

Upgrade guide

Make sure that your node is running v0.5.1 or later. If that is not the case already, follow the upgrade guide here.

From v0.5.1, simply bump the version of these services:

  • On the docker-compose.yml file, in the pyaleph and pyaleph-api services must use alephim/pyaleph-node:0.6.0.
  • On the docker-compose.yml file, in the p2p-service service must use alephim/p2p-service:0.1.4.

⚠️ Warning: After updating pyaleph, the service may take up to 10 minutes to start due to a one-time migration. Do not restart the VM; the service will start automatically once the migration completes.

Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d.