git.iko.soy/typeable/swagger2
on v2.1.1 help sign in
typeable/swagger2/CHANGELOG.md
169 lines 7.6 kB history raw
12.1.1
2---
4* Minor changes:
5 * Proper `Schema` examples for `Char`, `Day`, `LocalTime`, `ZonedTime` and `UTCTime`.
72.1
8---
10* Major changes:
11 * Use `InsOrdHashMap` to preserve insertion order for endpoints and definitions (see [#56](https://github.com/GetShopTV/swagger2/pull/56));
12 * Add support for GHC 8.0 (see [#65](https://github.com/GetShopTV/swagger2/pull/65)).
142.0.2
15---
17* Fixes:
18 * Fix `additionalProperties` to allow references;
19 * Fix `ToSchema` instances for `Map` and `HashMap` (prevent infinite recursion for recursive values).
212.0.1
22---
24* Fixes:
25 * Re-export `Pattern` synonym from `Data.Swagger`;
26 * Documentation fixes.
282.0
29---
31* Major changes:
32 * GHC 7.8 support (see [#49](https://github.com/GetShopTV/swagger2/pull/49));
33 * Switch to classy field lenses (see [#41](https://github.com/GetShopTV/swagger2/pull/41));
34 * Add `Data.Swagger.Schema.Validation` (see [#18](https://github.com/GetShopTV/swagger2/pull/18));
35 * Add `Data.Swagger.Operation` with helpers (see [#50](https://github.com/GetShopTV/swagger2/pull/50));
36 * Add `IsString` instances for some types (see [#47](https://github.com/GetShopTV/swagger2/pull/47));
37 * Add helpers to sketch `Schema` from JSON (see [#48](https://github.com/GetShopTV/swagger2/pull/48)).
39* Minor changes:
40 * Make `NamedSchema` a `data` rather than `type` (see [#42](https://github.com/GetShopTV/swagger2/pull/42));
41 * Change `Definitions` to `Definitions Schema`;
42 * Add schema templates for `"binary"`, `"byte"` and `"password"` formats (see [63ed597](https://github.com/GetShopTV/swagger2/commit/63ed59736dc4f942f0e2a7d668d7cee513fa9eaf));
43 * Add `Monoid` instance for `Contact`;
44 * Change `tags` to be `Set` rather than list.
46* Fixes:
47 * Fix schema for `()` and nullary constructors (see [ab65c4a](https://github.com/GetShopTV/swagger2/commit/ab65c4a48253c34f8a88221a53dc97bf5e6e8d29));
48 * Fix `Operation` `FromJSON` instance to allow missing `tags` and `parameters` properties.
501.2.1
51---
53* Minor changes:
54 * Change `_SwaggerItemsPrimitive` type from a `Prism'` to a more restrictive `Review`-like `Optic'`.
56* Fixes:
57 * Fix build for GHC 8.0-rc1.
591.2
60---
61* Minor changes (see [#36](https://github.com/GetShopTV/swagger2/pull/36)):
62 * Change default `ToSchema` instance for unit data types (i.e. types with one nullable constructor like `data Unit = Unit`):
63 now these types are treated like sum types with only one alternative;
64 * Add generic `ToParamSchema` instance for unit data types;
65 * Add `items: []` to schema for `()` (making it a valid schema).
67* Fixes:
68 * Do not omit `items: []` from `Schema` JSON;
69 * Do not generate unused definitions for nested `newtype`s (see [#38](https://github.com/GetShopTV/swagger2/pull/38)).
711.1.1
72---
73* Fixes:
74 * `CollectionFormat Param` -> `CollectionFormat ParamOtherSchema`;
75 this change was necessary after putting `CollectionFormat` to `SwaggerItems`.
771.1
78---
79* Major changes:
80 * Put `CollectionFormat` in one place (see [`3cc860d`](https://github.com/GetShopTV/swagger2/commit/3cc860dd3f002ab984f4d0e4ce1d1799f985832e)).
82* Minor changes:
83 * Use Swagger formats for `Int32`, `Int64`, `Float`, `Double`, `Day` and `ZonedTime` (see [#32](https://github.com/GetShopTV/swagger2/pull/32));
84 * Export `HeaderName`, `TagName`, `HttpStatusCode` type synonyms;
85 * Add `ToParamSchema` instances for `[a]`, `Set a` and `HashSet a`;
86 * Add `Monoid` instances for `Header` and `Example`.
88* Fixes:
89 * Use overwrite strategy for `HashMap` `SwaggerMonoid` instances by default.
911.0
92---
93* Major changes:
94 * Add `Data` and `Typeable` instances for `Data.Swagger` types;
95 * Merge `ParamType`/`ItemsType`/`SchemaType` into `SwaggerType` GADT;
96 * Merge collection format types into `CollectionFormat` GADT;
97 * Introduce `SwaggerItems` GADT, replacing `Items` and `SchemaItems` in `ParamSchema` (see [#24](https://github.com/GetShopTV/swagger2/pull/24));
98 * Move type, format and items fields to `ParamSchema` (former `SchemaComon`);
99 * Prepend reference path automatically (see [commit 49d1fad](https://github.com/GetShopTV/swagger2/commit/49d1fadd2100644e70c442667180d0d73e107a5f))
100 and thus remove `"#/definitions/"` from user code, leaving much clearer `Reference "Name"`;
101 * Change `Data.Swagger.Schema` (see [#19](https://github.com/GetShopTV/swagger2/pull/19)):
102 * Change the only method of `ToSchema` to `declareNamedSchema` which should produce a `NamedSchema`
103 along with a list of schema definitions used to produce it;
104 * Add `declareSchema`, `declareSchemaRef`;
105 * Replace `genericTo*` helpers with `genericDeclare*` helpers;
106 * Add `paramSchemaTo[Named]Schema` helpers to facilitate code reuse for primitive schemas;
107 * Add helpers for inlining `Schema` references dynamically (see [#23](https://github.com/GetShopTV/swagger2/pull/23));
108 * Add `ToParamSchema` class (see [#17](https://github.com/GetShopTV/swagger2/pull/17)) with
109 * generic default implementation and
110 * instances for some base types compliant with `http-api-data` instances;
111 * Add `Data.Swagger.Declare` module with
112 * `DeclareT` monad transformer;
113 * `MonadDeclare` type class;
114 * various helpers;
115 * Rename parameter-related types:
116 * `Parameter` -> `Param`;
117 * `ParameterSchema` -> `ParamAnySchema`;
118 * `ParameterOtherSchema` -> `ParamOtherSchema`;
119 * `ParameterLocation` -> `ParamLocation`;
120 * `SchemaCommon` -> `ParamSchema`;
121 * `parameter*` fields renamed to `param*` fields;
122 * `schemaCommon*` fields renamed to `paramSchema*` fields;
123 * `HasSchemaCommon` -> `HasParamSchema`.
125* Minor changes:
126 * Replace TH-generated JSON instances with `Generic`-based (see [#25](https://github.com/GetShopTV/swagger2/pull/25));
127 * Drop `template-haskell` dependency;
128 * Omit empty array/object properties from `toJSON` output ([#22](https://github.com/GetShopTV/swagger2/pull/22));
129 * Remove `minLength` property from schemas for `time` types;
130 * Move `SchemaOptions` to `Data.Swagger.SchemaOptions`;
131 * Remove `useReferences` from `SchemaOptions` (see [#23](https://github.com/GetShopTV/swagger2/pull/23));
132 * Place all internal submodules under `Data.Swagger.Internal`;
133 * Better documentation (see [#26](https://github.com/GetShopTV/swagger2/pull/26)).
1350.4.1
136---
137* Fixes:
138 * Use `PackageImports` for `Data.HashSet` to avoid test failure on stackage (see [#15](https://github.com/GetShopTV/swagger2/issues/15));
139 * 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));
140 * Switch to Cabal-based multi GHC Travis config.
1420.4
143---
144* Remove `Swagger`/`swagger` prefixes;
145* Add `ToSchema` type class with default generic implementation;
146* Add configurable generic `ToSchema` helpers;
147* Add `doctest` test suite;
148* Fixes:
149 * Fix `HasSchemaCommon` instance for `Schema`;
150 * Change `minimum`, `maximum` and `multipleOf` properties to be any number,
151 not necessarily an integer;
152 * Fix all warnings.
1540.3
155---
156* Fixes:
157 * Fix `SwaggerMonoid Text` instance;
158 * Wrap `Bool` in `Maybe` everywhere;
159 * These changes make all `Data.Swagger` `Monoid` instances obey monoid laws
160 (previously right identity law was broken by some instances).
1620.2
163---
164* Add `Data.Swagger.Lens`;
165* Support references;
166* Fixes:
167 * Fix `FromJSON SwaggerHost` instance;
168 * Add missing `Maybe`s for field types;
169 * Decode petstore `swagger.json` successfully.