You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Docs] Clarify that number/names of generated files are not API + other polish (#450)
### Motivation
The number and names of generated files should not be considered APIs,
to allow us to introduce future optimization, such as
#253.
### Modifications
Clarified in the docs, also removed some pre-1.0 stuff, plus some other
minor fixups.
### Result
Clearer docs.
### Test Plan
Previewed locally.
Copy file name to clipboardExpand all lines: Sources/swift-openapi-generator/Documentation.docc/Articles/API-stability-of-the-generator.md
+11-13Lines changed: 11 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,27 +8,25 @@ Swift OpenAPI Generator generates client and server Swift code from an OpenAPI d
8
8
9
9
This document outlines the API stability goals for the generator to help you avoid unintentional build errors when updating to a new version of Swift OpenAPI Generator.
10
10
11
-
The components covered by these rules are:
12
-
- the name of the Swift OpenAPI Generator package plugin
13
-
- the format of the config file provided to Swift OpenAPI Generator (plugin or CLI tool)
14
-
- the Swift OpenAPI Generator CLI tool arguments
11
+
Swift OpenAPI Generator follows [Semantic Versioning 2.0.0][0] for the following, which are considered part of its API:
15
12
16
-
If you upgrade any of the components above to the next non-breaking version, your project should continue to build successfully. Check out how these rules are applied before 1.0 is released, and what a breaking change means for the generated code: <doc:API-stability-of-generated-code>.
13
+
- The name of the Swift OpenAPI Generator package plugin.
14
+
- The format of the config file provided to Swift OpenAPI Generator (plugin or CLI tool).
15
+
- The Swift OpenAPI Generator CLI tool arguments, options, and flags.
17
16
18
-
### API stability for versions >= 1.0.0
17
+
If you upgrade any of the components above to the next non-breaking version, your project should continue to build successfully. Check out how these rules are applied, and what a breaking change means for the generated code: <doc:API-stability-of-generated-code>.
19
18
20
-
After the project reaches 1.0.0, we will follow [Semantic Versioning 2.0.0][0].
19
+
### Implementation details
21
20
22
-
### API stability for versions 0.y.z
21
+
In contrast to the guarantees provided for the API of Swift OpenAPI Generator, the following list of behaviors are _not_ considered API, and can change without prior warning:
23
22
24
-
Swift OpenAPI Generator is being developed as an open source project. In order to accommodate feedback from the community, it does not yet have a 1.0.0 release. Until it does, we reserve the right to change the API between _minor_ versions (for example, between `0.2.0` and `0.3.0`), as described in the Semantic Version Specification[[1]][[2]].
25
-
26
-
> Tip: To avoid unexpected build issues, use `.upToNextMinor(from: "0.y.z")` in your `Package.swift` when declaring a dependency on Swift OpenAPI Generator packages (including the runtime and transport libraries).
23
+
- The number and names of files generated by the Swift OpenAPI Generator CLI and plugins.
24
+
- The SPI provided by the OpenAPIRuntime library used by generated code (marked with `@_spi(Generated)`).
25
+
- The business logic of the generated code, any code that isn't part of the API of the generated code.
26
+
- The diagnostics emitted by the generator, both their severity and printed description.
Copy file name to clipboardExpand all lines: Sources/swift-openapi-generator/Documentation.docc/Articles/Supported-OpenAPI-features.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Supported features are always provided on _both_ client and server.
16
16
17
17
For the checked serialization formats below, the generator emits types conforming to `Codable`, structured based on the provided JSON Schema.
18
18
19
-
For any other formats, the payload is provided as raw bytes, leaving it up to the adopter to decode as needed.
19
+
For any other formats, the payload is provided as raw bytes (using the `HTTPBody` streaming body type), leaving it up to the adopter to decode as needed.
20
20
21
21
-[x] JSON
22
22
- when content type is `application/json` or ends with `+json`
0 commit comments