Releases: api3dao/airnode
v0.14.2
v0.14.1
What's Changed
This patch release bumps api3/ois to v2.3.2 to fix a bug where the API call could not be skipped when using pre/post-processing v2. To fix a Docker packaging issue, Node.js has been updated from Node.js 18.14.0 to 18.19.1 within Docker images.
Changelog
- [v0.14] Bump api3/ois to v2.3.2 (#1946) by @dcroote in #1977
- [v0.14] Bump Node.js version in Dockerfiles by @dcroote in #1977
- Release v0.14.1 by @dcroote in #1981
Full Changelog: v0.14.0...v0.14.1
v0.14.0
What's Changed
This release includes contract deployments to additional chains, breaking changes to the OEV gateway, the addition of a version 2 of pre-processing and post-processing in conjunction with the release of OIS v2.3.1, removal of chainNames
and networks
exports from references.json of airnode-protocol, and other various improvements and bug fixes.
For additional detail, see the Airnode v0.14 migration guide.
Changelog
- fix: update team for release PR reviewers by @dcroote in #1908
- chore(deps): update devdependencies (non-major) by @renovate in #1901
- chore(deps): update terraform google to ~> 4.84 by @renovate in #1889
- feat: add release testing script by @dcroote in #1912
- chore(deps): update dependency @api3/chains to v4 by @renovate in #1916
- Support processing v2 by @Siegrift in #1914
- feat: remove boba-avalanche by @dcroote in #1923
- feat: Bump axios and api3 deps by @dcroote in #1921
- refactor: use api3/chains for chain names in airnode-examples by @dcroote in #1925
- Increase OEV gateway memory by @Siegrift in #1928
- refactor!: remove chainNames and networks from references.json by @dcroote in #1929
- refactor!: update OEV gateway interface by @dcroote in #1931
- Deploy Protocol Contracts on LightLink Mainnet and Testnet by @vanshwassan in #1924
- Deploy Protocol Contracts to Blast Sepolia Testnet by @Ashar2shahid in #1936
- Release v0.14.0 by @dcroote in #1937
New Contributors
- @vanshwassan made their first contribution in #1924
Full Changelog: v0.13.0...v0.14.0
v0.13.0
What's Changed
This release includes contract deployments to additional chains, a fix for the HTTP gateway response, less restricted OIS endpoint parameters, and various other improvements and bug fixes.
Release highlights
- Airnode protocol contracts were deployed on the following chains: linea, linea-goerli-testnet, mantle, mantle-goerli-testnet, base, base-goerli-testnet, polygon-zkevm, and polygon-zkevm-testnet.
- The HTTP Gateway response has been harmonized so that the API call response, after undergoing any post-processing, will be present in the
rawValue
field independent of encoding success or failure. - In conjunction with the OIS bump to v2.2, endpoint parameters now do not have to be mapped to operation parameters.
Changelog
- Fix packaging Docker image by @amarthadan in #1840
- chore(deps): update terraform google to ~> 4.76 by @renovate in #1832
- chore(deps): update dependency @octokit/core to v5 by @renovate in #1834
- fix: typos by @omahs in #1852
- fix(docs): typos by @dcroote in #1853
- fix(deps): update dependencies (non-major) by @renovate in #1830
- chore(deps): update terraform google to ~> 4.77 by @renovate in #1854
- chore(deps): lock file maintenance by @renovate in #1816
- fix(deps): update dependency google-auth-library to v9 by @renovate in #1847
- fix(deps): update dependency @google-cloud/storage to v7 by @renovate in #1856
- chore(deps): update terraform google to ~> 4.78 by @renovate in #1860
- fix: harmonize HTTP gateway response object when encoding fails by @dcroote in #1859
- update github actions CI for protocol-verification by @Ashar2shahid in #1865
- Deploy Protocol Contracts to new chains by @Ashar2shahid in #1864
- ci: test HTTP gateways in E2E integration test by @dcroote in #1869
- fix: pin npm major version to avoid Docker build failure by @dcroote in #1873
- chore(deps): update terraform google to ~> 4.80 by @renovate in #1866
- Ignore new solhint warnings by @bbenligiray in #1871
- chore(deps): update dependency esbuild-loader to v4 by @renovate in #1855
- chore(deps): update dependency prettier to v3 by @renovate in #1825
- fix(deps): update dependencies (non-major) by @renovate in #1862
- Deploy Protocol Contracts to new chains by @Ashar2shahid in #1864
- ci: exclude package.json from deployment verification trigger by @dcroote in #1875
- chore(deps): update devdependencies (non-major) by @renovate in #1861
- chore(deps): update terraform google to ~> 4.81 by @renovate in #1879
- chore(deps): update devdependencies (non-major) by @renovate in #1880
- fix(deps): update dependencies (non-major) by @renovate in #1881
- fix: airnode-protocol README and scripts updates by @dcroote in #1887
- feat: make operationParameter optional within endpoint parameters by @dcroote in #1888
- fix(deps): update dependencies (non-major) by @renovate in #1884
- chore(deps): update terraform google to ~> 4.83 by @renovate in #1882
- chore(deps): update devdependencies (non-major) by @renovate in #1883
- feat: make operationParameter optional within endpoint parameters by @dcroote in #1888
- fix: bump ois to v2.2.1 by @dcroote in #1893
- fix(examples): check for AirnodeRrp deployment in localhost flow by @dcroote in #1895
- chore(deps): update devdependencies (non-major) by @renovate in #1890
- Import processing from commons by @Siegrift in #1899
- Release v0.13.0 by @dcroote in #1906
New Contributors
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's Changed
This release brings sensible defaults for some of the configuration fields, changes to the HTTP gateways' inner workings, and many other improvements and bug fixes.
Release highlights
- Fields specifying
AirnodeRrpV0
andRequesterAuthorizerWithErc721
contract addresses on chains for which there is an API3 deployment are now optional. fulfillmentGasLimit
field is now optional. If no value is assigned, then Airnode will dynamically determine a callback gas limit.- There is no longer a hardcoded limit to the maximum number of sponsor wallet requests processed each cycle.
- The following changes were made to the HTTP gateway:
- Data is returned from successful API calls that fail response processing. For an example see the HTTP Gateways page.
- Reserved parameters are inaccessible in response pre/post-processing. This is only relevant if reserved parameters are being modified in pre/post-processing (advanced use case).
- The
value
for afixedOperationParameters
object is now allowed to be any type, including an object. This has not changed since v0.11.2, but has changed since v0.11.0 and v0.11.1 for which it was only allowed to be a string. - Endpoint ID now must be a hash of the OIS title and endpoint name. Previously it was only recommended.
Changelog
- Enforce the endpointId derivation scheme by @dcroote in #1707
- Add vi(m) swap files to .gitignore by @dcroote in #1725
- fix: links to new vitepress docs by @dcroote in #1731
- Add AirnodeRrpV0DryRun by @bbenligiray in #1737
- Bump @api3/chains version to 2.0.0 by @bbenligiray in #1740
- Deploy AirnodeRrpV0DryRun.sol by @bbenligiray in #1742
- Use @api3/chains in airnode-protocol by @bbenligiray in #1739
- Have airnode-protocol export AirnodeRrpV0DryRun by @bbenligiray in #1744
- Fix order of commands in packaging script by @amarthadan in #1726
- Lock file maintenance by @renovate in #1724
- Update dependency typescript to v5 by @renovate in #1677
- Update Terraform aws to ~> 4.63 by @renovate in #1721
- Bump hardhat from 2.10.2 to 2.14.0 by @dcroote in #1743
- Update Terraform aws to ~> 4.64 by @renovate in #1746
- Update Terraform google to ~> 4.62 by @renovate in #1728
- Lock file maintenance by @renovate in #1754
- Update devDependencies (non-major) by @renovate in #1747
- Update dependencies (non-major) by @renovate in #1748
- Ignore requests with an invalid sponsor wallet by @dcroote in #1758
- Update providerRecommendedGasPrice by @cserb in #1757
- Update devDependencies (non-major) by @renovate in #1762
- Update Terraform google to ~> 4.64 by @renovate in #1751
- Update Terraform aws to ~> 4.66 by @renovate in #1753
- Update Terraform google to ~> 4.65 by @renovate in #1769
- Update RequesterAuthorizerWithErc721 by @bbenligiray in #1771
- Remove MAXIMUM_SPONSOR_WALLET_REQUESTS to avoid throttling request fulfillments by @alikonuk1 in #1763
- Update Terraform aws to ~> 4.67 by @renovate in #1765
- Minor changes to release scripts due to library updates by @amarthadan in #1774
- Update dependencies (non-major) by @renovate in #1761
- Update Terraform google to ~> 4.66 by @renovate in #1775
- Make AirnodeRrpV0 and RequesterAuthorizerWithErc721 addresses optional by @dcroote in #1755
- Update dependency @typechain/ethers-v5 to v11 by @renovate in #1776
- Update devDependencies (non-major) by @renovate in #1767
- Lock file maintenance by @renovate in #1768
- Lock file maintenance by @renovate in #1784
- Update dependencies (non-major) by @renovate in #1782
- Bump @api3/airnode-protocol-v1 to 2.6.1 by @bbenligiray in #1791
- Update devDependencies (non-major) by @renovate in #1783
- Update Terraform google to ~> 4.67 by @renovate in #1788
- Remove unused dev dependency replace-in-file by @renovate in #1781
- Update dependencies (non-major) by @renovate in #1796
- Update Terraform google to ~> 4.68 by @renovate in #1798
- Widen allowed HTTP parameters by @aquarat in #1797
- Update devDependencies (non-major) by @renovate in #1795
- Update Terraform google to ~> 4.69 by @renovate in #1805
- fix: airnode-examples links to cloud provider docs by @dcroote in #1789
- Change the HTTP gateway for ChainAPI test calls by @dcroote in #1794
- fix: populate default contract addresses when loading config by @dcroote in #1814
- chore(deps): update dependency lerna to v7 by @renovate in #1802
- chore(deps): update terraform google to ~> 4.71 by @renovate in #1812
- fix(deps): update dependencies (non-major) by @renovate in #1811
- chore(deps): update devdependencies (non-major) by @renovate in #1810
- chore(deps): update terraform google to ~> 4.72 by @renovate in #1822
- feat: remove boba-moonbeam by @dcroote in #1823
- Re-implement "Estimate gas for RRP fulfillments" by @bdrhn9 in #1817
- chore: add min release age for renovate branches/PRs by @dcroote in #1827
- chore(deps): update devdependencies (non-major) by @renovate in #1829
- Implement gas price strategy
sanitizedProviderRecommendedGasPrice
by @bdrhn9 in #1828 - chore(deps): update dependency @api3/chains to v3 by @renovate in #1824
- fix(deps): update dependency compare-versions to v6 by @renovate in #1826
- feat(node): expose endpointParameters to all pre/post-processing steps by @dcroote in #1831
- feat: enable gas estimation in airnode-examples local flow and E2E test by @dcroote in #1836
- chore(deps): bump @api3/chains to v3.3.0 by @dcroote in #1837
- Release v0.12.0 by @amarthadan in #1841
New Contributors
- @cserb made their first contribution in #1757
- @alikonuk1 made their first contribution in #1763
Full Changelog: v0.11.0...v0.12.0
v0.11.2
What's Changed
- backport to v0.11: Widen allowed HTTP parameters by @dcroote in #1803
- Fix external links by @amarthadan in #1807
- Release v0.11.2 by @amarthadan in #1818
Full Changelog: v0.11.1...v0.11.2
v0.11.1
What's Changed
- v0.11 - Ignore requests with an invalid sponsor wallet (#1758) by @dcroote in #1766
- Fix wrong changeset target by @amarthadan in #1778
- Release v0.11.1 by @amarthadan in #1779
Full Changelog: v0.11.0...v0.11.1
v0.11.0
What's Changed
This release brings two new types of authorizers, a new gateway to support our OEV initiative, and many other improvements and bug fixes.
Release Highlights
- The Node.js version of Airnode was upgraded from 14 to 18.
- Node.js version of the pre- and post-processing environments is dictated by the Node.js version of Airnode.
- The two new authorizers,
requesterAuthorizersWithErc72
1 andcrossChainRequesterAuthorizersWithErc721
, that enable request authorization using ERC721 tokens were added. For further details, see the Authorizers page in the documentation. - There's a new gateway available called the OEV gateway. You can read more about this feature in its documentation.
- The heartbeat payload now includes Airnode's deployment ID.
- The
coingecko-signed-data
andcoingecko-testable
HTTP gatewayairnode-examples
integrations have been combined into a singlecoingecko-http-gateways
integration.
Changelog
- Disable number conversion for release CLI by @amarthadan in #1642
- Update Airnode to use Node 18 by @dcroote in #1647
- Update dependency date-fns-tz to v2 by @renovate in #1629
- Removes Node version 14 from pre/post-processing specification. by @dcroote in #1652
- protocol-ci only on pull-request by @Ashar2shahid in #1643
- Update dependency eslint-plugin-functional to v5 by @renovate in #1625
- Update dependency webpack-cli to v5 by @renovate in #1541
- Update dependency @types/node to v18 by @renovate in #1617
- Update dependency ethereum-waffle to v4 by @renovate in #1624
- Replace hardcoded deploymentId values in airnode-node tests by @dcroote in #1653
- fix: apply prettier programmatically in update script by @dcroote in #1656
- Combine airnode-examples http gateway integrations into one by @dcroote in #1664
- chore(deps): update dependency rimraf to v4 by @renovate in #1612
- OEV gateway by @amarthadan in #1663
- Update devDependencies (non-major) by @renovate in #1528
- Lock file maintenance by @renovate in #1525
- Update Terraform google to ~> 4.56 by @renovate in #1607
- Update Terraform aws to ~> 4.57 by @renovate in #1608
- Update dependency esbuild-loader to v3 by @renovate in #1650
- Update devDependencies (non-major) by @renovate in #1668
- Update dependencies (non-major) by @renovate in #1667
- Lock file maintenance by @renovate in #1669
- Update Terraform aws to ~> 4.58 by @renovate in #1666
- Update Terraform google to ~> 4.57 by @renovate in #1672
- Update Terraform hashicorp/terraform to ~> 1.4 by @renovate in #1654
- Update AWS SDK by @amarthadan in #1659
- Simplify OEV GW logic by @amarthadan in #1671
- Implement RequesterAuthorizerWithErc721 authorizers by @dcroote in #1670
- Fix incorrect timestamp parsing in OEV gateway by @Siegrift in #1674
- Update Terraform aws to ~> 4.59 by @renovate in #1678
- Fix airnode-examples integration title by @dcroote in #1680
- OEV GW timestamp calculation fix by @amarthadan in #1676
- Update dependencies (non-major) by @renovate in #1682
- Update devDependencies (non-major) by @renovate in #1683
- Lock file maintenance by @renovate in #1684
- fix: chainId used in erc721CrossChainAuthorizations by @dcroote in #1685
- chore(deps): update terraform google to ~> 4.58 by @renovate in #1688
- Final OEV gateway adjustments by @Siegrift in #1681
- Include deployment_id in the heartbeat payload by @dcroote in #1689
- Revert back to using beacon array for OEV gateway request/response by @Siegrift in #1694
- chore(deps): lock file maintenance by @renovate in #1699
- feat: script to bump OIS version references by @dcroote in #1686
- Fix Terraform secrets parsing & URLs propagations by @amarthadan in #1702
- Estimate gas for RRP fulfillments by @bdrhn9 in #1693
- chore(deps): update terraform aws to ~> 4.60 by @renovate in #1696
- chore(deps): update terraform google to ~> 4.59 by @renovate in #1704
- Retry api call by @Ashar2shahid in #1691
- chore(deps): update terraform aws to ~> 4.61 by @renovate in #1706
- Revert "Estimate gas for RRP fulfillments" by @Siegrift in #1710
- chore(deps): update terraform google to ~> 4.60 by @renovate in #1712
- chore(deps): update dependency rimraf to v5 by @renovate in #1723
- Release v0.11.0 by @amarthadan in #1720
New Contributors
Full Changelog: v0.10.0...v0.11.0
v0.10.1
What's Changed
- [v0.10] Fix Terraform gateway URLs propagations by @amarthadan in #1703
- [v0.10] Fix Terraform secrets parsing by @amarthadan in #1705, #1703
- [v0.10] Fix hardcoded
deploymentId
in tests & prettier behavior by @amarthadan in #1727 - Release v0.10.1 by @amarthadan in #1729
Full Changelog: v0.10.0...v0.10.1
v0.10.0
What's Changed
This release brings new reserved parameters, a new type of authorizers, and many improvements for Deployer CLI.
Release Highlights
- OIS version bump
- Field
apiKey
was removed from the gateway configuration sections. Gateway URLs now contain a randomly generated UUID serving as an authentication mechanism. - Field
nodeSettings.heartbeat.id
was removed from the heartbeat configuration. The ID is no longer needed to recognize which Airnode is sending the heartbeat request as the payload is signed by the Airnode and the Airnode's public key can be recovered from the signature. - The command
airnode-deployer remove-with-deployment-details
no longer exists and was replaced by a new commandairnode-deployer remove <deployment ID>
. In order to remove the Airnode deployment with this command, you need to provide a deployment ID. You can find deployment ID in thereceipt.json
file for a given deployment or viaairnode-deployer list
command. - Allowing to skip API calls to just run pre/post processing. See the OIS documentation for more information.
- There are two new reserved parameters available,
_gasPrice
and_minConfirmations
. You can read more about how and what are they used for in the documentation. - We now support a new type of authorizer, a cross-chain authorizer. Read more about when it makes sense to use it and how in the documentation.
- Airnode's Deployer CLI went through multiple changes, improving the user experience. There are four additional commands,
list
,info
,rollback
andfetch-files
to help you interact with your deployments more easily. You can read all about the new features in the documentation. - In order to provide a better sense of Airnode behavior and improve the visibility of request logs within cloud provider monitoring services, the log level specified by
nodeSettings.logLevel
withinconfig.json
has been changed fromINFO
toDEBUG
forairnode-examples
integrations. Similarly, integration deployment commands are now run with the--debug
flag.
Migration Guide
Please refer to the Airnode v0.9 to v0.10 migration guide for changes required to your config.json
to support this version of Airnode.
Changelog
- v0.10 features so far by @amarthadan in #1497
- Deploy Arbitrum and Optimism testnet by @bbenligiray in #1498
- Catch and print docker build errors by @dcroote in #1499
- Enable cross-chain authorizers by @dcroote in #1488
- Update dependencies (non-major) by @renovate in #1500
- Update dependency lerna to v6 by @renovate in #1496
- Update dependency axios to v1 by @renovate in #1489
- Update devDependencies (non-major) by @renovate in #1483
- Bump axios by @Siegrift in #1501
- Enable building Docker images for released packages by @amarthadan in #1495
- Provide more detailed on-chain error messages for failed API calls by @dcroote in #1509
- Allow publishing snapshot packages to the official NPM registry by @amarthadan in #1504
- Add Docker image publishing to packaging scripts by @amarthadan in #1507
- Add CI job to enable/disable GH PR merging by @amarthadan in #1508
- Fix handling of quotation marks in secrets by @amarthadan in #1513
- Lock file maintenance by @renovate in #1484
- Update devDependencies (non-major) by @renovate in #1516
- Update dependencies (non-major) by @renovate in #1517
- Fix broken temp-v0.10.0 branch merge by @Siegrift in #1522
- Fix Terraform recepts for AWS after bad rebase by @Siegrift in #1531
- Fix README for testing gateway example by @Siegrift in #1535
- Fix Terraform boolean interpretation by @amarthadan in #1542
- Remove outdated deployer CLI example by @Siegrift in #1543
- Expand gateway request logging in AWS, GCP, and airnode-client by @dcroote in #1526
- Automate releasing of official packages by @amarthadan in #1538
- Fix e2e tests by @Siegrift in #1553
- Change oracle gas strategy fallback log level to WARN by @dcroote in #1549
- Fix deployment ID generation by @amarthadan in #1548
- Simplify heartbeat signature scheme by @aquarat in #1537
- Clarify provider URL when running airnode-examples locally by @dcroote in #1561
- fix: undefined error property in json logging by @dcroote in #1564
- Fix failed lambda execution crashing coordinator by @Siegrift in #1582
- Skip api call by @metobom in #1586
- Replace Airnode's short address with deployment ID by @amarthadan in #1577
- Add missing GH token env variable by @amarthadan in #1593
- verify deterministic deployment by @Ashar2shahid in #1590
- Bump @api3/ois to 1.4.0 with necessary zod version bump to 3.20 by @dcroote in #1597
- Unpin axios after v1.2.2 patch release by @dcroote in #1591
- Update dependencies (non-major) by @renovate in #1529
- Remove Slack notifier from GitHub Actions by @dcroote in #1601
- Add --cache property to prettier and eslint by @dcroote in #1600
- Default to DEBUG log level in airnode-examples by @dcroote in #1602
- Update dependencies (non-major) by @renovate in #1604
- Add fetch-files command to deployer by @amarthadan in #1603
- Deployer missing files by @vponline in #1599
- Add new _gasPrice reserved parameter by @dcroote in #1609
- Add rollback command to deployer by @amarthadan in #1614
- fix _gasPrice e2e test and simplify getReservedParameterValue by @dcroote in #1616
- Update deployer help wording by @amarthadan in #1619
- Deployer logs file by @vponline in #1611
- fix(deps): update dependencies (non-major) by @renovate in #1613
- Deploy protocol contracts on new chains by @Ashar2shahid in #1562
- Add handling of _minConfirmations reserved parameter by @dcroote in #1615
- protocol contract deployment verification via CI by @Ashar2shahid in #1627
- Update RPCs in credentials.json by @Ashar2shahid in #1639
- Release v0.10.0 by @amarthadan in #1640
New Contributors
Full Changelog: v0.9.0...v0.10.0