Skip to content

0.8.1

Latest
Compare
Choose a tag to compare
@nesitor nesitor released this 02 Sep 14:29
· 4 commits to main since this release

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.