Skip to content

Latest commit

 

History

History
1650 lines (1196 loc) · 65.3 KB

File metadata and controls

1650 lines (1196 loc) · 65.3 KB

Release History - open-autonomy

0.21.21 (2026-05-11)

Framework / dependency bumps:

  • Bumps open-aea 2.2.32.2.5 across pyproject.toml, setup.py, tox.ini (framework + package + check-third-party-hashes + check-api-docs + generate-api-documentation testenvs), skaffold.yaml, both Dockerfiles' AEA_VERSION arg, deployments/Dockerfiles/autonomy-user/requirements.txt, and the 33 package YAMLs (agents / contracts / connections/ipfs) that pin open-aea-* dependencies. aea-ci check-third-party-hashes now resolves against valory-xyz/open-aea@2.2.5. No API or wire-format changes; package hashes regenerated via autonomy packages lock and poetry.lock regenerated to match.

0.21.20 (2026-05-05)

Autonomy:

  • Restores wheel/sdist bundling for the 11 contracts under autonomy/data/contracts/ that have been silently missing from PyPI artifacts since v0.21.17. [tool.poetry] include in pyproject.toml now declares autonomy/data/contracts/**/* for both sdist and wheel, so framework code that resolves contracts via autonomy.data.contracts.<name> (without the packages/ tree on disk) keeps working when installed from PyPI. New tests/test_autonomy/test_packaging.py is a behavioural regression test that builds the wheel via python -m build and asserts every ejected contract is present #2493
  • Surfaces named environment-variable placeholders from service.yaml overrides. Service.process_component_overrides previously emitted env-var entries keyed only by the YAML traversal path (e.g. SKILL_DUMMY_SKILL_MODELS_PARAMS_ARGS_MESSAGE), so named placeholders like ${HELLO_WORLD_MESSAGE:str:hi} left no HELLO_WORLD_MESSAGE entry in the agent's env dict. Added Service._extract_named_env_var_defaults which walks the raw overrides and emits <NAMED_KEY>=<default> entries alongside the path-keyed ones, so downstream callers (e.g. middleware injecting from service.yaml) can override values by their declared name. os.environ takes precedence over the inline default #2494

aea-helpers:

  • Fixes aea-helpers bin-template-path crashing on every invocation outside a PyInstaller-frozen process. The CLI now reads the path string out of bin_template.py via ast instead of importing the module (which would execute Path(sys._MEIPASS) / ... and trip AttributeError on regular Python). Restores the contract-eject helper used by make eject-contracts #2487

