ajv on npm

6.10.0 (03 Mar 2019 11:03)

Another JSON Schema Validator


GitHub Releases

v6.10.0 v6.10.0 03 Mar 2019 11:03

Option strictDefaults to report ignored defaults (#957, @not-an-aardvark) Option strictKeywords to report unknown keywords (#781)

v6.9.0 v6.9.0 09 Feb 2019 22:02

OpenAPI keyword nullable can be any boolean (and not only true). Custom keyword definition changes:

  • dependencies option in to require the presence of keywords in the same schema.
  • more strict validation of the definition using JSON Schema.
v6.8.0 v6.8.0 02 Feb 2019 19:02

Docs: security considerations. Meta-schema for the security assessment of JSON Schemas.

v6.7.0 v6.7.0 13 Jan 2019 17:01

Option useDefaults: "empty" to replace null and "" (empty strings) with default values (in addition to assigning defaults to missing and undefined properties). Update draft-04 meta-schema to remove incorrect usage of "uri" format.

v6.6.0 v6.6.0 29 Nov 2018 07:11

Keyword "nullable" from OpenAPI spec Replaced phantomjs with headless chrome

v6.5.0 v6.5.0 08 May 2018 20:05

With option passContext, the context is now passed in recursive/mutually recursive refs (@cvlab, #768).

v6.4.0 v6.4.0 25 Mar 2018 10:03

Support URNs in $id - core url package is replaced with url-js (#423, @sondrele).

v6.3.0 v6.3.0 24 Mar 2018 15:03

Typescript declarations updated to use PromiseLike (#717, @krenor)

v6.2.0 v6.2.0 03 Mar 2018 21:03

Parameter allowedValue in the error of const keyword (#713, @marshall007).

v6.1.0 v6.1.0 29 Jan 2018 21:01

A different error message for additionalProperties error with errorDataPath: 'property' option (#671, @lehni)

v6.0.0 v6.0.0 07 Jan 2018 15:01

Changes from v5.5.2

draft-07 support:

  • if/then/else keywords
  • $comment keyword
  • default meta-schema is draft-07

Schema IDs

  • only $id keyword is used as schema ID by default.
  • schemaId option should be set to "id" or "auto" for id keyword to be used. See Options.

Formats

  • date, date-time, time: support leap year and leap second
  • json-pointer: only validates a string format of JSON pointer
  • json-pointer-uri-fragment: to validate uri-fragment format of JSON pointer

Keyword changes

  • Improved algorithm for uniqueItems keyword to validate an array of same-type scalars in one pass
  • Keywords uniqueItems and contains are validated after items and type coercion (with coerceTypes option)
  • Additional error parameters for oneOf keyword
  • Removed deprecated patternGroups keyword
  • Reserved annotation keywords: examples, readOnly, writeOnly, contentEncoding, contentMediaType.

Other

  • Defaults are now assigned inside schemas of then/else keywords.
  • Option $comment to log/pass to a function strings from $comment keyword.
  • Async schemas can only be compiled to async functions, compilation to generator functions is no longer supported.
  • Documented convention for plugins.
  • Removed v5 meta-schema.
  • Removed nodent bundle, ajv-async bundle includes nodent now.
v6.0.0-rc.1 v6.0.0-rc.1 03 Dec 2017 17:12

Only $id keyword is used as schema ID by default. schemaId option should be set to "id" or "auto" for id keyword to be used. See Options.

v6.0.0-rc.0 v6.0.0-rc.0 26 Nov 2017 10:11

Changes from v5.4.0 and v5.5.0. Defaults are now assigned inside schemas of then/else keywords. Removed deprecated patternGroups keyword and v5 meta-schema.

v5.5.0 v5.5.0 24 Nov 2017 20:11

Support chaining of methods add* and remove* (#625, @pithu), see Api.

v5.4.0 v5.4.0 20 Nov 2017 21:11

Option logger to disable logging or to specify a custom logger (#618, @meirotstein).

v6.0.0-beta.2 v6.0.0-beta.2 12 Nov 2017 10:11

Option $comment to log/pass to a function strings from draft-07 $comment keywords. Removed nodent bundle, ajv-async bundle includes nodent now. Reserved annotation keywords: examples, readOnly, writeOnly, contentEncoding, contentMediaType.

v6.0.0-beta.0 v6.0.0-beta.0 06 Nov 2017 07:11

draft-07 support:

  • if/then/else keywords
  • $comment keyword (reserved)
  • default meta-schema is draft-07

Formats:

  • date, date-time, time: support leap year and leap second
  • json-pointer: only validates a string format of JSON pointer
  • json-pointer-uri-fragment: to validate uri-fragment format of JSON pointer

Keyword changes

  • Improved algorithm for uniqueItems keyword to validate an array of same-type scalars in a single pass
  • Keywords uniqueItems and contains are validated after items and type coercion (with coerceTypes option)
  • Additional error parameters for oneOf keyword

Other

  • Async schemas can only be compiled to async functions, compilation to generator functions is no longer supported.
  • Documented convention for plugins.
v5.3.0 v5.3.0 24 Oct 2017 19:10

Replace json-stable-stringify with a faster fork without jsonify.

v5.2.0 5.2.0 16 Jun 2017 22:06

Refactor: separate "equal" into package fast-deep-equal

v5.1.0 v5.1.0 14 May 2017 11:05

Changed order of type validation - "type" keyword is now validated before keywords that apply to all types.

5.0.0 5.0.0 17 Apr 2017 14:04

This release is fully backward compatible, but it may require either migrating your schemas (recommended, e.g. using "migrate" command of ajv-cli) or changing your code that uses Ajv.

You can still use draft-04 and v5 schemas with this release (see Migration guide below).

The changes below are based on 4.11.7 version.

JSON-Schema draft-06 support

  • Support for boolean schemas: wherever a schema is required, true/false can be used in order to always pass/fail validation.
  • $id keyword is used as schema URI (previously id).
  • exclusiveMaximum and exclusiveMinimum keywords must be numbers (previously boolean).
  • additional validation keywords: const, contains, propertyNames.
  • additional formats: uri-reference, uri-template.

See Internet drafts: JSON Schema, JSON Schema Validation.

Migrating from Ajv 4.x.x

Migrate your schemas

It is a recommended approach.

Required changes
  • replace id with $id
  • update $schema
  • replace boolean form of exclusiveMaximum/Minimum with numeric form
  • replace Ajv v5 constant with const
Optional changes
  • replace enum with a single allowed value with const
  • replace empty schemas with true
  • replace schemas {"not":{}} with false

You can use "migrate" command of ajv-cli to make these changes to your schemas.

If you need to continue using draft-04 schemas

var ajv = new Ajv({
  meta: false, // optional, to prevent adding draft-06 meta-schema
  extendRefs: true, // optional, current default is to 'fail', spec behaviour is to 'ignore'
  unknownFormats: 'ignore',  // optional, current default is true (fail)
  // ...
});

var metaSchema = require('ajv/lib/refs/json-schema-draft-04.json');
ajv.addMetaSchema(metaSchema);
ajv._opts.defaultMeta = metaSchema.id;

// optional, using unversioned URI is out of spec, see https://github.com/json-schema-org/json-schema-spec/issues/216
ajv._refs['http://json-schema.org/schema'] = 'http://json-schema.org/draft-04/schema';

// Optionally you can also disable keywords defined in draft-06
ajv.removeKeyword('propertyNames');
ajv.removeKeyword('contains');
ajv.removeKeyword('const');

If you need to continue using schemas requiring v5 mode of Ajv

var ajv = new Ajv({
  $data: true,
  patternGroups: true,
  meta: false, // optional, to prevent adding draft-06 meta-schema
  extendRefs: true, // optional, current default is to 'fail', spec behaviour is to 'ignore'
  unknownFormats: 'ignore',  // optional, current default is true (fail)
  // ...
});

ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));
ajv._refs['http://json-schema.org/schema'] = 'http://json-schema.org/draft-04/schema'; // optional, using unversioned URI is out of spec
var metaSchema = require('ajv/lib/refs/json-schema-v5.json');
ajv.addMetaSchema(metaSchema);
ajv._opts.defaultMeta = metaSchema.id;

// optional - to avoid changing the schemas
ajv.addKeyword('constant', { macro: x => ({ const: x }) }); // this keyword is renamed to const in draft-06
// you need to use version "^2.0.0" of ajv-keywords
require('ajv-keywords')(ajv, ['switch', 'patternRequired', 'formatMinimum', 'formatMaximum']);

// Optionally you can also disable propertyNames keyword defined in draft-06
ajv.removeKeyword('propertyNames');

Changes

Validation keywords

Moved/deprecated:

Formats

  • Support custom formats for numbers (#291).
  • Format "regex" is changed to prohibit \Z anchor.
  • Format "uri" is changed to only allow absolute URIs, relative URIs are supported with "uri-reference".
  • Added format "url" (WHATWG URL specification).

Methods

  • Methods are no longer bound to Ajv instances (#232).
  • compileAsync method returns Promise and supports async loading of meta-schemas (#249, #334).

Options

  • schemaId determining whether $id, id or both are used.
  • $data for $data reference support.
  • ownProperties supports all keywords (#197).
  • serialize to replace json-stable-stringify with another function to serialise schemas.
  • Log warning instead of throwing exception when option meta: false is used without validateSchema: false.
  • processCode: function() {} can be used to beautify/transpile generated code.
  • beautify: true is no longer supported.
  • v5 is no longer used.

Option defaults changed:

  • extendRefs: "ignore" - when $ref is used other keywords are ignored (was true) (#294).
  • sourceCode: false - do not store source code of validation functions (was true) (#309).
  • unknownFormats: true - fail schema compilation (was "ignore") (#324).

Asynchronous validation

  • Auto-detection of async mode and transpile option support require ajv-async package.
  • Default async mode is "co*" (co-wrapped generator functions).
  • If you need to transpile code without ajv-async package, you can pass transpilation function in processCode option. See Options.
  • In case of validation success, returned Promise resolves with validated data to simplify chaining (previously it resolved with true).

Other

  • Ajv.MissingRefError class is used to throw missing $ref exception.
  • Typings are updated - typescript 2.0 is required.
  • Errors are logged using console.warn and console.error (#265).
  • Improve error handling (#380, #394).
  • Improve webpack support (#403).

Related packages

Compatible versions are:

4.11.7 4.11.7 17 Apr 2017 14:04

The last release before 5.0.0

5.0.4-beta.3 5.0.4-beta.3 08 Apr 2017 20:04

Added format "url"

5.0.4-beta.1 5.0.4-beta.1 19 Mar 2017 19:03

More comprehencive uri-reference format in {format: "full"} mode.

5.0.4-beta.0 5.0.4-beta.0 19 Mar 2017 19:03

Rename format uri-ref to uri-reference Cross-platform scripts Update draft-6 meta-schema

5.0.3-beta.0 5.0.3-beta.0 01 Mar 2017 10:03

Support $id from draft-06. Option schemaId determining whether $id, id or both are used. See Options Format "regex" is changed to prohibit \Z anchor. Format "uri" is changed to only allow absolute URIs, relative URIs are supported with "uri-ref". Run draft-06 tests from JSON-Schema-Test-Suite in addition to draft-04 tests.

5.0.2-beta.0 5.0.2-beta.0 12 Feb 2017 19:02

Support custom formats for numbers (#291) Option ownProperties supports all keywords (#197). See Options. Improve support of custom keywords with $data option.

Also see 5.0.1-beta.0 about the migration from 4.x.x

5.0.1-beta.3 5.0.1-beta.3 04 Feb 2017 23:02

Improve error handling (#380, #394) Improve webpack support (#403)

5.0.1-beta.2 5.0.1-beta.2 23 Jan 2017 21:01

Option serialize to replace json-stable-stringify with another function to serialise schemas. Support deprecated patternGroups without draft-06 meta-schema. Log warning instead of throwing exception when option meta: false is used without validateSchema: false.

5.0.1-beta.1 5.0.1-beta.1 21 Jan 2017 00:01

Same as 4.11.0 Also see 5.0.1-beta.0

4.11.0 4.11.0 21 Jan 2017 00:01

Custom keywords enhancements:

  • allow hyphens in keyword names.
  • option modifying: true in keyword definition to support keywords that change data (#392).
  • option valid: true/false in keyword definition to pre-define validation result - it allows to simplify generated code in cases when keywords are used only for side-effects (#393).
5.0.1-beta.0 5.0.1-beta.0 31 Dec 2016 00:12

If you are migrating from 4.x.x also see 5.0.0-beta.1 and Migration section below

Changes

Keyword changes

Support for all keywords included in draft 6 (it is not published yet and can change).

  • const (previously available as constant). To simplify migration you can define an alias constant as a custom macro keyword:

      ajv.addKeyword('constant', { macro: x => ({ const: x }) });
    
  • contains. It is re-implemented as a standard keyword, if none of the items is valid, errors for all items will be reported now.

  • NEW propertyNames keyword added (previously it was a part of ajv-keywords package). It allows to validate all property names rather than values.

  • exclusiveMaximum/Minimum in draft 6 must be numbers, Ajv supports boolean form too for backwards compatibility.

Moved/deprecated:

Draft 6 support

  • Support for boolean schemas: wherever a schema is required, true/false can be used in order to always pass/fail validation.
  • Meta-schema - by default Ajv adds backwards compatible draft 6 meta-schema. Its URI used in Ajv is http://json-schema.org/draft-06/schema# (it can change when draft 6 is published).

If your $schema keyword points to draft 4 or v5 meta-schema you need to add it manually:

ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));
// or
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-v5.json'));

Options

  • v5 is no longer used, for $data reference support use option $data
  • beautify: true is no longer supported.
  • processCode: function() {} can be used to beautify/transpile generated code. See Options

Asynchronous validation

  • Auto-detection of async mode and transpile option support require ajv-async package.
  • Default async mode is "co*" (co-wrapped generator functions).
  • If you need to transpile code without ajv-async package, you can pass transpilation function in processCode option. See Options.
  • In case of validation success, returned Promise resolves with validated data to simplify chaining (previously it resolved with true).

Related packages

Compatible versions are:

Migration from 4.x.x

If you use draft-04 schemas

var ajv = new Ajv({
  meta: false, // optional, to prevent adding draft-06 meta-schema
  extendRefs: true, // optional, current default is to 'fail', spec behaviour is to 'ignore'
  unknownFormats: 'ignore',  // optional, current default is true (fail)
  // ...
});

var metaSchema = require('ajv/lib/refs/json-schema-draft-04.json');
ajv.addMetaSchema(metaSchema);
ajv._opts.defaultMeta = metaSchema.id;

// optional, using unversioned URI is out of spec, see https://github.com/json-schema-org/json-schema-spec/issues/216
ajv._refs['http://json-schema.org/schema'] = 'http://json-schema.org/draft-04/schema';

// Optionally you can also disable keywords defined in draft-06
ajv.removeKeyword('propertyNames');
ajv.removeKeyword('contains');
ajv.removeKeyword('const');

If you use schemas requiring v5 mode of Ajv

var ajv = new Ajv({
  $data: true,
  patternGroups: true,
  meta: false, // optional, to prevent adding draft-06 meta-schema
  extendRefs: true, // optional, current default is to 'fail', spec behaviour is to 'ignore'
  unknownFormats: 'ignore',  // optional, current default is true (fail)
  // ...
});

ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));
ajv._refs['http://json-schema.org/schema'] = 'http://json-schema.org/draft-04/schema'; // optional, using unversioned URI is out of spec
var metaSchema = require('ajv/lib/refs/json-schema-v5.json');
ajv.addMetaSchema(metaSchema);
ajv._opts.defaultMeta = metaSchema.id;

// optional - to avoid changing the schemas
ajv.addKeyword('constant', { macro: x => ({ const: x }) }); // this keyword is renamed to const in draft-06
// you need to use version "^2.0.0-beta" of ajv-keywords
require('ajv-keywords')(ajv, ['switch', 'patternRequired', 'formatMinimum', 'formatMaximum']);

// Optionally you can also disable propertyNames keyword defined in draft-06
ajv.removeKeyword('propertyNames');
4.10.0 4.10.0 11 Dec 2016 13:12

Method getKeyword to return keyword definition. Method removeKeyword to remove custom or pre-defined keyword. See API. Fix for webpack warnings for optional dependencies (#117, #325).

5.0.0-beta.1 5.0.0-beta.1 30 Nov 2016 21:11

Ajv.MissingRefError class is used to throw missing $ref exception Typings are updated - typescript 2.0 is required now

Also see 5.0.0-beta.0

4.9.0 4.9.0 14 Nov 2016 21:11

Support undefined, RegExp and Date instances in uniqueItems keyword (#342).

5.0.0-beta.0 5.0.0-beta.0 08 Nov 2016 19:11

Methods are no longer bound to Ajv instances (#232). compileAsync method returns Promise and supports async loading of meta-schemas (#249, #334). Errors are logged using console.warn and console.error (#265). If async option is not specified, es7 native async functions are used as the primary option (if available)(#338), see Asynchronous validation. Option defaults changed (see Options):

  • extendRefs: "fail" - fail schema compilation (#294).
  • sourceCode: false - do not store source code of validation functions (#309).
  • unknownFormats: true - fail schema compilation (#324).

Defaults in version 4.x.x:

{
  extendRefs: true,
  sourceCode: true,
  unknownFormats: 'ignore'
}
4.8.0 4.8.0 16 Oct 2016 16:10

Option unknownFormats to fail schema compilation if unknown format is used or fail validation if unknown format is in v5 $data reference (#310) Support for generating standalone module exporting a validation function to be used without Ajv (using ajv-cli)

Fixes:

  • replace eval with Function constructor
  • $data: allow null as schema value in keywords that support $data reference (#305)
  • $ref: support escaped characters (#311)
  • format hostname: allow segments of hostnames to start with digit (#312)
  • extendRef option: do NOT log warning if explicitely set to true (#303)
4.7.0 4.7.0 06 Sep 2016 21:09

Reduce memory utilisation by compiled validation functions (#293, @rf):

  • replace eval with new Function (to reduce the size of scope variables of closures)
  • option sourceCode: false to optionally not store the generated code in the property of validating functions
4.6.0 4.6.0 29 Aug 2016 22:08

Support absolute JSON-pointers in $data references (#285, #289, @HotelDon). allowedValues param in "enum" keyword error (#282). Use Ajv bundle with webpack (#117, #288, @donaldpipowitch). Pass schema compilation context as the 3rd parameter to compile and macro custom keyword functions (#280). Pass root data as the 5th parameter to validation functions (including validate custom keyword function).

4.5.0 4.5.0 15 Aug 2016 21:08

Improved support of references:

  • $ref to schema fragment in methods validate and getSchema (#47).
  • $ref with protocol-relative URIs (#277)
4.4.0 4.4.0 13 Aug 2016 18:08

Option extendRefs to disable validation of other keywords when $ref is present in the schema. Support validating schemas against themselves (to allow meta-schemas where id is the same as $schema, e.g. JSON hyper meta-schema).

4.3.0 4.3.0 28 Jul 2016 23:07

Coerce between scalar data and arrays with option coerceTypes: 'array' (#158, @willfarrell). See Coercing data types.

4.2.0 4.2.0 22 Jul 2016 15:07

Custom keywords:

  • support $data reference (#146)
  • meta schema for custom keyword schemas (#230)

Improved support for mutually recursive references (#210, #240) Support control characters in JSON properties (#226)

4.1.0 4.1.0 27 May 2016 20:05

Compatibility with Android 4 Fix to incorrect change of resolution scope (#170) Support NaN validation:

  • NaN fails minimum and maximum,
  • fails "type": "integer",
  • passes "type": "number" (#182)

Option ownProperties to validate own properties only, skipping prototype properties (#197, @mbroadst)

4.0.0 4.0.0 15 Apr 2016 22:04

Keywords exclusiveFormatMaximum / exclusiveFormatMinimum are renamed to formatExclusiveMaximum / formatExclusiveMinimum to match v5 proposal (#150, @lyngaas). With option useDefaults: true insert defaults as object literal (deep-clone). Previous behaviour (to insert reference) is available with option useDefaults: "shared" (#136, @imbstack). Method addMetaSchema accepts array of schemas. Default meta-schema that will be used if $schema is not specified can be passed in option meta (#90). Additional error parameters to support v5 keywords messages in ajv-i18n. Keyword dependencies in mode allErrors: true returns an error for each missing property in property-dependencies (previously only for the first missing property) (#73). TypeScript type definitions (@blakeembrey, @enriched) Property async: true of asynchronous validation function is renamed to $async for compatibility with Meteor

3.8.0 3.8.0 28 Feb 2016 23:02

patternRequired keyword (with v5 option) (#123). ajv.removeSchema can remove multiple or all schemas from Ajv instance (#103). Asynchronous keywords can create custom errors by returning the promise that rejects with Ajv.ValidationError (#118). not keyword is optimised to always succeed after the first error in the schema (#131).

3.7.0 3.7.0 17 Feb 2016 23:02

Option passContext to pass validation context to custom keywords. Data path, parent data and the property name of the current data in the parent data are passed to the custom keywords defined with "validation" and "compile" function. Previously the were only available in "inline" validation keywords. See Custom keywords.

3.6.0 3.6.0 13 Feb 2016 21:02

ajv.validate for asynchronous schema always returns promise. ajv.removeSchema no longer throws if the schema does not exist.

3.5.0 3.5.0 01 Feb 2016 18:02

Asynchronous validation using custom keywords and formats that make some asynchronous calls/requests.

Passed Ajv options are cloned and ajv.opts is renamed to _opts. It is not recommended to modify options of the existing instance as it may lead to inconsistent behaviour in schemas with references.

Version History

Version Date
6.10.0 03 Mar 2019 11:03
6.9.2 22 Feb 2019 20:02
6.9.1 10 Feb 2019 08:02
6.9.0 09 Feb 2019 22:02
6.8.1 02 Feb 2019 20:02
6.8.0 02 Feb 2019 20:02
6.7.0 13 Jan 2019 17:01
6.6.2 16 Dec 2018 21:12
6.6.1 29 Nov 2018 10:11
6.6.0 29 Nov 2018 07:11
6.5.5 04 Nov 2018 21:11
6.5.4 23 Sep 2018 11:09
6.5.3 17 Aug 2018 16:08
6.5.2 30 Jun 2018 18:06
6.5.1 10 Jun 2018 12:06
6.5.0 08 May 2018 20:05
6.4.0 25 Mar 2018 10:03
6.3.0 17 Mar 2018 19:03
6.2.1 03 Mar 2018 21:03
6.2.0 26 Feb 2018 08:02
6.1.1 30 Jan 2018 19:01
6.1.0 26 Jan 2018 19:01
6.0.1 11 Jan 2018 22:01
6.0.0 07 Jan 2018 15:01
5.5.2 16 Dec 2017 20:12
6.0.0-rc.1 03 Dec 2017 17:12
5.5.1 02 Dec 2017 12:12
6.0.0-rc.0 26 Nov 2017 10:11
5.5.0 24 Nov 2017 20:11
5.4.0 20 Nov 2017 21:11
6.0.0-beta.2 12 Nov 2017 10:11
6.0.0-beta.1 06 Nov 2017 10:11
6.0.0-beta.0 06 Nov 2017 07:11
5.3.0 24 Oct 2017 19:10
5.2.5 24 Oct 2017 10:10
5.2.4 22 Oct 2017 15:10
5.2.3 25 Sep 2017 20:09
5.2.2 10 Jul 2017 22:07
5.2.1 06 Jul 2017 23:07
5.2.0 16 Jun 2017 23:06
5.1.6 15 Jun 2017 22:06
5.1.5 28 May 2017 19:05
5.1.4 25 May 2017 21:05
5.1.3 20 May 2017 21:05
5.1.2 19 May 2017 19:05
5.1.1 14 May 2017 22:05
5.1.0 14 May 2017 11:05
5.0.1 28 Apr 2017 20:04
4.11.8 28 Apr 2017 19:04
5.0.0 17 Apr 2017 14:04
4.11.7 17 Apr 2017 13:04
5.0.4-beta.3 08 Apr 2017 20:04
4.11.6 07 Apr 2017 22:04
5.0.4-beta.2 25 Mar 2017 16:03
5.0.4-beta.1 19 Mar 2017 19:03
5.0.4-beta.0 12 Mar 2017 18:03
4.11.5 11 Mar 2017 21:03
4.11.4 04 Mar 2017 18:03
5.0.3-beta.0 01 Mar 2017 08:03
5.0.2-beta.0 12 Feb 2017 19:02
4.11.3 12 Feb 2017 19:02
5.0.1-beta.3 04 Feb 2017 23:02
5.0.1-beta.2 23 Jan 2017 21:01
4.11.2 21 Jan 2017 21:01
4.11.1 21 Jan 2017 00:01
4.11.0 21 Jan 2017 00:01
5.0.1-beta.1 20 Jan 2017 23:01
4.10.4 05 Jan 2017 20:01
5.0.1-beta.0 31 Dec 2016 00:12
4.10.3 25 Dec 2016 00:12
4.10.2 24 Dec 2016 02:12
4.10.1 23 Dec 2016 17:12
4.10.0 11 Dec 2016 12:12
4.9.3 10 Dec 2016 22:12
4.9.2 06 Dec 2016 21:12
4.9.1 03 Dec 2016 21:12
5.0.0-beta.1 30 Nov 2016 21:11
4.9.0 14 Nov 2016 21:11
5.0.0-beta.0 08 Nov 2016 19:11
4.8.2 19 Oct 2016 23:10
4.8.1 19 Oct 2016 08:10
4.8.0 16 Oct 2016 16:10
4.7.7 05 Oct 2016 18:10
4.7.6 02 Oct 2016 17:10
4.7.5 28 Sep 2016 14:09
4.7.4 24 Sep 2016 18:09
4.7.3 22 Sep 2016 16:09
4.7.2 19 Sep 2016 19:09
4.7.1 19 Sep 2016 16:09
4.7.0 06 Sep 2016 21:09
4.6.1 30 Aug 2016 20:08
4.6.0 29 Aug 2016 22:08
4.5.0 15 Aug 2016 21:08
4.4.1 14 Aug 2016 23:08
4.4.0 07 Aug 2016 12:08
4.3.1 05 Aug 2016 19:08
4.3.0 28 Jul 2016 22:07
4.2.0 22 Jul 2016 14:07
4.1.8 21 Jul 2016 23:07
4.1.7 10 Jul 2016 17:07
4.1.6 09 Jul 2016 23:07
4.1.5 28 Jun 2016 20:06
4.1.4 26 Jun 2016 20:06
4.1.3 11 Jun 2016 11:06
4.1.2 04 Jun 2016 20:06
4.1.1 01 Jun 2016 06:06
4.1.0 27 May 2016 20:05
4.0.6 22 May 2016 01:05
4.0.5 03 May 2016 09:05
4.0.4 23 Apr 2016 18:04
4.0.3 22 Apr 2016 09:04
4.0.2 20 Apr 2016 20:04
4.0.1 18 Apr 2016 20:04
4.0.0 15 Apr 2016 23:04
3.8.10 11 Apr 2016 19:04
3.8.9 10 Apr 2016 10:04
3.8.8 31 Mar 2016 17:03
3.8.7 25 Mar 2016 20:03
3.8.6 20 Mar 2016 19:03
3.8.5 14 Mar 2016 21:03
3.8.4 09 Mar 2016 23:03
3.8.3 07 Mar 2016 06:03
3.8.2 02 Mar 2016 15:03
3.8.1 01 Mar 2016 00:03
3.8.0 28 Feb 2016 23:02
3.7.2 24 Feb 2016 09:02
3.7.1 21 Feb 2016 13:02
3.7.0 17 Feb 2016 23:02
3.6.2 14 Feb 2016 20:02
3.6.1 13 Feb 2016 22:02
3.6.0 13 Feb 2016 21:02
3.5.3 05 Feb 2016 09:02
3.5.2 04 Feb 2016 20:02
3.5.1 01 Feb 2016 23:02
3.5.0 01 Feb 2016 18:02
3.4.0 17 Jan 2016 15:01
3.3.1 16 Jan 2016 16:01
3.3.0 15 Jan 2016 07:01
3.2.3 14 Jan 2016 21:01
3.2.2 13 Jan 2016 22:01
3.2.1 13 Jan 2016 22:01
3.2.0 09 Jan 2016 14:01
3.1.1 04 Jan 2016 22:01
3.1.0 02 Jan 2016 17:01
3.0.4 30 Dec 2015 23:12
3.0.3 28 Dec 2015 12:12
3.0.2 27 Dec 2015 22:12
3.0.1 27 Dec 2015 22:12
3.0.0 27 Dec 2015 21:12
2.5.0 19 Dec 2015 19:12
2.4.0 12 Dec 2015 21:12
2.3.0 11 Dec 2015 21:12
2.2.2 07 Dec 2015 22:12
2.2.1 06 Dec 2015 22:12
2.2.0 05 Dec 2015 21:12
2.1.4 04 Dec 2015 22:12
2.1.3 29 Nov 2015 01:11
2.1.2 28 Nov 2015 22:11
2.1.0 28 Nov 2015 15:11
2.0.4 27 Nov 2015 09:11
2.0.3 26 Nov 2015 22:11
2.0.2 24 Nov 2015 06:11
2.0.1 22 Nov 2015 02:11
2.0.0 22 Nov 2015 01:11
2.0.0-beta.3 17 Nov 2015 23:11
2.0.0-beta.2 17 Nov 2015 23:11
1.4.10 17 Nov 2015 20:11
2.0.0-beta.1 14 Nov 2015 23:11
2.0.0-beta.0 13 Nov 2015 14:11
1.4.9 07 Nov 2015 14:11
1.4.8 25 Oct 2015 22:10
1.4.7 25 Oct 2015 11:10
1.4.6 25 Oct 2015 00:10
1.4.5 15 Oct 2015 17:10
1.4.4 10 Oct 2015 23:10
1.4.3 02 Oct 2015 21:10
1.4.2 23 Sep 2015 22:09
1.4.1 22 Sep 2015 22:09
1.4.0 13 Sep 2015 00:09
1.3.2 07 Sep 2015 09:09
1.3.1 02 Sep 2015 23:09
1.3.0 02 Sep 2015 23:09
1.2.1 23 Aug 2015 23:08
1.2.0 23 Aug 2015 20:08
1.1.1 23 Aug 2015 10:08
1.1.0 22 Aug 2015 21:08
1.0.1 21 Aug 2015 22:08
1.0.0 17 Aug 2015 17:08
0.7.2 16 Aug 2015 01:08
0.7.1 11 Aug 2015 07:08
0.7.0 09 Aug 2015 11:08
0.6.15 08 Aug 2015 18:08
0.6.14 08 Aug 2015 09:08
0.6.13 07 Aug 2015 00:08
0.6.12 06 Aug 2015 23:08
0.6.11 31 Jul 2015 18:07
0.6.10 30 Jul 2015 08:07
0.6.9 26 Jul 2015 10:07
0.6.8 24 Jul 2015 09:07
0.6.7 22 Jul 2015 15:07
0.6.6 21 Jul 2015 22:07
0.6.5 21 Jul 2015 22:07
0.6.4 21 Jul 2015 21:07
0.6.3 21 Jul 2015 18:07
0.6.2 20 Jul 2015 16:07
0.6.1 30 Jun 2015 23:06
0.6.0 24 Jun 2015 00:06
0.5.12 23 Jun 2015 23:06
0.5.11 23 Jun 2015 16:06
0.5.10 22 Jun 2015 13:06
0.5.9 20 Jun 2015 17:06
0.5.8 20 Jun 2015 14:06
0.5.7 19 Jun 2015 10:06
0.5.6 19 Jun 2015 00:06
0.5.5 18 Jun 2015 19:06
0.5.4 17 Jun 2015 21:06
0.5.3 17 Jun 2015 21:06
0.5.2 17 Jun 2015 15:06
0.5.0 17 Jun 2015 01:06
0.4.15 16 Jun 2015 21:06
0.4.14 16 Jun 2015 21:06
0.4.12 16 Jun 2015 17:06
0.4.10 16 Jun 2015 14:06
0.4.9 15 Jun 2015 23:06
0.4.8 15 Jun 2015 15:06
0.4.7 15 Jun 2015 10:06
0.4.6 15 Jun 2015 07:06
0.4.5 14 Jun 2015 09:06
0.4.4 14 Jun 2015 08:06
0.4.3 13 Jun 2015 22:06
0.4.2 13 Jun 2015 15:06
0.4.1 13 Jun 2015 12:06
0.4.0 13 Jun 2015 12:06
0.3.12 13 Jun 2015 09:06
0.3.11 12 Jun 2015 22:06
0.3.10 12 Jun 2015 21:06
0.3.8 12 Jun 2015 10:06
0.3.7 10 Jun 2015 22:06
0.3.6 10 Jun 2015 20:06
0.3.5 08 Jun 2015 07:06
0.3.4 08 Jun 2015 06:06
0.3.3 07 Jun 2015 23:06
0.3.2 07 Jun 2015 23:06
0.3.1 07 Jun 2015 20:06
0.3.0 07 Jun 2015 20:06
0.2.9 06 Jun 2015 18:06
0.2.8 06 Jun 2015 15:06
0.2.7 06 Jun 2015 13:06
0.2.6 06 Jun 2015 01:06
0.2.5 06 Jun 2015 01:06
0.2.4 05 Jun 2015 20:06
0.2.3 05 Jun 2015 18:06
0.2.2 04 Jun 2015 23:06
0.2.1 04 Jun 2015 22:06
0.2.0 04 Jun 2015 20:06
0.1.16 04 Jun 2015 17:06
0.1.15 03 Jun 2015 23:06
0.1.14 03 Jun 2015 23:06
0.1.13 03 Jun 2015 21:06
0.1.12 02 Jun 2015 00:06
0.1.11 01 Jun 2015 23:06
0.1.10 01 Jun 2015 22:06
0.1.9 01 Jun 2015 17:06
0.1.8 01 Jun 2015 01:06
0.1.7 31 May 2015 20:05
0.1.6 31 May 2015 17:05
0.1.5 31 May 2015 11:05
0.1.4 31 May 2015 09:05
0.1.3 31 May 2015 01:05
0.1.2 31 May 2015 00:05
0.1.1 30 May 2015 23:05
0.1.0 30 May 2015 22:05
0.0.12 30 May 2015 20:05
0.0.11 30 May 2015 18:05
0.0.10 30 May 2015 10:05
0.0.9 30 May 2015 08:05
0.0.8 30 May 2015 08:05
0.0.7 29 May 2015 23:05
0.0.6 29 May 2015 23:05
0.0.5 29 May 2015 22:05
0.0.4 29 May 2015 22:05