All Versions
17
Latest Version
Avg Release Cycle
139 days
Latest Release
-

Changelog History
Page 2

  • v2.2 Changes

    October 17, 2017
    • ๐Ÿ‘€ Treat unknown properties as validation errors in validateToJSON (see #126);
    • โž• Add validateJSON and validateJSONWithPatternChecker to validate JSON Value against Schema without classes (see #126);
    • โž• Add more Schema helpers (see #126):
      • genericNameSchema โ€” to give a custom schema Generic-based name;
      • genericDeclareNamedSchemaNewtype โ€” to derive NamedSchema for newtypes;
      • declareSchemaBoundedEnumKeyMapping โ€” to derive more specific Schema for maps with Bounded Enum keys;
    • โž• Add a few tests with invalid Schema.
  • v2.1.6 Changes

    • โž• Add ToParamSchema and ToSchema instances for Fixed (see #121) and Natural (see #123);
    • ๐Ÿ›  Fix instance for NominalDiffTime (see #121);
    • ๐Ÿ›  Fix build for aeson-1.2.2.0 (see #125).
  • v2.1.5 Changes

    • ๐Ÿ‘€ Type error by default when deriving Generic-based instances for mixed sum types (see #118);
    • ๐Ÿ‘€ Adjust allOf to accept referenced schemas (see #119);
    • โž• Add instances for Identity (see #116);
    • โž• Add Gitter chat badge (see #114).
  • v2.1.4 Changes

    • โž• Add liftDeclare (see #100);
    • โž• Add MonadDeclare instances for all monad transformers (see #100).
  • v2.1.4.1 Changes

    • ๐Ÿ‘€ GHC-8.2 support (see #95, #106 and #108);
    • ๐Ÿ“š Documentation corrections (see #105);
    • ๐Ÿ‘ Allow generics-sop-0.3 (see #102);
    • ๐Ÿ›  Fix ToSchema example in docs (see #104).
  • v2.1.3 Changes

    • โž• Add UUID instances (see #81).
    • โž• Add TypeError ToSchema and ToParamSchema ByteString instances (see #78)
    • ๐Ÿ‘Œ Improve documentation for generic sum type instance derivation (see #75)
    • ๐Ÿ‘€ Compile warning free (see #82)
  • v2.1.2.1 Changes

    • ๐Ÿ› Bug fix previous release

    2.1.2

    • Minor changes:
      • Support aeson-1.0.0.0 (see #70).

    2.1.1

    • Minor changes:
      • Proper Schema examples for Char, Day, LocalTime, ZonedTime and UTCTime.

    2.1

    • Major changes:
      • Use InsOrdHashMap to preserve insertion order for endpoints and definitions (see #56);
      • Add support for GHC 8.0 (see #65).

    2.0.2

    • ๐Ÿ›  Fixes:
      • Fix additionalProperties to allow references;
      • Fix ToSchema instances for Map and HashMap (prevent infinite recursion for recursive values).

    2.0.1

    • ๐Ÿ›  Fixes:
      • Re-export Pattern synonym from Data.Swagger;
      • Documentation fixes.

    2.0

    • Major changes:

      • GHC 7.8 support (see #49);
      • Switch to classy field lenses (see #41);
      • Add Data.Swagger.Schema.Validation (see #18);
      • Add Data.Swagger.Operation with helpers (see #50);
      • Add IsString instances for some types (see #47);
      • Add helpers to sketch Schema from JSON (see #48).
    • Minor changes:

      • Make NamedSchema a data rather than type (see #42);
      • Change Definitions to Definitions Schema;
      • Add schema templates for "binary", "byte" and "password" formats (see 63ed597);
      • Add Monoid instance for Contact;
      • Change tags to be Set rather than list.
    • ๐Ÿ›  Fixes:

      • Fix schema for () and nullary constructors (see ab65c4a);
      • Fix Operation FromJSON instance to allow missing tags and parameters properties.

    1.2.1

    • Minor changes:

      • Change _SwaggerItemsPrimitive type from a Prism' to a more restrictive Review-like Optic'.
    • ๐Ÿ›  Fixes:

      • Fix build for GHC 8.0-rc1.

    1.2

    • ๐Ÿ‘€ Minor changes (see #36):

      • Change default ToSchema instance for unit data types (i.e. types with one nullable constructor like data Unit = Unit): now these types are treated like sum types with only one alternative;
      • Add generic ToParamSchema instance for unit data types;
      • Add items: [] to schema for () (making it a valid schema).
    • ๐Ÿ›  Fixes:

      • Do not omit items: [] from Schema JSON;
      • Do not generate unused definitions for nested newtypes (see #38).

    1.1.1

    • ๐Ÿ›  Fixes:
      • CollectionFormat Param -> CollectionFormat ParamOtherSchema; this change was necessary after putting CollectionFormat to SwaggerItems.

    1.1

    • Major changes:

      • Put CollectionFormat in one place (see 3cc860d).
    • Minor changes:

      • Use Swagger formats for Int32, Int64, Float, Double, Day and ZonedTime (see #32);
      • Export HeaderName, TagName, HttpStatusCode type synonyms;
      • Add ToParamSchema instances for [a], Set a and HashSet a;
      • Add Monoid instances for Header and Example.
    • ๐Ÿ›  Fixes:

      • Use overwrite strategy for HashMap SwaggerMonoid instances by default.

    1.0

    • Major changes:

      • Add Data and Typeable instances for Data.Swagger types;
      • Merge ParamType/ItemsType/SchemaType into SwaggerType GADT;
      • Merge collection format types into CollectionFormat GADT;
      • Introduce SwaggerItems GADT, replacing Items and SchemaItems in ParamSchema (see #24);
      • Move type, format and items fields to ParamSchema (former SchemaComon);
      • Prepend reference path automatically (see commit 49d1fad) and thus remove "#/definitions/" from user code, leaving much clearer Reference "Name";
      • Change Data.Swagger.Schema (see #19):
        • Change the only method of ToSchema to declareNamedSchema which should produce a NamedSchema along with a list of schema definitions used to produce it;
        • Add declareSchema, declareSchemaRef;
        • Replace genericTo* helpers with genericDeclare* helpers;
        • Add paramSchemaTo[Named]Schema helpers to facilitate code reuse for primitive schemas;
        • Add helpers for inlining Schema references dynamically (see #23);
      • Add ToParamSchema class (see #17) with
        • generic default implementation and
        • instances for some base types compliant with http-api-data instances;
      • Add Data.Swagger.Declare module with
        • DeclareT monad transformer;
        • MonadDeclare type class;
        • various helpers;
      • Rename parameter-related types:
        • Parameter -> Param;
        • ParameterSchema -> ParamAnySchema;
        • ParameterOtherSchema -> ParamOtherSchema;
        • ParameterLocation -> ParamLocation;
        • SchemaCommon -> ParamSchema;
        • parameter* fields renamed to param* fields;
        • schemaCommon* fields renamed to paramSchema* fields;
        • HasSchemaCommon -> HasParamSchema.
    • Minor changes:

      • Replace TH-generated JSON instances with Generic-based (see #25);
      • Drop template-haskell dependency;
      • Omit empty array/object properties from toJSON output (#22);
      • Remove minLength property from schemas for time types;
      • Move SchemaOptions to Data.Swagger.SchemaOptions;
      • Remove useReferences from SchemaOptions (see #23);
      • Place all internal submodules under Data.Swagger.Internal;
      • Better documentation (see #26).

    0.4.1

    • ๐Ÿ›  Fixes:
      • Use PackageImports for Data.HashSet to avoid test failure on stackage (see #15);
      • Add an upper version bound for aeson due to aeson-0.10.0.0 bug (see bos/aeson#293);
      • Switch to Cabal-based multi GHC Travis config.

    0.4

    • โœ‚ Remove Swagger/swagger prefixes;
    • โž• Add ToSchema type class with default generic implementation;
    • โž• Add configurable generic ToSchema helpers;
    • โž• Add doctest test suite;
    • ๐Ÿ›  Fixes:
      • Fix HasSchemaCommon instance for Schema;
      • Change minimum, maximum and multipleOf properties to be any number, not necessarily an integer;
      • Fix all warnings.

    0.3

    • ๐Ÿ›  Fixes:
      • Fix SwaggerMonoid Text instance;
      • Wrap Bool in Maybe everywhere;
      • These changes make all Data.Swagger Monoid instances obey monoid laws (previously right identity law was broken by some instances).

    0.2

    • โž• Add Data.Swagger.Lens;
    • ๐Ÿ‘Œ Support references;
    • ๐Ÿ›  Fixes:
      • Fix FromJSON SwaggerHost instance;
      • Add missing Maybes for field types;
      • Decode petstore swagger.json successfully.