Framework / dependency bumps:

  • Bumps open-aea 2.2.22.2.3 across pyproject.toml, setup.py, tox.ini, skaffold.yaml, both Dockerfiles' AEA_VERSION arg, deployments/Dockerfiles/autonomy-user/requirements.txt, 33 package YAMLs (agent / contract / connections/ipfs), and autonomy/constants.py. The 2.2.3 bump is a GitPython>=3.1.47 security floor (GHSA-rpm5-65cw-6hj4, GHSA-x2qx-6953-8485) plus open-aea's own Wave 2a/2b cleanup — no API or runtime behaviour changes. All 8 entries in packages/packages.json [third_party] are byte-identical between v2.2.2 and v2.2.3, so no third-party hash drift #2492 #2489
  • Bumps tomte 0.6.50.7.0 across pyproject.toml, tox.ini (25 testenv references), and the inline pip install tomte[*] lines in .github/workflows/main_workflow.yml. tomte 0.7.0 ships canonical configs (bandit.yaml, darglint.cfg, flake8.cfg, gitleaks.toml, pylintrc, safety-policy.yml, isort.cfg) as packaged resources and drops the tomte check-spelling CLI #2492
  • Re-enables open-aea-ledger-solana (was blocked on a transitive construct cap; unblocked by open-aea 2.2.2's construct<=2.10.61 removal) #2489

Tooling / dev experience:

  • Slim tox.ini migration: every lint testenv now references the corresponding {envsitepackagesdir}/tomte/configs/<config> resource via the tool's --config= / --rcfile= / --settings-path= flag. Source of truth lives in tomte; OA-specific overrides layer on top via CLI flags. Net deletion: the forked .gitleaks.toml (1642 lines) and .pylintrc removed; setup.cfg deleted entirely (open-aea 2.2.3 changed aea generate-all-protocols to read isort config from pyproject.toml); [tool.isort] added to pyproject.toml mirroring tomte render-isort-config flags #2492
  • Drops the tomte check-spelling CLI invocations across CONTRIBUTING.md, scripts/RELEASE_PROCESS.md, and the workflow's npm install -g markdown-spellcheck step (tomte 0.7.0 removed the command) #2492
  • New [testenv:gitleaks] runs gitleaks against the canonical tomte/configs/gitleaks.toml. make security and the workflow's gitleaks job both call tox -e gitleaks so dev preflight, local tox, and CI use the same ruleset and the same .gitleaksignore fingerprints (full-history scan, no --no-git) #2492
  • New [testenv:check-isort-config] (+ scripts/check_isort_config.py) diffs pyproject.toml [tool.isort] against the cfg rendered by tomte render-isort-config. Catches drift between the source aea generate-all-protocols reads and the source the isort testenvs use; gates merges in linter_checks #2492
  • [testenv:isort-check] now scans deployments/ (matching [testenv:isort]); [testenv:safety] retains 11 OA-specific muted CVE IDs as CLI flags alongside the tomte canonical --policy-file (canonical ships empty) #2492
  • Unifies the protobuf upper bound to >=5,<7 across pyproject.toml, tox.ini, and deployments/Dockerfiles/autonomy-user/requirements.txt (was * / <7,>=5 / <6,>=5 respectively) #2492

0.21.19 (2026-04-21)

Autonomy:

  • Ships a mock Tendermint server (MockServerChannel) as a drop-in replacement for a real Tendermint node when running single-agent services. Activated via use_mock: true (with use_tendermint: false) in the valory/abci connection config; wires tx-triggered block production, dialogue lifecycle management, and an asyncio stdlib HTTP server (no aiohttp dependency). New UseMockTendermint test mixin and ABCI-parity e2e test included #2104
  • Minimises the runtime dependency footprint: drops texttable, python-dotenv, typing_extensions, aiohttp, hexbytes, gql, Flask, Werkzeug, watchdog, and the explicit protobuf pin; docker moves to an optional [docker] extra; adds a [chain] extra; relies on open-aea[all] for click/pytest/coverage; inlines a small Flask-compatible HTTP server and a table renderer #2477
  • Adds polymarket safe-creator audit hardening in poly_safe_creator_with_recovery_module: symmetric hash validation across both transaction-hash paths, local POLYGON_CHAIN_ID = 137 constant (no framework coupling), consistent ValueError exceptions, and 14 new unit tests #2393
  • Clamps negative Content-Length values to 0 in the Tendermint sidecar HTTP server (#1477 Windows test also fixed with timeout=-1.0) #2484
  • Removes framework imports from sign_message_lib and erc8004_identity_registry_bridger (MultiSendOperation is now defined locally) #2484
  • Hardens autonomy/chain/subgraph/client.py against missing data keys; fixes 404/500 mimetype mismatch and adds a 10 MiB body-size cap in _http_server.py; caches get_requests_connection_error via lru_cache #2484

Packaging / PyPI:

  • Fixes PyPI metadata: root pyproject.toml now uses license = "Apache-2.0" (was "Apache-2.0 license", which Poetry mapped to License :: Other/Proprietary License and broke downstream liccheck) and declares readme = "README.md". Both plugins (open-aea-helpers, open-aea-test-autonomy) now ship proper long descriptions via a _read_long_description() helper #2483

CI:

  • Bumps stale requests pin in the tendermint sidecar Dockerfile from ==2.28.1 to >=2.33.0,<3 #2484
  • Resolves remaining actionable dependabot alerts; defers requests and ecdsa pins to transitive constraints #2477

0.21.18 (2026-04-16)

Autonomy:

  • Moves open-aea-ledger-ethereum-hwi from a hard runtime dependency to an optional [hwi] extra. The HWI plugin's transitive deps (hidapi, Pillow via ledgerwallet) have no pre-built armv7 wheels, which broke multi-platform Docker image builds in v0.21.17. Install with pip install open-autonomy[hwi] if hardware wallet support is needed.

0.21.17 (2026-04-16)

Autonomy:

  • Bumps open-aea from 2.1.0 to 2.2.1 and tomte from 0.6.1 to 0.6.5 across the entire framework, all plugins, package yamls, Dockerfiles, and skaffold #2470
  • Removes open-aea-ledger-ethereum-flashbots plugin references from deployment scripts (run.sh, start.sh), Docker images, Pipfile, and bump-dependencies config. Skill-level use_flashbots API intentionally preserved to avoid on-chain payload wire-format break #2470
  • Fixes autonomy/chain/metadata.py to use add_bytes instead of removed add_str (open-aea-cli-ipfs 2.2.1 API change) #2470
  • Updates ABSTRACT_ROUND_ABCI_SKILL_WITH_HASH constant to match regenerated package hashes #2470

Scripts:

  • Migrates all 8 Python scripts from scripts/ to CLI commands in tomte, upstream aea-ci-helpers, or OA-local aea-helpers #2470
  • Deletes check_copyright.py, check_doc_links.py, freeze_dependencies.py, generate_api_documentation.py, generate_package_list.py, check_third_party_hashes.py, check_ipfs_hashes_pushed.py, generate_contract_list.py
  • check_third_party_hashes and generate_api_docs promoted to upstream open-aea-ci-helpers (configurable, generic) — OA-local forks deleted #2470

Plugins (aea-helpers):

  • Renames PyPI package from aea-helpers to open-aea-helpers
  • Removes check-third-party-hashes and generate-api-docs commands (migrated upstream to aea-ci)
  • Retains generate-contract-list (OA-specific Olas registry address table)
  • Removes open-aea-flashbots from dependency ignore lists

Kubernetes:

  • Fixes k8s initContainer race condition — replaces config-nodes Job with per-pod initContainer using sentinel files and atomic locking #2461

CI:

  • Adds "All checks passed" aggregate gate job #2471
  • Reduces test matrix from 15 to 9 cells #2466
  • Fixes tomte format-copyright author strings for tomte 0.6.5 compatibility
  • Fixes main_workflow.yml to call check-doc-links-hashes (was referencing non-existent check-doc-hashes env)
  • Adds flaky external URL skips (modescan.io, gameprogrammingpatterns.com, cointelegraph.com, etc.)

Packages:

  • Updates funds forwarder skill #2468
  • Mints components #2462

0.21.16 (2026-03-26)

Autonomy:

  • Fixes IPFS connection handler to support directories and binary files #2458
  • Fixes identify service params #2455

Plugins (aea-helpers):

  • Adds 4 new CLI commands: config-replace, run-agent, run-service, make-release #2456
  • Adds --skip-tendermint flag to run-agent for agents using HTTP-based ABCI
  • Fixes customs package type handling in check-doc-hashes
  • Fixes zero-matches exit behavior in check-doc-hashes
  • Bumps aea-helpers version to align with framework versioning

0.21.15 (2026-03-24)

Autonomy:

  • Adds aea-helpers plugin consolidating duplicated CI scripts (bump.py, check_dependencies.py, check_doc_ipfs_hashes.py) from 7 repos into a single installable CLI package #2450
  • Adds aea-helpers to the release pipeline for PyPI publishing #2452

Packages:

  • Adds funds forwarder and identify service owner skills #2449

0.21.14 (2026-03-19)

Autonomy:

  • Fixes environment variable override validation #2447

Packages:

  • Ensures ABIs have all parameters from explorer #2445
  • Fixes ERC20 transfer transaction #2444

0.21.13 (2026-03-10)

Chore:

  • Fixes requests version range to <2.33.0,>=2.28.1 for compatibility #2443

0.21.12 (2026-03-08)

Autonomy:

  • Adds aea key to connection also in docker deployment #2408
  • Updates defaults for click commands options #2427
  • Fixes protobuf version conflict in docker image #2429
  • Introduces ERC8004 for Celo #2431
  • Fixes localhost password propagation #2434
  • Fixes critical audit issues #2435

Packages:

  • Adds acn data share package #2403
  • Refactors packages' dependencies #2411
  • Fixes dependency version conflict #2413
  • Adds FSM core and test infrastructure audit #2436

CI:

  • Sets up Snyk #2406
  • Unblocks Python 3.14 packaging flow #2424
  • Installs local source in package-publish job #2425

Docs:

  • Adds testing behaviours #2409

Chore:

  • Bumps tomte==0.6.1, updates code based on the linters, resolves dependency conflicts #2412
  • Bumps open-aea #2414
  • Adds support for Python 3.12, 3.13, and 3.14 #2410
  • Improves Python3.14 compatibility #2416 && #2423
  • Bumps base image to python:3.14-slim-trixie #2428
  • Pins grpcio to 1.78.0 (1.78.1 was yanked from PyPI) #2432

Tests:

  • Fixes tests for Python 3.14 #2415
  • Fixes TestSlashing flaky rerun #2430
  • Replaces incorrect assert any with assert all #2419

0.21.11 (2026-02-11)

Autonomy:

  • Support both gas and its price multipliers in TxSettler #2398
  • Add ERC8004 contract addresses for Arbitrum and Optimism #2400

0.21.10 (2026-02-09)

Packages:

  • Fix handling LateArrivingTransaction error from tendermint in abstract_round_abci #2397

0.21.9 (2026-02-05)

Autonomy:

  • Adds support for setting custom gas multiplier in the TxSettler #2394

Autonomy && Packages:

  • Adds the contracts for supporting agent wallets in ERC8004 registry #2395

0.21.8 (2026-01-22)

Autonomy:

  • Fixes the tendermint node to reset on connection failure with the ABCI app #2390
  • Fixes docker deployment of agent to self-recover on container restart #2390

0.21.7 (2026-01-20)

Autonomy:

  • Updates a link in the docs to the new domain stack.olas.network #2379
  • Fixes the TxSettler retry mechanism for Polygon RPCs #2388

Packages:

  • Bumps open-aea to 2.0.8 #2389

0.21.6 (2026-01-14)

Autonomy:

  • Adds missing chain_id to the ledger message to fix the failsafe_randomness for agents using non-default chains. #2377
  • Adds internal support for PolySafe multisig contract #2378

Packages:

  • Bumps open-aea to 2.0.7 in gnosis_safe contract #2384
  • Bumps pycryptodome to 3.20.0 in gnosis_safe contract #2383

0.21.5 (2025-12-10)

Autonomy:

  • TxSettler will now wait for an unsynced RPC to sync when settling a transaction #2374
  • open-autonomy now uses the contract addresses from autonolas-registries@v1.3.0 #2375

0.21.4 (2025-11-26)

Autonomy:

  • TxSettler will now retry transaction if the RPC is unsynced #2371
  • open-autonomy is no longer dependent on valory-docker-compose package #2371

0.21.3 (2025-10-20)

Docs:

  • Updates the docs to use the new naming convention for Agent blueprints and AI agents #2364

Autonomy:

  • Support repricing on gas too low RPC error in TxSettler #2365
  • Add helper methods in ChainType and LedgerType enums #2366

0.21.2 (2025-10-01)

Docs:

  • Change old docs domain to stack.olas.network #2355

Packages:

  • Update open-aea to 2.0.6 #2359

Autonomy:

  • Add support for setting custom props in docker-compose.yaml deployment #2358
  • Redesign the TxSettler for cleaner code #2356

0.21.1 (2025-08-25)

Autonomy && Packages && Docs:

  • Bumps open-aea from 2.0.4 to 2.0.5 #2354

0.21.0 (2025-08-14)

Autonomy && Packages && Docs:

  • End of support for Python 3.8 and 3.9 #2340
  • Dependency updates #2340
    • Bumps open-aea[all] from 1.65.0 to 2.0.4
    • Bumps open-aea-ledger-ethereum from 1.65.0 to 2.0.4
    • Bumps open-aea-ledger-ethereum-hwi from 1.65.0 to 2.0.4
    • Bumps open-aea-ledger-cosmos from 1.65.0 to 2.0.4
    • Bumps open-aea-cli-ipfs from 1.65.0 to 2.0.4
    • Bumps pytest from 7.2.1 to 7.4.4
    • Bumps py-ecc from 6.0.0 to 8.0.0
    • Bumps docker from 6.1.2 to 7.1.0
    • Bumps tomte from 0.2.17 to 0.4.0
    • Bumps eth-utils from 2.2.0 to 5.3.0
    • Bumps eth-abi from 4.0.0 to 5.2.0
    • Bumps web3 from <7,>=6.0.0 to <8,>=7.0.0
    • Bumps eth-account from >=0.8.0,<0.9.0 to >=0.13.0,<0.14.0
    • Loosens the click version constraint from >=8.1.0,<8.2.0 to >=8.1.0,<9
    • Loosens the requests version constraint from <2.31.2,>=2.28.1 to <2.32.5,>=2.28.1
    • Loosens the pytest version constraint from >=7.0.0,<7.3.0 to >=7.0.0,<7.5.0
  • Updates the default URI acn.staging.autonolas.tech to acn.autonolas.tech #2346

0.20.2 (2025-08-13)

Autonomy:

  • Configures the generated docker-compose.yaml files to rotate the docker logs #2345
  • Adds support for service deployment with recovery module (by default) #2343

0.20.1 (2025-07-30)

Autonomy:

  • Pins the open-aea-user docker image to 1.65.0 to keep it compatible with major releases of open-aea. #2342

0.20.0 (2025-07-29)

Autonomy:

  • Updates the Chain and ChainType to include OPTIMISM enum value, and removes the OPTIMISTIC enum value #2336
  • Fixes the autonomy deploy build command to make the mounting directories #2338
  • Avoids host and docker resources conflicts when generating multiple docker deployments #2341

0.19.11 (2025-06-19)

Autonomy && Packages && Docs:

  • Rotates logs of tendermint #2333

Chores:

  • Reverts temporary skip of test #2332

0.19.10 (2025-06-16)

Packages:

  • Fixes incorrect use of TypedDict #2331
  • Replaces deleted fork repo #2329
  • Limits typing_extensions up to 4.13.2 as the next version introduces a breaking change #2326

0.19.9 (2025-05-28)

Autonomy:

  • Handles the rebuilding of the transaction when getting "nonce too low" from the RPC #2324
  • Runs the docker deployment with the current user #2322

Packages:

  • Removes eth_newFilter #2323

0.19.8 (2025-04-14)

Autonomy:

  • Increases the timeout for installing agent's dependencies while building its docker image #2320

0.19.7 (2025-03-27)

Autonomy:

  • Fixes build-image command in open-autonomy-user docker image and improves it to take --pre-install-command and ---builder flags #2318

0.19.6 (2025-03-19)

Autonomy:

  • Adds support for building multi-arch docker images #2314

0.19.5 (2025-03-14)

Chores:

  • Bumps open-aea@1.65.0 #2315

0.19.4 (2025-02-18)

Autonomy:

  • Fixes infinite loop in dev mode #2304
  • Fixes autonomy deploy build command #2305
  • Fixes the regressed CLI tests #2306

Packages:

  • Fixes typo in gas_pricing #2308
  • Fixes the regressed packages' tests #2310

CI:

  • Removes continue-on-error so the default applies #2303

0.19.3 (2025-02-13)

Chores:

  • Bumps open-aea@1.64.0 #2307

0.19.2 (2025-02-05)

Packages:

  • Fixes char encodings for Windows #2300

0.19.1 (2025-02-04)

Autonomy:

  • Temporarily works around an issue with the path directory when using the build command #2292

Chores:

  • Bumps open-aea@1.63.0 #2299

0.19.0 (2025-01-30)

Docs:

  • Performs general improvements #2291
  • Fixes broken links #2293

Packages:

  • Fails early when rounds' attributes are missing #2294

Chores:

  • Bumps open-aea@1.62.0 #2297

CI:

  • Fixes the release flow #2298

0.18.4 (2025-01-08)

Autonomy:

  • Fixes the contract addresses of gnosis safe proxy factory on Optimism and Base chains #2285
  • Adds the option to build and deploy an agent locally without using docker #2258

Packages:

  • IPFS connection now handles the HTTPError exception #2284

Chores:

  • Upgrades macOS version in the workflow #2281

0.18.3 (2024-11-18)

Packages:

  • Strictly check if the required properties are defined in derived classes from AbstractRound #2276

Chores:

  • Bumps open-aea@1.60.0 #2280

0.18.2 (2024-10-29)

Autonomy:

  • Improves the flow when fetching from a TokenID #2273
  • Bumps open-aea@1.59.0 #2275

0.18.1 (2024-10-22)

Autonomy:

  • Updates the chain configuration to include Mode #2272

0.18.0 (2024-10-18)

Autonomy:

  • Fixes the cleanup on scaffolding validation failure #2269
  • Adds support for dictionary overrides #2270
  • Bumps open-aea@1.58.0 #2271

0.17.0 (2024-10-17)

Autonomy:

  • Checks the names of skills at the time of scaffolding and analysing #2260
  • Fixes the services' stopping when running autonomy deploy stop #2265
  • Deprecates the Görli chain #2266
  • Introduces support for running multiple services on docker #2265, #2267

Docs:

  • Adds information about the naming of skills in the documentation #2260
  • Updates the service docs to add the available options for chain profiles (same as in autonomy mint) #2261, #2262

0.16.1 (2024-09-24)

  • Bumps open-aea@1.57.0 #2257

0.16.0 (2024-09-17)

  • Bumps open-aea@1.56.0 #2256

0.15.2 (2024-08-06)

  • Bumps open-aea@1.55.0 #2253

0.15.1 (2024-07-22)

  • Bumps open-aea@1.54.0 #2252

0.15.0 (2024-07-10)

Autonomy:

  • Reintroduces the breaking feature from PRs #2236, #2241, #2244.

0.14.14.post2 (2024-07-10)

Autonomy:

  • Reverts the breaking change introduced in the latest release, and more specifically in PRs #2236, #2241, #2244.

0.14.14.post1 (2024-06-13)

Autonomy:

  • fix for 0.14.14 issue with _get_synced_value

0.14.14 (2024-06-04)

Autonomy:

  • fix: crashing when a cross-period persisted key is not set
  • fix: pin requests to >=2.28.1,<2.31.2
  • documentation on release process updated
  • some fixes

0.14.13 (2024-05-27)

Autonomy:

  • Adds support for transaction not found error on the transaction settlment tool

Packages:

  • Adds a test for testing the usage of nested directories with the IPFS connection

0.14.12 (2024-05-08)

Autonomy:

  • Adds more chain profiles to reduce on-chain interaction complexity
  • Updates the develop mode to use a pre-built image for better user experience
  • Pins click to >=8.1.0,<9

Packages:

  • Updates the abstract_round_abci skill so that the offence status changes are only stored in the DB if slashing is enabled

0.14.11.post1 (2024-04-11)

Packages:

  • Fixes third party package hashes

0.14.11 (2024-04-11)

Autonomy:

  • Adds support for mounting custom volumes on the service deployments
  • Make threshold argument optional when minting a service

Packages:

  • Updates the contract API calls to utilise the chain_id parameter Add support for specifying chain_id on get_transaction_receipt

0.14.10 (2024-03-21)

Packages:

  • Fixes the recovery logic on the abstract_round_abci skill

0.14.9 (2024-03-20)

Autonomy:

  • Adds support for loading docker client from docker-desktop context

0.14.8 (2024-03-06)

Autonomy:

  • Pins python-dotenv>=0.14.5,<0.22.0 and typing_extensions>=3.10.0.2

Chore:

  • Skips data packages from the API generator script

0.14.7 (2024-02-27)

Autonomy:

  • Updates the Tendermint image to run the Tendermint node as a non-root user

Docs:

  • Updates hello-world hashes
  • Updates the ledger plugin installation instructions

0.14.6 (2024-02-22)

Autonomy:

  • Adds support for custom packages

Packages:

  • Fixes a flay E2E test on the registration start up agent

0.14.5 (2024-02-19)

Autonomy:

  • Fixes incompatibility issue with the latest docker release on the network generator

0.14.4 (2024-02-15)

Autonomy:

  • Updates the subgraph client to use synchronous transport
  • Updates the kubernetes build generators to use loopback address instead of localhost
  • Adds support for rebuilding the transaction on OldNonce error

Packages:

  • Adds support for transaction settlements on solana
  • Adds agent for testing transaction settlement on solana
  • Updates the termination logic for tendermint node to handle timeout error on windows
  • Updates the logging strategies to hide unnecessary debugging information

0.14.3.post1 (2024-01-31)

Autonomy:

  • Fixes the default value handling for the resource specifier flags on the autonomy deploy build/from-token commands

0.14.3 (2024-01-30)

Autonomy:

  • Updates the transaction settlement to reprice transaction when running into ReplacementNotAllowed
  • Adds support for specifying resources on the deployment builds using CLI flags and framework level environment variables

0.14.2 (2024-01-29)

Autonomy:

  • Adds support for using multiple ledgers in keys.json
  • Fixes single agent override indexing

Packages:

  • Adds support for custom offence amounts

0.14.1 (2024-01-23)

Autonomy:

  • Pins aiohttp<4.0.0,>=3.8.5
  • Updates the deployment builder to use ledger identifier property in the keys.json to write the private key files in a deployment setup

Packages:

  • Ports multi-ledger support on termination skill from IEKIT

0.14.0 (2024-01-19)

Autonomy:

  • Extends the list of retriable errors on transaction settlement
  • Integrates the autonolas subgraph to automate the dependency verification on the minting tools

0.13.10 (2024-01-09)

Packages:

  • Updates protocol packages to contain latest copyright headers

0.13.9.post1 (2023-12-26)

  • Bumps open-aea@1.43.0.post2

0.13.9 (2023-12-19)

Autonomy:

  • Updates the tendermint image to support arm platforms
  • Updates the autonomy image to use --timeout flag on aea install command to avoid timeout failures on machines with limited resources

Docs:

  • Fixes hello-world hash in the quick start guide
  • Adds requirements for developing and running on raspberry-pi

0.13.8 (2023-11-30)

Autonomy:

  • Implements transaction settlement on the mint/service command groups
    • Adds support for retrying transaction on known error
    • Adds support for repricing under priced transactions
  • Adds support for performing dry-run on on-chain interaction tools

Chore:

  • Adds a script for bumping services

0.13.7 (2023-11-23)

Autonomy:

  • Adds support for logging to console on tendermint server

0.13.6 (2023-11-21)

Autonomy:

  • Fixes the start.sh script to use password if provided when issuing certificates

Packages:

  • Renames the chain_name parameter to chain_id on transaction settlement skill

Docs:

  • Updates the documentation on private key security in deployments

0.13.5 (2023-11-14)

Autonomy:

  • Pins protobuf<4.25.0,>=4.21.6

Packages:

  • Ports changes on transaction settlement skill from IEKit and agent-academy-2
  • Updates the transaction settlement ABCI to handle safe-nonce reuse

0.13.4 (2023-11-01)

Autonomy:

  • Updates the mint tools to propagate token address to update service transactions

0.13.3 (2023-11-01)

  • Synchronises the on-chain addresses with the latest protocol release

0.13.2 (2023-10-30)

  • Adds support for specifying custom Dockerfile for building agent images
  • Deprecates --password flag on autonomy deploy build/from-token commands
  • Introduces OPEN_AUTONOMY_PRIVATE_KEY_PASSWORD as environment variable for providing private key passwords to deployments
  • Updates the service analyser to skip abci connection since it's not required to be manually overridden

0.13.1.post1 (2023-10-24)

Chore:

  • Bumps open-aea@1.41.0.post1

0.13.1 (2023-10-11)

Autonomy:

  • Updates the on-chain tools to use service manager token contract for managing services on gnosis
  • Makes fallback handler address configurable when deploying a service
  • Updates the log parser to use utf-8 encoding to avoid decoding issues on windows
  • Fixes the log parser multiline parsing
  • Fixes the deployment exits on windows
  • Updates error handling for invalid private keys
  • Fixes error messages for unreferenced events in the FSM check
  • Updates the environment variable validation to
    • Validate data type
    • Validate default value
  • Updates the service analyser to warn if the termination skill or the slashing skill is missing as a dependency
  • Adds support for service level dependencies

Packages:

  • Moves the hypothesis imports to test modules to avoid import errors at runtime
  • Removes the hello world service

0.13.0 (2023-09-27)

Autonomy:

  • Replaces open-aea-web3 with web3py<7,>=6.0.0
  • Bumps protobuf<5.0.0,>=4.21.6
  • Fixes protobuf incompatibility issue when importing hardware wallet plugin
  • Refactors autonomy and agent images to
    • Include install and build scripts in the base image
    • Remove unwanted layers
    • Remove unwanted data files

Packages:

  • Generates protocols using the latest compatible protobuf compiler
  • Compiles the tendermint connection protocol buffers using the latest compatible protobuf compiler

Chores:

  • Bumps protobuf compiler to 24.3

0.12.1.post4 (2023-09-25)

Autonomy:

  • Update the reuse multisig transaction builder to account for services with only one operator

0.12.1.post3 (2023-09-21)

Autonomy:

  • Pins jsonschema<=4.19.0,>=4.16.0

0.12.1.post2 (2023-09-20)

Autonomy:

  • Adds missing contract packages to the eject-contracts make target
  • Adds check to make sure service is in pre-registration before updating the service hash
  • Adds check to make sure all required environment variables are present for on-chain interactions

0.12.1.post1 (2023-09-14)

Autonomy:

  • Pin hexbytes as framework dependency

0.12.1 (2023-09-12)

Autonomy:

  • Adds support for updating already minted components with latest hashes
  • Adds support for using ERC20 tokens for securing autonomous services
  • Adds support for reusing the same multisig for on-chain service redeployment

Docs:

  • Updates documentation for the latest features
  • Adds a list of addresses across various chains in documentation

0.12.0 (2023-08-24)

Autonomy:

  • Fixes deployment build bug on windows #2039

Packages:

  • Adds slashing functionality #1927
  • Adds support for checking the safe nonce before re-sending a transaction #2040

0.11.1 (2023-08-18)

Autonomy:

  • Adds support for arm/v7 docker images
  • Adds support for running the service in background using --detach flag in the autonomy deploy run command
  • Adds support for stopping the service running in background using autonomy deploy stop
  • Implements clean exists from docker-compose deployments

Packages:

  • Reverts #1996, because it introduced some instability

0.11.0 (2023-08-14)

Autonomy:

  • Deprecates the support for Python 3.7 and extends support for Python 3.11
  • Adds support for multi platform image builds

Packages:

  • Replaces the usage of deprecated web3py APIs

Chore:

  • Replaces the web3py with open-aea-web3
  • Bumps py-ecc@6.0.0, numpy@>=1.21.6 and pandas@1.5.3

0.10.11.post1 (2023-08-10)

Autonomy:

  • Fixes the deployment payload calculations on autonomy service deploy command

0.10.11 (2023-08-08)

Autonomy:

  • Adds support for minting services on layer 2 chains
  • Adds support for skipping dependency checks when minting components

0.10.10.post1 (2023-07-28)

Autonomy:

  • Update tendermint testnet command generator to accommodate for new container naming format

0.10.10 (2023-07-26)

Autonomy:

  • Adds support for running multiple docker-compose deployments in the same machine

0.10.9 (2023-07-25)

Autonomy:

  • Bumps open-aea to v1.37.0

0.10.8 (2023-07-19)

Autonomy:

  • open-aea bumped to 1.36.0

0.10.7 (2023-06-21)

Packages:

  • Make sure the timeout gets checked even when there's no message from connection #1996
  • Fixes the gentle reset logic #2000
  • Refactors the block stall tolerance as it was not large enough for edge cases #2002

Chore:

  • Bumps web3py to v5.31.4 #1999

Docs:

  • Fixes olas.network links #1998

0.10.6 (2023-06-12)

Autonomy:

  • Makes the chained ABCI skill filter more strict on the service analyser #1982

Packages:

  • Fixes the gentle reset logic #1987

Docs:

  • Fixes code check linter #1986

0.10.5.post2 (2023-06-06)

Autonomy:

  • Update agent node template on the kubernetes generator to support different types of private keys from various ledgers #1991

0.10.5.post1 (2023-05-24)

Autonomy:

  • Makes sure the alias gets used when fetching service packages #1947
  • Updates the agent runtime docker image to execute aea build when building the runtime image #1954
  • Adds support for terminate and unbond actions on autonomy service command group #1956
  • Generalises the star.sh script on the autonomy runtime docker image to deal with different types of keys #1964
  • Makes ledger plugins optional for CLI tools #1973
  • Adds support for loading environment variables from file on the autonomy deploy command group #1960

Packages:

  • Addresses Tendermint disconnection issues. #1976

Plugins:

  • Removes the hardware wallet plugin as a dependency from contract packages #1973
  • Fixes the ledger plugin version specifiers on the test plugin #197

Chores:

  • Pins typing_extensions to >=3.10.0.2 to avoid dependency conflicts with solana plugin #1964
  • Bumps docker to v6.1.2 #1975

Docs:

  • Adds information on required agent components #1967

0.10.4 (2023-05-11)

Autonomy:

  • Adds support for exposing tendermint container ports on the docker compose deployments #1952

Packages:

  • Removes the kill logic in case the active Tendermint peers are less than the majority of the participants #1958
  • Adds support for verifying the service registry on Polygon and Gnosis #1959
  • Improves error logging during registration #1961

Docs:

  • Updates deployment guide for the cluster deployments #1924

Docs:

  • Improves cluster deployment section, now based on minikube #1924

0.10.3 (2023-05-03)

Autonomy:

  • Updates the FSM scaffold tool to add downloaded packages to third_party packages #1943
  • Improves the service specification analyser #1942
    • Implements custom schema validator to report all validation issues at once
    • Adds support for skip warnings
    • Raises warning when components are defined in the agent config and not in the service config
    • Adds support for validating environment overrides
    • Improves error messages

Docs:

  • Adds auto-correcting functionality for several package hash instances #1939
  • Fixes port mapping documentation #1944

Chores:

  • Adds service analysis to workflow #1942

0.10.2 (2023-04-24)

Autonomy:

  • Adds support for updating external_address to match tendermint_p2p_url when updating the Tendermint parameters on registration #1930

Packages:

  • Updates the registration_abci skill to include external_address in the genesis configuration #1930

Docs:

  • Adds code checks for JSON code blocks in the documentation #1933
  • Updates the documentation on the usage of the hardware wallet for on-chain interactions #1931
  • Extends the tutorials for minting components

0.10.1 (2023-04-13)

Autonomy:

  • Adds support for updating the tendermint P2P URL at the runtime, take a look here to understand more
  • Adds support for specifying NFT image path when minting the components
  • Updates the minting tools to dump metadata as a json file after minting the component
  • Updates the manual build mechanism to index agent using all_parameters parameter if available

Packages:

  • Adds better exception handling when sending multiple transactions

Docs:

  • Adds instructions for running a single agent

Chores:

  • Fixes the dependency versions on the documentation Dockerfile
  • Adds mkdocs.yaml configuration that needed to be removed due to incorrect dependencies in the previous release

0.10.0.post2 (2023-03-30)

Autonomy:

  • Updates the autonomy publish command to avoid publishing temporary files
  • Adds support for specifying owner when minting a component using --owner flag on autonomy mint command
  • Makes error messages on the on chain dependency checks more user friendly
  • Updates the dependency verification check to handle cases where there are multiple dependencies with the same public ID
  • Updates the runtime tendermint override update logic to account for --n flag
  • Updates the runtime setup override update logic to set parameters as defined data types instead of a list of the said data type

Packages:

  • Adds support for defining owner independent of the transaction sender when minting component on service manager and component registries manager contracts

0.10.0.post1 (2023-03-22)

Autonomy:

  • Makes the usage of the flashbots plugin optional in the deployments

0.10.0 (2023-03-22)

Autonomy:

  • Adds support for using hardware wallets for minting and managing services on-chain
  • Updates the FSM scaffold tool to add the newly scaffolded package to the packages.json after scaffolding the skill
  • Adds support for kubernetes builds on the from-token deployments using --kubernetes flag
  • Adds support for specifying whether the deployment should run directly or not, using --no-deploy flag on the from-deploy command
  • Removes the support for --force flag on the autonomy deploy build command
  • Adds support for configuring networks in a deployment setup to expose various agent ports
  • Adds a naming convention checker for the FSM specifications. From now on
    • A round name should end with Round
    • ABCI app class name should end with AbciApp
  • Deprecates the usage of the special environment variables from the agent deployment setup
  • Adds support for usage of the flashbots ledger plugin on the docker images

Packages:

  • Deprecates the usage of the special environment variables for the agent configurations:
    • In the ABCI skill override don't use TENDERMINT_URL and TENDERMINT_COM_URL for tendermint parameters
    • In the ABCI connection override don't use ABCI_HOST and ABCI_PORT for ABCI connection parameters
    • Tendermint and ABCI connection parameters now use the same environment variables' pattern as all other configurations
  • Refactors the AbciAppDB's create(). It is responsible for setting the cross-period keys for the new period and converting the corresponding data to the correct format. The skills using the create() method now do not need to manually set the data for the next period as this is handled automatically via the cross-period keys (#1827)
  • The setup parameters should not be defined as lists anymore (#1833)
  • observation_interval has been renamed to reset_pause_duration (#1836)
  • Adds support for the flashbots ledger plugin (#1885)
  • Adds a flag called use_termination in the configuration to enable or disable the usage of termination (#1891)

Tests:

  • Updates the test to remove the usage of --force flag

Docs:

  • Adds the description column to the package list in the docs
  • Corrects a code snippet in docs
  • Simplifies explanation of what is an agent service

Chores:

  • Updates the workflows to use python 3.10.9 instead of 3.10.10 to avoid timeouts

0.9.1 (2023-02-22)

Autonomy:

  • Updates the docker-compose template to enable the usage of host.docker.internal as host machine gateway

Tests:

  • Adds test coverage for newly introduced commands on autonomy analyse group

Docs:

  • Updates the documentation on the usage of custom images in agent deployments.

Chore:

  • Updates the tomte version in the Pipfile

0.9.0 (2023-02-16)

Autonomy:

  • Updates the on-chain interaction functionalities to wait for the relevant event to make sure the interaction was successful
  • Makes the usage of local tendermint chain optional in the deployment setup
  • Introduces autonomy analyse dialogues command for analysing the dialogue definitions in a skill package
  • Introduces autonomy analyse service command for checking the deployment readiness of a service
  • Introduces autonomy analyse logs command for analysing the agent runtime logs
  • Adds support for defining custom author name for docker images on the autonomy build-image command
  • Removes the usage of MAX_PARTICIPANTS environment variable from deployment setup
  • Adds support for updating the consensus threshold at the runtime using the on-chain metadata

Packages:

  • Makes the synchronized database serializable and hashable
  • Backports the makerDAO multicall2 contract from agent-academy-1 repository
  • Simplifies the way the initial height is set on resets. Now, the initial height will always be 0
  • Removes the need for declaring the payload_attribute on the round class implementation
  • Updates the base rounds to simplify the usage when payloads have multiple attributes
  • Adds support for synchronizing the database on registration so that agents can rejoin at any point
  • Removes reset_index from AbciApp implementation
  • Adds restrictions on which agents can submit in late message round
  • Fixes overlapping blocks by setting unique chain Ids among the tendermint resets
  • Updates the rejoin mechanism to
    • Restart tendermint whenever there's a connection drop, from the abci or otherwise
    • Makes sure monitoring is performed even when tendermint is reset by the tendermint server
    • Clean up timeouts and last_timestamp before trying to restore state received from peers
    • Don't wait for the reset pause duration in cases when reset is performed for recovery
    • Enables ACN communication for rejoining agents, by accepting requests/responses from all_participants
  • Removes consensus parameter from the skills' configurations and replaces the max_participants with the length of the all_participants list
  • Updates the BaseParams implementation to enforce minimum values for reset_pause_duration
  • Updates the AbciAppDB implementation to make sure cross_period_keys and the database conditions are defined as sets

Tests:

  • Adds test coverage for registry contracts
  • Adds test for building and running the base autonomy image, the agent runtime image and the tendermint server image
  • Re-enables the fuzzer tests for the valory/abci connection on windows platform

Docs:

  • Removes the usage of max_participants parameter
  • Rearranges the on-chain registration section to match with the Autonolas protocol documentation
  • Adds a link to the whitepaper
  • Adds documentation on the deployment readiness checks for a service
  • Adds a guide on initializing an empty local packages repository

Chores:

  • Increases CI timeout for the tests from 70 minutes to 90 minutes
  • Bumps tomte to v0.2.2

0.8.0 (2023-01-20)

Autonomy:

  • Adds support for minting components using the autonomy mint command group
  • Adds support for managing on chain services using the autonomy service group
  • Updates the autonomy deploy from-token command to use APIs from autonomy.chain module
  • Fixes the bug on the autonomy analyse handlers command by loading all of the dependencies before running a check

Packages:

  • Introduces type checking utility as part of the abstract_round_abci skill
  • Adds support for sharing the recovery parameters on the tendermint protocol and handler
  • Introduces valory/ipfs protocol and connection for handling IPFS uploads and downloads
  • Updates TendermintRecoveryParams implementation to make it compatible for sharing the parameters using the ACN
  • Updates the recovery mechanism in order to first retrieve the Tendermint recovery parameters via the ACN before attempting to reset
  • Enables the usage of libp2p connection on TestTendermintResetInterrup and DEBUG as default logging level
  • Updates the implementation of the base transaction payload class to use data classes and makes them immutable
  • Updates various skill packages to use the new payload class design
  • Transaction is implemented using data class now

Plugins:

  • Updates the TendermintRecoveryParams to clean up the images at the end of the test
  • Adds a fixture for the local IPFS node address

Tests:

  • Adds test coverage for packages/valory/skills/abstract_round_abci/abci_app_chain.py

Docs:

  • Updates documentation on the developer tooling to better explain the usage of benchmarking tools
  • Adds documentation on the usage of the custom docker images for the deployment setup
  • Adds documentation for autonomy mint and autonomy service command groups

Chores:

  • Updates tendermint docker image to use local wait-for-it.sh script instead of downloading from source

0.7.0 (2023-01-04)

Autonomy:

  • Adds support for updating the participants list at the runtime using the on chain metadata of a service
  • Enables the usage of gRPC channel when communicating with the abci connection
  • Updates the tendermint image name constant to make sure it's up to date with the latest framework version

Packages:

  • Adds validation for the setup data and raises early if necessary data are not provided instead of waiting for the first round to happen
  • Removes the fast forward round because it is not meaningful since the setup data cannot be empty
  • Moves all_participants to the setup data
  • Enables the usage of gRPC channel when communicating with the tendermint node
  • Adds meta classes for the AbstractRound and the BaseBehaviour classes to enforce additional checks
  • Fixes typing issues on the synchronized database class
  • Removes the inappropriate usage of the # type: ignore marker and addresses the typing issues properly

Tests:

  • Test coverage for BaseTestEnd2End in the test plugin
  • Test coverage for the abci connection
  • Test coverage for tendermint protocol dialogues
  • Updates hello world e2e test to test the usage of gRPC channel on tendermint node
  • Fixes the inconsistencies regarding the usage of setup and setup_class methods in the test classes
  • Introduces base class for testing test tools
  • Adds tests for transaction settlement integration test tools

Docs:

  • Updates the guide for running a service on different networks
  • Reorganizes the developer tooling section

Chores:

  • Updates the coverage collection in the CI to aggregate the coverage for both framework and the packages

0.6.0 (2022-12-16)

Autonomy:

  • Removes the need for the agent project when scaffolding an FSM app using specification. Now when scaffolding the FSM app using the -tlr flag, the skill will be directly scaffolded to the local packages directory
  • Updates the FMM scaffolding templates to support defining pre and post conditions for the synchronized data
  • Updates the tendermint communication server
    • GET /params endpoint to return peer_id for the local tendermint node
    • POST /params endpoint to update persistent_peers when updating the chain config

Packages:

  • Fixes the fast_forward_to_behaviour in the abci skill test tools by setting the _current_round_cls which is necessary for retrieving the correct class for the synchronized data
  • Adds support for auto generated behaviour IDs
  • Adds support for auto-generated round IDs
  • Introduces the get_name method as part of the abstract_round_abciskill to retrieve the name of a property dynamically
  • Updates the various packages to to newly introduced auto generate functionalities
  • Removes sleep on reset_tendermint_with_wait on startup
  • Updates the a2a transaction logic to wait for block production to begin before sending an a2a transaction via tendermint
  • Updates the RegistrationStartupBehaviour and TendermintHandler to make sure we update the persistent peers when establishing a new chain
  • Adds support for specifying the external host name for the tendermint P2P connection
  • Introduces pre and post conditions on the synchronized data for each initial and final state of an FSM app (including default pre conditions). These are verified during chaining of the apps
  • Updates all FSM apps to specify their pre- and post-conditions
  • Added message handling support to TmManager.
  • Reset the app hash to the app hash in the begging of the period when hard resetting for recovery

Tests

  • Adds tests for termination_abci
  • Adds tests for docstring analyser when no AbciApp definition is found in the provided module
  • Adds test coverage for autonomy develop command group
  • Introduces pre and post conditions checks on the SynchronizedData for each initial and final state
  • Adds tests for abci connection
  • Adds an e2e test to showcase hard reset being used as a recovery mechanism

0.5.0.post2 (2022-12-09)

Packages:

  • Fixes synchronized data for safe deployment
  • Ensures that the synchronized data class is set everywhere and added a warning when it is not

Tests:

  • Adds tests for checking PUBLIC_ID in __init__.py files
  • Adds tests for small coverage gaps in open-autonomy
  • Adds tests for registration behaviours
  • Adds tests for abstract_round_abci skill

Chores:

  • Pins tox using tomte on CI

0.5.0.post1 (2022-12-08)

Autonomy:

  • Patches packages command group to adapt latest changes from open-aea

Packages:

  • Fixes version specifiers for open-aea-test-autonomy and open-aea-ledger-ethereum

0.5.0 (2022-12-05)

Autonomy:

  • Introduces more flexible approach to defining the overrides for multiple agents in a service component
  • Deprecates the usage of autonomy hash all command, autonomy packages lock can be used to perform package dependency hash updates and checks
  • Updates the override serialisation mechanism to be consistent with the environment variable parser
  • Extends the from-token command to provide password for encrypted private keys at the runtime
  • Updates the process of overriding the safe contract address at the runtime to be more generalised
  • Fixes a bug that allowed the image build to continue even after a command run failed when building the image on build-image command

Packages:

  • Fixes the AbciApp initialization to ensure that synchronized data is retrieved as an instance of the synchronized_data_class specified on the round.
  • Updates the IPFSInteract tool to
    • Catch the broken connection exceptions
    • Remove the correct path before downloading
  • Fixes the tendermint reset mechanism to
    • Avoid race conditions when performing a hard reset
    • Not update the initial height and genesis time when resetting for recovering agent to tendermint communication
    • Update the waiting interval

Tests:

  • Tests for the service config loader
  • Adds test coverage for autonomy framework

Docs:

  • Adds documentation on the usage of the service level overrides
  • Makes sure that naming convention for autonomous services is consistent throughout the documentation

0.4.0 (2022-11-17)

Autonomy:

  • Deprecates autonomy analyse abci command group
  • Merges autonomy analyse abci check-app-specs and autonomy analyse generate-app-specs into autonomy analyse fsm-specs
  • Moves autonomy analyse abci check-handlers to autonomy analyse handlers
  • Moves autonomy analyse abci docstrings to autonomy analyse docstrings
  • Moves autonomy analyse abci logs has been moved to autonomy analyse logs
  • Refactors the FSM command definition and extract the code to core and helper modules
  • Updates the error messages on autonomy build-image command
  • Improves error handling on autonomy deploy command group

Plugins:

  • Renames the tag property to image on aea_test_autonomy.docker.base.DockerImage class

Packages:

  • Updates the abstract_round_abci skill to ignore Tendermint blocks with a height lower than the initial height of the Tendermint chain
  • Adds yield statement in CheckTransactionHistoryBehaviour._check_tx_history to avoid freezing the entire behaviour
  • Moves the Tendermint healthcheck from individual round behaviours to the AbstractRoundBehaviour to ensure that Tendermint would reset when the communication is unhealthy
  • Extends ApiSpecs to support getting the response from a list
  • Adds better error logging in the ApiSpecs
  • Adds support to parse error responses to the ApiSpecs
  • Adds backoff logic to the ApiSpecs

Tests:

  • Increases the sleep time in test_async_behaviour_sleep and TestRegistrationStartupBehaviour tests to avoid flakiness
  • Tests for newly introduced code in the ApiSpecs implementation
  • Adds tests for integration test tools on abstract_round_abci skill

0.3.5 (2022-11-10)

Autonomy:

  • Updates the storage class to nfs-ephemeral in kubernetes template
  • Updates the autonomy image constant use the framework version as the default tag version
  • Extends the autonomy packages command group to use new package manager API
  • Updates the autonomy fetch command to raise proper errors

Packages:

  • Updates exit mechanism on the degenerate round to avoid excessive looping
  • Adds the functionality to terminate (shutdown) the agent when there are not enough peers in the service
  • Removes round_count checks from the background round payload validation

Tests:

  • Refactors the gnosis safe tests.

Chores:

  • Improves the table hash regex to account for markdown quotes on package list generator
  • Updates release process to use tox command instead of direct command invocations
  • Updates packages.json to the new format

0.3.4 (2022-11-02)

Autonomy:

  • Updates service component to use new override policies

Packages:

  • Adds get_service_owner on the ServiceRegistry contract implementation
  • Introduces termination_abci skill to support service termination
  • Extends abstract_round_abci to support running the termination_abci skill concurrently with the main FSM in order to periodically check for the termination signal.
  • Introduces register_termination skill and register_termination agent to demonstrate termination_abci skill
  • Extends gnosis safe contract implementation with
    • get_swap_owner_data to encode a transaction to swap a safe owner
    • get_remove_owner_data to encode a transaction to remove a safe owner
    • get_zero_transfer_events to retrieve 0 value transfer events sent to the safe
    • get_removed_owner_events to retrieve safe owner removal events

Tests:

  • Adds test coverage for core packages
  • Extracts the background_round (termination_round) to it's own skill

Docs:

  • Removes redundant documentation on package publishing

0.3.3 (2022-10-21)

Autonomy:

  • Introduces support for specifying tag versions for runtime image builds.
  • Adds the benchmark tool definition in the newly scaffolded FSM skill.
  • Adds improvements on the FSM scaffolding.
  • Adds support for ACN and hardhat node in deployment setup using build flags.
  • Fixes regex in autonomy analyse to avoid capturing empty strings.

Tests:

  • Adds tests to make sure that scaffolded FSM modules can be tested using the CLI command autonomy test.
  • Adds test coverage for the app specification module.
  • Cleans up various test class usage across tests/test_autonomy/test_cli.

Packages:

  • Extracts following packages to their respective GitHub repositories
    • APY skills, agent, and service.
    • Liquidity rebalancing skills.
    • Price oracle skills, agent, and service.
  • Fixes the URL check on the tendermint handler in abstract_round_abci.

Docs:

  • Improves the quickstart section.
  • Improves the on-chain protocol guides.
  • Simplifies and cleans up the demo sections.
  • Changes the images to follow the new colour scheme.
  • Removes redundant information and redirects to corresponding documentation sections.
  • Replaces the usage of oracle service in CLI documentation with the hello world service.

Chores:

  • Fixes make target for image release to avoid issues on different shells.
  • Updates some scripts that perform multiple network requests to use parallelization.
  • Restructures Running on other networks section.

0.3.2 (2022-09-30)

Autonomy:

  • Fixes issues related to IP/Host resolving on windows
  • Fixes several issues with dev mode to make it work again

Packages:

  • Sets an initial fallback gas and propagates the logs

Docs:

  • Address several doc issues, updates FAQ
  • Updates scaffolding guide
  • Splits set up section as a guide to be referenced commonly by the rest of guides
  • Separates the deployment part to be in a separate section to be referenced when required
  • Moves scaffolding contents to its appropriate place and rewrites some parts of the text
  • Updates language in several docs
  • Adds cost table and threat model to the docs
  • Updates FAQ to use pure markdown
  • Adds a link to our contract development guide

Chores:

  • Extends the hash fixing script to also fix the hash table in the docs
  • Simplifies linter configuration for pylint
  • Bumps open-aea to 1.21.0
  • Adds lock check for all platforms

Tests:

  • Fixes APY tests after the setup and setup_class changes
  • Fixes counter client behaviour tests.
  • Fixes use os specific paths when comparing file names
  • Fixes path resolution on Windows
  • Fixes TestTendermintBufferFailing on windows
  • Fixes pandas timestamps conversion to UNIX
  • Increases test_get_app_hash sleep tolerance
  • Avoids indirectly handle NotFittedError

0.3.1 (2022-09-20)

Autonomy

  • Factors out scaffolding templates
  • Updates CLI help messages
  • Fixes the scaffold FSM command so that a skill can be loaded once created
  • Adds valory/open-autonomy-user Docker image with latest open-autonomy framework installed

Packages

  • Point to ACN Docker image instead of staging ACN nodes
  • Removes unnecessary dependency of transaction_settlement_abci skill on the offchain_aggregator contract
  • Adds environment variables for the RPC endpoints of all service specifications
  • De duplicates open_aea packages by pulling from registry
  • Increases the validate timeout by an order of magnitude in Polygon service

Tests

  • Fixes build image test

Docs

  • Adds a doc section to explain package management
  • Fixes broken links on documentation

Chores

  • Fixes release-image target on the Makefile to use packages.json
  • Check hashes in packages.json instead of hashes.csv
  • Removes changelog
  • Updates command regex to reflect latest changes

0.3.0 (2022-09-14)

Autonomy

  • Adds PYTHONHASHSEED in Kubernetes deployment template
  • Moves all fixtures into aea_test_autonomy plugin.
  • Adds service-registry-network cli command for starting a local hardhat node.

Packages

  • Replaces third-party dependencies with docker images.
  • Fixes import from tests folder and path_to_skill in FSM scaffolding
  • Moves remaining tests into packages, in particular agents.

Chores

  • Adds README header
  • Removes quickstart skip on command test
  • Removes unnecessary shebangs from several non-script files
  • Adds a script to validates commands in the docs and Makefile
  • Cleans the README.md and AUTHORS.md to reflect changes

0.2.2 (2022-08-09)

AEA

  • Adds support for registry flags on autonomy scaffold fsm command
  • Adds support for scaffolding
    • Dialogues
    • Payloads
    • Tests
  • Adds support for specifying version for runtime images
  • Removes the need for NESTED_FIELDS_ALLOWED_TO_UPDATE from service config class
  • Uses local file for service registry ABI rather than fetching from staging server
  • Replaces the usage of staging chain with locally deployed chain

Packages

  • Adds support for broadcasting APY estimates to a backend server.
  • Replaces API keys with environment variable placeholders
  • Ports tests for packages to their respective package folders

Plugins

  • Introduces aea-test-autonomy plugin

Chores

  • Fixes tendermint logging issues
  • Updates skaffold config for building runtime images for agents
  • Bumps autonolas registries sub module to latest

Tests

  • Replaces the usage of staging chain with local registry deployments
  • Fixes flaky test_fetch_behaviour_non_indexed_block test
  • Fixes flaky registry tests
  • Adds tests for autonomy scaffold fsm

Docs

  • Restructures documentation to introduce new index
  • Adds tutorials on creating a service using an existing agent
  • Updates quick start documentation
  • Adds overview for service development process
  • Adds docs for fsm scaffolding tool

0.2.1.post1 (2022-08-29)

Autonomy:

  • Fix stream logging for docker SDK interactions
  • Use docker SDK to build tendermint testnet config

0.2.1 (2022-08-26)

Autonomy:

  • Introduces base autonomy image and agent runtime image for performance improvements.
  • Removes the need for building the dependency images at the runtime.
  • Updates the deployment flow to utilize the newly improved images.
  • Removes the support for pushing the images using the Open Autonomy CLI tool.
  • Removes skaffold as a framework dependency.
  • Adds support for remote registries in the fsm scaffold utility.
  • Bumps open-aea and its plugins to version 1.17.0.

Packages:

  • Adds support for parsing all the gnosis GS codes and print relevant messages.
  • Renames io module in abstract_round_abci to io_ to avoid possible namespace conflicts with standard io module
  • Refactors io_ module to move Loaders and Storers classes to relevant skill
  • Decreases validation timeout on Polygon

Chores:

  • Updates tox definitions and Makefile targets to reflect the latest state of the repository.
  • Fixes spell check in the CI.
  • Pins the machine learning libraries to stable versions
  • Updates scripts/check_doc_ipfs_hashes.py with more generalized regex

Tests:

  • Adds tests for scripts/check_doc_ipfs_hashes.py
  • Fixes ledger connection test
  • Fixes test for from-token command

0.2.0 (2022-08-21)

Autonomy:

  • Introduces the intended deployment flow, including changes to service configurations.
  • Bumps open-aea and its plugins to version 1.16.0.
  • Introduces support for partial deployments referencing on-chain agent instances.
  • Adds autonomy scaffold fsm command.
  • Adds support for fetching and updating the multisig safe address when deploying from tokens.
  • Adds --log-level flag on deploy command to support specifying log levels for agent and tendermint runtimes.
  • Remove the need for THIRD_PARTY constant and updates the base image classes to set the third party contracts path on runtime.
  • Includes data files for the test tools in the setup.py.
  • Updates the autonomy deploy build command to re-enable the dev mode.

Packages:

  • Improves gas estimation in gnosis_safe and packages depending on it.
  • Addresses dependency inconsistencies in various packages detected with the new open-aea version.
  • Fixes a ledger connection issue caused by wrong usage of the asyncio.wait() method.
  • Fixes oracle service configurations to only broadcast from goerli and polygon.
  • Adds an APY service specification.
  • Adds the simple abci service specification.
  • Fills coverage gaps in abstract_round_abci.
  • Fixes a circular resolution issue with the abstract_round_abci and transaction_settlement_abci introduced in the previous release.

Tests:

  • Adds a retry strategy for the subgraph tests which depend on the network and may fail occasionally.
  • Adds package check test to ensure package consistency with respect to dependencies.

Chores:

  • Backports various functionalities from other Valory repos using packages.
  • Adds coverage to handlers and log parser.
  • Updates readme to reflect all currently required dependencies and their versions.
  • Adds the gitleaks scan job.
  • Improves inference of package type in the doc IPFS hash checker script.
  • Adds data on minted components, agents and services.

Docs:

  • Makes docs independent of repositories Makefile by explicitly replacing make commands or adding code snippets.
  • Fixes edit URI on docs.
  • Updates the docs to describe the latest dev mode usage.
  • Change Tendermint flow diagram to a custom diagram to avoid copyright issues.
  • Adds a section to discuss agent services in context of other architectures.
  • Adds documentation on CLI commands fetch and run.
  • Reorganize demos to give a consistent and homogeneous structure.

0.1.6 (2022-08-01)

Autonomy:

  • Extracts generic test utils into autonomy.test_tools

Packages:

  • Ports the tendermint GRPC package and test tools from agent-academy-1 repo
  • Moves base test classes into abstract_round_abci skill package

Chore:

  • Bumps mistune to 2.0.3
  • Updates skaffold to latest version

Docs:

  • Updates the demo section
  • Adds info about Docker Desktop on MacOS and Windows

0.1.5 (2022-07-29)

Autonomy:

  • Depends on open-aea>=1.14.0.post1
  • Cleans up Dockerfiles and aligns them

Packages:

  • Adds support to handle the {'code': -32000, 'message': 'already known'} response in the transaction_settlement_abci
  • Adds environment variables support for debugging
  • Extends consistency checks of events in abstract_round_abci
  • Removes unused events and handles unhandled events
  • Updates oracle staging URLs
  • Adds support for Goerli oracle
  • Updates service registry to on-chain deployment v1
  • Fixes logic error in the retry logic of get_transaction_receipt in the ledger connection

Tests:

  • Generalises various base classes for easier re-use
  • Adds tests to ensure better docs integrity
  • Adds additional tests for the transaction_settlement_abci
  • Improves apy_estimation_abci end-to-end and unit tests
  • Fixes registration reset end-to-end test edge case

Docs:

  • Adds various clarifications in the docs based on user feedback and internal proof readings
  • Adds various fixes and consistency improvements
  • Lists relevant dependencies and their versions

Misc:

  • Cleans up skaffold and Dockerfiles

0.1.4 (2022-07-20)

Autonomy:

  • Ports deployment resources as data files
  • Adds support for the usage of remote registry when building a service deployment
  • Updates the image build process

Packages:

  • Makes Registration ABCI abstract
  • Adds check to make sure FSM chaining only involves abstract skills
  • Sets a deadline for dict serializer hypothesis test in order to resolve flakiness

Docs:

  • Adds docs on publishing packages

0.1.3 (2022-07-15)

Autonomy:

  • Adds support for CID v1 hashes

Packages:

  • Fixes verify_contract method so it does not return a hardcoded value
  • Replaces history_duration with history_start, history_interval_in_unix and history_end in APY skill.
  • Bumps the service registry contract to the latest version

Chores:

  • Fixes the persistent peers' configurations for the e2e tests.
  • Updates ACN nodes in agent config files
  • Fixes tendermint subprocess termination issues on macOS
  • Fixes several flaky tests

0.1.2 (2022-07-08)

Autonomy:

  • Updates hash all command to update agent hashes on service components when hashing service components
  • Adds tests for missing coverage

Packages:

  • Adds service for hello_world agent
  • Introduces raise_on_try parameter in nested contract calls
  • Introduces mechanism to enforce round id uniqueness
  • Adds a method to clean the current period history for every parameter in the DB
  • Adds parameter that users can optionally configure so period history is cleaned on every reset
  • Fixes list representation in config YAML files
  • Adds check for unsafe-reset-all to verify if the command exited successfully

Chores:

  • Fixes atheris installation
  • Adds CodeQL analysis

Docs:

  • Adds documentation for TendermintHandler class
  • Updates communication flows.
  • Updates fonts and colours

0.1.1 (2022-06-22)

Autonomy:

  • Patches push-all, publish and fetch to support service packages
  • Fixes click context issue on CLI tool

Packages:

  • Adds support for Proof Of Authority chains
  • Adds pricing strategy for Polygon chain

Chores:

  • Adds multi os and multi python interpreter CI matrix.
  • Adds script to check links in docs
  • Bumps Tendermint to v0.34.19

Docs:

  • Removes SVN command usage with aea fetch/add and IPFS hashes

0.1.0 (2022-06-15)

  • Release of the initial package.

0.1.0rc2 (2022-06-13)

  • Second release candidate of the initial package.

0.1.0rc1 (2022-06-13)

  • First release candidate of the initial package.