documentation home

Release Notes

v2.0.3

(Release January 4, 2017 - Happy New Year!)

  • Bugfixes
    • Fixes JDK 1.8 compatibility bug where some interfaces would be duplicated.

v2.0.2

(Release: November 15, 2016)

  • Improvements/New Features:

  • Bugfixes:

    • Fixes a bug where root level REST interfaces were not displayed in the miredot documentation or in some cases would cause the documentation to keep loading indefinitely.
    • Fixes the use of @JsonProperty whenever @JsonAutoDetect has everything disabled.
    • Fixes bug with usage of relative output paths.

v2.0.1

(Released: August 4th, 2016)

  • Improvements/New Features:

    • Allows for multiple exceptions to be mapped to the same status code in gradle (see Status codes config).
  • Bugfixes:

    • Fixes Java 8 incompatibility issue.
    • Adds support for running miredot as a gradle script plugin.
    • Fixes the display of paths that contains regular expressions in the documentation viewer.

v2.0

(Released: July 5th, 2016)

  • Bugfixes:
    • Better handling of SSL exceptions with older JDKs.

v2.0-RC3

(Released: June 10th, 2016)

  • Improvements/New Features:

    • Gradle class loader isolation.
  • Bugfixes:

    • Fix in Generic type deduction.

v2.0-RC2 (Ramping up to the 2.0 Release!)

(Released: April 11th, 2016)

  • Improvements/New Features:

    • Improves performance for large projects
    • Improves offline build file locking for multiple Miredot instances.
  • Bugfixes:

    • Removes client errors when REST urls are too long

v2.0-RC1 (Friction free licensing, RAML output, multi-module projects)

(Released: March 10th, 2016)

  • Improvements/New Features:

    • Introducing friction free licensing.
    • Support for generating RAML.
    • Multi-module projects support (Gradle and Maven). Generate a single documentation for all your modules / micro-services. (See Multi-module projects.)
    • Jackson JAXB annotation support (see Supported Frameworks).
    • Spring-MVC now supports @RequestMapping at the class level with a default GET HTTP method.
    • Support for custom HTTP verbs (JAX-RS).
    • @BeanParam constructor notation support (JAX-RS).
    • Guava and Java 8 Optional types are transparently unwrapped in JSON payloads.
    • Type replacements now support generics (see Type replacements).
    • Added support for passing a Class object to the @ReturnType and @BodyType annotations (see ReturnType).
    • Sub-resource locators can now return Class<T> objects.
    • @RequestHeader is now supported (Spring-MVC, see Supported Frameworks).
    • Added support for Apache-CXF style xml configuration files (see CXF configuration).
    • defaultValue of @RequestParam is now supported for Spring-MVC (see Supported Frameworks).
    • You can now fail the build when Miredot encounters an internal error (see Fail on error).
    • Added @JsonValue support for enums.
    • Added an issue analysis check for overly large payloads where the generated documentation could have performance issues (see Code analysis).
    • Added an issue analysis to check if a path is malformed (see Code analysis).
    • @ApplicationPath is now supported (JAX-RS, see Supported Frameworks)
    • Parameters annotated with @AuthenticationPrincipal are now ignored.
    • Moved authentication indicator on generated site in front of HTTP method.
    • Added support for wildcard types with bounds as generic parameters.
    • Added support for generics to @JsonCreator annotation.
    • @MireDotIgnore now also works on property methods of payloads (see MireDotIgnore).
    • Revamped status code handling (see Status codes).
  • Bugfixes:

    • Unnecessary WARN logs are moved to INFO.
    • Interfaces that have their javadoc in a different location as the annotations are now correctly documented.
    • Spring-MVC's @RequestMapping now works correctly when dealing with inheritance.
    • Made issue analysis more robust.
    • javax.* classes are no longer processed as fundamental types.
    • Miredot now correctly ignores @Context annotations used in combination with sub-resource locators (JAX-RS).
    • Sources in the default package now generate a warning and sometimes fail the build (if no other sources are present).
    • Fixed default HTTP method (Spring-MVC) creating invalid endpoints.
    • Multiple literal type replacements with conflicting sources and targets no longer cause problems.
    • Inheritance in combination with generics in REST interface classes no longer causes endpoints to be documented twice.

v1.6.2

