From 4a563203817df7ae2d3156a17260d2bcd1011a16 Mon Sep 17 00:00:00 2001 From: David Minarsch Date: Wed, 26 Jan 2022 21:00:18 +0000 Subject: [PATCH] chore: updated history and security --- .spelling | 12 ++++++++++++ HISTORY.md | 24 +++++++++++++++++++----- SECURITY.md | 4 ++-- docs/agent-oriented-development.md | 4 ++-- docs/upgrading.md | 6 ++++++ 5 files changed, 41 insertions(+), 9 deletions(-) diff --git a/.spelling b/.spelling index e8cf02fafb..3276e8df71 100644 --- a/.spelling +++ b/.spelling @@ -230,6 +230,18 @@ open_aea ethereum EIP1159-style Valory +Microtransactions +my_first_aea +output_file +AgentContext +SkillContext +DecisionMaker +ABMs +meso +anymore +echos +config +fetch.ai. - docs/language-agnostic-definition.md fetchai protocol_id diff --git a/HISTORY.md b/HISTORY.md index c1398be386..aa354d9b0a 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,16 +1,30 @@ # Release History - open AEA +## 1.4.0 (2022-01-26) + +AEA: +- Exposes agent data directory on skill context. +- Adds support for environment variables loading from aea-config files. +- Extends contract base class to support new plugin functionality. + +Plugins: +- Adds support for transaction preparation and log retrieval into the ethereum plugin. +- Adds support for retrieving the revert reason when transaction is not verified in ethereum plugin. + +Docs: +- Simplifies documentation further and updates with latest features + ## Plugins patch (2022-01-15) Plugins: -- Bumps open-aea-ethereum-ledger to `1.3.2` after adding tip increase logic +- Bumps `open-aea-ethereum-ledger` to `1.3.2` after adding tip increase logic ## Plugins patch (2022-01-05) Plugins: - Fixes dynamic gas pricing on open-aea-ethereum -- Improves daemon availability check in `IPFSDaemon` on open-aea-cli-ipfs -- Bumps open-aea-cli-ipfs and open-aea-ethereum-ledger to `1.3.1` +- Improves daemon availability check in `IPFSDaemon` on `open-aea-cli-ipfs` +- Bumps `open-aea-cli-ipfs` and open-aea-ethereum-ledger to `1.3.1` Docs: - Removes reference to fetch.ai. @@ -24,8 +38,8 @@ AEA: Plugins: - Adds support for EIP1559 based gas estimation strategy on aea-ledger-ethereum. -- Adds support for package hashing and local ipfs registry on aea-cli-ipfs. -- Bumps aea-ledger-ethereum and aea-cli-ipfs to `1.3.0`. +- Adds support for package hashing and local IPFS registry on `aea-cli-ipfs`. +- Bumps `aea-ledger-ethereum` and `aea-cli-ipfs` to `1.3.0`. Docs: - Applies new styling diff --git a/SECURITY.md b/SECURITY.md index 447e382c3e..98d477ee30 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -8,8 +8,8 @@ The following table shows which versions of `open-aea` are currently being suppo | Version | Supported | | --------- | ------------------ | -| `1.1.x` | :white_check_mark: | -| `< 1.1.0` | :x: | +| `1.4.x` | :white_check_mark: | +| `< 1.4.0` | :x: | ## Reporting a Vulnerability diff --git a/docs/agent-oriented-development.md b/docs/agent-oriented-development.md index 5a7b45d3b3..503f90f4af 100644 --- a/docs/agent-oriented-development.md +++ b/docs/agent-oriented-development.md @@ -95,13 +95,13 @@ This uncertainty poses a challenge to the agents, who, since they cannot blindly ## Asynchronous task execution -A system of self-interested agents favors a design that allowed for asynchronous execution, such that agents can express behaviour independently each other. +A system of self-interested agents favours a design that allowed for asynchronous execution, such that agents can express behaviour independently each other. **Asynchronous programming:** Generally speaking, asynchronous programming allows the decoupling of the tasks that the agents carry out via concurrent processing. This leads to uncertainty regarding the behaviour of the system, since the order of code execution will vary. For example, suppose an agent `i` sends a message requesting some resources from an agent `j`. Since agents are distributed, there is uncertainties associated with the communication over a network: `j` may never receive `i`'s request, or may receive it after a long delay. Furthermore, `j` could receive the request in time and respond immediately, but as mentioned in the last section, its answer might be incomplete (gives only some of the requested resources), uncertain (promises to give the resources, but cannot be fully trusted), or incorrect (sends a wrong resource). In addition, since agents are self-interested, `j` may _decide_ to reply much later, to the point that the resource is no longer useful to agent `i`, or `j` may simply decide not to respond at all. There is a myriad of reasons why it may choose to do that. The take away is that agents' autonomy strongly influences what can be expected of them, and of an environment inhabited by them. This makes developing applications for systems whose constituents are autonomous fundamentally different from conventional object-oriented systems design. **Objects vs agents:** In object-oriented systems, objects are entities that encapsulate state and perform actions, i.e. call methods, on this state. In object-oriented languages, like C++ and Java, it is common practice to declare methods as public, so they can be invoked by other objects in the system whenever they wish. This implies that an object has no control over access to its attributes or the execution of its methods by other objects in the system. -We cannot take for granted that an agent `i` will execute an action (the equivalent of a method in object-oriented systems) just because another agent `j` wants it to. We therefor do not think of agents as invoking methods on one another, rather as _requesting_ actions. If `i` requests `j` to perform an action, then `j` may or may not perform the action. The control structure of these systems in different and can be summarised with the following slogan (from An Introduction to MultiAgent Systems by Michael Wooldridge): +We cannot take for granted that an agent `i` will execute an action (the equivalent of a method in object-oriented systems) just because another agent `j` wants it to. We therefore do not think of agents as invoking methods on one another, rather as _requesting_ actions. If `i` requests `j` to perform an action, then `j` may or may not perform the action. The control structure of these systems in different and can be summarised with the following slogan (from An Introduction to MultiAgent Systems by Michael Wooldridge): >objects do it for free; agents do it because they want to. diff --git a/docs/upgrading.md b/docs/upgrading.md index c37e9adefc..0d859628a5 100644 --- a/docs/upgrading.md +++ b/docs/upgrading.md @@ -7,6 +7,12 @@ Below we describe the additional manual steps required to upgrade between differ # Open AEA +## `v1.3.0` to `v1.4.0` + +No backwards incompatible changes. + +Plugins from previous versions are not compatible anymore. + ## `v1.2.0` to `v1.3.0` No backwards incompatible changes.