Skip to content

Releases: aragon/app-backend

Release v0.28.0

19 Jun 15:33
b7e239a

Choose a tag to compare

0.28.0 (2026-06-17)

Features

  • networks: add support for monadMainnet in various configurations (5e3abe5)
  • proposal: implement out-of-order event handling for proposals (d633df3)
  • simulation: enhance simulation error handling and validate network input (a803f03)
  • simulation: implement simulateDirectExecute for direct action simulations (5dc169e)

Bug Fixes

  • ci: write semantic-release dry-run log to RUNNER_TEMP to keep tree clean (1d87169)
  • proposal: improve out-of-order event handling and logging for proposal execution (a432007)
  • proposal: normalize cancelTxInfo to null (84add54)
  • proposal: normalize legacy boolean cancelTxInfo and fix schema default (0041e71)
  • proposal: update event registration to use type-safe log constants (8ed9485)
  • rabbitmq: enhance stubRabbitmqSend to support additional routing options (1a3514a)
  • simulation: use single-network validator for simulateDirectExecute schema (87eb6c2)
  • test: remove excessive timeout from tokenVoting tests (6430931)
  • test: remove exclusive focus from TokenVoting integration tests (c877bce)

Performance Improvements

  • db: add compound indexes covering proposal and vote list sort paths (8e5b5a6)

Release v0.27.1

11 Jun 16:39
22b2cc3

Choose a tag to compare

Release v0.27.1

Release v0.27.0

10 Jun 10:23
6d812bb

Choose a tag to compare

0.27.0 (2026-06-09)