(Released: August 14th, 2015)

  • Improvements/New Features:

    • @statuscode Javadoc tag now overrides status codes defined in the pom.xml or gradle.build file
    • @*Param annotations of JAX-RS are now also supported on fields of a service class
    • Gradle parallel execution is now supported
    • @MireDotIgnore can now be used for parameters of a REST interface and fields of a payload
    • Required fields are now marked as such in Word output
  • Bugfixes:

    • Missing closing </pre> tags are now automatically added
    • Invalid anchors in a URL now redirect to the default page of the documentation
    • Spring @ResponseBody annotations no longer produce a warning
    • Fixed bug with relative output directories when building with Gradle
    • @statuscode Javadoc tags without a description no longer cause a crash

v1.6.1

(Released: June 5th, 2015)

  • Improvements/New Features:

    • The @NotNull annotation and @JsonProperty(required = true) now mark a JSON field as required (see Validation Annotations).
    • Added support for PATCH and OPTIONS HTTP methods (Spring MVC and JAX-RS).
    • Enums can now be used as Map keys.
    • Added JSON payload comments to Word output.
    • @statuscode Javadoc tag can override status codes defined in maven/gradle configuration (see Status Codes).
    • Added ability to document outgoing headers with custom Javadoc tag (see Javadoc).
    • Enforced that an exception can only be mapped to one status code.
    • Improved contrast of status code colors.
  • Bugfixes:

    • @BodyType("java.lang.Void") now hides the body completely.
    • On hover comments at the bottom of a JSON payload no longer make a scrollbar appear.
    • Regular expressions in path variables that contain curly braces are now displayed correctly.
    • Renamed properties (with @JsonProperty) are documented correctly.
    • Fixed paths for subresource locators (no more double slashes).
    • In case of return type refinement the correct interface documentation is now shown.
    • Subtype chooser is now correctly displayed when using @JsonPropertyOrder.
    • Array as parameter no longer produces illegal javascript.
    • Interfaces annotated with @GET never show a request body, even if there is an additional input parameter.
    • Fixed bug where javax.servlet-api sometimes appeared as missing dependency.
    • @BodyType can now be used in combination with @MultipartForm (temporary workaround until there is better multipart support).
    • Generic type replacements now work as expected.

v1.6.0 (JAX-RS Subresource locators, Basic Spring-MVC Support)

(Released: March 13th, 2015)

  • Improvements/New Features:
    • JAX-RS Subresource locators (see Supported Frameworks).
    • Basic Spring-MVC Support (see Choosing a Rest Framework and Supported Frameworks).
    • Added a command-line output when a build fails according to the code analysis configuration.
    • Miredot provides better warnings when the status code configuration is faulty.
    • The HTML output now shows the full comment when hovering fields in the json payload, hovering for full comments can be configured using the showFullFieldDocumentationOnHover configuration parameter (see Json Payload Documentation).
    • Enums now show the comments of the values in an on-hover popover.
    • Improved status code visualization in the HTML output.
    • Miredot logo on the top-right of the page can be hidden (see Hide Miredot logo).
    • Improved the performance of the generated site by displaying only a certain section of resources at a time. See Sections. You can turn off this new default behavior. See migration guide.
    • Full text search (also in hidden sections).
    • Support for @RolesAllowed and @PermitAll annotations (see Security Annotations).
    • Comments are shown for rest interfaces with the @deprecated Javadoc tag.
    • Support for @JsonUnwrapped (see Jackson Annotations).
    • Support for @JsonTypeInfo without @JsonSubTypes annotation (see Jackson Annotations).
  • Bugfixes:
    • Using the @Deprecated annotation (in the Javadoc comments, or using the java.lang.Deprecated annotation) at class/interface level now makes all rest interfaces defined in that class/interface deprecated.
    • Inline tags are now formatted when using JDK 8.
    • Fixed positioning of the Gzip visualization in the HTML output.
    • Better warning message for incorrect status code configuration.
    • Enum names are now correctly extracted.
    • Return type and body comments now correctly display Javadoc link tags.
    • Unsupported browsers now show a warning instead of crashing.
    • Fixed custom directories creation bug when building with gradle.
    • Fixed return types for derived methods with refined return types.
    • Classes derived from Generic classes now find all annotations correctly.
    • Fixed NullPointerException during analysis stage when a path is formatted incorrectly.
    • Resource classes are now recognized according to the JAX-RS specification.

v1.5.1

