Releases: aleph-im/pyaleph
0.9.0
This new release of the aleph.im Core Channel Node application introduces significant new functionality for credit-based cost and lifecycle management and enhances IPFS configuration flexibility. It also includes fixes for data type handling and migration stability.
New Features:
- Comprehensive Credit-Based Cost Calculation and Lifecycle Management: Implemented a major feature for comprehensive credit-based cost calculation and full lifecycle management of messages. (PR #836)
- Separate IPFS Pinning Service Configuration: Added an
ipfs.pinning
configuration section to allow for a separate pinning service, while maintaining backward compatibility. (PR #859) - Python 3.13 Support: Added support for Python 3.13. (PR #864)
Bug Fixes:
- Migration File Number: Fixed an issue with the migration file numbering. (PR #860)
- IPFS Byte Size Casting: Corrected the method for casting IPFS byte size. (PR #858)
add_file
Regression: Fixed a regression bug related to theadd_file
functionality. (PR #862)
Internal/Maintenance:
- Local Testing Fix: Fixed an issue related to local testing. (PR #863)
What's Changed
- Fix migration file number by @aliel in #860
- Cast IPFS byte size method by @nesitor in #858
- Add ipfs.pinning configuration section for separate pinning service with backward compatibility by @aliel in #859
- feat: Implement comprehensive credit-based cost calculation and lifecycle management by @amalcaraz in #836
- Fix add_file regression by @aliel in #862
- chore: support Python 3.13 by @odesenfans in #864
- internal: fix local testing by @odesenfans in #863
- feat: Add node_id execution_id and price in the historical credit exp… by @amalcaraz in #867
Full Changelog: 0.8.2...0.9.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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.9.0
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/p2p-service:0.1.4
. - On the same folder than
docker-compose.yml
file, should be a proper001-update-ipfs-config.sh
configuration file, can be downloaded withwget https://raw.githubusercontent.com/aleph-im/pyaleph/0.9.0/deployment/scripts/001-update-ipfs-config.sh
. - On the
docker-compose.yml
file, in theipfs
service must use theipfs/kubo:v0.37.0
and the command section should be["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc"]
. - On the
docker-compose.yml
file, in theipfs
service must include a volume pointing to local001-update-ipfs-config.sh
configuration file, like- "./001-update-ipfs-config.sh:/container-init.d/001-update-ipfs-config.sh:ro"
. - On the
docker-compose.yml
file, in theipfs
service the volume and the filekubo.json
are not necessary anymore, so it can be removed. - On the
docker-compose.yml
file, in theipfs
service must have a new environment variable calledIPFS_TELEMETRY
set tooff
value, disabling the IPFS telemetry signals, like- IPFS_TELEMETRY=off
. - On the
docker-compose.yml
file, ONLY FOR CCNs WITH HIGH CPU LOADS, in theipfs
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.37.0
ports:
- "4001:4001"
- "4001:4001/udp"
- "127.0.0.1:5001:5001"
volumes:
- "pyaleph-ipfs:/data/ipfs"
- "./001-update-ipfs-config.sh:/container-init.d/001-update-ipfs-config.sh:ro"
environment:
- IPFS_PROFILE=server
- IPFS_TELEMETRY=off
- 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"]
cpus: 4.0 # 50% of total CPU cores amount
mem_limit: 24g # 25% of total RAM memory
memswap_limit: 24g # Same amount than up
Upgrade troubleshooting
Occasionally, when migrating IPFS to a newer version, you may encounter the log error: "Error: ipfs repo needs migration, please run migration tool." If this occurs, the following steps should be taken to resolve the issue.
Troubleshooting IPFS Repository Migration
- Halt all containers using the command
docker-compose down
. - Edit the
docker-compose.yml file
and comment out the line that mounts the configuration script001-update-ipfs-config.sh
within the IPFS service putting a#
at the initial of the line. - Start only the IPFS container with the command
docker-compose up ipfs
. Monitor the container logs until you see the message: "Success: fs-repo migrated to version XX using embedded migrations.", where XX corresponds to the IPFS repository version. - Wait for the "Daemon is ready" message to appear in the container logs. After just press
Control + C
to exit the container. - Stop the IPFS container again with
docker-compose down
. Uncomment the line for the configuration script001-update-ipfs-config.sh
that you previously commented out. - Restart all containers normally using the command
docker-compose up -d
.
⚠️ 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.2
This new release of the aleph.im Core Channel Node application focuses primarily on bug fixes and performance improvements, ensuring more reliable connections, correct data handling, and faster database operations.
New Features & Improvements
- Database Performance: Added an index to the time field in the pending_messages table to improve database query performance. (PR #850)
Bug Fixes
- Balance Pre-check: Solved a formatting issue that was affecting the balance pre-check functionality. (PR #855)
- RabbitMQ Connection: Fixed connection timeouts that occurred during long operations with RabbitMQ. (PR #856)
- IPFS Configuration: Corrected the method used to update the IPFS configuration, ensuring it follows the recommended practices. (PR #846)
- IPFS Size Handling: Resolved an issue related to how IPFS size was being handled. (PR #857)
What's Changed
- Add an index to the pending_messages table on the time field by @aliel in #850
- Solve format issue on balance pre-check by @nesitor in #855
- Fix RabbitMQ connection timeouts during long operations. by @aliel in #856
- Fix IPFS conf: use the recommended method to update IPFS configuration by @aliel in #846
- Solve IPFS size handling by @nesitor in #857
Full Changelog: 0.8.1...0.8.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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.8.2
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/p2p-service:0.1.4
. - On the same folder than
docker-compose.yml
file, should be a proper001-update-ipfs-config.sh
configuration file, can be downloaded withwget https://raw.githubusercontent.com/aleph-im/pyaleph/0.8.2/deployment/scripts/001-update-ipfs-config.sh
. - On the
docker-compose.yml
file, in theipfs
service must use theipfs/kubo:v0.37.0
and the command section should be["daemon", "--enable-pubsub-experiment", "--migrate", "--enable-gc"]
. - On the
docker-compose.yml
file, in theipfs
service must include a volume pointing to local001-update-ipfs-config.sh
configuration file, like- "./001-update-ipfs-config.sh:/container-init.d/001-update-ipfs-config.sh:ro"
. - On the
docker-compose.yml
file, in theipfs
service the volume and the filekubo.json
are not necessary anymore, so it can be removed. - On the
docker-compose.yml
file, in theipfs
service must have a new environment variable calledIPFS_TELEMETRY
set tooff
value, disabling the IPFS telemetry signals, like- IPFS_TELEMETRY=off
. - On the
docker-compose.yml
file, ONLY FOR CCNs WITH HIGH CPU LOADS, in theipfs
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.37.0
ports:
- "4001:4001"
- "4001:4001/udp"
- "127.0.0.1:5001:5001"
volumes:
- "pyaleph-ipfs:/data/ipfs"
- "./001-update-ipfs-config.sh:/container-init.d/001-update-ipfs-config.sh:ro"
environment:
- IPFS_PROFILE=server
- IPFS_TELEMETRY=off
- 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"]
cpus: 4.0 # 50% of total CPU cores amount
mem_limit: 24g # 25% of total RAM memory
memswap_limit: 24g # Same amount than up
Upgrade troubleshooting
Occasionally, when migrating IPFS to a newer version, you may encounter the log error: "Error: ipfs repo needs migration, please run migration tool." If this occurs, the following steps should be taken to resolve the issue.
Troubleshooting IPFS Repository Migration
- Halt all containers using the command
docker-compose down
. - Edit the
docker-compose.yml file
and comment out the line that mounts the configuration script001-update-ipfs-config.sh
within the IPFS service putting a#
at the initial of the line. - Start only the IPFS container with the command
docker-compose up ipfs
. Monitor the container logs until you see the message: "Success: fs-repo migrated to version XX using embedded migrations.", where XX corresponds to the IPFS repository version. - Wait for the "Daemon is ready" message to appear in the container logs. After just press
Control + C
to exit the container. - Stop the IPFS container again with
docker-compose down
. Uncomment the line for the configuration script001-update-ipfs-config.sh
that you previously commented out. - Restart all containers normally using the command
docker-compose up -d
.
⚠️ 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.1
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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.8.1
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/p2p-service:0.1.4
. - On the same folder than
docker-compose.yml
file, should be a properkubo.json
configuration file, can be downloaded withwget https://raw.githubusercontent.com/aleph-im/pyaleph/0.8.1/deployment/samples/docker-compose/kubo.json
. - On the
docker-compose.yml
file, in theipfs
service must use theipfs/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 theipfs
service must include a volume pointing to localkubo.json
configuration file, like- "./kubo.json:/etc/kubo.json:ro"
. - On the
docker-compose.yml
file, ONLY FOR CCNs WITH HIGH CPU LOADS, in theipfs
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
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
- 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
- Feat: Add message status filtering to messages API by @amalcaraz in #806
- Implement Kubo Configuration by @nesitor in #805
- Migrate Pydantic to new interface by @emmanuel-ferdman in #807
- Solve file content not found by @nesitor in #812
- Increase Docker Image version by @nesitor in #815
New Contributors
- @emmanuel-ferdman made their first contribution in #807
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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.8.0
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/p2p-service:0.1.4
. - On the same folder than
docker-compose.yml
file, should be a properkubo.json
configuration file, can be downloaded withwget https://raw.githubusercontent.com/aleph-im/pyaleph/0.8.0/deployment/samples/docker-compose/kubo.json
. - On the
docker-compose.yml
file, in theipfs
service must use theipfs/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 theipfs
service must include a volume pointing to localkubo.json
configuration file, like- "./kubo.json:/etc/kubo.json:ro"
. - On the
docker-compose.yml
file, ONLY FOR CCNs WITH HIGH CPU LOADS, in theipfs
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
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
- 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
- Feat: Add message status filtering to messages API by @amalcaraz in #806
- Implement Kubo Configuration by @nesitor in #805
- Migrate Pydantic to new interface by @emmanuel-ferdman in #807
New Contributors
- @emmanuel-ferdman made their first contribution in #807
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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.8.0-rc2
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/p2p-service:0.1.4
. - On the same folder than
docker-compose.yml
file, should be a properkubo.json
configuration file, can be downloaded withwget https://raw.githubusercontent.com/aleph-im/pyaleph/refs/heads/main/deployment/samples/docker-compose/kubo.json
. - On the
docker-compose.yml
file, in theipfs
service must use theipfs/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 theipfs
service must include a volume pointing to localkubo.json
configuration file, like- "./kubo.json:/etc/kubo.json:ro"
. - On the
docker-compose.yml
file, ONLY FOR CCNs WITH HIGH CPU LOADS, in theipfs
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
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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.8.0-rc1
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/p2p-service:0.1.4
. - On the
docker-compose.yml
file, in theipfs
service must use theipfs/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 theipfs
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
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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.7.4
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/p2p-service:0.1.4
. - On the
docker-compose.yml
file, in theipfs
service must use theipfs/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
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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.7.3
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/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
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
- Fix: Inconsistent pagination by @aliel in #777
- Fix: item hashes list endpoint by @aliel in #779
- Feat: store and program messages are not free anymore by @amalcaraz in #757
- Migrate last Pydantic V1 parsing methods by @nesitor in #781
- Fix pending POST messages increase by @nesitor in #782
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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.7.2
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/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
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
: Preventedpyproject-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 whereWORKDIR
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
, andaiohttp-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
- @helicopter-1 made their first contribution in #709
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 thepyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.7.1
. - On the
docker-compose.yml
file, in thep2p-service
service must usealephim/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
.