Skip to content

Latest commit

 

History

History
199 lines (112 loc) · 6.92 KB

CHANGES.md

File metadata and controls

199 lines (112 loc) · 6.92 KB

Change history

0.15.0 - July 23, 2022

🐛 #69 Fixed a regression in 0.14.0 where attempting to get Javadoc for a nested class would throw IllegalArgumentException. Thank you to yanxiyue for investigating the issue.

🐛 #70 Fixed a problem where classes with absolutely no Javadoc would not inherit method documentation.

0.14.0 - July 15, 2022

#61 Thanks to Sheikah45, methods without documentation now inherit documentation from superclass or implemented interface.

0.13.0 - January 1, 2022

#52 Added support for Java 16's record classes. Use the new ClassJavadoc.getRecordComponents() method to get @param tags from the class documentation / canonical constructor.

🐛 #50 RuntimeJavadoc.getJavadoc(Method) no longer fails when parameters have certain annotations. Also, the annotation names no longer leak into MethodJavadoc.getParameterTypes().

🐛 #58 When constructor documentation is not found, the returned empty MethodJavadoc now has the correct method name of <init> instead of the fully-qualified class name.

🐛 #59 @see tags in class documentation are now returned by ClassJavadoc.getSeeAlso() instead of ClassJavadoc.getOther().

🔥 #57 Removed the duplicate repackaged version of minimal-json from the annotation processor JAR. Environments that complain about duplicate classes should be happier now.

Breaking changes

⬆️ #56 Java 1.8 is now the minimum required version.

🚚 Moved JavadocAnnotationProcessor to avoid split package between annotation processor and runtime library. The new fully-qualified name is com.github.therapi.runtimejavadoc.scribe.JavadocAnnotationProcessor.

0.12.0 - October 17, 2020

Thanks to Chris Kirk (kirkch) for the improvements and fixes in this version.

Issues resolved:

#48 Use visitor pattern for formatting comments

🐛 #21 @throws never parsed as ThrowsJavadoc

🐛 #41 Constructor javadoc is missing when there is no class level java doc

🐛 #43 @see on fields appears under other

0.11.0 - August 16, 2020

Issues resolved:

✨ #37 Support reading constructor Javadoc

🐛 #36 Reader throws AssertionError when parsing malformed "see" tag

🐛 #38 Fix @code tag parsing

0.10.0 - July 19, 2020

It's now possible to get the Javadoc of nested classes in the default package.

Issues resolved:

🐛 #35 Can't get Javadoc for nested class in default package

0.9.0 - November 22, 2018

Thanks to Benny Bottema, first class support for @value tags, and fixes for @see tags.

0.8.0 - October 3, 2018

Thanks to Benny Bottema, method signatures in link tags are now parsed correctly.

Deprecations

The isPresent() method on Javadoc objects is deprecated in favor of !isEmpty().

0.7.0 - September 1, 2018

Thanks to Benny Bottema, now compatible with Java 7.

BREAKING API CHANGE

Public API methods that previously returned Optional<X> now return X, always non-null.

If the Javadoc is not available, the returned object will be a placeholder following the Null Object Pattern. A placeholder acts just a like a "real" Class/Method/FieldDoc object, but its methods return values that model absent Javadoc.

If you need to distinguish a placeholder from a "real" documentation object, you can call the isPresent() method which always returns false for placeholders.

Issues resolved:

#22 Make this available in Java 7 (Benny Bottema)

0.6.0 - May 3, 2018

Thanks to Joffrey Bion, inline tags and links in comments are now parsed and presented as InlineTag and InlineLink comment elements.

Issues resolved:

#17 Add links and tags elements to Comment (joffrey-bion)

0.5.0 - April 28, 2018

Thanks to contributions from Joffrey Bion and Simon Kissane, it's now possible to read the Javadoc of fields and enum constants.

Issues resolved:

#15 Add field and enum constants support (joffrey-bion, skissane)

🐛 #12 NullPointerException in RuntimeJavadoc due to null ClassLoader

0.4.0 - March 12, 2018

Javadoc is now stored as class path resources instead of Java classes, yielding smaller JAR sizes.

Issues resolved:

#10 Write Javadoc to class path resources instead of Java classes

#8 Don't generate companion class if there is no Javadoc

0.3.0 - March 11, 2018

Javadoc for all classes is now retained by default. The @RetainJavadoc annotation is no longer required.

Breaking changes:

🚚 The annotation processor is now a separate artifact, com.github.therapi:therapi-runtime-javadoc-scribe.

Issues resolved:

#7 Separate the annotation processor from the runtime library

#5 Provide RuntimeJavadoc.getJavadoc(Method) (Thanks @joffrey-bion!)

#4 Allow the use of a package whitelist instead of annotating on each class

0.2.1 - August 26, 2017

🐛 #3 ClassJavadoc.getName() should return the class name

0.2.0 - December 4, 2016

🎉 Complete overhaul to use an annotation processor instead of a Gradle plugin. The new approach is compatible with Maven projects, and works when code is run directly from an IDE.

0.1.2 - March 13, 2016

🐛 Fix reading Javadoc for inner classes.

0.1.1 - October 11, 2015

✨ Adds CommentFormatter to help convert comments to strings.

0.1.0 - October 10, 2015

🎉 Initial release