Releases: safe-global/safe-client-gateway
Releases · safe-global/safe-client-gateway
v1.31.0
What's Changed
- Migrate
SafeList
tozod
by @iamacook in #1311 - Migrate configuration validation to
zod
by @iamacook in #1313 - Migrate
Singleton
tozod
by @iamacook in #1312 - Fix Singleton.deployer schema requirement by @fmrsabino in #1316
- Fix missing path
safeAddress
param on Swagger locking docs by @iamacook in #1318 - Migrate Token to zod by @hectorgomezv in #1317
- build(deps-dev): bump @types/lodash from 4.14.202 to 4.17.0 by @dependabot in #1324
- build(deps): bump winston from 3.11.0 to 3.12.0 by @dependabot in #1325
- build(deps): bump nestjs-cls from 4.1.0 to 4.2.1 by @dependabot in #1326
- build(deps): bump viem from 2.8.0 to 2.8.13 by @dependabot in #1327
- build(deps): bump the nest-js-core group with 4 updates by @dependabot in #1322
- Migrate
CreationTransaction
tozod
by @iamacook in #1269 - Migrate
DeleteSafeDelegateDto
tozod
by @iamacook in #1314 - Change OpenAPI resource location by @fmrsabino in #1329
- Add optional debugging logs when retrieving transactions history by @hectorgomezv in #1330
- Add additional timestamps to transaction history logs by @hectorgomezv in #1335
- Migrate
AddRecoveryModuleDto
tozod
by @iamacook in #1320 - Migrade
ModuleTransaction
tozod
by @iamacook in #1319 - Migrate
GetEstimationDto
tozod
by @iamacook in #1331 - Migrate
UpdateMessageSignatureDto
tozod
by @iamacook in #1334 - Migrate
Safe
to zod by @iamacook in #1333 - Merge Order entity and schema files by @fmrsabino in #1337
- Improve Order OpenAPI documentation by @fmrsabino in #1336
- Change type and validate
Rank['position']
as anumber
by @iamacook in #1339 - Migrate
ProposeTransactionDto
tozod
by @iamacook in #1332 - Add
GET
/v1/safes
overview endpoint by @iamacook in #1129 - Change rank route by @iamacook in #1340
- Add filledPercentage to SwapOrderTransactionInfo by @fmrsabino in #1338
- Migrate
Message
/MessageConfirmation
tozod
by @iamacook in #1315
Full Changelog: v1.30.0...v1.31.0
v1.30.0
What's Changed
- Unify readonly class variables name convention by @hectorgomezv in #1238
- Move
proposer
fromexecutionInfo
todetailedExecutionInfo
by @iamacook in #1234 - Pass Tenderly headers correctly by @iamacook in #1241
- Add support for Database certificate pinning by @fmrsabino in #1235
- Make Zerion balances icons nullable by @hectorgomezv in #1249
- Read CA path only if set by @fmrsabino in #1255
- Add SetPreSignatureDecoder by @fmrsabino in #1239
- build(deps): bump viem from 2.0.3 to 2.7.19 by @dependabot in #1244
- Encode mock event hashes by @iamacook in #1258
- Guard adding/removing recovery contracts by @iamacook in #1247
- Fix Zerion API collectibles pagination on null next page by @hectorgomezv in #1259
- Bump Yarn from 4.0.2 to 4.1.1 by @fmrsabino in #1263
- Align and validate
ILockingApi
return types by @iamacook in #1248 - Improve
ZodErrorFilter
to only return first union error by @iamacook in #1256 - Clarify transfers to self in relaying error message by @iamacook in #1250
- Migrate
CreateDelegateDto
tozod
by @iamacook in #1262 - Convert
Chain
validation to usezod
by @iamacook in #1236 - Make Chain.chainLogoUri nullable by @hectorgomezv in #1273
- Migrate
DeleteTransactionDto
validation tozod
by @hectorgomezv in #1266 - Add Chain.chainLogoUri default value by @hectorgomezv in #1274
- Add test for
DeleteTransactionDtoSchema
by @iamacook in #1277 - Migrate
Backbone
validation tozod
by @iamacook in #1252 - Migrate
DeleteDelegateDto
validation tozod
by @hectorgomezv in #1265 - Make CreateDelegateDto.safe nullable by @hectorgomezv in #1275
- Migrate
AddConfirmationDto
validation tozod
by @iamacook in #1253 - Migrate
Alert
validation tozod
by @iamacook in #1254 - Migrate
Balance
validation tozod
by @iamacook in #1257 - Migrate
Collectible
tozod
by @iamacook in #1260 - Migrate
Delegate
tozod
by @iamacook in #1270 - Pass network request arguments in an object by @iamacook in #1251
- Change relay-related errors to throw client-side errors by @iamacook in #1281
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.1.1 to 7.2.0 by @dependabot in #1283
- build(deps): bump viem from 2.7.19 to 2.8.0 by @dependabot in #1284
- build(deps): bump @nestjs/swagger from 7.2.0 to 7.3.0 by @dependabot in #1285
- build(deps-dev): bump @types/node from 20.11.20 to 20.11.26 by @dependabot in #1287
- Migrate
Contract
tozod
by @iamacook in #1261 - build(deps-dev): bump typescript from 5.3.3 to 5.4.2 by @dependabot in #1282
- Narrow post delegates types by @hectorgomezv in #1279
- Convert Order entity to Zod by @fmrsabino in #1280
- Implement proposed return types of leaderboard by @iamacook in #1278
- Update locking API network interface by @iamacook in #1293
- Only allow enabling/disabling recovery alerts for modules of given Safe by @iamacook in #1267
- Migrate
SafeApp
tozod
by @hectorgomezv in #1296 - Add tokenBuilder decimals max/min limits by @hectorgomezv in #1297
- Allow relaying of all ERC-20 methods by @iamacook in #1288
- Update and add test for
ChainSchema
and sub-schemas by @iamacook in #1276 - Migrate
CreateMessageDto
tozod
by @iamacook in #1264 - Add test coverage for
ILockingApi['getRank' | 'getLeaderboard']
by @iamacook in #1295 - Coerce order amounts to bigint by @fmrsabino in #1298
- Differentiate error codes depending on validation source by @iamacook in #1294
- Migrate
GetDataDecodedDto
tozod
and narrow types by @iamacook in #1289 - Add support for decoding CoW Swap orders by @fmrsabino in #1299
- Migrate
DataDecoded
tozod
by @iamacook in #1268 - Move viem deprecated getFunctionSelector to toFunctionSelector by @hectorgomezv in #1303
- Migrate
Estimation
tozod
by @iamacook in #1271 - Add OrderSchema tests by @fmrsabino in #1302
- Remove duplicate switch/case in test by @fmrsabino in #1306
- Remove duplicate eslint rule by @fmrsabino in #1305
- Implement ICacheReadiness for FakeCacheService by @fmrsabino in #1307
- Migrate
Event
tozod
by @iamacook in #1272 - Migrate
PreviewTransactionDto
tozod
by @iamacook in #1290 - Migrate
GetDelegateDto
tozod
by @iamacook in #1291 - Remove unused
HEX_PATTERN
by @iamacook in #1309 - Remove waiting for the Promise result on /events route by @fmrsabino in #1310
- Add tests for
LockingEventSchema
by @iamacook in #1292 - Simplify
Operation
entity by @iamacook in #1308 - Fix locking history pagination by @iamacook in #1300
- Add Swagger documentation for locking by @iamacook in #1304
Full Changelog: v1.29.0...v1.30.0
v1.29.0
What's Changed
- Generify, validate and inject relay env. vars. into Docker by @iamacook in #1205
- build(deps-dev): bump @types/semver from 7.5.7 to 7.5.8 by @dependabot in #1208
- build(deps-dev): bump @nestjs/schematics from 10.1.0 to 10.1.1 by @dependabot in #1211
- build(deps-dev): bump @types/node from 20.11.19 to 20.11.20 by @dependabot in #1210
- build(deps-dev): bump eslint from 8.56.0 to 8.57.0 by @dependabot in #1209
- build(deps-dev): bump prettier from 3.2.4 to 3.2.5 by @dependabot in #1207
- Upgrade
@typescript-eslint/parser
to satisfy peer dep. by @iamacook in #1212 - Redirect legacy relay route with params by @iamacook in #1213
- Generate chain-specific deployment versions for tests by @iamacook in #1195
- Normalize Ethereum addresses by @fmrsabino in #1218
- Make expireTimeSeconds non-optional by @fmrsabino in #1219
- Add RELAY_THROTTLE_TTL_SECONDS config by @fmrsabino in #1220
- Align FakeCacheService and RedisCacheService implementations by @hectorgomezv in #1215
- Redirect legacy relay route using
chainId
frombody
by @iamacook in #1223 - Add
trusted
query param. toincoming-transfers
endpoint by @iamacook in #1214 - Add
proposer
toMultisigExecutionInfo
by @iamacook in #1217 - Add
GET
/v1/alerts
endpoint for webhook verification by @iamacook in #1230 - Propagate Django error messages from Transaction Service by @iamacook in #1226
- Change Tenderly endpoint to add a contract by @iamacook in #1221
- Extend ICacheService interface by storing incrementable numeric values by @hectorgomezv in #1225
- Add endpoint to delete contracts from Tenderly by @iamacook in #1222
- Scaffold locking API data source by @iamacook in #1227
- Add CowSwapApi by @fmrsabino in #1233
- Scaffold locking repository by @iamacook in #1229
- Validate
RelayDto
usingzod
by @iamacook in #1203 - Add Zerion API rate limit by @hectorgomezv in #1228
- Scaffold locking controller by @iamacook in #1231
- Set Order UID type to 0x string by @fmrsabino in #1237
- Add headers to
DELETE
requests by @iamacook in #1240 - build(deps-dev): bump @types/jest from 29.5.11 to 29.5.12 by @dependabot in #1245
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 7.0.2 to 7.1.1 by @dependabot in #1243
- build(deps): bump @nestjs/config from 3.1.1 to 3.2.0 by @dependabot in #1242
- build(deps): bump @safe-global/safe-deployments from 1.32.0 to 1.33.0 by @dependabot in #1246
Full Changelog: v1.28.0...v1.29.0
v1.28.0
What's Changed
- Reorganise contract decoders by @iamacook in #1138
- Replace jest.clearAllMocks with jest.resetAllMocks by @fmrsabino in #1140
- Add tests for
ProxyFactoryDecoder
by @iamacook in #1139 - Add
GelatoApi
service by @iamacook in #1141 - Add PreExecutionLogGuard to POST /v1/hooks/events route by @hectorgomezv in #1120
- Add SSL configuration to database by @fmrsabino in #1143
- Bundle migrations in Docker image by @fmrsabino in #1146
- Remove
@gelatonetwork/relay-sdk
in favour of request by @iamacook in #1145 - Add Zerion NFTs retrieval by @hectorgomezv in #1121
- Remove Valk BalancesAPI by @hectorgomezv in #1149
- Fix file name typo by @fmrsabino in #1150
- Add officiality check for Safe and MultiSend contracts in
LimitAddressesMapper
by @iamacook in #1144 - Send notification only to subscribed accounts by @fmrsabino in #1152
- Add SafeBalancesApi by @hectorgomezv in #1151
- Add relay controller by @iamacook in #1153
- Generate and infer from ABIs of
@safe-global/safe-deployments
by @iamacook in #1147 - Revert "Generate and infer from ABIs of
@safe-global/safe-deployments
(#1147)" by @iamacook in #1156 - Reapply ABI generation outside of
/dist
by @iamacook in #1157 - Revert "Reapply ABI generation outside of
/dist
(#1157)" by @iamacook in #1158 - Reapply "Reapply ABI generation outside of
/dist
(#1157)" (#1158) by @iamacook in #1159 - Throw custom errors from relayer by @iamacook in #1154
- Add legacy relay service route by @iamacook in #1155
- Mark
isTestnet
as required by @iamacook in #1163 - build(deps-dev): bump @types/node from 20.11.17 to 20.11.19 by @dependabot in #1168
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.21.0 to 7.0.2 by @dependabot in #1169
- build(deps): bump @nestjs/serve-static from 4.0.0 to 4.0.1 by @dependabot in #1167
- build(deps): bump @nestjs/cli from 10.3.1 to 10.3.2 by @dependabot in #1171
- build(deps-dev): bump husky from 9.0.10 to 9.0.11 by @dependabot in #1170
- Remove unnecessary build step before VSCode debug configuration by @hectorgomezv in #1166
- Add description regarding
RelayDto['gasLimit']
overhead by @iamacook in #1160 - build(deps): bump node from 20.11.0-alpine to 20.11.1-alpine by @dependabot in #1172
- Change
faker.number.float
precision
option tomultipleOf
by @iamacook in #1162 - Replace Safe/ERC-20
ContractHelper
s withAbiDecoder
s by @iamacook in #1148 - Send unsubscription token when sending email by @fmrsabino in #1164
- Remove usage of UrlGeneratorHelper by @fmrsabino in #1165
- Generate
AbiDecoder
helpers for testing if calldata is of method by @iamacook in #1173 - Add
version
to relay payload by @iamacook in #1161 - build(deps): bump ip from 2.0.0 to 2.0.1 by @dependabot in #1179
- Add UnauthenticatedExceptionFilter by @fmrsabino in #1181
- Add Sepolia to relay configuration by @iamacook in #1176
- Add information about ABI generation to readme by @iamacook in #1177
- Move
AbiDecoder
s intodecoders
andIEncoder
s intoencoders
folders by @iamacook in #1174 - Test each chain depending on supported contract versions by @iamacook in #1189
- Push all SafeBalancesApi related logic to the datasources layer by @hectorgomezv in #1175
- Make email verification sending async by @fmrsabino in #1186
- Make alert email notification async by @fmrsabino in #1187
- Return immediately in /alerts route by @fmrsabino in #1188
- Migrate deprecated
faker.internet.avatar
by @iamacook in #1182 - Fix
RelayDto['gasLimit']
Swagger type by @iamacook in #1184 - Add bug and feature issue templates by @iamacook in #1185
- Move prices provider configuration schema by @hectorgomezv in #1178
- Make Page count property nullable by @hectorgomezv in #1192
- Fix Zerion collectibles count attribute by @hectorgomezv in #1193
- Allow blank issues by @iamacook in #1191
- Add officiality checks for ProxyFactory by @iamacook in #1180
- Add basic PR template by @iamacook in #1196
- Add custom TTL for owners, disabling caching by @iamacook in #1199
- Coerce
RelayDto['gasLimit']
tobigint
by @iamacook in #1194 - Rename owners TTL env. var. by @iamacook in #1200
- Use checksummed addresses in safeBuilder by @fmrsabino in #1201
- Remove fail() from tests by @hectorgomezv in #1202
Full Changelog: v1.27.0...v1.28.0
v1.27.0
What's Changed
- Move authentication params to request headers by @fmrsabino in #1117
- Remove safe owner restriction from email edition by @fmrsabino in #1119
- Add comment regarding pagination for all owned Safes endpoint by @iamacook in #1128
- build(deps-dev): bump @types/node from 20.11.16 to 20.11.17 by @dependabot in #1134
- build(deps): bump semver and @types/semver by @dependabot in #1133
- build(deps-dev): bump @faker-js/faker from 8.3.1 to 8.4.1 by @dependabot in #1132
- build(deps): bump nestjs-cls from 4.0.1 to 4.1.0 by @dependabot in #1135
- build(deps): bump the nest-js-core group with 4 updates by @dependabot in #1131
- Update Coveralls badge by @fmrsabino in #1136
- Add getAccounts to AccountDataSource by @fmrsabino in #1130
- Handle
multiSend
relay limiting by @iamacook in #1112 - Handle
createProxyWithNonce
relay limiting by @iamacook in #1115
Full Changelog: v1.26.0...v1.27.0
v1.26.0
What's Changed
- Add
isTestnet
flag from config service by @iamacook in #1093 - Clear transaction from cache immediately upon deletion by @iamacook in #1092
- Catch and log cache clearing failures after deletion by @iamacook in #1094
- Remove floating promises by @iamacook in #1095
- Return 204 for deletion of non-existent accounts by @fmrsabino in #1098
- Add
owners/:ownerAddress/safes
endpoint for all Safes on all chains by @iamacook in #1097 - Remove edit email code TTL constraint by @fmrsabino in #1100
- Add Zerion Balances provider by @hectorgomezv in #1096
- Adjust supported currencies by @hectorgomezv in #1099
- Unify network requests parameters on BalanceApi implementations by @hectorgomezv in #1103
- Extract Verification Code table by @fmrsabino in #1101
- Clear notification_types contents on tests execution by @hectorgomezv in #1104
- Rename account-repository.service.ts to account.repository.ts by @fmrsabino in #1105
- Move AccountDoesNotExistError to domain by @fmrsabino in #1106
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.19.1 to 6.21.0 by @dependabot in #1107
- build(deps): bump @nestjs/cli from 10.3.0 to 10.3.1 by @dependabot in #1108
- build(deps-dev): bump husky from 9.0.7 to 9.0.10 by @dependabot in #1109
- build(deps): bump redis from 4.6.12 to 4.6.13 by @dependabot in #1110
- build(deps-dev): bump @types/node from 20.11.5 to 20.11.16 by @dependabot in #1111
- Add
chainLogoUri
field from config service by @iamacook in #1102 - Add route to retrieve email address by @fmrsabino in #1116
Full Changelog: v1.25.0...v1.26.0
v1.25.0
What's Changed
- Migrate from
master-copies
tosingletons
onTransactionApi
by @iamacook in #1075 - Refactor trusted filtering by @iamacook in #1064
- Return
null
for "empty"SafeInfo
tags by @iamacook in #909 - Remove
deleteByKeyPattern
and cache patterns by @iamacook in #1077 - Fix Safe info test by adding status to return payloads by @iamacook in #1079
- Wait for redis connection by @fmrsabino in #1080
- Wait for notification handlers by @fmrsabino in #1081
- Prevent explicit use of
any
by @iamacook in #1060 - Fix flaky test by @fmrsabino in #1087
- build(deps): bump @nestjs/cli from 10.2.1 to 10.3.0 by @dependabot in #1086
- build(deps): bump @safe-global/safe-deployments from 1.30.0 to 1.32.0 by @dependabot in #1085
- Add Valk Balances provider by @hectorgomezv in #1062
- Exclude
value
of0
in trusted tokens tests not testingvalue
by @iamacook in #1088 - Check for 'signer' in email guards by @fmrsabino in #1078
- Remove
unknown
casting of mocks by @iamacook in #1074 - build(deps-dev): bump prettier from 3.2.2 to 3.2.4 by @dependabot in #1084
- build(deps-dev): bump husky from 8.0.3 to 9.0.7 by @dependabot in #1083
- build(deps): bump the nest-js-core group with 4 updates by @dependabot in #1082
- Add email subscription cancellation routes by @fmrsabino in #1037
- Move e2e test target network to mainnet by @hectorgomezv in #1090
- Fix serialization of error responses by @fmrsabino in #1091
Full Changelog: v1.24.0...v1.25.0
v1.24.0
What's Changed
- Use
faker.helpers
instead oflodash
in tests by @iamacook in #1022 - Reduce reliance on
lodash
by @iamacook in #1023 - Increase minimum number of messages in grouping test by @iamacook in #1025
- Remove HTML templating from alert emails by @iamacook in #1018
- build(deps-dev): bump prettier from 3.1.1 to 3.2.2 by @dependabot in #1030
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.18.0 to 6.19.0 by @dependabot in #1031
- build(deps-dev): bump @typescript-eslint/parser from 6.17.0 to 6.19.0 by @dependabot in #1034
- build(deps-dev): bump supertest and @types/supertest by @dependabot in #1032
- build(deps): bump @nestjs/swagger from 7.1.16 to 7.2.0 by @dependabot in #1033
- Remove DB transaction when saving email by @fmrsabino in #1026
- Decode
multiSend
alerts first and update tests to match module transactions by @iamacook in #1027 - Exclude first pattern when testing
deleteByKeyPattern
by @iamacook in #1035 - Remove flush endpoint by @hectorgomezv in #1038
- build(deps): bump node from 20.10.0-alpine to 20.11.0-alpine by @dependabot in #1029
- Add email subscriptions datasource by @fmrsabino in #1028
- Add
count
to module transactions by @iamacook in #1040 - Remove type assertions by @iamacook in #1041
- Remove assertions from token type mapping by @iamacook in #1043
- Install devDependencies on build container by @hectorgomezv in #1042
- Move @types/lodash to devDependencies by @hectorgomezv in #1045
- Add linting to enforce return types and assertion consistency by @iamacook in #1044
- Remove redundant TODO by @iamacook in #1046
- Use feature flag instead of import in
recovery.controller
test by @iamacook in #1047 - Remove unused
@node-redis/json
by @iamacook in #1049 - Remove
axios
in favour offetch
by @iamacook in #1048 - build(deps-dev): bump @types/node from 20.10.7 to 20.11.5 by @dependabot in #1055
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.19.0 to 6.19.1 by @dependabot in #1053
- build(deps-dev): bump @typescript-eslint/parser from 6.19.0 to 6.19.1 by @dependabot in #1056
- build(deps): bump @safe-global/safe-deployments from 1.29.0 to 1.30.0 by @dependabot in #1052
- build(deps): bump nestjs-cls from 3.6.0 to 4.0.1 by @dependabot in #1054
- Remove safe owner requirement for email deletion by @fmrsabino in #1058
- Remove trusted tokens feature flag by @iamacook in #1061
- Enable
strict
mode in TypeScript by @iamacook in #1051 - Enable
noImplicitAny
in TypeScript by @iamacook in #1057 - Remove unnecessary
expect
in test by @iamacook in #1065 - Throw
NetworkRequestError
/NetworkResponseError
inFetchClient
by @iamacook in #1059 - Revert fetch changes by @fmrsabino in #1066
- Refactor database schema by @fmrsabino in #1050
- Add transaction deletion endpoint by @iamacook in #1063
- Use
AccountDataSourceModule
instead ofEmailDataSourceModule
by @iamacook in #1070 - Reapply
axios
tofetch
reversion by @iamacook in #1067 - Reapply
noImplicitAny
in TypeScript by @iamacook in #1068 - Reapply throwing of
NetworkRequestError
/NetworkResponseError
inFetchClient
by @iamacook in #1069 - Add Base Sepolia configuration for prices provider by @iamacook in #1072
Full Changelog: v1.23.0...v1.24.0
v1.23.0
What's Changed
- RedisCacheService tests refactor by @hectorgomezv in #985
- build(deps): bump axios from 1.6.2 to 1.6.5 by @dependabot in #1004
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.16.0 to 6.18.0 by @dependabot in #1003
- build(deps-dev): bump @types/node from 20.10.6 to 20.10.7 by @dependabot in #1001
- build(deps-dev): bump @nestjs/schematics from 10.0.3 to 10.1.0 by @dependabot in #1000
- build(deps): bump viem from 1.21.3 to 2.0.3 by @dependabot in #1002
- Return UTC timestamps by @fmrsabino in #1006
- Update
blockExplorerUriTemplateBuilder
by @iamacook in #1008 - Update (unknown) recovery email subject and substituions by @iamacook in #1007
- Remove unnecessary EmailApiModule import by @hectorgomezv in #1011
- Ignore E2E tests in coverage by @iamacook in #1010
- Add web app link substitution and add explorer URL to address HTML by @iamacook in #1009
- Remove unused asset by @iamacook in #1015
- Use same global setup in all Jest configs by @iamacook in #1014
- Send verification code email message by @hectorgomezv in #1013
- Rename email edit test to align with controller by @iamacook in #1017
- Throttle email edits according to verification code TTL by @iamacook in #1016
- Move
@types/lodash
todevDependencies
by @iamacook in #1020 - Remove unnecessary
rimraf
dependency by @iamacook in #1019 - Revert "Move
@types/lodash
todevDependencies
(#1020)" by @iamacook in #1021
Full Changelog: v1.22.0...v1.23.0
v1.22.0
What's Changed
- Refactor CacheFirstDataSource by @hectorgomezv in #966
- fix: remove Safes by modules caching by @iamacook in #964
- feat: add email deletion functionality by @iamacook in #962
- Fix missing await in test by @fmrsabino in #971
- Remove
uuid
by @iamacook in #969 - Sort supported currency codes by @hectorgomezv in #963
- Add email update functionality by @iamacook in #968
- build(deps-dev): bump ts-node from 10.9.1 to 10.9.2 by @dependabot in #975
- build(deps-dev): bump @typescript-eslint/eslint-plugin from 6.15.0 to 6.16.0 by @dependabot in #976
- build(deps): bump @safe-global/safe-deployments from 1.28.0 to 1.29.0 by @dependabot in #977
- build(deps-dev): bump typescript from 5.3.2 to 5.3.3 by @dependabot in #979
- build(deps-dev): bump @types/jest from 29.5.10 to 29.5.11 by @dependabot in #978
- Check datasources request lifespan before caching its response by @hectorgomezv in #970
- Add DELETED_MULTISIG_TRANSACTION event by @hectorgomezv in #980
- Remove webhooks execution delay by @hectorgomezv in #982
- build(deps): bump viem from 1.19.9 to 1.21.3 by @dependabot in #987
- build(deps-dev): bump @types/node from 20.10.0 to 20.10.6 by @dependabot in #988
- build(deps-dev): bump @types/semver from 7.5.5 to 7.5.6 by @dependabot in #989
- build(deps): bump @types/lodash from 4.14.200 to 4.14.202 by @dependabot in #990
- build(deps-dev): bump @typescript-eslint/parser from 6.13.2 to 6.17.0 by @dependabot in #991
- Add Email Builder by @fmrsabino in #993
- Fix builder location by @fmrsabino in #996
- Access schema service with 'this' reference by @fmrsabino in #997
- Return early if email is verified by @fmrsabino in #995
- Set Jest timezone to UTC by @iamacook in #973
- Add Event union type by @hectorgomezv in #984
- Trigger email deletion from provider by @fmrsabino in #994
- Use cache key prefix by @fmrsabino in #998
- Omit empty transaction group date labels by @hectorgomezv in #983
- Rename all references of "update" to "edit" regarding emails by @iamacook in #999
Full Changelog: v1.21.0...v1.22.0