(Released: December 5th, 2014)

  • Improvements/New features:

    • A setting is added to hide the warnings tab (see hideIssuesTab).
    • Deprecated fields inside JSON values are marked as such (strike-through).
    • Miredot analysis warns about different resources that partially hide each-other (see Unreachable resources / Partial Overlap).
    • Additional source-paths can be specified so that Miredot is able to document the fields inside external types/tos. (see External Source Paths).
    • The separate Interfaces tab is removed.
  • Bugfixes:

    • baseUrl is no longer stored in localstorage.
    • Eclipse complains about invalid plugin-lifecycle.
    • Miredot should fail if incorrect values are used in the configuration file.
    • Miredot should offer better error-messages when incompatible JDK versions lead to reflection problems.
    • <pre> tags are incorrectly detected if they contain attributes.
    • Enum values are incorrectly escaped.
    • @ReturnType and @BodyType do not work correctly when used in combination with generic parameters.
    • Parameters annotated with the @Auth annotation (io.dropbox) are no longer documented as body parameters but ignored instead.

v1.5 (Gradle support)

(Released: September 12th, 2014)

  • IMPORTANT Miredot artifactId has been changed to miredot-plugin (was miredot-maven-plugin). Please update this when updating to v1.5..
  • Full Gradle support.
  • Support for @JsonPropertyOrder.
  • Support for @BeanParam.
  • Support for Resteasy @Form.

v1.4.1

(Released: August 18th, 2014)

  • Improvements/New features:

    • Expand all/collapse all in treeview.
    • initialCollapseLevel parameter supported under <html> outputformat.
    • Interfaces are also grouped on common path parameters.
    • BaseUrl can be passed on to documentation in queryparameter (baseUrl).
    • Whitespaces and newlines are now properly dealt with in <pre> blocks.
    • Title strategy is used for subtype comments.
  • Bugfixes:

    • Inline Json documentation not shown for subtypes with JsonValue annotation.
    • Infinite loop with recursive generics definition (eg. A<B extends A<B>>).
    • Maps are not documented if the target type of the Map is not used elsewhere directly.
    • Inconsistent Javadoc matching on getter/field/setters.
    • Javadoc is not added to methods of parent class if parent class is generic and method contains generic parameters.
    • JsonValue does not work for all versions of Jackson.
    • Miredot is unable to process interfaces with generic parameters of a parentclass of the itnerface that are hidden/instantiated by that interface.

v1.4 (JSON Documentation)

(Released: March 19th, 2014)

  • JSON properties are now documented (from Javadoc)
  • Type replacement: override how to document a type.
  • Documentation title is now configurable.
  • Configuration structure (Maven) is completely redesigned: follow the migration guide when upgrading.
  • Other bugfixes

v1.3.2

(Released: March 14th, 2014)

  • @Produces/@Consumes annotations on class level are now correctly parsed.
  • @MireDotIgnore can now be applied on methods.
  • Joda-time DateTime and LocalTime are treated as DateTime.
  • Various bugfixes for generics.

v1.3.1

(Released: February 14, 2014)

v1.3 (MS Word output)

(Released: December 27th, 2013)

  • New output format: Docx.
  • Base URL can now be configured in the pom.
  • Better support for @FormDataParam.
  • Other bugfixes.
  • New licencing system (free users: please request a free license before upgrading).

v1.2.2

(Released: December 11th, 2013)

  • Added partial support for @FormDataParam.
  • Status codes are no longer documented twice for certain class hierarchies.
  • Miredot no longer hangs when the same generic parameters name occurs multiple times in a class hierarchy.
  • Better logging.

v1.2.1

(Released: September 27th, 2013)

  • Support for non-standard directory layouts.
  • Types such as Short, BigDecimal, AtomicInteger are now handled as json numbers.
  • Tree view can be folded.
  • Other minor bugfixes.

v1.2 (Javadoc formatting, override body type, JAX-RS @DefaultValue)

(Released: September 5th, 2013)

  • Better support for inline Javadoc tags: {@code}, {@param}, {@link <another REST method>}
  • Return type can now be ignored with @ReturnType("java.lang.Void")
  • Body type can be overridden with @BodyType("com.mycompany.MyType") (similar to @ReturnType).
  • Support for JAX-RS annotation @DefaultValue
  • Improved search functionality: Combine keyword/url search; search by http method; support wildcard paths in url search.
  • Minor doc tweaks and improvements: scrollbar issues fixed; methods can be collapsed; domain (previously example.com) can be changed by clicking on it.

v1.1.1

(Released: August 21th, 2013)

  • Fixes transient dependency issues with Maven2/3

v1.1 (Fully functional free version, automatic title selection)

(Released: August 12th, 2013)

  • Enabled 100% documentation generation for the free version for all projects.
  • Disabled custom HTML inclusion and API analysis (warnings) in the free version.
  • Title selection strategies (configure how to choose a title for each operation). See @summary.

v1.0

(Released: July 3rd, 2013)

First public release