git.iko.soy/typeable/swagger2
on v1.2 help sign in
typeable/swagger2/CHANGELOG.md
111 lines 5.4 kB history raw
11.2
2---
3* Minor changes (see [#36](https://github.com/GetShopTV/swagger2/pull/36)):
4 * Change default `ToSchema` instance for unit data types (i.e. types with one nullable constructor like `data Unit = Unit`):
5 now these types are treated like sum types with only one alternative;
6 * Add generic `ToParamSchema` instance for unit data types;
7 * Add `items: []` to schema for `()` (making it a valid schema).
9* Fixes:
10 * Do not omit `items: []` from `Schema` JSON;
11 * Do not generate unused definitions for nested `newtype`s (see [#38](https://github.com/GetShopTV/swagger2/pull/38)).
131.1.1
14---
15* Fixes:
16 * `CollectionFormat Param` -> `CollectionFormat ParamOtherSchema`;
17 this change was necessary after putting `CollectionFormat` to `SwaggerItems`.
191.1
20---
21* Major changes:
22 * Put `CollectionFormat` in one place (see [`3cc860d`](https://github.com/GetShopTV/swagger2/commit/3cc860dd3f002ab984f4d0e4ce1d1799f985832e)).
24* Minor changes:
25 * Use Swagger formats for `Int32`, `Int64`, `Float`, `Double`, `Day` and `ZonedTime` (see [#32](https://github.com/GetShopTV/swagger2/pull/32));
26 * Export `HeaderName`, `TagName`, `HttpStatusCode` type synonyms;
27 * Add `ToParamSchema` instances for `[a]`, `Set a` and `HashSet a`;
28 * Add `Monoid` instances for `Header` and `Example`.
30* Fixes:
31 * Use overwrite strategy for `HashMap` `SwaggerMonoid` instances by default.
331.0
34---
35* Major changes:
36 * Add `Data` and `Typeable` instances for `Data.Swagger` types;
37 * Merge `ParamType`/`ItemsType`/`SchemaType` into `SwaggerType` GADT;
38 * Merge collection format types into `CollectionFormat` GADT;
39 * Introduce `SwaggerItems` GADT, replacing `Items` and `SchemaItems` in `ParamSchema` (see [#24](https://github.com/GetShopTV/swagger2/pull/24));
40 * Move type, format and items fields to `ParamSchema` (former `SchemaComon`);
41 * Prepend reference path automatically (see [commit 49d1fad](https://github.com/GetShopTV/swagger2/commit/49d1fadd2100644e70c442667180d0d73e107a5f))
42 and thus remove `"#/definitions/"` from user code, leaving much clearer `Reference "Name"`;
43 * Change `Data.Swagger.Schema` (see [#19](https://github.com/GetShopTV/swagger2/pull/19)):
44 * Change the only method of `ToSchema` to `declareNamedSchema` which should produce a `NamedSchema`
45 along with a list of schema definitions used to produce it;
46 * Add `declareSchema`, `declareSchemaRef`;
47 * Replace `genericTo*` helpers with `genericDeclare*` helpers;
48 * Add `paramSchemaTo[Named]Schema` helpers to facilitate code reuse for primitive schemas;
49 * Add helpers for inlining `Schema` references dynamically (see [#23](https://github.com/GetShopTV/swagger2/pull/23));
50 * Add `ToParamSchema` class (see [#17](https://github.com/GetShopTV/swagger2/pull/17)) with
51 * generic default implementation and
52 * instances for some base types compliant with `http-api-data` instances;
53 * Add `Data.Swagger.Declare` module with
54 * `DeclareT` monad transformer;
55 * `MonadDeclare` type class;
56 * various helpers;
57 * Rename parameter-related types:
58 * `Parameter` -> `Param`;
59 * `ParameterSchema` -> `ParamAnySchema`;
60 * `ParameterOtherSchema` -> `ParamOtherSchema`;
61 * `ParameterLocation` -> `ParamLocation`;
62 * `SchemaCommon` -> `ParamSchema`;
63 * `parameter*` fields renamed to `param*` fields;
64 * `schemaCommon*` fields renamed to `paramSchema*` fields;
65 * `HasSchemaCommon` -> `HasParamSchema`.
67* Minor changes:
68 * Replace TH-generated JSON instances with `Generic`-based (see [#25](https://github.com/GetShopTV/swagger2/pull/25));
69 * Drop `template-haskell` dependency;
70 * Omit empty array/object properties from `toJSON` output ([#22](https://github.com/GetShopTV/swagger2/pull/22));
71 * Remove `minLength` property from schemas for `time` types;
72 * Move `SchemaOptions` to `Data.Swagger.SchemaOptions`;
73 * Remove `useReferences` from `SchemaOptions` (see [#23](https://github.com/GetShopTV/swagger2/pull/23));
74 * Place all internal submodules under `Data.Swagger.Internal`;
75 * Better documentation (see [#26](https://github.com/GetShopTV/swagger2/pull/26)).
770.4.1
78---
79* Fixes:
80 * Use `PackageImports` for `Data.HashSet` to avoid test failure on stackage (see [#15](https://github.com/GetShopTV/swagger2/issues/15));
81 * Add an upper version bound for `aeson` due to `aeson-0.10.0.0` bug (see [bos/aeson#293](https://github.com/bos/aeson/issues/293));
82 * Switch to Cabal-based multi GHC Travis config.
840.4
85---
86* Remove `Swagger`/`swagger` prefixes;
87* Add `ToSchema` type class with default generic implementation;
88* Add configurable generic `ToSchema` helpers;
89* Add `doctest` test suite;
90* Fixes:
91 * Fix `HasSchemaCommon` instance for `Schema`;
92 * Change `minimum`, `maximum` and `multipleOf` properties to be any number,
93 not necessarily an integer;
94 * Fix all warnings.
960.3
97---
98* Fixes:
99 * Fix `SwaggerMonoid Text` instance;
100 * Wrap `Bool` in `Maybe` everywhere;
101 * These changes make all `Data.Swagger` `Monoid` instances obey monoid laws
102 (previously right identity law was broken by some instances).
1040.2
105---
106* Add `Data.Swagger.Lens`;
107* Support references;
108* Fixes:
109 * Fix `FromJSON SwaggerHost` instance;
110 * Add missing `Maybe`s for field types;
111 * Decode petstore `swagger.json` successfully.