Releases: RobinTail/express-zod-api
v27.1.1
Chores
- Replacing
tsxwithunrunby @RobinTail in #3054 - Enabling
node-forgenative code by @RobinTail in #3248 - Upgrading some dependencies by @RobinTail in #3259
- Moving DTS tool by @RobinTail in #3264
- renovate[bot] in #3249, #3252, #3253, #3255, #3256, #3257, #3258, #3260, #3261, #3262
Full Changelog: express-zod-api-v27.1.0...express-zod-api-v27.1.1
v27.1.0
Feature
ez.paginated()by @RobinTail in #3245- Well-known header:
Incrementalby @github-actions[bot] in #3244
Chores
- Readme: Grammar fix and improvements by @RobinTail in #3246
- fix(deps): Upgrading minimatch by @RobinTail in #3232
- Upgrading
rollupby @RobinTail in #3233 - Upgrading
ajvby @RobinTail in #3234 - Upgrading
tsdownto 0.21 by @RobinTail in #3237 - renovate[bot] in #3200, #3201, #3203, #3204, #3205, #3206, #3209, #3210, #3211, #3212, #3213, #3214, #3215, #3216, #3218, #3219, #3221, #3223, #3224, #3225, #3227, #3228, #3229, #3230, #3231, #3239, #3240, #3241, #3243
Full Changelog: express-zod-api-v27.0.1...express-zod-api-v27.1.0
v27.0.1
Fix
- Removed rolldown dts plugin comments from distribution by @RobinTail in #3199
Full Changelog: express-zod-api-v27.0.0...express-zod-api-v27.0.1
v27.0.0
v27 is for Nikki Kuhnhausen
Version 27 makes typescript an optional peer dependency with explicit injection of the manually imported module into the Integration class constructor (new Integration({ typescript, ... })), or by calling the new async Integration.create() factory method for automatic loading. The Zod Plugin now leverages Zod 4.3's inheritable metadata feature, removing the need for pack() and unpack() helpers while simplifying brand handling by storing brands in standard metadata under x-brand property.
- Supported
zodversions:^4.3.4; - The new version of Zod Plugin utilizes the inheritable metadata feature of Zod 4.3;
- The
typescriptdependency is now optional and only required for makingIntegration:- Either import and assign the
typescriptproperty to its constructor argument; - Or use the new static async method
create()to delegate the import; - This change addresses the memory consumption issue fixed previously in v26.1.0, but with proper ESM handling;
- Either import and assign the
- Consider the automated migration.
/** Option 1: import and assign */
import { Integration } from "express-zod-api";
+ import typescript from "typescript";
const client = new Integration({
routing,
config,
+ typescript,
}); /** Option 2: delegate asynchronously */
import { Integration } from "express-zod-api";
- const client = new Integration({
+ const client = await Integration.create({
routing,
config,
});Full Changelog: express-zod-api-v26.3.2...express-zod-api-v27.0.0
v26.3.2
Patch
- Improved readability of the types declaration in the bundle, by @RobinTail in #3188
Chores
- Upgrading some dependencies by @RobinTail in #3181 and #3198
- dependencies by renovate[bot] in #3174, #3175, #3176, #3177, #3178, #3179, #3182, #3183, #3189, #3186, #3187, #3184, #3190, #3188, #3191, #3192, #3193, #3195
Full Changelog: express-zod-api-v26.3.1...express-zod-api-v26.3.2
v26.3.1
v26.3.0
Feature
- Integration: support
z.looseRecord()andz.exactOptional()by @RobinTail in #3157
Chores
- Grammar fix by @RobinTail in #3151
- Upgrading dependencies by @RobinTail in #3161
- renovate[bot] in #3150, #3152, #3153, #3154, #3156, #3158, #3159
Full Changelog: express-zod-api-v26.2.0...express-zod-api-v26.3.0
v26.2.0
Feature
- Custom named schemas in Documentation by @RobinTail in #3133
Chores
- renovate[bot] in #3146
Full Changelog: express-zod-api-v26.1.0...express-zod-api-v26.2.0
v26.1.0
Minor
- Memory usage optimization by @RobinTail in #3139
Patch
- Unification of Diagnostics by @RobinTail in #3113
Chores
- Upgrading
expressto 5.2.0. by @RobinTail in #3106 - dependencies by renovate[bot] in #3023, #3110, #3112, #3114, #3116, #3115, #3118, #3120, #3119, #3121, #3122, #3111, #3123, #3124, #3127, #3129, #3130, #3131, #3135, #3137, #3134, #3132, #3138, #3104, #3140, #3141, #3142, #3143, #3144, #3145
Full Changelog: express-zod-api-v26.0.0...express-zod-api-v26.1.0
v26.0.0
v26 is for Lia Smith
Feature
- The new version of the Zod plugin now also extends the CJS exports of Zod:
- This fixes the "TypeError: example is not a function" in CJS and removes the requirement to use an ESM environment;
- The issue was reported by @squishykid and addressed earlier in v25.5.3;
Breaking changes
- Supported
http-errorsversions:^2.0.1; - Supported
zodversions:^4.1.13:- This Zod patch contains an important fix that makes the
globalRegistrytruly global across both CJS and ESM bundles of the Zod distribution; - The issue was found and reported by @shadone;
- This Zod patch contains an important fix that makes the
DependsOnMethodremoved:- You can now specify methods as direct keys of an assigned object in
Routing; - That object can still contain nested paths as before;
- Keys matching lowercase HTTP methods are treated according to the new config setting
methodLikeRouteBehavior:method— when assigned with an Endpoint, the key is treated as a method of its parent path (default);path— the key is always treated as a nested path segment;
- You can now specify methods as direct keys of an assigned object in
- The
optionsproperty has been renamed toctxin the argument of:Middleware::handler(),ResultHandler::handler(),- The
handlerof theEndpointsFactory::build()argument, testMiddleware();
EndpointsFactory::addOptions()renamed toaddContext();- The
Integration::constructor()argument object now requires aconfigproperty, similar toDocumentation.
Migration
Consider the automated migration.
const routing: Routing = {
- "/v1/users": new DependsOnMethod({
+ "/v1/users": {
get: getUserEndpoint,
- }).nest({
create: makeUserEndpoint
- }),
+ },
};Full Changelog: express-zod-api-v25.6.1...express-zod-api-v26.0.0