Changelog - 2026-11-05
ISendResponse and IListFilter.offset are removed
Breaking ChangeIn one line. ISendResponse<T> is removed; use INetworkResponse<T>, the same type. IListFilter.offset is removed; use skip. Neither is kept as an alias.
diff
-import type { ISendResponse } from '@venizia/ardor';
+import type { INetworkResponse } from '@venizia/ardor';
-const reply: ISendResponse<Product[]> = await dataProvider.send({ resource, params });
+const reply: INetworkResponse<Product[]> = await dataProvider.send({ resource, params });
-const filter: IListFilter = { where: {}, offset: 20 };
+const filter: IListFilter = { where: {}, skip: 20 };What changed
ISendResponseis gone from@venizia/ardor-kerneland@venizia/ardor. It wasINetworkResponse;IDataProvider.sendnow namesINetworkResponse<TResult>in its signature, which is the same type.IListFilter.offsetis gone.skipis the fieldListFilterBuilder.buildsets, and nothing in ARDOR readoffset. A list filter still carries any other key you put on it.- The codemod follows.
ardor codemod namespace --writerenamesISendResponsetoINetworkResponsein your imports and uses. It cannot tell a list filter from another object without types, so in a file that importsIListFilterorListFilterBuilderit lists each.offset(property, destructuring or['offset']) with its line, and--checkexits 1 until you change it toskip. Another object's.offsetin such a file is listed too; rename or move it, since--checkhas no way to skip a line.
Who is affected
- An app that names
ISendResponse. Runbun run ardor codemod namespace src --write, or replace the name by hand. - An app that sets or reads
offseton a list filter. Useskip. - All other apps. No action needed.
See Upgrading ARDOR.