Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
d86d8f8
fix: add condition for prefixing parameter
djankows Jun 18, 2025
8c172f9
prepare release 2.2.34
djankows Jun 20, 2025
778f577
temporary workaround for sonatype 502 response
djankows Jun 20, 2025
22b289b
temporary workaround for sonatype 502 response pt.2 - provide pipelin…
djankows Jun 20, 2025
94d4e6e
bump snapshot 2.2.35-SNAPSHOT
djankows Jun 20, 2025
d80a272
Revert "temporary workaround for sonatype 502 response pt.2 - provide…
djankows Jun 20, 2025
9114db4
Added FailedApiResponse.java
Jun 11, 2025
045c8a3
Provide a better formatting for README
lfgcampos Jul 14, 2025
b16924c
chore: add GitHub issue and pull request templates
daniel-kmiecik Jul 18, 2025
028ffbb
chore: update common lang3 to 3.18
daniel-kmiecik Jul 25, 2025
9386fed
Bump github classgraph version to 4.8.181
djankows Jul 25, 2025
d2e27c0
chore: bump jackson versions to 2.19.2
daniel-kmiecik Jul 30, 2025
f8b720f
prepare release 2.2.35
djankows Jul 31, 2025
52c993a
bump snapshot 2.2.36-SNAPSHOT
djankows Jul 31, 2025
f603955
fix: Fix ClassCastException on resolving JsonSchema. This solves issu…
ewaostrowska Aug 7, 2025
f1f0b20
prepare release 2.2.36
ewaostrowska Aug 18, 2025
e3fe29a
bump snapshot 2.2.37-SNAPSHOT
ewaostrowska Aug 18, 2025
fbe8a8d
fix: Fix missing items on nested @ArraySchema items in OAS 3.1 Resolv…
ewaostrowska Aug 7, 2025
46decb3
fix: add booleanSchemaValue to Schema's hashCode and equals
ewaostrowska Aug 18, 2025
0d0d2e3
Create a failing test presenting open api 3.1 - enum property schema …
damiankaplonspa Jul 15, 2025
5e0bb63
fix: reattach enumAsRef to Schema and ArraySchema for OAS 3.1 and OAS…
ewaostrowska Sep 15, 2025
0b467f3
fix: prevent leaking properties to enum schema when Schema#implementa…
ewaostrowska Sep 16, 2025
7aaa116
prepare release 2.2.37
djankows Sep 16, 2025
a6ce545
bump snapshot 2.2.38-SNAPSHOT
djankows Sep 16, 2025
76c72ce
honor array schema description and title when generating OpenAPI 3.1
jochenberger Jul 30, 2025
0fd3764
prepare release 2.2.38
ewaostrowska Sep 29, 2025
d126742
bump snapshot 2.2.39-SNAPSHOT
ewaostrowska Sep 29, 2025
2590df6
fix: adjust docs about RequiredMode.AUTO + small refactor
daniel-kmiecik Oct 3, 2025
8767cea
fix(tests): Make ServletUtilsTest order-insensitive
Fr4nk03 Oct 1, 2025
4954f52
chore: remove System.out and printStackTrace to align with Sonar rule…
kuntal1461 Oct 10, 2025
dd5ce54
Fix(core): Prevent redundant schema resolution by fixing AnnotatedTyp…
juntae6942 Oct 13, 2025
358cf4c
prepare release 2.2.39 (#4994)
sonatypeoss[bot] Oct 13, 2025
0b327a6
bump snapshot 2.2.40-SNAPSHOT (#4995)
sonatypeoss[bot] Oct 13, 2025
9f5bf1d
fix: remove superfluous ref for a composed schema. Fixes #4959
ewaostrowska Oct 20, 2025
c0e8bb9
fix(test): Make serialization tests robust against key reordering (#4…
Fr4nk03 Oct 21, 2025
24ade8e
Bump classgraph version to 4.8.184
kmix Oct 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/ISSUE_TEMPLATE/01_bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
name: Bug Report
about: Report an issue in swagger-core
title: "[Bug]: "
labels: Bug
assignees: ''
---

## Description of the problem/issue

<!--
Provide a clear and concise description of the problem.
To help us understand the issue better, consider including:
- What are you trying to achieve using swagger-core?
- Are specific annotations not behaving as expected? (e.g., @Schema, @Parameter, @Operation)
- Are generated OpenAPI specs missing information or incorrect?
- Are you using swagger-core with JAX-RS, Spring, or another framework?
- Did this issue affect code generation (e.g., Swagger Codegen/OpenAPI Generator)?
-->

## Affected Version

<!-- What version of swagger-core are you using? -->
e.g. 2.2.21

<!-- Can you identify when the issue was introduced?
If yes, please provide the earliest version you know the bug exists in. -->
Earliest version the bug appears in (if known):
e.g. 2.2.17

## Steps to Reproduce

<!-- Provide a step-by-step list on how to reproduce the issue.
Include any relevant OpenAPI definitions, configuration, or code snippets. -->

1. ...
2. ...
3. ...

## Expected Behavior

<!-- What should have happened? -->

## Actual Behavior

<!-- What actually happened instead? -->

## Logs / Stack Traces

<!-- Paste relevant log output or error messages, if any. -->

## Additional Context

<!-- Add any other context, links, or screenshots about the problem here. -->

## Checklist

- [ ] I have searched the [existing issues](https://github.com/swagger-api/swagger-core/issues) and this is not a duplicate.
- [ ] I have provided sufficient information for maintainers to reproduce the issue.
43 changes: 43 additions & 0 deletions .github/ISSUE_TEMPLATE/02_question.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
name: Question
about: Ask a question about swagger-core usage or behavior
title: "[Question]: "
labels: Question
assignees: ''
---

## Question

<!--
Please clearly describe your question or the problem you're trying to solve.
To help us answer faster, consider including:
- What are you trying to achieve with swagger-core?
- Which version are you using?
- What have you tried so far?
- Are you encountering unexpected behavior or error messages?
-->

## Affected Version

<!-- What version of swagger-core are you using? -->
e.g. 2.2.21

## Context

<!--
Provide any relevant code snippets, configuration, OpenAPI definitions,
or links to documentation you are referring to.
-->

```java
// Example code snippet here
```

## Additional Details

<!-- Add any other information that might help us understand your question. -->

## Checklist

- [ ] I have searched the [existing issues](https://github.com/swagger-api/swagger-core/issues) and documentation before asking.
- [ ] I have provided enough information for others to understand my question.
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/03_feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: Feature Request
about: Suggest a new feature or enhancement for swagger-core
title: "[Feature]: "
labels: Feature
assignees: ''
---

## Feature Description

<!--
Describe the feature you'd like to see.
- What problem does it solve?
- How would it improve swagger-core?
- Is it related to OpenAPI spec support, annotation improvements, integration, etc.?
-->

## Use Case

<!--
Explain how you (or others) would use this feature in a real-world project.
Include context to help understand why this is valuable.
-->

## Suggested Solution (optional)

<!--
If you have an idea for how the feature could be implemented, share it here.
This could include proposed APIs, annotations, or behavior.
-->

## Alternatives Considered

<!--
Have you tried other ways to solve this problem?
Are there any existing workarounds?
-->

## Additional Context

<!--
Include any other information, references, or related issues.
Screenshots, links to OpenAPI specs, or code snippets can help too.
-->

## Checklist

- [ ] I have searched the [existing issues](https://github.com/swagger-api/swagger-core/issues) to ensure this is not a duplicate.
- [ ] This feature would be useful to more than just my use case.
- [ ] I have provided enough detail for the maintainers to understand the scope of the request.
43 changes: 43 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Pull Request

Thank you for contributing to **swagger-core**!

Please fill out the following information to help us review your PR efficiently.

---

## Description

<!--
Describe what this PR changes:
- What problem does it solve?
- Is it a bug fix, new feature, or refactor?
- Link to any related issues.
-->

Fixes: <!-- e.g. #123 (optional) -->

## Type of Change

<!-- Check all that apply: -->

- [ ] 🐛 Bug fix
- [ ] ✨ New feature
- [ ] ♻️ Refactor (non-breaking change)
- [ ] 🧪 Tests
- [ ] 📝 Documentation
- [ ] 🧹 Chore (build or tooling)

## Checklist

<!-- Please check all that apply before requesting review: -->

- [ ] I have added/updated tests as needed
- [ ] I have added/updated documentation where applicable
- [ ] The PR title is descriptive
- [ ] The code builds and passes tests locally
- [ ] I have linked related issues (if any)

## Screenshots / Additional Context

<!-- Optional: Add logs, screenshots, or notes for reviewers -->
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,13 @@ The OpenAPI Specification has undergone several revisions since initial creation

Swagger core Version | Release Date | OpenAPI Spec compatibility | Notes | Status
------------------------- | ------------ | -------------------------- | ----- | ----
2.2.33 (**current stable**)| 2025-06-12 | 3.x | [tag v2.2.33](https://github.com/swagger-api/swagger-core/tree/v2.2.33) | Supported
2.2.39 (**current stable**)| 2025-10-13 | 3.x | [tag v2.2.39](https://github.com/swagger-api/swagger-core/tree/v2.2.39) | Supported
2.2.38 | 2025-09-29 | 3.x | [tag v2.2.38](https://github.com/swagger-api/swagger-core/tree/v2.2.38) | Supported
2.2.37 | 2025-09-16 | 3.x | [tag v2.2.37](https://github.com/swagger-api/swagger-core/tree/v2.2.37) | Supported
2.2.36 | 2025-08-18 | 3.x | [tag v2.2.36](https://github.com/swagger-api/swagger-core/tree/v2.2.36) | Supported
2.2.35 | 2025-07-31 | 3.x | [tag v2.2.35](https://github.com/swagger-api/swagger-core/tree/v2.2.35) | Supported
2.2.34 | 2025-06-20 | 3.x | [tag v2.2.34](https://github.com/swagger-api/swagger-core/tree/v2.2.34) | Supported
2.2.33 | 2025-06-12 | 3.x | [tag v2.2.33](https://github.com/swagger-api/swagger-core/tree/v2.2.33) | Supported
2.2.32 | 2025-05-14 | 3.x | [tag v2.2.32](https://github.com/swagger-api/swagger-core/tree/v2.2.32) | Supported
2.2.31 | 2025-05-13 | 3.x | [tag v2.2.31](https://github.com/swagger-api/swagger-core/tree/v2.2.31) | Supported
2.2.30 | 2025-04-07 | 3.x | [tag v2.2.30](https://github.com/swagger-api/swagger-core/tree/v2.2.30) | Supported
Expand Down Expand Up @@ -126,7 +132,7 @@ You need the following installed and available in your $PATH:
* Jackson 2.4.5 or greater


### To build from source (currently 2.2.34-SNAPSHOT)
### To build from source (currently 2.2.40-SNAPSHOT)
```
# first time building locally
mvn -N
Expand Down
2 changes: 1 addition & 1 deletion modules/swagger-annotations/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-project</artifactId>
<version>2.2.34-SNAPSHOT</version>
<version>2.2.40-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,11 @@

/**
* Allows to specify the required mode (RequiredMode.AUTO, REQUIRED, NOT_REQUIRED)
*
* RequiredMode.AUTO: will let the library decide based on its heuristics.
* RequiredMode.AUTO: the library decides using heuristics:
* - Bean Validation / nullability annotations (@NotNull, @NonNull, @NotBlank, @NotEmpty) - required
* - Optional - not required
* - Primitive types (int, boolean, etc.) - not required unless annotated
* - Other object fields without any constraints - not required
* RequiredMode.REQUIRED: will force the item to be considered as required regardless of heuristics.
* RequiredMode.NOT_REQUIRED: will force the item to be considered as not required regardless of heuristics.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package io.swagger.v3.oas.annotations.responses;

import io.swagger.v3.oas.annotations.extensions.Extension;
import io.swagger.v3.oas.annotations.media.Content;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
* A meta-annotation that bundles common error response definitions for API operations.
* <p>
* Includes default definitions for:
* <ul>
* <li>400 Bad Request</li>
* <li>401 Unauthorized</li>
* <li>403 Forbidden</li>
* <li>404 Not Found</li>
* <li>429 Too Many Requests</li>
* <li>500 Internal Server Error</li>
* <li>503 Service Unavailable</li>
* </ul>
* Can be used at type level to apply to all operations in a controller,
* or at method level for individual operations.
*
* @see ApiResponse
* @see ApiResponses
* @since 2.2.32
*/

@Target({ElementType.METHOD, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content)
@ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content)
@ApiResponse(responseCode = "403", description = "Forbidden", content = @Content)
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content)
@ApiResponse(responseCode = "429", description = "Too Many Requests", content = @Content)
@ApiResponse(responseCode = "500", description = "Internal Server Error", content = @Content)
@ApiResponse(responseCode = "503", description = "Service Unavailable", content = @Content)
public @interface FailedApiResponse {
/**
* A reference to a response definition in components responses.
*
* @return the reference
* @since 2.2.32
*/
String ref() default "";

/**
* The list of optional extensions.
*
* @return an optional array of extensions
* @since 2.2.32
*/
Extension[] extensions() default {};
}
2 changes: 1 addition & 1 deletion modules/swagger-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-project</artifactId>
<version>2.2.34-SNAPSHOT</version>
<version>2.2.40-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
Expand Down
Loading