Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nestjs/swagger
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 11.4.1
Choose a base ref
...
head repository: nestjs/swagger
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 11.4.2
Choose a head ref
  • 11 commits
  • 9 files changed
  • 4 contributors

Commits on Apr 23, 2026

  1. Configuration menu
    Copy the full SHA
    c479844 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #3875 from nestjs/renovate/vite-8.x-lockfile

    chore(deps): update dependency vite to v8.0.10
    kamilmysliwiec authored Apr 23, 2026
    Configuration menu
    Copy the full SHA
    6e1bb8f View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2026

  1. Configuration menu
    Copy the full SHA
    9a3745b View commit details
    Browse the repository at this point in the history
  2. chore(deps): update dependency release-it to v20.0.1 (#3877)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Apr 24, 2026
    Configuration menu
    Copy the full SHA
    e054058 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2026

  1. chore(deps): update dependency @commitlint/cli to v20.5.2 (#3878)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Apr 25, 2026
    Configuration menu
    Copy the full SHA
    a8acf7a View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2026

  1. Merge pull request #3876 from y-hsgw/fix/plugin-string-literal-union-…

    …type
    
    fix(plugin): handle IsIn enum inference when type falls back to Object
    kamilmysliwiec authored Apr 27, 2026
    Configuration menu
    Copy the full SHA
    a51cf09 View commit details
    Browse the repository at this point in the history
  2. fix(plugin): keep auto-inferred default response when only error Api*…

    …Response decorators are present
    
    PR #3803 added a guard that suppresses the auto-inferred default response
    whenever any `Api*Response` decorator is present on a handler. The guard
    doesn't distinguish success (2xx) from error (4xx/5xx) decorators, so a
    handler with only `@ApiUnauthorizedResponse()` (or any other error-status
    decorator) loses its auto-inferred 2xx in the OpenAPI spec. Downstream
    client generators (NSwag, openapi-generator, ...) then treat the real
    2xx response as an exception at runtime.
    
    Scope the guard to decorators whose status code is below 400 so error
    factories no longer suppress the default. The success/redirect case the
    original PR fixed (`@ApiFoundResponse` on a `@Redirect()` handler)
    continues to work — 302 is still below 400.
    
    Status codes are derived from the decorator name via the same
    `Api${PascalCase(HttpStatus key)}Response` convention the factories are
    generated from in `api-response.decorator.ts`. Unknown names
    (`ApiDefaultResponse`, user-defined) fall back to the previous behavior
    (treated as explicit).
    
    Closes #3862
    Peter Grassberger committed Apr 27, 2026
    Configuration menu
    Copy the full SHA
    977a139 View commit details
    Browse the repository at this point in the history
  3. test: inspect @apiresponse status arg and extend fixture with redirec…

    …t/500 cases
    
    Extend the fix so that a plain `@ApiResponse({ status: N })` is also classified
    by its status code: a 4xx/5xx status no longer suppresses the auto-inferred 2xx.
    Non-literal `status` expressions (e.g. `HttpStatus.OK`) can't be evaluated at
    compile time and continue to be treated as explicit, preserving pre-existing
    behavior.
    
    Extend the regression fixture with:
    
      - `@Post @apiresponse({ status: 500 })` — asserts the default 201 is
        auto-added (the new arg-inspection case).
      - `@Get @reDIrect @ApiFoundResponse` — asserts no default is added, so the
        fix continues to honor #1639 for redirect handlers.
    
    The existing `app.controller` fixture had baked in the 11.2.7 behavior on the
    `create()` handler (multiple error-status `@ApiResponse` decorators); update it
    to the restored pre-11.2.7 output (default 201 alongside the error entries).
    Peter Grassberger committed Apr 27, 2026
    Configuration menu
    Copy the full SHA
    7999f78 View commit details
    Browse the repository at this point in the history
  4. refactor(plugin): make isSuccessOrRedirectApiResponseArg a private me…

    …thod
    
    Address PR review nit: move the standalone helper into ControllerClassVisitor
    as a private method, since it's only used by addDecoratorToNode and doesn't
    need its own module.
    Peter Grassberger committed Apr 27, 2026
    Configuration menu
    Copy the full SHA
    f01f6aa View commit details
    Browse the repository at this point in the history
  5. Merge pull request #3867 from PeterTheOne/fix-error-only-response-dec…

    …orators-suppressing-default
    
    fix(plugin): keep auto-inferred default response when only error Api*Response decorators are present
    kamilmysliwiec authored Apr 27, 2026
    Configuration menu
    Copy the full SHA
    b0a35f3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3f58449 View commit details
    Browse the repository at this point in the history
Loading