Framework / dependency bumps:
- Bumps
open-aea2.2.3→2.2.5acrosspyproject.toml,setup.py,tox.ini(framework + package +check-third-party-hashes+check-api-docs+generate-api-documentationtestenvs),skaffold.yaml, both Dockerfiles'AEA_VERSIONarg,deployments/Dockerfiles/autonomy-user/requirements.txt, and the 33 package YAMLs (agents / contracts /connections/ipfs) that pinopen-aea-*dependencies.aea-ci check-third-party-hashesnow resolves againstvalory-xyz/open-aea@2.2.5. No API or wire-format changes; package hashes regenerated viaautonomy packages lockandpoetry.lockregenerated to match.
Autonomy:
- Restores wheel/sdist bundling for the 11 contracts under
autonomy/data/contracts/that have been silently missing from PyPI artifacts sincev0.21.17.[tool.poetry] includeinpyproject.tomlnow declaresautonomy/data/contracts/**/*for bothsdistandwheel, so framework code that resolves contracts viaautonomy.data.contracts.<name>(without thepackages/tree on disk) keeps working when installed from PyPI. Newtests/test_autonomy/test_packaging.pyis a behavioural regression test that builds the wheel viapython -m buildand asserts every ejected contract is present #2493 - Surfaces named environment-variable placeholders from
service.yamloverrides.Service.process_component_overridespreviously 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 noHELLO_WORLD_MESSAGEentry in the agent's env dict. AddedService._extract_named_env_var_defaultswhich walks the raw overrides and emits<NAMED_KEY>=<default>entries alongside the path-keyed ones, so downstream callers (e.g. middleware injecting fromservice.yaml) can override values by their declared name.os.environtakes precedence over the inline default #2494
aea-helpers:
- Fixes
aea-helpers bin-template-pathcrashing on every invocation outside a PyInstaller-frozen process. The CLI now reads the path string out ofbin_template.pyviaastinstead of importing the module (which would executePath(sys._MEIPASS) / ...and tripAttributeErroron regular Python). Restores the contract-eject helper used bymake eject-contracts#2487
Framework / dependency bumps:
- Bumps
open-aea2.2.2→2.2.3acrosspyproject.toml,setup.py,tox.ini,skaffold.yaml, both Dockerfiles'AEA_VERSIONarg,deployments/Dockerfiles/autonomy-user/requirements.txt, 33 package YAMLs (agent / contract /connections/ipfs), andautonomy/constants.py. The 2.2.3 bump is aGitPython>=3.1.47security 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 inpackages/packages.json [third_party]are byte-identical between v2.2.2 and v2.2.3, so no third-party hash drift #2492 #2489 - Bumps
tomte0.6.5→0.7.0acrosspyproject.toml,tox.ini(25 testenv references), and the inlinepip 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 thetomte check-spellingCLI #2492 - Re-enables
open-aea-ledger-solana(was blocked on a transitiveconstructcap; unblocked by open-aea 2.2.2'sconstruct<=2.10.61removal) #2489
Tooling / dev experience:
- Slim
tox.inimigration: 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.pylintrcremoved;setup.cfgdeleted entirely (open-aea 2.2.3 changedaea generate-all-protocolsto read isort config frompyproject.toml);[tool.isort]added topyproject.tomlmirroringtomte render-isort-configflags #2492 - Drops the
tomte check-spellingCLI invocations acrossCONTRIBUTING.md,scripts/RELEASE_PROCESS.md, and the workflow'snpm install -g markdown-spellcheckstep (tomte 0.7.0 removed the command) #2492 - New
[testenv:gitleaks]runs gitleaks against the canonicaltomte/configs/gitleaks.toml.make securityand the workflow'sgitleaksjob both calltox -e gitleaksso dev preflight, local tox, and CI use the same ruleset and the same.gitleaksignorefingerprints (full-history scan, no--no-git) #2492 - New
[testenv:check-isort-config](+scripts/check_isort_config.py) diffspyproject.toml [tool.isort]against the cfg rendered bytomte render-isort-config. Catches drift between the sourceaea generate-all-protocolsreads and the source the isort testenvs use; gates merges inlinter_checks#2492 [testenv:isort-check]now scansdeployments/(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
protobufupper bound to>=5,<7acrosspyproject.toml,tox.ini, anddeployments/Dockerfiles/autonomy-user/requirements.txt(was*/<7,>=5/<6,>=5respectively) #2492
Autonomy:
- Ships a mock Tendermint server (
MockServerChannel) as a drop-in replacement for a real Tendermint node when running single-agent services. Activated viause_mock: true(withuse_tendermint: false) in thevalory/abciconnection config; wires tx-triggered block production, dialogue lifecycle management, and anasynciostdlib HTTP server (noaiohttpdependency). NewUseMockTenderminttest 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 explicitprotobufpin;dockermoves to an optional[docker]extra; adds a[chain]extra; relies onopen-aea[all]forclick/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, localPOLYGON_CHAIN_ID = 137constant (no framework coupling), consistentValueErrorexceptions, and 14 new unit tests #2393 - Clamps negative
Content-Lengthvalues to0in the Tendermint sidecar HTTP server (#1477 Windows test also fixed withtimeout=-1.0) #2484 - Removes framework imports from
sign_message_libanderc8004_identity_registry_bridger(MultiSendOperationis now defined locally) #2484 - Hardens
autonomy/chain/subgraph/client.pyagainst missingdatakeys; fixes 404/500 mimetype mismatch and adds a 10 MiB body-size cap in_http_server.py; cachesget_requests_connection_errorvialru_cache#2484
Packaging / PyPI:
- Fixes PyPI metadata: root
pyproject.tomlnow useslicense = "Apache-2.0"(was"Apache-2.0 license", which Poetry mapped toLicense :: Other/Proprietary Licenseand broke downstream liccheck) and declaresreadme = "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
requestspin in the tendermint sidecar Dockerfile from==2.28.1to>=2.33.0,<3#2484 - Resolves remaining actionable dependabot alerts; defers
requestsandecdsapins to transitive constraints #2477
Autonomy:
- Moves
open-aea-ledger-ethereum-hwifrom a hard runtime dependency to an optional[hwi]extra. The HWI plugin's transitive deps (hidapi,Pillowvialedgerwallet) have no pre-built armv7 wheels, which broke multi-platform Docker image builds in v0.21.17. Install withpip install open-autonomy[hwi]if hardware wallet support is needed.
Autonomy:
- Bumps
open-aeafrom2.1.0to2.2.1andtomtefrom0.6.1to0.6.5across the entire framework, all plugins, package yamls, Dockerfiles, and skaffold #2470 - Removes
open-aea-ledger-ethereum-flashbotsplugin references from deployment scripts (run.sh,start.sh), Docker images, Pipfile, and bump-dependencies config. Skill-leveluse_flashbotsAPI intentionally preserved to avoid on-chain payload wire-format break #2470 - Fixes
autonomy/chain/metadata.pyto useadd_bytesinstead of removedadd_str(open-aea-cli-ipfs 2.2.1 API change) #2470 - Updates
ABSTRACT_ROUND_ABCI_SKILL_WITH_HASHconstant to match regenerated package hashes #2470
Scripts:
- Migrates all 8 Python scripts from
scripts/to CLI commands intomte, upstreamaea-ci-helpers, or OA-localaea-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_hashesandgenerate_api_docspromoted to upstreamopen-aea-ci-helpers(configurable, generic) — OA-local forks deleted #2470
Plugins (aea-helpers):
- Renames PyPI package from
aea-helperstoopen-aea-helpers - Removes
check-third-party-hashesandgenerate-api-docscommands (migrated upstream toaea-ci) - Retains
generate-contract-list(OA-specific Olas registry address table) - Removes
open-aea-flashbotsfrom 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-copyrightauthor strings for tomte 0.6.5 compatibility - Fixes
main_workflow.ymlto callcheck-doc-links-hashes(was referencing non-existentcheck-doc-hashesenv) - Adds flaky external URL skips (modescan.io, gameprogrammingpatterns.com, cointelegraph.com, etc.)
Packages:
- Updates funds forwarder skill #2468
- Mints components #2462
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-tendermintflag torun-agentfor agents using HTTP-based ABCI - Fixes
customspackage type handling incheck-doc-hashes - Fixes zero-matches exit behavior in
check-doc-hashes - Bumps
aea-helpersversion to align with framework versioning
Autonomy:
- Adds
aea-helpersplugin 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-helpersto the release pipeline for PyPI publishing #2452
Packages:
- Adds funds forwarder and identify service owner skills #2449
Autonomy:
- Fixes environment variable override validation #2447
Packages:
- Ensures ABIs have all parameters from explorer #2445
- Fixes ERC20 transfer transaction #2444
Chore:
- Fixes requests version range to
<2.33.0,>=2.28.1for compatibility #2443
Autonomy:
- Adds aea key to connection also in docker deployment #2408
- Updates defaults for click commands options #2427
- Fixes
protobufversion 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 anywithassert all#2419
Autonomy:
- Support both gas and its price multipliers in TxSettler #2398
- Add ERC8004 contract addresses for Arbitrum and Optimism #2400
Packages:
- Fix handling
LateArrivingTransactionerror from tendermint inabstract_round_abci#2397
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
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
Autonomy:
- Updates a link in the docs to the new domain
stack.olas.network#2379 - Fixes the
TxSettlerretry mechanism for Polygon RPCs #2388
Packages:
- Bumps
open-aeato2.0.8#2389
Autonomy:
- Adds missing
chain_idto the ledger message to fix thefailsafe_randomnessfor agents using non-default chains. #2377 - Adds internal support for PolySafe multisig contract #2378
Packages:
- Bumps
open-aeato2.0.7ingnosis_safecontract #2384 - Bumps
pycryptodometo3.20.0ingnosis_safecontract #2383
Autonomy:
- TxSettler will now wait for an unsynced RPC to sync when settling a transaction #2374
open-autonomynow uses the contract addresses fromautonolas-registries@v1.3.0#2375
Autonomy:
- TxSettler will now retry transaction if the RPC is unsynced #2371
open-autonomyis no longer dependent onvalory-docker-composepackage #2371
Docs:
- Updates the docs to use the new naming convention for Agent blueprints and AI agents #2364
Autonomy:
- Support repricing on
gas too lowRPC error inTxSettler#2365 - Add helper methods in
ChainTypeandLedgerTypeenums #2366
Docs:
- Change old docs domain to
stack.olas.network#2355
Packages:
- Update
open-aeato2.0.6#2359
Autonomy:
- Add support for setting custom props in
docker-compose.yamldeployment #2358 - Redesign the
TxSettlerfor cleaner code #2356
Autonomy && Packages && Docs:
- Bumps
open-aeafrom2.0.4to2.0.5#2354
Autonomy && Packages && Docs:
- End of support for Python 3.8 and 3.9 #2340
- Dependency updates #2340
- Bumps
open-aea[all]from1.65.0to2.0.4 - Bumps
open-aea-ledger-ethereumfrom1.65.0to2.0.4 - Bumps
open-aea-ledger-ethereum-hwifrom1.65.0to2.0.4 - Bumps
open-aea-ledger-cosmosfrom1.65.0to2.0.4 - Bumps
open-aea-cli-ipfsfrom1.65.0to2.0.4 - Bumps
pytestfrom7.2.1to7.4.4 - Bumps
py-eccfrom6.0.0to8.0.0 - Bumps
dockerfrom6.1.2to7.1.0 - Bumps
tomtefrom0.2.17to0.4.0 - Bumps
eth-utilsfrom2.2.0to5.3.0 - Bumps
eth-abifrom4.0.0to5.2.0 - Bumps
web3from<7,>=6.0.0to<8,>=7.0.0 - Bumps
eth-accountfrom>=0.8.0,<0.9.0to>=0.13.0,<0.14.0 - Loosens the
clickversion constraint from>=8.1.0,<8.2.0to>=8.1.0,<9 - Loosens the
requestsversion constraint from<2.31.2,>=2.28.1to<2.32.5,>=2.28.1 - Loosens the
pytestversion constraint from>=7.0.0,<7.3.0to>=7.0.0,<7.5.0
- Bumps
- Updates the default URI
acn.staging.autonolas.techtoacn.autonolas.tech#2346
Autonomy:
- Configures the generated
docker-compose.yamlfiles to rotate the docker logs #2345 - Adds support for service deployment with recovery module (by default) #2343
Autonomy:
- Pins the
open-aea-userdocker image to1.65.0to keep it compatible with major releases ofopen-aea. #2342
Autonomy:
- Updates the
ChainandChainTypeto includeOPTIMISMenum value, and removes theOPTIMISTICenum value #2336 - Fixes the
autonomy deploy buildcommand to make the mounting directories #2338 - Avoids host and docker resources conflicts when generating multiple docker deployments #2341
Autonomy && Packages && Docs:
- Rotates logs of tendermint #2333
Chores:
- Reverts temporary skip of test #2332
Packages:
- Fixes incorrect use of
TypedDict#2331 - Replaces deleted fork repo #2329
- Limits
typing_extensionsup to4.13.2as the next version introduces a breaking change #2326
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
Autonomy:
- Increases the timeout for installing agent's dependencies while building its docker image #2320
Autonomy:
- Fixes
build-imagecommand inopen-autonomy-userdocker image and improves it to take--pre-install-commandand---builderflags #2318
Autonomy:
- Adds support for building multi-arch docker images #2314
Chores:
- Bumps
open-aea@1.65.0#2315
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-errorso the default applies #2303
Chores:
- Bumps
open-aea@1.64.0#2307
Packages:
- Fixes char encodings for Windows #2300
Autonomy:
- Temporarily works around an issue with the path directory when using the build command #2292
Chores:
- Bumps
open-aea@1.63.0#2299
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
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
Packages:
- Strictly check if the required properties are defined in derived classes from AbstractRound #2276
Chores:
- Bumps
open-aea@1.60.0#2280
Autonomy:
- Improves the flow when fetching from a TokenID #2273
- Bumps
open-aea@1.59.0#2275
Autonomy:
- Updates the chain configuration to include Mode #2272
Autonomy:
- Fixes the cleanup on scaffolding validation failure #2269
- Adds support for dictionary overrides #2270
- Bumps
open-aea@1.58.0#2271
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
- Bumps
open-aea@1.57.0#2257
- Bumps
open-aea@1.56.0#2256
- Bumps
open-aea@1.55.0#2253
- Bumps
open-aea@1.54.0#2252
Autonomy:
- Reintroduces the breaking feature from PRs #2236, #2241, #2244.
Autonomy:
- Reverts the breaking change introduced in the latest release, and more specifically in PRs #2236, #2241, #2244.
Autonomy:
- fix for 0.14.14 issue with _get_synced_value
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
Autonomy:
- Adds support for
transaction not founderror on the transaction settlment tool
Packages:
- Adds a test for testing the usage of nested directories with the
IPFSconnection
Autonomy:
- Adds more chain profiles to reduce
on-chaininteraction 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_abciskill so that the offence status changes are only stored in the DB if slashing is enabled
Packages:
- Fixes third party package hashes
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_idparameter Add support for specifyingchain_idonget_transaction_receipt
Packages:
- Fixes the recovery logic on the
abstract_round_abciskill
Autonomy:
- Adds support for loading docker client from
docker-desktopcontext
Autonomy:
- Pins
python-dotenv>=0.14.5,<0.22.0andtyping_extensions>=3.10.0.2
Chore:
- Skips data packages from the API generator script
Autonomy:
- Updates the Tendermint image to run the Tendermint node as a non-root user
Docs:
- Updates
hello-worldhashes - Updates the ledger plugin installation instructions
Autonomy:
- Adds support for custom packages
Packages:
- Fixes a flay E2E test on the registration start up agent
Autonomy:
- Fixes incompatibility issue with the latest docker release on the network generator
Autonomy:
- Updates the subgraph client to use synchronous transport
- Updates the kubernetes build generators to use
loopbackaddress instead oflocalhost - Adds support for rebuilding the transaction on
OldNonceerror
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
Autonomy:
- Fixes the default value handling for the resource specifier flags on the
autonomy deploy build/from-tokencommands
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
Autonomy:
- Adds support for using multiple ledgers in
keys.json - Fixes single agent override indexing
Packages:
- Adds support for custom offence amounts
Autonomy:
- Pins
aiohttp<4.0.0,>=3.8.5 - Updates the deployment builder to use ledger identifier property in the
keys.jsonto write the private key files in a deployment setup
Packages:
- Ports multi-ledger support on termination skill from
IEKIT
Autonomy:
- Extends the list of retriable errors on transaction settlement
- Integrates the autonolas subgraph to automate the dependency verification on the minting tools
Packages:
- Updates protocol packages to contain latest copyright headers
- Bumps
open-aea@1.43.0.post2
Autonomy:
- Updates the tendermint image to support arm platforms
- Updates the autonomy image to use
--timeoutflag onaea installcommand to avoid timeout failures on machines with limited resources
Docs:
- Fixes
hello-worldhash in the quick start guide - Adds requirements for developing and running on
raspberry-pi
Autonomy:
- Implements transaction settlement on the
mint/servicecommand 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
Autonomy:
- Adds support for logging to console on tendermint server
Autonomy:
- Fixes the start.sh script to use password if provided when issuing certificates
Packages:
- Renames the
chain_nameparameter tochain_idon transaction settlement skill
Docs:
- Updates the documentation on private key security in deployments
Autonomy:
- Pins
protobuf<4.25.0,>=4.21.6
Packages:
- Ports changes on transaction settlement skill from
IEKitandagent-academy-2 - Updates the transaction settlement ABCI to handle safe-nonce reuse
Autonomy:
- Updates the mint tools to propagate
tokenaddress to update service transactions
- Synchronises the
on-chainaddresses with the latest protocol release
- Adds support for specifying custom
Dockerfilefor building agent images - Deprecates
--passwordflag onautonomy deploy build/from-tokencommands - Introduces
OPEN_AUTONOMY_PRIVATE_KEY_PASSWORDas environment variable for providing private key passwords to deployments - Updates the service analyser to skip
abciconnection since it's not required to be manually overridden
Chore:
- Bumps
open-aea@1.41.0.post1
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-8encoding 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
Autonomy:
- Replaces
open-aea-web3withweb3py<7,>=6.0.0 - Bumps
protobuf<5.0.0,>=4.21.6 - Fixes
protobufincompatibility 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
protobufcompiler - Compiles the tendermint connection protocol buffers using the latest compatible
protobufcompiler
Chores:
- Bumps
protobufcompiler to24.3
Autonomy:
- Update the reuse multisig transaction builder to account for services with only one operator
Autonomy:
- Pins
jsonschema<=4.19.0,>=4.16.0
Autonomy:
- Adds missing contract packages to the
eject-contractsmake target - Adds check to make sure service is in
pre-registrationbefore updating the service hash - Adds check to make sure all required environment variables are present for on-chain interactions
Autonomy:
- Pin
hexbytesas framework dependency
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
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
Autonomy:
- Adds support for
arm/v7docker images - Adds support for running the service in background using
--detachflag in theautonomy deploy runcommand - Adds support for stopping the service running in background using
autonomy deploy stop - Implements clean exists from
docker-composedeployments
Packages:
- Reverts #1996, because it introduced some instability
Autonomy:
- Deprecates the support for
Python 3.7and extends support forPython 3.11 - Adds support for multi platform image builds
Packages:
- Replaces the usage of deprecated
web3pyAPIs
Chore:
- Replaces the
web3pywithopen-aea-web3 - Bumps
py-ecc@6.0.0,numpy@>=1.21.6andpandas@1.5.3
Autonomy:
- Fixes the deployment payload calculations on
autonomy service deploycommand
Autonomy:
- Adds support for minting services on layer 2 chains
- Adds support for skipping dependency checks when minting components
Autonomy:
- Update
tenderminttestnet command generator to accommodate for new container naming format
Autonomy:
- Adds support for running multiple
docker-composedeployments in the same machine
Autonomy:
- Bumps
open-aeatov1.37.0
Autonomy:
- open-aea bumped to 1.36.0
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
web3pytov5.31.4#1999
Docs:
- Fixes
olas.networklinks #1998
Autonomy:
- Makes the chained
ABCIskill filter more strict on the service analyser #1982
Packages:
- Fixes the gentle reset logic #1987
Docs:
- Fixes code check linter #1986
Autonomy:
- Update agent node template on the kubernetes generator to support different types of private keys from various ledgers #1991
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
terminateandunbondactions onautonomy servicecommand group #1956 - Generalises the
star.shscript 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 deploycommand 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_extensionsto>=3.10.0.2to avoid dependency conflicts withsolanaplugin #1964 - Bumps docker to
v6.1.2#1975
Docs:
- Adds information on required agent components #1967
Autonomy:
- Adds support for exposing
tendermintcontainer 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
Autonomy:
- Updates the FSM scaffold tool to add downloaded packages to
third_partypackages #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
Autonomy:
- Adds support for updating
external_addressto matchtendermint_p2p_urlwhen updating the Tendermint parameters on registration #1930
Packages:
- Updates the
registration_abciskill to includeexternal_addressin the genesis configuration #1930
Docs:
- Adds code checks for
JSONcode 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
Autonomy:
- Adds support for updating the tendermint P2P URL at the runtime, take a look here to understand more
- Adds support for specifying
NFTimage path when minting the components - Updates the minting tools to dump metadata as a
jsonfile after minting the component - Updates the manual build mechanism to index agent using
all_parametersparameter 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.yamlconfiguration that needed to be removed due to incorrect dependencies in the previous release
Autonomy:
- Updates the
autonomy publishcommand to avoid publishing temporary files - Adds support for specifying owner when minting a component using
--ownerflag onautonomy mintcommand - 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
--nflag - Updates the runtime setup override update logic to set parameters as defined data types instead of a
listof 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
Autonomy:
- Makes the usage of the
flashbotsplugin optional in the deployments
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.jsonafter scaffolding the skill - Adds support for
kubernetesbuilds on thefrom-tokendeployments using--kubernetesflag - Adds support for specifying whether the deployment should run directly or not, using
--no-deployflag on thefrom-deploycommand - Removes the support for
--forceflag 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
- A round name should end with
- Deprecates the usage of the special environment variables from the agent deployment setup
- Adds support for usage of the
flashbotsledger 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_URLandTENDERMINT_COM_URLfor tendermint parameters - In the ABCI connection override don't use
ABCI_HOSTandABCI_PORTfor ABCI connection parameters - Tendermint and ABCI connection parameters now use the same environment variables' pattern as all other configurations
- In the ABCI skill override don't use
- Refactors the
AbciAppDB'screate(). 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 thecreate()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_intervalhas been renamed toreset_pause_duration(#1836)- Adds support for the
flashbotsledger plugin (#1885) - Adds a flag called
use_terminationin 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.9instead of3.10.10to avoid timeouts
Autonomy:
- Updates the
docker-composetemplate to enable the usage ofhost.docker.internalas host machine gateway
Tests:
- Adds test coverage for newly introduced commands on
autonomy analysegroup
Docs:
- Updates the documentation on the usage of custom images in agent deployments.
Chore:
- Updates the
tomteversion in thePipfile
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 dialoguescommand for analysing the dialogue definitions in a skill package - Introduces
autonomy analyse servicecommand for checking the deployment readiness of a service - Introduces
autonomy analyse logscommand for analysing the agent runtime logs - Adds support for defining custom author name for docker images on the
autonomy build-imagecommand - Removes the usage of
MAX_PARTICIPANTSenvironment variable from deployment setup - Adds support for updating the consensus threshold at the runtime using the on-chain metadata
Packages:
- Makes the synchronized database
serializableandhashable - Backports the
makerDAO multicall2contract fromagent-academy-1repository - 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_attributeon 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_indexfromAbciAppimplementation - 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
timeoutsandlast_timestampbefore trying to restore state received from peers - Don't wait for the reset pause duration in cases when reset is performed for recovery
- Enables
ACNcommunication for rejoining agents, by acceptingrequests/responsesfromall_participants
- Removes
consensusparameter from the skills' configurations and replaces themax_participantswith the length of theall_participantslist - Updates the
BaseParamsimplementation to enforce minimum values forreset_pause_duration - Updates the
AbciAppDBimplementation to make surecross_period_keysand 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/abciconnection on windows platform
Docs:
- Removes the usage of
max_participantsparameter - 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
CItimeout for the tests from70minutes to90minutes - Bumps
tomtetov0.2.2
Autonomy:
- Adds support for minting components using the
autonomy mintcommand group - Adds support for managing on chain services using the
autonomy servicegroup - Updates the
autonomy deploy from-tokencommand to use APIs fromautonomy.chainmodule - Fixes the bug on the
autonomy analyse handlerscommand by loading all of the dependencies before running a check
Packages:
- Introduces type checking utility as part of the
abstract_round_abciskill - Adds support for sharing the recovery parameters on the tendermint protocol and handler
- Introduces
valory/ipfsprotocol and connection for handlingIPFSuploads and downloads - Updates
TendermintRecoveryParamsimplementation to make it compatible for sharing the parameters using theACN - Updates the recovery mechanism in order to first retrieve the
Tendermintrecovery parameters via theACNbefore attempting to reset - Enables the usage of
libp2pconnection onTestTendermintResetInterrupandDEBUGas 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
Transactionis implemented using data class now
Plugins:
- Updates the
TendermintRecoveryParamsto clean up the images at the end of the test - Adds a fixture for the local
IPFSnode 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 mintandautonomy servicecommand groups
Chores:
- Updates
tendermintdocker image to use localwait-for-it.shscript instead of downloading from source
Autonomy:
- Adds support for updating the participants list at the runtime using the on chain metadata of a service
- Enables the usage of
gRPCchannel when communicating with theabciconnection - 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_participantsto the setup data - Enables the usage of
gRPCchannel when communicating with the tendermint node - Adds meta classes for the
AbstractRoundand theBaseBehaviourclasses to enforce additional checks - Fixes typing issues on the synchronized database class
- Removes the inappropriate usage of the
# type: ignoremarker and addresses the typing issues properly
Tests:
- Test coverage for
BaseTestEnd2Endin the test plugin - Test coverage for the
abciconnection - Test coverage for tendermint protocol dialogues
- Updates hello world
e2etest to test the usage ofgRPCchannel on tendermint node - Fixes the inconsistencies regarding the usage of
setupandsetup_classmethods 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
Autonomy:
- Removes the need for the agent project when scaffolding an
FSMapp using specification. Now when scaffolding the FSM app using the-tlrflag, 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 /paramsendpoint to returnpeer_idfor the local tendermint nodePOST /paramsendpoint to updatepersistent_peerswhen updating the chain config
Packages:
- Fixes the
fast_forward_to_behaviourin theabciskill test tools by setting the_current_round_clswhich 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_namemethod as part of theabstract_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_waiton startup - Updates the
a2atransaction logic to wait for block production to begin before sending ana2atransaction via tendermint - Updates the
RegistrationStartupBehaviourandTendermintHandlerto 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
AbciAppdefinition is found in the provided module - Adds test coverage for
autonomy developcommand group - Introduces pre and post conditions checks on the
SynchronizedDatafor each initial and final state - Adds tests for
abciconnection - Adds an e2e test to showcase hard reset being used as a recovery mechanism
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_IDin__init__.pyfiles - Adds tests for small coverage gaps in
open-autonomy - Adds tests for registration behaviours
- Adds tests for
abstract_round_abciskill
Chores:
- Pins
toxusingtomteon CI
Autonomy:
- Patches packages command group to adapt latest changes from
open-aea
Packages:
- Fixes version specifiers for
open-aea-test-autonomyandopen-aea-ledger-ethereum
Autonomy:
- Introduces more flexible approach to defining the overrides for multiple agents in a service component
- Deprecates the usage of
autonomy hash allcommand,autonomy packages lockcan 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-tokencommand 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-imagecommand
Packages:
- Fixes the
AbciAppinitialization to ensure that synchronized data is retrieved as an instance of thesynchronized_data_classspecified on the round. - Updates the
IPFSInteracttool 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
autonomyframework
Docs:
- Adds documentation on the usage of the service level overrides
- Makes sure that naming convention for autonomous services is consistent throughout the documentation
Autonomy:
- Deprecates
autonomy analyse abcicommand group - Merges
autonomy analyse abci check-app-specsandautonomy analyse generate-app-specsintoautonomy analyse fsm-specs - Moves
autonomy analyse abci check-handlerstoautonomy analyse handlers - Moves
autonomy analyse abci docstringstoautonomy analyse docstrings - Moves
autonomy analyse abci logshas been moved toautonomy analyse logs - Refactors the FSM command definition and extract the code to core and helper modules
- Updates the error messages on
autonomy build-imagecommand - Improves error handling on
autonomy deploycommand group
Plugins:
- Renames the
tagproperty toimageonaea_test_autonomy.docker.base.DockerImageclass
Packages:
- Updates the
abstract_round_abciskill to ignore Tendermint blocks with a height lower than the initial height of the Tendermint chain - Adds yield statement in
CheckTransactionHistoryBehaviour._check_tx_historyto avoid freezing the entire behaviour - Moves the Tendermint healthcheck from individual round behaviours to the
AbstractRoundBehaviourto ensure that Tendermint would reset when the communication is unhealthy - Extends
ApiSpecsto support getting the response from a list - Adds better error
loggingin theApiSpecs - Adds support to parse error responses to the
ApiSpecs - Adds backoff logic to the
ApiSpecs
Tests:
- Increases the sleep time in
test_async_behaviour_sleepandTestRegistrationStartupBehaviourtests to avoid flakiness - Tests for newly introduced code in the
ApiSpecsimplementation - Adds tests for integration test tools on
abstract_round_abciskill
Autonomy:
- Updates the storage class to
nfs-ephemeralin kubernetes template - Updates the autonomy image constant use the framework version as the default tag version
- Extends the
autonomy packagescommand group to use new package manager API - Updates the
autonomy fetchcommand 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_countchecks 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
toxcommand instead of direct command invocations - Updates
packages.jsonto the new format
Autonomy:
- Updates service component to use new override policies
Packages:
- Adds
get_service_owneron theServiceRegistrycontract implementation - Introduces
termination_abciskill to support service termination - Extends
abstract_round_abcito support running thetermination_abciskill concurrently with the main FSM in order to periodically check for the termination signal. - Introduces
register_terminationskill andregister_terminationagent to demonstratetermination_abciskill - Extends gnosis safe contract implementation with
get_swap_owner_datato encode a transaction to swap a safe ownerget_remove_owner_datato encode a transaction to remove a safe ownerget_zero_transfer_eventsto retrieve 0 value transfer events sent to the safeget_removed_owner_eventsto 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
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 analyseto 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
GitHubrepositories- 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 networkssection.
Autonomy:
- Fixes issues related to
IP/Hostresolving 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 upsection 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-aeato 1.21.0 - Adds lock check for all platforms
Tests:
- Fixes APY tests after the
setupandsetup_classchanges - Fixes counter client behaviour tests.
- Fixes use os specific paths when comparing file names
- Fixes path resolution on Windows
- Fixes
TestTendermintBufferFailingon windows - Fixes pandas timestamps conversion to
UNIX - Increases
test_get_app_hashsleep tolerance - Avoids indirectly handle
NotFittedError
- Factors out scaffolding templates
- Updates CLI help messages
- Fixes the scaffold
FSMcommand so that a skill can be loaded once created - Adds
valory/open-autonomy-userDocker image with latest open-autonomy framework installed
- Point to ACN Docker image instead of staging ACN nodes
- Removes unnecessary dependency of
transaction_settlement_abciskill on theoffchain_aggregatorcontract - Adds environment variables for the RPC endpoints of all service specifications
- De duplicates
open_aeapackages by pulling from registry - Increases the validate timeout by an order of magnitude in
Polygonservice
- Fixes build image test
- Adds a doc section to explain package management
- Fixes broken links on documentation
- Fixes
release-imagetarget on theMakefileto usepackages.json - Check hashes in
packages.jsoninstead ofhashes.csv - Removes changelog
- Updates command regex to reflect latest changes
- Adds
PYTHONHASHSEEDin Kubernetes deployment template - Moves all fixtures into
aea_test_autonomyplugin. - Adds
service-registry-networkcli command for starting a local hardhat node.
- Replaces
third-partydependencies with docker images. - Fixes import from tests folder and
path_to_skillin FSM scaffolding - Moves remaining tests into packages, in particular agents.
- Adds README header
- Removes
quickstartskip 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.mdandAUTHORS.mdto reflect changes
- Adds support for registry flags on
autonomy scaffold fsmcommand - Adds support for scaffolding
- Dialogues
- Payloads
- Tests
- Adds support for specifying version for runtime images
- Removes the need for
NESTED_FIELDS_ALLOWED_TO_UPDATEfrom 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
- 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
- Introduces
aea-test-autonomyplugin
- Fixes tendermint logging issues
- Updates skaffold config for building runtime images for agents
- Bumps autonolas registries sub module to latest
- Replaces the usage of staging chain with local registry deployments
- Fixes flaky
test_fetch_behaviour_non_indexed_blocktest - Fixes flaky registry tests
- Adds tests for
autonomy scaffold fsm
- 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
Autonomy:
- Fix stream logging for docker SDK interactions
- Use docker SDK to build tendermint testnet config
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
skaffoldas a framework dependency. - Adds support for remote registries in the fsm scaffold utility.
- Bumps
open-aeaand its plugins to version1.17.0.
Packages:
- Adds support for parsing all the gnosis GS codes and print relevant messages.
- Renames
iomodule inabstract_round_abcitoio_to avoid possible namespace conflicts with standardiomodule - Refactors
io_module to moveLoadersandStorersclasses to relevant skill - Decreases validation timeout on
Polygon
Chores:
- Updates
toxdefinitions andMakefiletargets 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.pywith more generalized regex
Tests:
- Adds tests for
scripts/check_doc_ipfs_hashes.py - Fixes ledger connection test
- Fixes test for
from-tokencommand
Autonomy:
- Introduces the intended deployment flow, including changes to service configurations.
- Bumps
open-aeaand its plugins to version1.16.0. - Introduces support for partial deployments referencing on-chain agent instances.
- Adds
autonomy scaffold fsmcommand. - Adds support for fetching and updating the multisig safe address when deploying from tokens.
- Adds
--log-levelflag on deploy command to support specifying log levels for agent and tendermint runtimes. - Remove the need for
THIRD_PARTYconstant 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 buildcommand to re-enable the dev mode.
Packages:
- Improves gas estimation in
gnosis_safeand packages depending on it. - Addresses dependency inconsistencies in various packages detected with the new
open-aeaversion. - Fixes a
ledgerconnection issue caused by wrong usage of theasyncio.wait()method. - Fixes oracle service configurations to only broadcast from
goerliandpolygon. - 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_abciandtransaction_settlement_abciintroduced 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
gitleaksscan 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
Makefileby 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
fetchandrun. - Reorganize demos to give a consistent and homogeneous structure.
Autonomy:
- Extracts generic test utils into
autonomy.test_tools
Packages:
- Ports the tendermint GRPC package and test tools from
agent-academy-1repo - Moves base test classes into
abstract_round_abciskill package
Chore:
- Bumps
mistuneto2.0.3 - Updates
skaffoldto latest version
Docs:
- Updates the demo section
- Adds info about Docker Desktop on MacOS and Windows
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 thetransaction_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_receiptin theledgerconnection
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_abciend-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
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
Autonomy:
- Adds support for CID v1 hashes
Packages:
- Fixes
verify_contractmethod so it does not return a hardcoded value - Replaces
history_durationwithhistory_start,history_interval_in_unixandhistory_endin 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
Autonomy:
- Updates
hash allcommand to update agent hashes on service components when hashing service components - Adds tests for missing coverage
Packages:
- Adds service for
hello_worldagent - Introduces
raise_on_tryparameter 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-allto verify if the command exited successfully
Chores:
- Fixes
atherisinstallation - Adds CodeQL analysis
Docs:
- Adds documentation for
TendermintHandlerclass - Updates communication flows.
- Updates fonts and colours
Autonomy:
- Patches
push-all,publishandfetchto support service packages - Fixes click context issue on CLI tool
Packages:
- Adds support for
Proof Of Authoritychains - Adds pricing strategy for
Polygonchain
Chores:
- Adds multi os and multi python interpreter CI matrix.
- Adds script to check links in docs
- Bumps
Tenderminttov0.34.19
Docs:
- Removes SVN command usage with
aea fetch/addand IPFS hashes
- Release of the initial package.
- Second release candidate of the initial package.
- First release candidate of the initial package.