Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency ajv to v8 #76

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 27, 2021

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ajv (source) ^6.12.6 -> ^8.0.0 age adoption passing confidence

Release Notes

ajv-validator/ajv

v8.12.0

Compare Source

v8.11.2

Compare Source

Update dependencies

Export ValidationError and MissingRefError (https://github.com/ajv-validator/ajv/pull/1840, @​dannyb648)

v8.11.1

Compare Source

Update dependencies

Export ValidationError and MissingRefError (#​1840, @​dannyb648)

v8.11.0

Compare Source

Use root schemaEnv when resolving references in oneOf (#​1901, @​asprouse)

Only use equal function in generated code when it is used (#​1922, @​bhvngt)

v8.10.0

Compare Source

uriResolver option (@​zekth, #​1862)

v8.9.0

Compare Source

Option code.esm to generate ESM exports for standalone validation functions (@​rehanvdm, #​1861)
Support discriminator keyword with $ref in oneOf subschemas (@​dfeufel, #​1815)

v8.8.2

Compare Source

Use full RegExp string (with flags) as cache key, related to https://github.com/ajv-validator/ajv-keywords/issues/220

v8.8.1

Compare Source

Fix minContains: 0 (#​1819)

v8.8.0

Compare Source

Fix browser bundles in cdnjs
regExp option allowing to specify alternative RegExp engine, e.g. re2 (@​efebarlas)

v8.7.1

Compare Source

Publish Ajv bundle for JSON Schema 2020-12 to cdnjs.com

v8.7.0

Compare Source

Update JSON Schema Test Suite.
Change minContains: 0 now correctly allows empty array.

v8.6.3

Compare Source

Fix $ref resolution for schemas without $id (@​rbuckton, #​1725)
Support standalone module import from ESM modules without using .default property (@​bhvngt, #​1757)
Update code for breaking TS change - error in catch has type unknown (#​1760)

v8.6.2

Compare Source

Fix JTD serialiser (#​1691)

v8.6.1

Compare Source

Fix "not" keyword preventing validation of "allOf" and some other keywords (#​1668)

v8.6.0

Compare Source

Track evaluated properties with patternProperties that have always valid schemas (e.g., true) (@​P0lip, #​1626)
Option int32range to disable number range checking for int32 and uint32 type in JTD schemas

v8.5.0

Compare Source

Optimize validation code for const keyword with scalar values (@​SoAsEr, #​1561)
Add option schemaId to support ajv-draft-04 - Ajv for JSON Schema drat-04.

v8.4.0

Compare Source

JSON Type Definition schema options:

  • parseDate: parse timestamp type as Date objects.
  • allowDate: non-standard - allow date without time with timestamp type.

v8.3.0

Compare Source

Typescript improvements:

v8.2.0

Compare Source

Add JTDDataType to compile signature (@​erikbrinkman, #​1547)
Improve JSONSchemaType for records (@​erikbrinkman, #​1564)
Use rollup for browser bundles (@​realityking, #​1533)
Docs corrections

v8.1.0

Compare Source

unicodeRegExp option to not use RegExp unicode flag that may be incompatible with some environments (@​asaid-0, #​1530)
Fix JSONSchemaType (@​erikbrinkman, #​1541)
Extended error message for invalid keyword values (@​pcwiek, #​1542)

v8.0.5

Compare Source

Fix: add source code back to npm package, 8.0.4 is breaking ajv-cli (and possibly other things)

v8.0.4

Compare Source

Reduce npm bundle size

v8.0.3

Compare Source

Improve JSONSchemaType errors (@​erikbrinkman, #​1525)

v8.0.2

Compare Source

Support RegExp formats in standalone code (#​1470)
Add schema path to strictTuple error message (@​asaid-0, #​1519)

v8.0.1

Compare Source

Typescript: export function getData (for ajv-errors)

v8.0.0

Compare Source

This document describes changes from v7.2.4 to v8.0.0.

If you are migrating from v6 you can use this document.

New features

Support JSON Schema draft-2020-12: prefixItems keyword and changed semantics of items keyword, dynamic recursive references.
OpenAPI discriminator keyword.
Improved JSON Type Definition support:

  • errors consistent with JTD specification.
  • error objects with additional properties to simplify error handling (see Error objects)
  • internationalized error messages with ajv-i18n
    TypeScript: support type unions in JSONSchemaType

Other changes / improvements

Node.js require works without .default property - see examples in Getting started
Reduce runtime dependency for standalone validation code
Fix resolution of $ref: "#" when $id is present (#​815)

Breaking changes

Option strict controls all strict mode restrictions
JSON Schema validation errors changes:

  • dataPath property replaced with instancePath
  • "should" replaced with "must" in the messages
  • property name is removed from "propertyName" keyword error message (it is still available in error.params.propertyName).

v7.2.4

Compare Source

Fix #​1515: correctly initialize evaluated properties.

v7.2.3

Compare Source

Remove docs from npm package

v7.2.2

Compare Source

Docs correction
Simplified JSONSchemaType (@​erikbrinkman)
Fix #​1493 - incorrect reporting of missing required property with option ownProperties: true
Fix #​1501 - JTD not working correctly with many properties in the schema

v7.2.1

Compare Source

Add tests and fix parsers compiled with ajv.compileParser from JTD schemas:

  • fail on invalid JSON:
    • trailing comma in arrays/objects
    • invalid JSON numbers
    • control characters in strings
  • fix parsing of u-escaped characters
  • do not fail on duplicate object keys (consistent with JSON.parse)

Compiled parsers are now:

  • consistent with JSON.parse in case of invalid JSON
  • only parse data that is valid for JTD schema

It is a breaking change for compiled parsers compared with 7.2.0 that was released earlier on the same day.

v7.2.0

Compare Source

strictRequired option (off by default) - to log or fail if properties used in JSON Schema "required" are not defined in "properties" (@​PBug90, #​1403)

Compiled parsers (as fast as JSON.parse on valid JSON, but replace validation and fail much faster on invalid JSON) and serializers (10x+ faster than JSON.stringify) from JSON Type Definition schemas (#​1454) - see examples in javascript and typescript

Please note: there are fixes to compiled parsers in 7.2.1

The website migrated to VuePress and documentation is restructured to make navigating Ajv documentation and learning easier - this is still work in progress, but already some improvement on the information structure. Any feedback/corrections would be very much appreciated!

Improved TypeScript support for JSONSchemaType:

Other improvements by @​Fdawgs (#​1466), @​t7yang (#​1472, #​1473), @​koba04 (#​1460)

v7.1.1

Compare Source

Support readonly arrays with JSONSchemaType (@​LinusU, #​1447)

v7.1.0

Compare Source

Support for JSON Type Definition RFC 8927 - a simple schema language provided as an alternative to JSON Schema.

See these docs:

Allow ":" in keyword names (#​1421, @​teq0)

v7.0.4

Compare Source

Fix: duplicate functions in standalone validation code with mutually recursive schemas (#​1361)
Fix: reference resolution when base URI change was not applied (#​1414)

v7.0.3

Compare Source

Fixes:

Docs:

v7.0.2

Compare Source

Remove duplicate functions from standalone validation code (#​1361)

v7.0.1

Compare Source

Update error message for maxLength/minLength keywords

v7.0.0

Compare Source

Please note: this document covers the changes from v6.12.6.

The main changes

  • support of JSON Schema draft-2019-09 features: unevaluatedProperties and unevaluatedItems, dynamic recursive references and other additional keywords.
  • comprehensive support for standalone validation code - compiling one or multiple schemas to standalone modules with one or multiple exports.
  • to reduce the mistakes in JSON schemas and unexpected validation results, strict mode is added - it prohibits ignored or ambiguous JSON Schema elements. See Strict mode and Options for more details
  • to make code injection from untrusted schemas impossible, code generation is fully re-written to be type-level safe against code injection.
  • to simplify Ajv extensions, the new keyword API that is used by pre-defined keywords is available to user-defined keywords - it is much easier to define any keywords now, especially with subschemas.
  • schemas are compiled to ES6 code (ES5 code generation is supported with an option).
  • to improve reliability and maintainability the code is migrated to TypeScript.
  • separate Ajv classes from draft-07 and draft-2019-09 support with different default imports (see Getting started or v7.0.0-beta.5 for the details).

Please note:

  • the support for JSON-Schema draft-04 is removed - if you have schemas using "id" attributes you have to replace them with "$id" (or continue using version 6 that will be supported until 02/28/2021).
  • all formats are separated to ajv-formats package - they have to be explicitly added if you use them.
  • Ajv instance can only be created with new keyword, as Ajv is now ES6 class.
  • browser bundles are automatically published to ajv-dist package (but still available on cdnjs.com).
  • order of schema keyword validation changed - keywords that apply to all types (allOf etc.) are now validated first, before the keywords that apply to specific data types. You can still define custom keywords that apply to all types AND are validated after type-specific keywords using option post: true in keyword definition.
  • regular expressions in keywords "pattern" and "patternProperties" are now used as if they had unicode "u" flag, as required by JSON Schema specification - it means that some regular expressions that were valid with Ajv v6 are now invalid (and vice versa).

Better TypeScript support:

  • Methods compile and compileAsync now return type-guards - see Getting started.
  • Method validate is a type-guard.
  • Better separation of asynchronous schemas on type level.
  • Type utility JSONSchemaType that generates the type for JSON Schema for type interface in the type parameter - it simplifies writing schemas (no unions support at the moment).

API changes:

  • addVocabulary - NEW method that allows to add an array of keyword definitions.
  • addKeyword - keyword name should be passed as property in definition object, not as the first parameter (old API works with "deprecated" warning). Also "inline" keywords support is removed, code generation keywords can now be defined with "code" keyword - the same definition format that is used by all pre-defined keywords
  • Ajv no longer allows to create the instance without new keyword (it is ES6 class).
Added options (and defaults):
  • strict: true - strict mode
  • strictTypes: "log" - prevent mistakes related to type keywords and keyword applicability (see Strict Types)
  • strictTuples: "log" - prevent incomplete tuple schemas (see Prohibit unconstrained tuples)
  • allowUnionTypes: false - allow multiple non-null types in "type" keyword
  • allowMatchingProperties: false - allow overlap between "properties" and "patternProperties" keywords
  • loopEnum: Infinity - optimise validation of enums, similar to loopRequired
  • validateFormats: true - enable format validation
  • code: {optimize: number|boolean} - control code optimisation
  • code: {es5: true} - generate ES5 code, the default is to generate ES6 code.
  • code: {lines: true} - add line breaks to generated code - simplifies debugging of compiled schemas when you need it
Changed options:
  • keywords - now expects the array of keyword definitions (old API works with "deprecated" warning)
Removed options:
  • errorDataPath - was deprecated, now removed.
  • format - validateFormats: false can be used instead, old format mode can be chosen via ajv-formats package.
  • nullable: nullable keyword is supported by default.
  • jsonPointers: JSONPointers are used to report errors by default, jsPropertySyntax: true (deprecated) can be used if old format is needed.
  • extendRefs: $ref siblings are validated by default (consistent with draft 2019-09), ignoreKeywordsWithRef (deprecated) can be used instead to ignore $ref siblings.
  • missingRefs: now exception is always thrown. Pass empty schema with $id that should be ignored to ajv.addSchema.
  • processCode: replaced with code: {process: (code, schemaEnv: object) => string}.
  • sourceCode: replaced with code: {source: true}.
  • schemaId: removed, as JSON Schema draft-04 is no longer supported.
  • strictDefaults, strictKeywords, strictNumbers: it is default now, controlled with strict.
  • uniqueItems: '"uniqueItems" keyword is always validated.
  • unknownFormats: the same can be achieved by passing true for formats that need to be ignored via ajv.addFormat or formats option.
  • cache and serialize: Map is used as cache, schema object as key.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/ajv-8.x branch 5 times, most recently from ddcd490 to 30241a6 Compare March 31, 2021 17:26
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 4 times, most recently from 87d7e26 to 721847e Compare April 12, 2021 11:27
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 2 times, most recently from f2a4cf6 to e87e909 Compare April 19, 2021 12:36
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from e87e909 to ef553be Compare April 26, 2021 10:51
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 4 times, most recently from ff8c457 to 6f018aa Compare May 11, 2021 12:11
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 2 times, most recently from af8ca48 to 3074c57 Compare May 20, 2021 08:16
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 3 times, most recently from 5f36657 to 06931ac Compare May 27, 2021 10:06
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from 06931ac to 4b1a823 Compare June 2, 2021 09:40
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 4 times, most recently from de51891 to 86033e3 Compare June 16, 2021 15:17
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from 86033e3 to f0d4426 Compare June 18, 2021 22:04
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 5 times, most recently from 99883e7 to fe76760 Compare July 2, 2021 13:41
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 2 times, most recently from 64d3a59 to 5013062 Compare July 27, 2021 12:56
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from 5013062 to a956592 Compare July 29, 2021 09:16
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 3 times, most recently from 71cce5a to 60669b9 Compare August 12, 2021 14:04
@renovate renovate bot force-pushed the renovate/ajv-8.x branch 2 times, most recently from 20f27e5 to c22f564 Compare August 31, 2021 07:06
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from c22f564 to 3613385 Compare September 6, 2021 13:16
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from 3613385 to d73ec41 Compare September 21, 2021 09:47
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from d73ec41 to 39a95ec Compare September 29, 2021 11:00
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from 39a95ec to e50ca1c Compare October 11, 2021 13:43
@renovate renovate bot force-pushed the renovate/ajv-8.x branch from e50ca1c to 0ed0571 Compare October 11, 2021 14:27
@amacar amacar removed their request for review October 25, 2021 08:08
@renovate
Copy link
Contributor Author

renovate bot commented Mar 23, 2023

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant