Skip to content

Releases: classgraph/classgraph

classgraph-4.8.144

15 Apr 06:59
Compare
Choose a tag to compare

(Obsolete -- do not use -- triggered a regression on Windows.)

classgraph-4.8.143

26 Mar 08:46
Compare
Choose a tag to compare

Fix exception typeSignatureParamTypes.size() > typeDescriptorParamTypes.size() when dealing with broken compiler output (where the type descriptor of a method has a different number of entries in it than the type signature for the same method) (#660, thanks to @colin-young for reporting).

classgraph-4.8.142

26 Mar 03:39
Compare
Choose a tag to compare

Bugs fixed:

  • Added method ClassInfo#getTypeSignatureOrTypeDescriptor() so that type annotations can be read for non-generic class definitions (#662, thanks to @raner for the request).
  • Fixed Illegal reflective access warning on some obsolete and buggy JVM versions (#663, thanks to @MR6996 for the report).

Two behavioral changes, which may result in breakage for some users:

  • The list of interfaces implemented by a class, as returned by ClassInfo#getInterfaces(), is no longer sorted by name, but is returned in the order in which the interfaces were specified in the class definition (this order is significant, so the old behavior of sorting by name was incorrect).
  • The result of toString() for several of the TypeSignature subclasses has changed to use $ as a separator of inner classes, rather than ., to bring the toString() behavior closer to the result of Class#getName().

classgraph-4.8.141

26 Feb 17:25
Compare
Choose a tag to compare
  • Fixed handling of URLs like jar:file:jarname.jar!/ (these were being skipped -- #625, thanks to @edeso for reporting this.)
  • Improved logging of FileNotFoundException for missing jars.

classgraph-4.8.140

24 Feb 10:19
Compare
Choose a tag to compare

Fixes #651 (NPE in JBossClassLoaderHandler) via #652 -- thanks to @arthware for the fix!

classgraph-4.8.139

13 Feb 23:42
Compare
Choose a tag to compare

Bugfixes:

  • Fix to work with newer Quarkus classloader (#641, thanks to @michael-simons for the fix in #642!).
  • If an override classloader is an AppClassLoader, also scan the traditional classpath (#639, thanks to @limbic-derek for the report).
  • Fix for parsing error if Kotlin function names contain parentheses (#645). Also fixes a potential stack overflow in this case.

New feature:

  • Added support for getting the exceptions thrown by a method (#633, thank you to @jkschneider for submitting the complete implementation of this feature, in #637!)

classgraph-4.8.138

12 Dec 09:16
Compare
Choose a tag to compare
  • Added two methods (thanks to @FranGomezVenegas for requesting these, #608):

    • FieldInfoList ClassInfo#getEnumConstants(): returns all the enum constants of an enum class as FieldInfo objects (without loading the enum class).
    • List<Object> ClassInfo#getEnumConstantObjects(): returns all the enum constants of an enum class as objects of the same type as the enum (after loading the enum class and initializing enum constants).
  • Mitigate log4j2 vulnerability CVE-2021-44228: ClassGraph does not use log4j2, but does use the built-in Java logging framework, which may be redirected to the log4j2 framework by the calling environment. To be safe, ClassGraph now builds in a protection against this critical vulnerability.

classgraph-4.8.137

26 Nov 17:01
Compare
Choose a tag to compare

Fix illegal access warning on Adopt JDK for most usage (#605, thanks to @UlrichLohrmann for the report)

classgraph-4.8.136

26 Nov 08:15
Compare
Choose a tag to compare

Contribution by @tkrautinger (#604):

  • ClassInfo: Added isPrivate(), isProtected()
  • MethodInfo: Added isPrivate(), isProtected(), isAbstract(), isStrict()
  • FieldInfo: Added isPrivate(), isProtected(), isSynthetic(), isEnum()

classgraph-4.8.135

22 Nov 11:32
Compare
Choose a tag to compare
  • Fixed issue with resources remaining marked as open after close() was called on an InputStream opened on a module resource (#600 and #602, thanks to @chrisr3)
  • Added Resource#readCloseable() that returns a CloseableByteBuffer that calls Resource#close() when CloseableByteBuffer#close() is called. (#600)