PackageTrack
Sign in Get early access

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 2025
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 50
  1. 5.2.2 08 Oct 2025
    Release notes

    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

    Open source →
  2. 5.2.1 28 Feb 2025
    Release notes

    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 schemaPath and instancePath

    • #198 Add lib/fix_data.yaml for automatic migration with dart fix.

    • #199 Avoid empty instancePath when propertyNames is 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

    Open source →
  3. 5.2.0 24 Jul 2024
    Release notes

    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 additionalProperty as 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

    Open source →
    Release notes Open source →
  4. 5.1.7 05 Apr 2024
    Release notes

    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

    Open source →
  5. 5.1.6 03 Apr 2024
    Release notes

    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

    Open source →
  6. 5.1.5 03 Apr 2024
    Release notes

    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

    Open source →
  7. 5.1.4 03 Apr 2024
    Release notes

    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

    Open source →
  8. 5.1.3 12 Sep 2023
    Release notes

    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

    Open source →
  9. 5.1.2 07 Jul 2023
    Release notes

    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

    Open source →
    Release notes
    • Widen range on http to include 1.0.0
    Open source →
  10. 5.1.1 06 Jun 2023
    Release notes

    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

    Open source →
    Release notes
    • Apply pub.dev linting guidelines.
    Open source →
  11. 5.1.0 05 Jun 2023
    Release notes
    • Add an JsonSchema.empty({SchemaVersion schemaVersion}) constructor
    • Update logging and collection dependencies
    Open source →
  12. 5.0.0 30 May 2023
    Release notes
    • Clean up pubspec, add .pubignore
    • Bump minimum Dart SDK version to 2.12.0
    • Migration to null safety
    Open source →
  13. 5.0.0-rc2 23 May 2023 pre-release

    Nothing published for this version

  14. 4.0.4 19 Apr 2023

    Nothing published for this version

  15. 4.0.3 07 Jun 2022
    Release notes
    Open source →
  16. 4.0.2 17 Mar 2022
    Release notes
    • Fix bug where type getter would throw when typeList was null
    Open source →
  17. 4.0.1 07 Mar 2022
    Release notes
    • Performance:
      • cache calls to resolvePath
      • JsonSchema.schemaMap is now truly unmodifiable (was before in practice anyway) and hashCode is cached by taking advantage of that.
    • 4.0 Release Mistake:
      • Validator.evaluatedProperties was accidentally made public, pull it back to private.
    Open source →
  18. 4.0.0 04 Mar 2022
    Release notes

    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_dev based 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> customVocabularies can be passed to all JsonSchema factories.
        • CustomVocabulary
        • CustomKeyword
        • ValidationContext
      • Custom Formats:
        • Map<String, Function> customFormats can be passed to and JsonSchema factory.
        • ValidationContext
    • Deprecated:
      • validateWithResults in favor of validate which now returns the same thing (ValidationResults).
      • DefaultValidators and related globals in favor of passing customFormats to the JsonSchema factories.
    • Removed Deprecations:
      • Removed bin/schemadot.dart, lib/schema_dot.dart and related examples
      • Removed lib/browser.dart and lib/vm.dart and associated globals createSchemaFromUrlBrowser, configureJsonSchemaForBrowser, globalCreateJsonSchemaFromUrl createSchemaFromUrlVm, configureJsonSchemaForVm and resetGlobalTransportPlatform. These were for configuring the runtime environment, which now happens automatically.
      • Removed JsonSchema.createSchemaAsync in favor of JsonSchema.createAsync
      • Removed JsonSchema.createSchema in favor of JsonSchema.create
      • Removed JsonSchema.createSchemaFromUrl in favor of JsonSchema.createFromUrl
      • Removed RefProvider.asyncSchema, RefProvider.syncSchema, RefProvider.asyncJson, and RefProvider.syncJson in favor of RefProvider.async and RefProvider.async, which are easier to use.
      • Removed JsonSchema.refMap
    • Breaking change to validate:
      • now returns ValidationResult instead of bool like validateWithResults (now deprecated).
    • Notable change of behavior to resolvePath with 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.)
    Open source →
  19. 4.0.0-rc.2 03 Mar 2022 pre-release

    Nothing published for this version

  20. 4.0.0-rc.1 31 Jan 2022 pre-release

    Nothing published for this version

  21. 3.2.1 22 Feb 2022

    Nothing published for this version

  22. 3.2.0 27 Jan 2022
    Release notes
    • 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
    Open source →
  23. 3.1.1 25 Jan 2022

    Nothing published for this version

  24. 3.1.0 25 Jan 2022
    Release notes
    • Remove the need for separate browser and VM imports
    • Deprecate non-json RefProviders
    • More specific missing-required property errors
    Open source →
  25. 3.0.1 06 Dec 2021

    Nothing published for this version

  26. 3.0.0 17 May 2021
    Release notes
    • Removed support for Dart 1
    Open source →
  27. 2.2.1 11 Jul 2019

    Nothing published for this version

  28. 2.2.0 08 Apr 2019
    Release notes
    • Add note about root path in error string when instance path is empty
    • Expose ValidationError class
    Open source →
  29. 2.1.4 25 Mar 2019
    Release notes
    • Use deep equality to compare maps, fixing equality when enums are present
    Open source →
  30. 2.1.3 12 Mar 2019
    Release notes
    • New validateWithErrors method on JsonSchema returns all validation errors as a list of objects
    • ValidationError objects include both instance & schema paths for each error
    • Error logic tweaked to provide consistent error paths in JSON pointer notation
    Open source →
  31. 2.1.2 05 Mar 2019

    Nothing published for this version

  32. 2.1.0 25 Feb 2019

    Nothing published for this version

  33. 2.0.1 15 Feb 2019

    Nothing published for this version

  34. 2.0.0 07 Nov 2018
    Release notes
    • 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 createSchema and createSchemaAsync
    • Ability to do custom resolution of $refs with RefProvider and RefProviderAsync
    • Optional parsing of JSON strings passed to validate with parseJson = 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.
    Open source →
  35. 2.0.0-RC3 07 Nov 2018 pre-release

    Nothing published for this version

  36. 2.0.0-RC2 26 Jul 2018 pre-release

    Nothing published for this version

  37. 2.0.0-RC1 02 Jul 2018 pre-release

    Nothing published for this version

  38. 1.0.10 26 Jul 2018

    Nothing published for this version

  39. 1.0.9 02 Jul 2018

    Nothing published for this version

  40. 1.0.8 18 Jan 2018
    Release notes
    • Code cleanup
    • Strong mode
    • Switch build tools to dart_dev
    Open source →
  41. 1.0.7 20 Dec 2017
    Release notes
    • Update dependency constraint on the args package.
    Open source →
  42. 1.0.6 16 Nov 2016

    Nothing published for this version

  43. 1.0.5 15 Nov 2016

    Nothing published for this version

  44. 1.0.4 09 Jun 2016

    Nothing published for this version

  45. 1.0.3 01 Dec 2015
    Release notes
    • Add a dependency on the args package.
    Open source →
  46. 1.0.2 29 Nov 2015
    Release notes
    • Add a dependency on the logging package.
    Open source →
  47. 1.0.1 25 May 2015

    Nothing published for this version

  48. 1.0.0 08 Nov 2013

    Nothing published for this version

  49. 0.0.2 16 Sep 2013

    Nothing published for this version

  50. 0.0.1 30 Aug 2013

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive