json_schema
JSON Schema implementation in Dart
5.2.2
205K downloads/mo
#844 most downloaded on pub.dev
workiva/json_schema
What this package is like to depend on
Last release 10 months ago
08 Oct 2025
Release timing varies
gaps range from 2 weeks to 10 months
Most releases are documented
notes for 27 of 44 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
50 releases · first in 2013
1 release in the last 12 months
see the full history below
Release timeline
50 releases · Aug 2013 to Oct 2025Releases
latest 50-
5.2.208 Oct 2025Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:Miscellaneous
- #208 WADMIN-9939 Make enum type checks less restrictive
- WADMIN-9939 [json_schema] Allow empty list for enum
- #209 RM-318454 Release json_schema 5.2.2
- RM-318454 RELEASE json_schema 5.2.2
Notes created on Wednesday, October 08 05:39 PM UTC
- #208 WADMIN-9939 Make enum type checks less restrictive
-
5.2.128 Feb 2025Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:Miscellaneous
-
#197 Avoid nullable
schemaPathandinstancePath -
#198 Add
lib/fix_data.yamlfor automatic migration withdart fix. -
#199 Avoid empty
instancePathwhenpropertyNamesis violated -
#205 RM-273259 Release json_schema 5.2.1
- RM-273259 RELEASE json_schema 5.2.1
Notes created on Friday, February 28 03:54 PM UTC
-
-
5.2.024 Jul 2024Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This minor release includes the following changes:Miscellaneous
-
#188 Avoid unnecessary null pointer exception if reference schema is given
-
#189 Fix ValidationResults.toString().
-
#191 Mark an
additionalPropertyas evaluated. -
#192 export ValidationResults
-
#193 Fix formatting
-
#195 RM-252173 Release json_schema 5.2.0
- RM-252173 RELEASE json_schema 5.2.0
Notes created on Wednesday, July 24 08:50 PM UTC
-
-
5.1.705 Apr 2024Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:Miscellaneous
-
#185 Rewrite publish workflow to include --skip-validation flag
-
#186 RM-251862 Release json_schema 5.1.7
- RM-251862 RELEASE json_schema 5.1.7
Notes created on Wednesday, April 03 11:27 PM UTC
-
-
5.1.603 Apr 2024Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:Miscellaneous
-
#182 Fix names in publish workflow
-
#183 RM-251856 Release json_schema 5.1.6
- RM-251856 RELEASE json_schema 5.1.6
Notes created on Tuesday, April 02 09:13 PM UTC
-
-
5.1.503 Apr 2024Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:Miscellaneous
-
#180 Fix publish workflow
-
#181 RM-251847 Release json_schema 5.1.5
- RM-251847 RELEASE json_schema 5.1.5
Notes created on Tuesday, April 02 08:51 PM UTC
-
-
5.1.403 Apr 2024Release notes
Open source →Info
Build: (waiting for build to complete)
Skynet Results: (waiting for Skynet results)
Pipeline: (waiting for pipeline to start)
This patch release includes the following changes:Miscellaneous
-
#177 Add a CODEOWNERS file
-
#178 3546 Added publish workflow
-
#179 RM-212468 Release json_schema 5.1.4
- RM-212468 RELEASE json_schema 5.1.4
Notes created on Tuesday, April 02 08:23 PM UTC
-
-
5.1.312 Sep 2023Release notes
Open source →Info
Build: https://ci.webfilings.com/build/4942381
Skynet Results: https://wf-skynet-hrd.appspot.com/apps/test/smithy/4942381/latest
Pipeline: No Pipeline
This patch release includes the following changes:Miscellaneous
-
#170 Update Changelog
-
#173 Widen range of rfc_6901
-
#174 RM-201970 Release json_schema 5.1.3
- RM-201970 RELEASE json_schema 5.1.3
Notes created on Tuesday, September 12 12:45 PM UTC
-
-
5.1.207 Jul 2023Release notes
Open source →Info
Build: https://ci.webfilings.com/build/4728073
Skynet Results: https://wf-skynet-hrd.appspot.com/apps/test/smithy/4728073/latest
Pipeline: No Pipeline
This patch release includes the following changes:Miscellaneous
-
#168 chore(package): widen range on http
-
#169 RM-197426 Release json_schema 5.1.2
- RM-197426 RELEASE json_schema 5.1.2
Notes created on Thursday, July 06 06:34 PM UTC
-
-
5.1.106 Jun 2023Release notes
Open source →Info
Build: https://ci.webfilings.com/build/4636583
Skynet Results: https://wf-skynet-hrd.appspot.com/apps/test/smithy/4636583/latest
Pipeline: No Pipeline
This patch release includes the following changes:Miscellaneous
-
#160 Apply recommended linting rules
-
#165 RM-197334 Release json_schema 5.1.1
- RM-197334 RELEASE json_schema 5.1.1
Notes created on Tuesday, June 06 02:37 PM UTC
-
-
5.1.005 Jun 2023Release notes
Open source →- Add an
JsonSchema.empty({SchemaVersion schemaVersion})constructor - Update
loggingandcollectiondependencies
- Add an
-
5.0.030 May 2023Release notes
Open source →- Clean up pubspec, add .pubignore
- Bump minimum Dart SDK version to 2.12.0
- Migration to null safety
-
5.0.0-rc223 May 2023 pre-releaseNothing published for this version
-
4.0.419 Apr 2023Nothing published for this version
-
4.0.307 Jun 2022Release notes
Open source →- Remove usages of
.sliceto help downstream packages work around a dart2js compiler bug
- Remove usages of
-
4.0.217 Mar 2022 -
4.0.107 Mar 2022Release notes
Open source →- Performance:
- cache calls to
resolvePath JsonSchema.schemaMapis now truly unmodifiable (was before in practice anyway) andhashCodeis cached by taking advantage of that.
- cache calls to
- 4.0 Release Mistake:
Validator.evaluatedPropertieswas accidentally made public, pull it back to private.
- Performance:
-
4.0.004 Mar 2022Release notes
Open source →json_schema 4.0 continues our journey to support additional new versions of the JSON Schema specification (Draft 2019-09 and Draft 2020-12)! Custom vocabulary and format support is also included in this release! In addition to those major features, we have better support for certain built-in formats, as well as improved spec test compliance.
We have greatly reduced the number of dependencies in preparation for a null-safety release (which we're planning in another major release). This has also come with a new Makefile instead our old
dart_devbased commands (see README).- Additions:
- Support for JSON Schema Draft 2019-09 (
SchemaVersion.draft2019_09) - Support for JSON Schema Draft 2020-12 (
SchemaVersion.draft2020_12) - Default draft is still draft7 for compatibility.
- Custom Keywords:
List<CustomVocabulary> customVocabulariescan be passed to all JsonSchema factories.CustomVocabularyCustomKeywordValidationContext
- Custom Formats:
Map<String, Function> customFormatscan be passed to andJsonSchemafactory.ValidationContext
- Support for JSON Schema Draft 2019-09 (
- Deprecated:
validateWithResultsin favor ofvalidatewhich now returns the same thing (ValidationResults).DefaultValidatorsand related globals in favor of passingcustomFormatsto theJsonSchemafactories.
- Removed Deprecations:
- Removed
bin/schemadot.dart,lib/schema_dot.dartand related examples - Removed
lib/browser.dartandlib/vm.dartand associated globalscreateSchemaFromUrlBrowser,configureJsonSchemaForBrowser,globalCreateJsonSchemaFromUrlcreateSchemaFromUrlVm,configureJsonSchemaForVmandresetGlobalTransportPlatform. These were for configuring the runtime environment, which now happens automatically. - Removed
JsonSchema.createSchemaAsyncin favor ofJsonSchema.createAsync - Removed
JsonSchema.createSchemain favor ofJsonSchema.create - Removed
JsonSchema.createSchemaFromUrlin favor ofJsonSchema.createFromUrl - Removed
RefProvider.asyncSchema,RefProvider.syncSchema,RefProvider.asyncJson, andRefProvider.syncJsonin favor ofRefProvider.asyncandRefProvider.async, which are easier to use. - Removed
JsonSchema.refMap
- Removed
- Breaking change to
validate:- now returns
ValidationResultinstead ofboollikevalidateWithResults(now deprecated).
- now returns
- Notable change of behavior to
resolvePathwith 2019-09 and 2020-12:- When used with draft 2019-09 or draft 2020-12,
$refs alongside other keywords, which wasn't allowed in earlier drafts, can't always be resolved. We make a best-effort to resolve authoritatively and fall back to throwing an error if the resolution is ambiguous. In future releases, we may release support for resolving this sort of ambiguity (properties + ref, sub-property of a $ref and as sub-property conflicting, etc) based on user-preference. $dynamicRefs cannot yet be resolved using this method (you will only receive the ref itself.)
- When used with draft 2019-09 or draft 2020-12,
- Additions:
-
4.0.0-rc.203 Mar 2022 pre-releaseNothing published for this version
-
4.0.0-rc.131 Jan 2022 pre-releaseNothing published for this version
-
3.2.122 Feb 2022Nothing published for this version
-
3.2.027 Jan 2022Release notes
Open source →- Add
Validator.validateWithResults(This new method gives the most complete and customizable validation results) - Add
JsonSchema.validateWithResults - Deprecate
JsonSchema.validate - Deprecate
Validator.validate - Deprecate
JsonSchema.validateWithErrors - Deprecate
Validator.errors - Deprecate
Validator.errorObjects
- Add
-
3.1.125 Jan 2022Nothing published for this version
-
3.1.025 Jan 2022Release notes
Open source →- Remove the need for separate browser and VM imports
- Deprecate non-json RefProviders
- More specific missing-required property errors
-
3.0.106 Dec 2021Nothing published for this version
-
3.0.017 May 2021 -
2.2.111 Jul 2019Nothing published for this version
-
2.2.008 Apr 2019Release notes
Open source →- Add note about root path in error string when instance path is empty
- Expose
ValidationErrorclass
-
2.1.425 Mar 2019Release notes
Open source →- Use deep equality to compare maps, fixing equality when enums are present
-
2.1.312 Mar 2019Release notes
Open source →- New
validateWithErrorsmethod onJsonSchemareturns all validation errors as a list of objects ValidationErrorobjects include both instance & schema paths for each error- Error logic tweaked to provide consistent error paths in JSON pointer notation
- New
-
2.1.205 Mar 2019Nothing published for this version
-
2.1.025 Feb 2019Nothing published for this version
-
2.0.115 Feb 2019Nothing published for this version
-
2.0.007 Nov 2018Release notes
Open source →- json_schema is no longer bound to dart:io and works in the browser!
- Full JSON Schema draft6 compatibility
- Much better $ref resolution, including deep nesting of $refs
- More typed keyword getters for draft6 like
examples - Synchronous schema evaluation by default
- Optional async evaluation and fetching with
createSchemaAsync - Automatic parsing of JSON strings passed to
createSchemaandcreateSchemaAsync - Ability to do custom resolution of $refs with
RefProviderandRefProviderAsync - Optional parsing of JSON strings passed to
validatewithparseJson = true - Dart 2.0 compatibility
- Many small changes to make things more in line with modern dart.
- Please see the migration guide for additional info.
-
2.0.0-RC307 Nov 2018 pre-releaseNothing published for this version
-
2.0.0-RC226 Jul 2018 pre-releaseNothing published for this version
-
2.0.0-RC102 Jul 2018 pre-releaseNothing published for this version
-
1.0.1026 Jul 2018Nothing published for this version
-
1.0.902 Jul 2018Nothing published for this version
-
1.0.818 Jan 2018 -
1.0.720 Dec 2017 -
1.0.616 Nov 2016Nothing published for this version
-
1.0.515 Nov 2016Nothing published for this version
-
1.0.409 Jun 2016Nothing published for this version
-
1.0.301 Dec 2015 -
1.0.229 Nov 2015 -
1.0.125 May 2015Nothing published for this version
-
1.0.008 Nov 2013Nothing published for this version
-
0.0.216 Sep 2013Nothing published for this version
-
0.0.130 Aug 2013Nothing published for this version