Features

  • anvilRpc: implement retry logic for RPC calls and add post-reset probe (50c0989)
  • api: add global firstActive on member endpoint (BE-203) (#1292) (c5d4122)
  • api: add token totalSupply cache with 30-minute freshness (e1996d7)
  • api: IPFS resolution for delegate statement metadata (BE-204) (#1297) (409294c)
  • api: live totalSupply for escrowAdapter tokens (BE-221) (#1298) (a850e84)
  • api: optimize delegators listing — two-pass log query + drop per-row VP math (#1301) (32b3211)
  • api: resolve delegate statements from IPFS (BE-204) (#1291) (85e243e)
  • APP-537: rename DAO fields and update related logic. Add backward compatibility (d7372d6)
  • APP-539: remove deprecated fields and update logic for linked accounts (341ae13)
  • batchVeHandler, capitalDistributorHandler: refactor claim handling and deduplication logic (1db90ff)
  • batchVeHandler: skip full DAO simulation test (6186932)
  • BE-143: skip expensive crawl in findIncrementalId when previous proposal exists (c233c6b)
  • BE-163: scoped retryAll for crawler RPC errors (#1186) (76772a6)
  • BE-200: integration test fixture for BE-160 governance rewards calculator (#1247) (4a06dc6)
  • campaign+gauge: campaign upload API, gauge reward distribution, and delegation batch sync migration (#1128) (5385654)
  • campaign: add logo field to token data structure (2bf92e8)
  • campaign: add metadata extraction for createCampaign action (7d56076)
  • campaign: add network field to token projection and logo field to token data type (035bb28)
  • campaign: enhance campaign lifecycle tests and improve reward management logic (f45f6ed)
  • campaign: handle null logo values in token projection (123539f)
  • campaign: implement parsing for createCampaign action with allocation aggregation (787faf3)
  • campaign: implement syncTotalsFromRewards to update claimCount and totalClaimed (63de0be)
  • campaign: refactor metadata fetching to use parser functions (cb66e55)
  • campaign: remove isDraft filter from findDraftByMerkleRoot method (c09ac69)
  • campaign: remove isDraft filter from findDraftByMerkleRoot method (f207369)
  • campaign: update test to verify non-draft CampaignMerkleRoot retrieval (1e00cb4)
  • campaign: update test to verify non-draft CampaignMerkleRoot retrieval (1823dba)
  • capitalFlow: accept optional toBlock parameter and skip CapitalFlow Installation tests (bd515f3)
  • citrea: add mainnet deployed contract addresses (block 5471881) (d820446)
  • config: reduce MAX_BLOCK_RANGE to 999 for mainnet configurations (0dc2573)
  • crawler: per-network MAX_BLOCK_RANGE cap + Citrea transfer sync test (#1258) (b486d69)
  • crawlers: implement batch handling for log processing (1ccd34c)
  • crawlers: unused web3Helper replaced with tickContext (f37d259)
  • crawler: unit test (092ea35)
  • dao: add chilizMainnet to EXPLORER_LAGGING_NETWORKS set (5ffad9e)
  • dao: add chilizMainnet to EXPLORER_LAGGING_NETWORKS set (62c3bdb)
  • decodeAction: skip integration tests for decodeAction (aeb88e5)
  • decoder: add support for nested actions in execute/createProposal calls (cb585f7)
  • decoder: enhance metadata handling for nested cross-DAO updates (aae246f)
  • decoder: ensure value is always a string in toRawAction function (b248f0d)
  • decoder: fetch and attach proposal metadata in createProposal action (ca95567)
  • decoder: simplify metadata origin key determination for actions (4038173)
  • decoder: update createCampaign action to zero totals while attaching metadata (ce0624d)
  • delegateChangedSync: add admin API to force sync historical delegation events (#1242) (0e6dcf2)
  • delegation: enhancements to the voting power and delegation APIs with integration test (#1300) (db9ff37)
  • delegationEvents: stub CoinGeckoHelper and adjust blockLimit for tests (fec2dba)
  • dex-quoter: dedicated bottleneck per network for DEX RPC calls (BE-205) (cd56ddb)
  • docker: revert back the cache and image building (e7d65a9)
  • docker: switch to slim variant of Node.js for builder and release stages (86aecbb)
  • fetchRetry: add timeout cleanup to prevent memory leaks (59e98e8)
  • gauge: add endpoint for retrieving gauge reward distribution by gauge (#1254) (ba0abf3)
  • governance: add governance reward start block configuration and resolve logic (3b6509a)
  • governanceBatchHandler: add tests for ExitQueuedV2 event handling and DaoMetrics deduplication (771bd6e)
  • governance: implement govern...
Read more

v0.26.0

13 Mar 15:01
00245fe

Choose a tag to compare

0.26.0 (2026-03-13)

Features

v0.25.0

18 Feb 10:17
2fe3975

Choose a tag to compare

0.25.0 (2026-02-18)

Features

v0.24.0

17 Feb 21:00
515b7b6

Choose a tag to compare

0.24.0 (2026-02-17)

Bug Fixes

  • APP-476: show subdaos proposals in all proposals (#1140) (c88787d)
  • blockchain: handle partial failures in getBlockReceipts and fallback to getLogsWithoutTopics (0dd6840)
  • blockchain: handle partial failures in getBlockReceipts and fallback to getLogsWithoutTopics (c8f8b6d)
  • change contract detection logic (05aa3ea)
  • decodeAction: enhance parameter decoding for function signatures with tuples (#1106) (2649097)
  • decodeAction: remove redundant CoinGecko call for testnet tokens (#BE-131) (#1126) (7cb25d5), closes #BE-131
  • metadata: resolve policyKey not mapping to processKey in policy data (#BE-132) (#1127) (03142e2), closes #BE-132
  • migration: correct migration files retrieval and ensure index synchronization (f05f88c)
  • migration: remove unnecessary non-null assertion in executeMigration call (7fa8da2)
  • proposal: handle RPC inconsistency in findIncrementalId causing proposal drop (#1107) (fb9dcbc)
  • proposal: update error logging to include parsed event arguments (#1116) (f8cca01)
  • sync package.json and yarn.lock with development (f62b3b9)
  • taskScheduler: add shutdown handler cleanup and parallelize RatesService tasks (#1119) (5ed642f)
  • tests: remove unnecessary variable assignment in blockchainLogCrawler tests (b075210)

Features

  • add feeType property to settings and update related logic (45cf2cf)
  • aggregation: add isPolicy parameter to plugin handling (61b2c62)
  • aggregation: refine match conditions for isPolicy handling in aggregation logic (342fbd9)
  • APP-416: implement dispatch simulation controller and related utils for processing summaries (4cd0258)
  • asset: add 'onlyParent' filter option and update DAO address handling (9b9ae88)
  • asset: add spam handling fields and logic for token management (9340121)
  • asset: add spamCount to pagination metadata and update related types (1d57614)
  • asset: enhance asset retrieval to support multiple DAO addresses and improve pagination logic (426f9a9)
  • asset: simplify TVL calculation and improve aggregate response handling (739c493)
  • asset: streamline total records calculation in aggregation pipeline (57f46b9)
  • asset: streamline total records calculation in aggregation pipeline (cd63981)
  • asset: update amount calculation to handle null values (a99a7ff)
  • blockchainLog: increment lastSync value by 1 in progress tracking (#1125) (b03600a)
  • cache smart contract bytecode (#1094) (b0f421b)
  • common: add additional error messages for request timeouts (d789d8d)
  • common: add additional error messages for request timeouts (aa8e5e8)
  • common: add error message for query exceeding max results (8a67a84)
  • common: add error message for query exceeding max results (407b321)
  • dao: add optional onlyParent parameter to DAO retrieval methods (dc595e1)
  • dao: handle null subDaos in lookup for improved DAO retrieval (a405b53)
  • dao: implement parent-child relationships for DAOs with subDaos and parentDao fields (056f326)
  • dao: implement WithoutPlugins API methods for DAO retrieval and pagination (6c92a89)
  • dao: refactor plugin retrieval methods to support multiple DAO addresses (01ee89a)
  • db: remove unused import for NetworksEnum to clean up code (66c3002)
  • debug simulation (0ab4472)
  • dependencies: update package versions for improved stability and features (8eedb02)
  • dispatchSimulation: combined dispatchSimulation logic into a module; added unit tests (4559148)
  • ens: enhance ENS validation and expiration checks for improved accuracy (cf6ac52)
  • fix: confict on dev todo (21d2c96)
  • governance: add ExitCancelled event handling and resync tool for DAO governance (f480097)
  • ipfs: add support for multiple IPFS gateways (#1134) (43f7bf7)
  • metadata: enhance DAO metadata handling with session support and improve session management (e3058bd)
  • metadata: fixed warnings (a86ab7c)
  • metadata: implement metadata refetching logic and related models (3b92fad)
  • metadata: implement metadata refetching mechanism with retry logic (#1081) (db61fed)
  • metadata: refactor metadata handler tests to remove unused logInfo and improve clarity (0a34769)
  • metadata: remove unused parent-child relationship properties from LogMetadata (06f95cf)
  • metadata: simplify DAO metadata update logic and remove parent-child relationship handling (54f3cee)
  • metadata: update metadata handling to parse raw data and improve test coverage ([6bd4348](https://github.com/aragon/app...
Read more

v0.23.1

11 Feb 17:09
ef5c65d

Choose a tag to compare

0.23.1 (2026-02-11)

Bug Fixes

  • config: add DECODE_ACTION_BATCH_LIMIT to configuration and updat… (#1138) (c66f63f)

v0.23.0

23 Jan 12:42
f38bdb5

Choose a tag to compare

0.23.0 (2026-01-23)

Bug Fixes

  • add 'invalid JSON' error message to common error handling (61688be)
  • add 'not valid JSON' error message to common error handling (be5bfaa)
  • add EnsValidator stub to RatesService index test (28a7bba)
  • ens: enhance ENS validation logic and add integration tests for expired ENS handling (5fd1cfc)
  • ens: enhance ENS validation logic and add integration tests for expired ENS handling (2eb1d73)
  • ens: update test descriptions and adjust coverage check for accuracy (4358219)
  • package: package.json (956f3f9)
  • restore caret (^) version ranges for consistency (3d8e29d)

Features

  • add EnsValidator for managing ENS updates and expirations (59d1e6c)
  • asset: add includeSpam filter option and update related tests (1a8c194)
  • conflict: fix conflict on the rate service (5455a84)
  • contract: implement decodeActionBatch for batch action decoding and add related tests (53b8166)
  • contract: increase decode limit from 20 to 30 (aa0d6b7)
  • decoder: enhance decoding tests with additional edge cases and error handling (96fedc7)
  • decoder: implement DecoderLight for batch action decoding and add related tests (d9e0078)
  • decoderLight: update address handling and fix contractDecoderLight queue tests (ae983c3)
  • dependencies: update package versions for improved stability and features (c4a6e04)
  • gauge: add getGaugeVotes method and update metrics handling (b7edeaf)
  • governance: add split and merge event handling in VeGovernance (611666e)
  • governance: remove redundant comments (ccf0e0f)
  • governance: restructure lockWithdraw update for clarity and completeness (3124ba5)
  • index: enhance plugin processing for gauge interface type when token is not found (75c0aa7)
  • index: format-fix (6707ed9)
  • lib: improve code formatting and add test for veLock lock issue (af3d1ff)
  • logTokenVoting: runEscrowCrawler and refactor gauge processing to include token retrieval (b8b69a1)
  • logTokenVoting: streamline runEscrowCrawler logic and add warnings for missing parameters (631799d)
  • logTokenVoting: use optional chaining for escrowAddress check in runEscrowCrawler (27e30e3)
  • migration: rmDuplicateAssetsPeaq migration + implementation code (9db3ef3)
  • migration: rmDuplicateAssetsPeaq migration + implementation code (4f1d30e)
  • migration: rmDuplicateAssetsPeaq migration + implementation code (ed5716b)
  • migration: rmDuplicateAssetsPeaq migration + implementation code (5ab9285)
  • proxyToken: improve token creation tests and handle spam tokens (ff8275b)
  • rates: implement scam token refresh mechanism and scoring system (5ac4007)
  • refreshSpamTokens: adjust spamScore values in test cases for accuracy (b066373)
  • refreshSpamTokens: include default spamScore in update assertions (4469b92)
  • refreshSpamTokens: update spam detection stubs to return spamScore and isSpam (5ca4d0c)
  • regenerate yarn.lock for Node 22.18.0 (79c1b5e)
  • spamFields: enhance logo filtering by normalizing input and expanding risk keyword detection (b7b1474)
  • spamFields: enhance logo filtering by normalizing input and expanding risk keyword detection (c472028)
  • spamFields: enhance logo filtering logic to include Covalent logo URLs (74adaee)
  • spamFields: integrate CoinGecko data for enhanced spam detection and token updates (828ca0b)
  • spamFields: refine logo filtering to exclude spam tokens (cbf7e0c)
  • spamFields: streamline token update logic with CoinGecko data handling (5c4c465)
  • spamFields: update regex for red flags to support Unicode characters (bc41144)
  • spamFields: update spam detection logic to utilize CoinGecko data and refine test cases (673b334)
  • spamFields: update token creation to use collection.insertOne for spam field tests (aac57d5)
  • spam: implement spam detection fields and migration for tokens (9a63ce7)
  • spam: simplify addSpamFieldsToToken migration (fb16e62)
  • spamTokenHandling: add integration tests for spam token handling logic (2c30b55)
  • token: add tokenInfo queue handling and related tests (b66926f)
  • token: enhance tokenInfo queue processing and add result validation in tests (a59dce0)
  • tokenUtils: enhance spam detection to include spamScore in token updates (5e1dd88)
  • tokenUtils: enhance token syncability checks for spam tokens (13f158d)
  • tokenUtils: refactor spam detection to return spamScore and isSpam (56d6643)
  • tokenUtils: refactor spam detection to return spamScore and isSpam (c543853)

v0.22.0

28 Dec 22:08
83704f0

Choose a tag to compare

0.22.0 (2025-12-28)

Bug Fixes

  • add NatspecTags interface for proper TypeScript typing with dot notation (f0883f4)
  • adjust test coverage threshold for functions in package.json (b1b2fb5)
  • copyIndexerConfigToTransfer: format logger messages for better readability (f76cc15)
  • crawler: add handling for state-sync transaction errors and improve retry logic for rate limits (7bf70e2)
  • disable useLiteralKeys rule to preserve TypeScript compatibility (859dfde)
  • extract common functionality to _fetchMetadata (cb119ac)
  • restore console error messages in create-migration CLI script (71a545d)
  • restore console statements in CLI scripts with biome-ignore (bca9a6a)

Features

  • coinGecko: add coingecko_coin_id to token price data tests (5a180eb)
  • coinGecko: add coingeckoCoinId and marketCapUsd to token price data handling (460441e)
  • coinGecko: add DEAD_TOKEN_VOLUME_THRESHOLD configuration option (a46d69e)
  • coinGecko: add DEAD_TOKEN_VOLUME_THRESHOLD configuration option (d6b2bfc)
  • coinGecko: adjust dead token threshold from 100 to 10 (ca83eac)
  • coinGecko: checking total volume in 24 to detect dead tokens (63df92c)
  • coinGecko: remove coingecko_coin_id and marketCapUsd from token data structures (d89c82b)
  • coinGecko: remove coingecko_coin_id and marketCapUsd from token interfaces (46a1cd7)
  • coinGecko: remove coingeckoCoinId and marketCapUsd from token data handling (77759f7)
  • coinGecko: remove dead token detection comment from _parseToken function (853a539)
  • coinGecko: update image_url to default to an empty string (de9f318)
  • configIndexer: add TransferListLogService type and clean up unused types (f462f0d)
  • crawler: enhance error handling and response processing in batch requests (5d530a4)
  • evmExplorer: clean up imports in evmExplorerClient and web3Provider tests (2540185)
  • evmExplorer: remove BlockScout references and related tests (5ae4ced)
  • evmExplorer: remove BlockScout references and replace with ProxyWeb3Provider (f34a0c9)
  • evmExplorer: remove BlockScout references from web3Provider (c902802)
  • evmExplorer: remove BlockScout references from web3Provider (4ddf81e)
  • implement gauge-voter actions decoding (98a052c)
  • indexer: add support for transfer log services and enhance related type guards (54a7577)
  • migration: implement copyIndexerConfigToTransfer migration with logging and error handling (bc211cd)
  • provider: enhance JsonRpcProvider with logging for invalid JSON responses (89313d2)
  • web3Provider: remove unused import of evmExplorerClient from tests (3468bbe)
  • web3Provider: update tests to use evmExplorerClient and enhance fallbackCall stubs (e1d74eb)
  • web3Provider: update tests to use fallbackCall and add new cases for source code handling (5367dc2)

v0.21.1

13 Dec 11:32
5b5ee91

Choose a tag to compare

0.21.1 (2025-12-13)

Bug Fixes

  • crawler: handle unknown crawler errors and remove unused Covalent config (abe8015)