Releases: aleph-im/pyaleph
v0.5.2
This new release of the aleph.im Core Channel Node application significantly improves the performance of the nodes, allowing them to scale the ever increasing usage of the network.
Key Highlights of the Release:
-
Event-Based Processing: A major shift in this update is the transition to event-based processing for both transactions (TX) and message handling. This change is pivotal in optimizing the flow and handling of information within the network, ensuring more responsive and reliable operations.
-
Asynchronous Garbage Collector: The deletion of temporary files and files deleted by FORGET messages is now asynchronous and does not block other processes anymore.
-
New Metrics API endpoint for CRN & CNN: Obtain the metrics of a specific node using
/api/v0/core/{node_id}/metrics
or/api/v0/compute/{node_id}/metrics
from the API of a Core Channel Node.
What's Changed
- Internal: remove useless variable in commands.py by @odesenfans in #491
- Doc: configuration module by @odesenfans in #493
- Internal: remove test-only method of MessageHandler by @odesenfans in #494
- Internal: split message handler by @odesenfans in #495
- CI: do not build on push by @odesenfans in #499
- Internal: TX processing is now event-based by @odesenfans in #492
- Chore: bump aio_pika to 9.1.5 by @odesenfans in #496
- Chore: bump alembic to 1.12.1 by @odesenfans in #498
- Chore: bump asyncpg to 0.28.0 by @odesenfans in #501
- Chore: bump coincurve to 18.0.0 by @odesenfans in #502
- Chore: bump aiocache to 0.12.2 by @odesenfans in #497
- Chore: bump configparser to 6.0.0 by @odesenfans in #503
- Chore: bump eth_account to 0.10.0 by @odesenfans in #504
- Chore: bump pytz to 2023.3 by @odesenfans in #506
- Chore: bump gunicorn to 21.2.0 by @odesenfans in #505
- Chore: bump Redis (Python lib) to 5.0.1 by @odesenfans in #507
- Chore: bump Sentry SDK to 1.34.0 by @odesenfans in #508
- Chore: bump substrate-interface to 1.7.4 by @odesenfans in #510
- Chore: bump to uvloop 0.19.0 by @odesenfans in #512
- Chore: bump setproctitle to 1.3.3 by @odesenfans in #509
- Chore: bump web3 to 6.11.2 by @odesenfans in #513
- Chore: bump urllib3 to 2.0.7 and requests to 2.31.0 by @odesenfans in #511
- Chore: bump Kubo to 0.23.0 by @odesenfans in #515
- Internal: message processing is now event-based by @odesenfans in #500
- Fix: warning on failure to close node cache properly by @odesenfans in #514
- Feature: asynchronous garbage collector by @odesenfans in #516
- Release candidate: v0.5.2-rc1 by @odesenfans in #517
- CI: enable -Werror for pytest by @odesenfans in #518
- Revert: downgrade Kubo from 0.23.0 to 0.15.0 by @odesenfans in #519
- Release candidate: v0.5.2-rc2 by @odesenfans in #521
- Fix: Conflict between multiple database migrations by @hoh in #531
- Filter and sort objects (messages, posts, etc) by confirmation block ID #445 by @MHHukiewitz in #446
- Implement workaround for axios not passing Content-Length headers in multipart fields by @MHHukiewitz in #537
- Fix: Dependency aleph-message used an rc, stable available by @hoh in #546
- Fix: All node metrics were returned by default by @hoh in #547
Full Changelog: v0.5.1...v0.5.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:
- The
pyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.5.2
.
⚠️ we removed thev
in the version number
Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d
.
v0.5.2-rc4
What's Changed
- Implement workaround for axios not passing Content-Length headers in multipart fields by @MHHukiewitz in #537
- Fix: Dependency aleph-message used an rc, stable available by @hoh in #546
- Fix: All node metrics were returned by default by @hoh in #547
Full Changelog: v0.5.2-rc3...v0.5.2-rc4
v0.5.2-rc3
What's Changed
- Fix: Conflict between multiple database migrations by @hoh in #531
- Filter and sort objects (messages, posts, etc) by confirmation block ID #445 by @MHHukiewitz in #446
Full Changelog: v0.5.2-rc2...v0.5.2-rc3
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:
- The
pyaleph
andpyaleph-api
services must usealephim/pyaleph-node:0.5.2-rc3
.
⚠️ we removed thev
in the version number
Then, restart your node: docker-compose pull && docker-compose down && docker-compose up -d
.
0.5.1-2
What's Changed
- Internal: remove useless variable in commands.py by @odesenfans in #491
- Doc: configuration module by @odesenfans in #493
- Solve balance_check issue for instances by @nesitor in #522
New Contributors
Full Changelog: v0.5.1...0.5.1-2
v0.5.2-rc2
Fixes and revert to Kubo 0.15.0.
What's Changed
- CI: enable -Werror for pytest by @odesenfans in #518
- Revert: downgrade Kubo from 0.23.0 to 0.15.0 by @odesenfans in #519
Full Changelog: v0.5.2-rc1...v0.5.2-rc2
v0.5.2-rc1
This release tackles several latency issues in the message processing pipeline. It improves the latency of the message and tx processing pipeline when processing new messages/txs after being idle. It also makes the garbage collection process asynchronous as deleting large files in the pipeline directly caused severe latency issues.
Breaking changes
- Files are now given a grace period after being forgotten, 24 hours by default.
What's Changed
- Internal: remove useless variable in commands.py by @odesenfans in #491
- Doc: configuration module by @odesenfans in #493
- Internal: remove test-only method of MessageHandler by @odesenfans in #494
- Internal: split message handler by @odesenfans in #495
- CI: do not build on push by @odesenfans in #499
- Internal: TX processing is now event-based by @odesenfans in #492
- Chore: bump aio_pika to 9.1.5 by @odesenfans in #496
- Chore: bump alembic to 1.12.1 by @odesenfans in #498
- Chore: bump asyncpg to 0.28.0 by @odesenfans in #501
- Chore: bump coincurve to 18.0.0 by @odesenfans in #502
- Chore: bump aiocache to 0.12.2 by @odesenfans in #497
- Chore: bump configparser to 6.0.0 by @odesenfans in #503
- Chore: bump eth_account to 0.10.0 by @odesenfans in #504
- Chore: bump pytz to 2023.3 by @odesenfans in #506
- Chore: bump gunicorn to 21.2.0 by @odesenfans in #505
- Chore: bump Redis (Python lib) to 5.0.1 by @odesenfans in #507
- Chore: bump Sentry SDK to 1.34.0 by @odesenfans in #508
- Chore: bump substrate-interface to 1.7.4 by @odesenfans in #510
- Chore: bump to uvloop 0.19.0 by @odesenfans in #512
- Chore: bump setproctitle to 1.3.3 by @odesenfans in #509
- Chore: bump web3 to 6.11.2 by @odesenfans in #513
- Chore: bump urllib3 to 2.0.7 and requests to 2.31.0 by @odesenfans in #511
- Chore: bump Kubo to 0.23.0 by @odesenfans in #515
- Internal: message processing is now event-based by @odesenfans in #500
- Fix: warning on failure to close node cache properly by @odesenfans in #514
- Feature: asynchronous garbage collector by @odesenfans in #516
- Release candidate: v0.5.2-rc1 by @odesenfans in #517
Full Changelog: v0.5.1...v0.5.2-rc1
v0.5.1
New features
- Full support for instance messages.
- Balance checks on instances and persistent VMs.
- Authenticated file upload: the file upload endpoint can now process a file and the corresponding aleph message at the same time.
- Users can now query the creation/modification date of an aggregate using the new
with_info
query parameter.
Main bug fixes
- Fixed the infinite RPC loop encountered by node operators caused by unexpected publishers on the aleph.im smart contract.
- The stability issues encountered on websockets since v0.5.0 are now resolved.
- Fixed a recurring exception caused by a breaking change in the ETH/BSC indexer GraphQL API.
Upgrade guide
Make sure that your node is running v0.5.0. If that is not the case already, follow the upgrade guide here.
From v0.5.0, simply bump the version of these services:
- The
pyaleph
andpyaleph-api
services must usealephim/pyaleph-node:v0.5.1
. - The
p2p-service
service must usealephim/p2p-service:0.1.3
.
Then, restart your node: docker-compose down && docker-compose up -d
.
What's Changed
- Fix: do not send confirmations to message websocket by @odesenfans in #433
- Fix: use epoch format for all messages on websocket by @odesenfans in #438
- Chore: bump P2P service to 0.1.3 by @odesenfans in #440
- Internal: use a separate MQ channel for websockets by @odesenfans in #441
- Fix: reopen the API MQ channels if they are closed by @odesenfans in #442
- Feature: process instance messages by @odesenfans in #443
- Fix: remove cloud-init support and add authorized keys by @odesenfans in #449
- Fix: 500 error when listing instance messages by @odesenfans in #448
- Fix: no DB calls in message websocket by @odesenfans in #447
- Fix: prevent cancellation of the message websocket by @odesenfans in #450
- Fix: no exception log on Solana signature error by @odesenfans in #451
- Fix: 500 error when submitting instance message by @odesenfans in #452
- Chore: bump aleph-message and aleph-nuls2 by @odesenfans in #454
- Fix: large IPFS files were not pinned by @odesenfans in #456
- Fix: refs were not filtered properly in message websocket by @odesenfans in #458
- Internal: reenable AVAX signature unit tests by @odesenfans in #461
- Feature: Control of balance for instances by @1yam in #462
- Internal: add test for POST /messages with sync by @odesenfans in #464
- Refactor: get_total_cost_for_address + fix View by @1yam in #466
- do not use localhost by @MHHukiewitz in #468
- Allow multiple message types by @MHHukiewitz in #444
- Feature: upgrade balance endpoint by @1yam in #471
- Fix: cost_view by @1yam in #472
- Fix: return 422 on POST /messages if body is not JSON by @odesenfans in #475
- Fix: no infinite loop on tx from unauthorized emitter by @odesenfans in #480
- Fix: 400 error on indexer queries by @odesenfans in #481
- corrected multiaddress generation instructions by @gdelfino in #479
- Fix: reprocess failed instance messages in migration script by @odesenfans in #460
- Internal: store tx_hash in rejected messages table by @odesenfans in #459
- Feature : Balance Check persistent VM by @1yam in #469
- Feature: authenticated file upload by @1yam in #463
- Feature: modification and creation date in the aggregate messages by @1yam in #473
- Fix: missing parameter for broadcast_and_process by @odesenfans in #483
- Fix: use GiB for balance computations by @odesenfans in #485
New Contributors
- @1yam made their first contribution in #462
- @MHHukiewitz made their first contribution in #468
- @gdelfino made their first contribution in #479
Full Changelog: v0.5.0...v0.5.1
v0.5.1-rc3
This release candidate introduces new features related to balance checks, aggregate metadata and file uploads. It also fixes multiple minor issues.
What's Changed
- Fix: refs were not filtered properly in message websocket by @odesenfans in #458
- Internal: reenable AVAX signature unit tests by @odesenfans in #461
- Feature: Control of balance for instances by @1yam in #462
- Internal: add test for POST /messages with sync by @odesenfans in #464
- Refactor: get_total_cost_for_address + fix View by @1yam in #466
- do not use localhost by @MHHukiewitz in #468
- Allow multiple message types by @MHHukiewitz in #444
- Feature: upgrade balance endpoint by @1yam in #471
- Fix: cost_view by @1yam in #472
- Fix: return 422 on POST /messages if body is not JSON by @odesenfans in #475
- Fix: no infinite loop on tx from unauthorized emitter by @odesenfans in #480
- Fix: 400 error on indexer queries by @odesenfans in #481
- corrected multiaddress generation instructions by @gdelfino in #479
- Fix: reprocess failed instance messages in migration script by @odesenfans in #460
- Internal: store tx_hash in rejected messages table by @odesenfans in #459
- Feature : Balance Check persistent VM by @1yam in #469
- Feature: authenticated file upload by @1yam in #463
- Feature: modification and creation date in the aggregate messages by @1yam in #473
- Fix: missing parameter for broadcast_and_process by @odesenfans in #483
New Contributors
- @1yam made their first contribution in #462
- @MHHukiewitz made their first contribution in #468
- @gdelfino made their first contribution in #479
Full Changelog: v0.5.1-rc2...v0.5.1-rc3
v0.5.1-rc2
Minor fixes.
Full Changelog: v0.5.1-rc1...v0.5.1-rc2
v0.5.1-rc1
This release candidate introduces support for instances and brings multiple fixes to the message websocket implementation.
What's Changed
- Fix: do not send confirmations to message websocket by @odesenfans in #433
- Fix: use epoch format for all messages on websocket by @odesenfans in #438
- Chore: bump P2P service to 0.1.3 by @odesenfans in #440
- Internal: use a separate MQ channel for websockets by @odesenfans in #441
- Fix: reopen the API MQ channels if they are closed by @odesenfans in #442
- Feature: process instance messages by @odesenfans in #443
- Fix: remove cloud-init support and add authorized keys by @odesenfans in #449
- Fix: 500 error when listing instance messages by @odesenfans in #448
- Fix: no DB calls in message websocket by @odesenfans in #447
- Fix: prevent cancellation of the message websocket by @odesenfans in #450
- Fix: no exception log on Solana signature error by @odesenfans in #451
- Fix: 500 error when submitting instance message by @odesenfans in #452
Full Changelog: v0.5.0...v0.5.1-rc1