7.1.2 - 2020-07-01
7.1.1 - 2020-02-08
7.1.0 - 2020-01-24
- Allowing
symfony/console
5. #264
7.0.0 - 2020-01-03
- [Breaking Change] Dropped support for PHP 7.1. #257
- [Breaking Change] Dropped support for outputting compiled OpenAPI definitions to YAML in favor of simple JSON files. #258
- Upgraded
cocur/slugify
to ^4.0. #255
6.0.0 - 2019-05-16
- A new
<tags>
setting in the XML config for defining available@api-group
group names, along with an additional description. #224 - A new
<description />
setting in the<info>
XML config section for setting theinfo.description
section of compiled OpenAPI specifications. #237
- New documentation website. #219
- New hook-based compiling engine. #211
- This also speeds up changelog generation. #209
- Refined syntax for
@api-return
annotations. #236 - Removal of support for
@api-error
message string templates. #223 - Updates to the
@api-group
annotation so it's now configured through a<tags>
setting in the XML config. #224
- Now loading the full contents of a file in order to determine the FQN of the file/class. This resolves a bug where we'd pull file partials, and end up finding bad FQNs that would break documentation generation. #192
5.1.8 - 2019-05-11
- Array examples were being compiled into the wrong spot in JSON Schema objects in OpenAPI specs. #231
5.1.7 - 2019-03-29
- String boolean examples are now compiled as proper booleans into OpenAPI specs.
5.1.6 - 2019-03-04
5.1.5 - 2019-02-29
- Some more minor changes to how we document OpenAPI responses that have multiple descriptions. #226
5.1.4 - 2019-02-27
- Cleaned up how we document OpenAPI responses that have multiple descriptions. #225
5.1.3 - 2019-02-05
- Added a new
--latest
flag to thecompile
command for compiling only your latest specifications. #222
5.1.2 - 2018-12-04
- Compiled OpenAPI specifications now target OpenAPI 3.0.2. #216
- Examples in OpenAPI specifications will now match the associated type. Booleans will be booleans, ints ints, floats floats. #215
5.1.1 - 2018-12-04
- Fixed a bug where using the
--for_public_consumption
compile
argument would include documentation that was vendor tag-bound. 5d417f0
5.1.0 - 2018-12-04
- Addition of a new
--for_public_consumption
argument to thecompile
command that lets you compile public API specifications for public consumption. #214
5.0.2 - 2018-12-04
- The
bootstrap
declaration inmill.xml
is no longer required. #213
5.0.1 - 2018-11-15
- Resolved an issue in the config FQN parser where it could improperly locate class names. #210
5.0.0 - 2018-11-13
- The Contributor Covenant Code of Conduct.
- Human-friendly schema names are now compiled into the
schemas
section in OpenAPI specs. #201 @api-data
annotations now supportrequired
andoptional
flags for signaling that that piece of data is expected to always be returned in the response. The default behavior is for the annotation to berequired
. Signaling something as optional is opt-in and requires theoptional
flag. #203, #204- The
compile
command now has the ability to compile specifications for public-only or vendor-tagged documentation. #198
- Eliminating the need for
@api-label
annotations on resources. #194 - Resource methods in compiled OpenAPI specs are now sorted alphabetically.
- Compiler has been reworked to compile documentation from the resource level down. This resolves a security bug where representations that were only ever used in a private manner would be exposed to public doc generation. #199
- Subtypes are now required for
array
types. #190
- Resolved a FQN parsing bug that sometimes occurred when there were long
use
statements at the top of a file. #192
4.2.13 - 2018-07-26
- Fixed a bug in OpenAPI compilation where subtyped-arrays were always compiled as
string
. #191
4.2.12 - 2018-07-25
- Added operation IDs into compiled changelog
<span>
elements. #189
4.2.11 - 2018-07-20
- Making the TagReducer prefix matching a little less generous #188
4.2.10 - 2018-07-19
- Fixing a logic bug where
x-mill-visibility-private
extensions were set totrue
on paths that were public, and private not having them at all. #178 - No longer removing nested property declarations in data models, fixing a bug where required fields would sometimes lose their requirement tags. #187
4.2.9 - 2018-07-18
- Fixed some quirks with query parameters that had subtypes sometimes being compiled into invalid OpenAPI files. #186
4.2.8 - 2018-07-17
- Compiled OpenAPI specifications now have vendor tags,
x-mill-vendor-tag
, added to any parameters, request body, or response data that have them. #185
- Compiled OpenAPI specifications' schema models now have their properties sorted alphabetically. #185
4.2.7 - 2018-07-17
- Component schemas are now sorted alphabetically in compiled OpenAPI specifications. #184
4.2.6 - 2018-07-14
- Added
x-mill-path-aliased
andx-mill-path-aliases
extensions to compiled OpenAPI specs. #183
4.2.5 - 2018-07-11
- Removed some bad
TagReducer
unit tests. d7c2c2c
4.2.4 - 2018-07-11
- Loose tag reductions through the
TagReducer
are no longer case-sensitive. #182
4.2.3 - 2018-07-11
- Allowing OpenAPI specs to be reduced, with the
TagReducer
, with looser tag names. #181
4.2.2 - 2018-07-11
- Paths in compiled OpenAPI specification are now in alphabetical order. #180
4.2.1 - 2018-07-10
- Loosened the symfony/yaml requirements to allow
^2.0|^3.0|^4.0
instead of only^2.0
. #179
4.2.0 - 2018-07-03
- Adding
x-mill-path-template
for outputting the raw path template to the specification. Can be helpful if you want to utilize RFC 6570 templates in your specification usage. #177 - A new
environment
attribute onserver
config entries. #177 - New
--environment
flag on./bin/mill compile
that lets you compile OpenAPI specifications for specifically configured server environments. #177
- Renaming
x-mill-deprecated
todeprecated
. #177 - Renaming
x-mill-vendortags
tox-mill-vendor-tags
. #177
4.1.0 - 2018-06-29
- A new
@api-operationid
annotation for setting unique operation IDs on resource actions. #174 - OpenAPI compilation now generates individual specifications for each tag (
@api-group
). #176
- Max/min version annotations now properly support Semver patch versions during compilation. #176
4.0.0 - 2018-06-17
- OpenAPI compilation support. #16
- A new
@api-vendortag
annotation, replacing@api-capability
. #148 @api-maxversion
. Same as@api-minversion
, but the opposite. #161- Added additional relevant data to request parameters in JSON-generated changelogs. #107
- Support for subtypes to
@api-param
. #159 - A new
@api-queryparam
annotation for documenting parameters that are to be used in query strings.@api-param
now represents body payloads. #109 - New configurations:
authentication
,info
andservers
#173
- The
generate
command is now calledcompile
. #16 - Renamed
@api-throws
to@api-error
. #141 @api-error
annotations now have a new MSON syntax. #155@api-uri
is now@api-path
. #162@api-urisegment
is now@api-pathparam
. #162- The
scopes
config is now nested withinauthentication
. #173 - The
generators
config is now calledcompilers
. #16
- Now throwing an exception when
enum
annotations (annotations with member values) are written asstring
. #150 - Subtypes are now being properly converted to API Blueprint-compatible types during API Blueprint compilation. #147
- Scopes are now passed down through
@api-see
annotations, much like@api-version
is already. #140 - Multi-line enum descriptions are now supported. #160
- Non-aliased paths can no longer be selected as the primary path for a resource action. #139
@api-capability
has been removed and replaced with a new@api-vendorTag
system. #148
3.0.2 - 2018-03-21
- Cleaned up some API Blueprint verbage surrounding representation scopes.
3.0.1 - 2018-02-27
symfony/console
requirement is now^3.2 || ^4.0
.- Upgraded
vimeo/psalm
to v1.0
3.0.0 - 2018-02-01
- A new object hydration system. #127
./mill --version
will now display the version of Mill you have installed. #131
- Upped the library requirement to PHP 7.1 #13
- Renamed
@api-uri
"group" arguments to "namespace". #132
- Support for multiple
@api-see
on the same representation data. #134 - Sample data that was
0
would not get generated into API Blueprint files. #125 - Private documentation could be exposed in changelogs. #119
2.6.4 - 2018-01-11
- Slightly revised the wording of our changelog templates.
2.6.3 - 2017-12-12
- Returning
visible
inReturnAnnotation->toArray()
calls.
2.6.2 - 2017-11-03
- Slightly altered the wording on scope and multi-exception entries in generated API Blueprint files.
2.6.1 - 2017-09-02
- Fixed a bug where annotations that were documented as being public, but behind a capability were being exposed under some circumstances.
2.6.0 - 2017-08-25
- A new
errors
command for generating Markdown representation of all documented API errors. - Support for
nullable
flags in MSON-supported annotations. #104
- Compatibility issues with
enum
parameter types in compiled API Blueprint files. #113
2.5.6 - 2017-08-18
- Changelog versions are now sorted with SemVer rules.
2.5.5 - 2017-08-16
- No longer watermarking compiled API Blueprint
api.apib
files with a link to Mill and the time of generation.
2.5.4 - 2017-07-25
- Fixed some PHP 5.4 compatibility issues with the new changelog work.
2.5.3 - 2017-07-24
- JSON formatted changelogs now have more relevant data attributes in their HTML elements.
2.5.2 - 2017-07-17
- Better grouping of like-resource grouped items in generated changelogs.
2.5.1 - 2017-07-11
- Removed the newly added in 2.5.0 dependency,
doctrine/collections
, because it requires >=PHP 5.6, and Mill 2.x still needs to support PHP 5.4.
2.5.0 - 2017-07-10
- Added a new
releaseDate
attribute, and description content, toversions
configs. This data is added into generated changelogs.
2.4.0 - 2017-06-29
- JSON changelog generation content now has important pieces of information wrapped in styleable HTML elements.
2.3.2 - 2017-06-28
- URI aliases are now filtered according to your filter settings when generating documentation.
2.3.1 - 2017-06-27
- Flipped the logic on capability-locked documentation in the generator from an empty array implying no capabilities, null representing all.
2.3.0 - 2017-06-27
- Added support for generating visibility-specific changelogs. #97
2.2.2 - 2017-06-15
- Added resource action descriptions into generated API Blueprint files.
2.2.1 - 2017-06-15
- No longer adding
Content-Type
header sections into generated API Blueprint files.
2.2.0 - 2017-06-12
- A new
changelog
command that will generate a Markdown-representation changelog from your API docs. #10
2.1.1 - 2017-05-25
- Fixed a bug where
@api-scope
annotations with@api-data
weren't cascading into dot-notation children. #92
2.1.0 - 2017-05-22
- Added support for
@api-scope
annotations alongside@api-data
. #90
2.0.6 - 2017-05-19
- Representation data with an
enum
subtype wasn't getting any present enum member values compiled into API Blueprint files. #85
2.0.5 - 2017-05-19
- The first Item in a MSON members is now selected as the available sample data if no sample data was present. #81
@api-version
and@api-capability
annotations now carry down into their dot-notation child elements. #80- Dot-notation elements, with a depth of at least 1, and didn't have any documented parents of siblings, weren't getting compiled into API Blueprint files. #82
2.0.4 - 2017-05-17
- Added support for
date
types in MSON-supported annotations.
2.0.3 - 2017-05-16
Fixed a PHP 5.4 incompatibility with a class constant being broken up on multiple lines with string concatenation.
2.0.2 - 2017-05-12
- You can now have multiple
@api-data
annotations within the same docblock. #79
2.0.1 - 2017-05-12
- API Blueprint data entries are now suffixed with a colon if they have sample data present.
2.0.0 - 2017-05-10
@api-see
annotations now have support for static/self targets. #76- Added some API Blueprint validation into the build process. #64
- Introduction of a new Mill-flavored MSON syntax for parameters, URI segments, and representation data. #42
- Replacing representation usage of
@api-label
,@api-field
,@api-type
,@api-subtype
,@api-options
, and@api-capability
with a new@api-data
annotation.
- Replacing representation usage of
1.6.8 - 2017-05-05
- Support for a new
alias
decorator on@api-uri
annotations. #71
1.6.7 - 2017-04-21
@api-contentType
annotations now have support for versioning. #65
1.6.6 - 2017-04-20
- API Blueprint headers need to be indented 3x. #60
1.6.5 - 2017-04-20
@api-uriSegment
annotations with enum values now have those values represented in generated API Blueprint files. #59
1.6.4 - 2017-04-20
- Generated API Blueprint files now contain
Content-Type
headers from the@api-contentType
annotation. #57
1.6.3 - 2017-04-12
- Restricted the
@api-param
enum value regex so it would no longer attempt to match any Markdown in parameter descriptions #55
1.6.2 - 2017-03-24
- Trailing whitespace on any enum value declarations has been trimmed during parsing. #52
1.6.1 - 2017-03-20
- Parameter and representation enums are now alphabetized during parsing. #49
1.6.0 - 2017-03-20
- API Blueprint files are now compiled with data structures. #47
- Added a new
generators
config that lets you exclude documentation groups from being compiled into API Blueprint files. #48
- API Blueprint files are now compiled into three separate files and directories. #47
resources/
- Previous resource groups.representations/
- Data representations.api.apib
- Combined file of groups and representations.
1.5.0 - 2017-03-14
@api-param
types are now strict to what we support for API Blueprint compilation. #45
1.4.0 - 2017-03-06
- Better code coverage. #32
- Tests to verify that SemVer patch versioning works with the generator. #36
- All resource parameters are now alphabetized during parsing. #38
- Versions attached to
@api-see
annotations now carry down through to anything found from that lookup. #33
1.3.0 - 2017-02-07
- Contributing guidelines
- Rewrote the versioning backend to have 100% support for SemVer constraints. #27
1.2.0 - 2017-02-04
- Merged the
exclude
andignores
config systems into a singleexcludes
declaration. #24 @api-return
annotations no longer require a representation. #25
1.1.0 - 2017-02-03
- Representations are now properly versioned in compiled API Blueprint files. #23
- First release!