swagger_parser
Package that generates REST clients and data classes from OpenApi definition file
1.44.1
41K downloads/mo
#1595 most downloaded on pub.dev
Carapacik/swagger_parser
What this package is like to depend on
Last release 22 days ago
02 Aug 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 148 of 148 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
148 releases · first in 2022
20 releases in the last 12 months
see the full history below
Release timeline
148 releases · Oct 2022 to Aug 2026
2023
2024
2025
2026
Releases
latest 60 of 148-
1.44.102 Aug 2026Release notes
Open source →- Fixes
dart_mappableenum generation for JSON Schema type lists by quoting
non-numeric JSON values (#468).
Release notes
Open source →- Fixes
dart_mappableenum generation for JSON Schema type lists by quoting non-numeric JSON values (#468).
- Fixes
-
1.44.022 Jun 2026Release notes
Open source →- Add
preserve_schema_casingoption to preserve original casing of schema-derived identifiers, defaults tofalsefor backwards compatibility, which normalises to PascalCase - Fix crash when a
multipart/form-datarequest body references a schema withoutproperties - Fix nullable handling for single-element
allOf,oneOf, andanyOfschemas with siblingnullable: true - Fix missing imports for nested union properties in Freezed discriminated-union variants
Release notes
Open source →- Adds
preserve_schema_casingoption to preserve original casing of schema-derived identifiers, defaults tofalsefor backwards compatibility, which normalises to PascalCase. - Fixes crash when a
multipart/form-datarequest body references a schema withoutproperties. - Fixes nullable handling for single-element
allOf,oneOf, andanyOfschemas with siblingnullable: true. - Fixes missing imports for nested union properties in Freezed discriminated-union variants.
- Add
-
1.43.121 Apr 2026Release notes
Open source →- Fix escaping
$unknownin generated enumtoJsonerror messages - Fix generated code when using
json_serializable - Fix default enum values for
dart_mappable - Add README section about Server-Sent Events
Release notes
Open source →- Fixes escaping
$unknownin generated enumtoJsonerror messages. - Fixes generated code when using
json_serializable. - Fixes default enum values for
dart_mappable. - Adds README section about Server-Sent Events.
- Fix escaping
-
1.43.003 Mar 2026Release notes
Open source →- Allow standard dart_mappable serializer method naming convention
- Fix default values for Enums in forms
- Fix errors with corrector
Release notes
Open source →- Allows standard dart_mappable serializer method naming convention.
- Fixes default values for Enums in forms.
- Fixes errors with corrector.
-
1.42.002 Feb 2026Release notes
Open source →- Support for streaming & SSE
- Fix preserve property names and required modifiers in properties blocks
- Fix API path definitions are incorrectly converted to PascalCase
Release notes
Open source →- Adds support for streaming & SSE.
- Fixes preserve property names and required modifiers in properties blocks.
- Fixes API path definitions are incorrectly converted to PascalCase.
-
1.41.028 Jan 2026Release notes
Open source →- Add
field_parsersoption for setting field parsers for JSON serializable
Release notes
Open source →- Adds
field_parsersoption for setting field parsers for JSON serializable.
- Add
-
1.40.023 Jan 2026Release notes
Open source →- Add
include_pathsoption for filtering endpoints by paths - Add
generate_urls_constantsoption for generating URL constants for all endpoints
Release notes
Open source →- Adds
include_pathsoption for filtering endpoints by paths. - Adds
generate_urls_constantsoption for generating URL constants for all endpoints.
- Add
-
1.39.119 Jan 2026Release notes
Open source →- Fixes client methods returning
ModelNameUnioninstead ofModelNameSealedfor oneOf types (#393).
- Fixes client methods returning
-
1.39.018 Jan 2026Release notes
Open source →- Handle request body name generation case when request body is declared within request
- Fix incorrect deserialization syntax for undiscriminated unions (Freezed serializer)
Release notes
Open source →- Handles request body name generation case when request body is declared within request.
- Fixes incorrect deserialization syntax for undiscriminated unions (Freezed serializer).
-
1.38.014 Jan 2026Release notes
Open source →- Add
replacement_rules_for_raw_schemaoption for raw schema objects replacement rules
Release notes
Open source →- Adds
replacement_rules_for_raw_schemaoption for raw schema objects replacement rules.
- Add
-
1.37.123 Dec 2025Release notes
Open source →- Fixes missing import for MultipartFile(#408).
- Fixes refs in
components.responses.
-
1.37.008 Dec 2025Release notes
Open source →- Add
use_flutter_computeoption for Flutter isolate-based multithreading support- Generates
@RestApi(parser: Parser.FlutterCompute)annotation in Retrofit clients - Generates top-level serialization functions in each DTO model file following Retrofit's naming convention
- Works with all serializers: freezed, json_serializable, dart_mappable
- Generates
swagger_parser: use_flutter_compute: true
Release notes
Open source →- Adds
use_flutter_computeoption for Flutter isolate-based multithreading support.- Generates
@RestApi(parser: Parser.FlutterCompute)annotation in Retrofit clients. - Generates top-level serialization functions in each DTO model file following Retrofit's naming convention.
- Works with all serializers:
freezed,json_serializable,dart_mappable.
- Generates
swagger_parser: use_flutter_compute: true - Add
-
1.36.003 Dec 2025Release notes
Open source →- Adds
add_openapi_metadata(defaultfalse) to generate OpenAPItags,operationId, andexternalDocsUrlconstants for each endpoint; whenextras_parameter_by_defaultistrue, the metadata is also prefilled into Dioextras—handy for interceptors and logging without overwriting user-supplied extras. - Uses fully-qualified default extras values (e.g.
BannerApi.findAllBannersOpenapiExtras) so generated implementations can access the static metadata constants.
swagger_parser: extras_parameter_by_default: true add_openapi_metadata: true abstract class PetsClient { static const Map<String, dynamic> listPetsOpenapiExtras = <String, dynamic>{ 'openapi': <String, dynamic>{ 'tags': <String>['pets'], 'operationId': 'listPets', 'externalDocsUrl': 'https://docs.example.com/pets', }, }; @GET('/pets') Future<void> listPets({ // defaults to the OpenAPI metadata; merge with your own extras if needed @Extras() Map<String, dynamic>? extras = PetsClient.listPetsOpenapiExtras, @DioOptions() RequestOptions? options, }); } # https://openapi.sepc/pets/listPets - Adds
-
1.35.228 Nov 2025 -
1.35.125 Nov 2025 -
1.35.001 Nov 2025Release notes
Open source →- Adds
infer_required_from_nullable.
infer_required_from_nullable: true Schema without required array: - id: type: integer → required int id - name: type: string → required String name - desc: type: string, nullable: true → String? desc- Fixes nullable array item types generation.
- Adds
-
1.34.018 Oct 2025Release notes
Open source →- Adds
includeIfNullhandling, disabled by default; setinclude_if_null: trueto enable it.
- Adds
-
1.32.116 Oct 2025 -
1.32.016 Oct 2025Release notes
Open source →- Adds complete support for sealed classes (
oneOf/anyOf) with thejson_serializableserializer.- WARNING: Undiscriminated sealed classes use O(n) try-catch deserialization where n is the number of variants.
- RECOMMENDED: Adds discriminator properties to your OpenAPI specification for O(1) performance.
- Adds support for sealed classes fallback for failed decoding.
- Adds complete support for sealed classes (
oneOf/anyOf) with thedart_mappableserializer.- WARNING: Undiscriminated sealed classes use O(n) try-catch deserialization where n is the number of variants.
- RECOMMENDED: Adds discriminator properties to your OpenAPI specification for O(1) performance.
- Adds support for sealed classes fallback for failed decoding.
- Adds
dart_mappable_convenient_whenoption to control union type generation fordart_mappableserializer.dart_mappable_convenient_when: truegenerates legacywhen<T>, maybeWhen<T>methods.dart_mappable_convenient_when: false(default) generates sealed classes for better type safety.
- Adds the
@Deprecated()annotation to thewhen<T>andmaybeWhen<T>methods fordart_mappable; use Dart pattern matching instead. - Fixes duplicate
unknownenum values fordart_mappablewhenunknown_enum_value: trueis enabled. - Fixes nullable discriminator union handling.
- Adds complete support for sealed classes (
-
1.30.130 Sep 2025 -
1.30.020 Aug 2025Release notes
Open source →- Adds support for merging all generated code into single output file using the
merge_outputsoption.
- Adds support for merging all generated code into single output file using the
-
1.29.019 Aug 2025Release notes
Open source →Features
- Adds support for non-discriminated unions (
oneOf/anyOfwithout a discriminator). - Filters out unused schemas when using
include_tagsorexclude_tags.
Fixes
- Fixes the client name for untagged paths to properly fall back to the configured
fallback_clientinstead ofclient. - Fixes the
fallback_clientconfiguration to default tofallbackinstead ofdefaultto avoid conflicts with the Dartdefaultkeyword in the generated code. - Fixes OpenAPI spec parsing to correctly preserve casing for
SCREAMING_SNAKE_CASE. - Fixes filtering so paths without tags are filtered out when
include_tagsis specified.
- Adds support for non-discriminated unions (
-
1.28.006 Aug 2025Release notes
Open source →- Fixes documentation.
- Fixes ensure consistent file naming for tags with alphanumeric suffixes.
-
1.27.001 Aug 2025Release notes
Open source →- Allows filtering generated client endpoints by tags.
- Adds a fallback client for endpoints without tags (#271).
-
1.26.322 Jul 2025Release notes
Open source →- Fixes collisions between untagged endpoints and endpoints tagged
Clientthat caused generated clients to overwrite each other.
- Fixes collisions between untagged endpoints and endpoints tagged
-
1.26.215 Jul 2025Release notes
Open source →- Aligns default value handling for parameters according to OpenAPi Spec https://swagger.io/docs/specification/v3_0/describing-parameters/#default-parameter-values.
-
1.26.108 Jul 2025Release notes
Open source →- Adds a
toStringoverride fordart_mappable. - Makes
dart_mappabletoJsonreturn a string.
- Adds a
-
1.25.007 Jul 2025Release notes
Open source →- Allows using
MultipartFileinstead ofFilein multipart requests, to support usage on web.
- Allows using
-
1.24.530 Jun 2025Release notes
Open source →- Adds an enum
toString()override that provides a JSON value to third-party consumers such as Retrofit.
- Adds an enum
-
1.24.429 Jun 2025Release notes
Open source →- Adds the
$valuesDefinedgetter to filter out unknown values automatically.
- Adds the
-
1.24.317 Jun 2025Release notes
Open source →- Deduplicates property names for
allOfschemas that mixrefandproperties, preventing naming overlaps.
- Deduplicates property names for
-
1.24.216 Jun 2025Release notes
Open source →- Fixes
typedeftransparency that causes import errors when generatingjson_serializableclasses; see google/json_serializable#1124.
- Fixes
-
1.24.127 May 2025 -
1.24.026 May 2025Release notes
Open source →- Fixes detection of nullable list with non-null items vs nullable list with nullable items(#323).
- Requires Dart 3.6 or later.
-
1.23.205 May 2025 -
1.23.130 Apr 2025 -
1.23.029 Apr 2025 -
1.22.129 Mar 2025 -
1.22.015 Mar 2025 -
1.21.418 Feb 2025 -
1.21.330 Jan 2025 -
1.21.227 Jan 2025Release notes
Open source → -
1.21.124 Jan 2025 -
1.21.016 Jan 2025Release notes
Open source → -
1.20.105 Dec 2024 -
1.20.004 Dec 2024Release notes
Open source →- Adds validation params to generated
freezedclasses. - Fixes errors with empty schema properties(#280).
- Adds validation params to generated
-
1.19.214 Oct 2024 -
1.19.130 Sep 2024 -
1.19.006 Sep 2024Release notes
Open source →- Adds version getter to root client:
final version = RestClient.version;- Adds
dio_options_parameter_by_default.
-
1.18.328 Aug 2024 -
1.18.226 Aug 2024 -
1.18.109 Aug 2024Release notes
Open source →- Fixes errors with
nullable: false. - Fixes same property name conflict(#235).
- Fixes errors with
-
1.18.006 Jun 2024Release notes
Open source →- Handles empty enum value case (#238).
- Fixes replacement rules.
- Adds support for nullable lists and maps.
- Removes the
required_by_defaultconfig parameter; behavior now matchesrequired_by_default: false. - Requires Dart 3.4.
-
1.17.309 May 2024 -
1.17.201 Apr 2024 -
1.17.113 Mar 2024 -
1.17.005 Mar 2024Release notes
Open source →- Adds new config parameter
extras_parameter_by_defaultfrom retrofit 4.1.0 for (#208). - Fixes errors (#190), (#192) and (#195).
- Adds new config parameter
-
1.16.403 Mar 2024 -
1.16.302 Mar 2024 -
1.16.228 Feb 2024