All Versions
Latest Version
Avg Release Cycle
10 days
Latest Release
1024 days ago

Changelog History
Page 2

  • v4.8.84 Changes

    June 09, 2020

    🛠 Fixed two bugs:

    • Regression: jar:, jar://, jar:file:, and jar:file:// URL handling was broken (#434, thanks to @alexsuter for reporting).
    • jrt: URLs should not have a jar: prefix added to them, or use a ! to separate the module URI from the path within the module (#433, thanks to @GedMarc for reporting).
  • v4.8.83 Changes

    June 05, 2020

    Don't override the classpath when deserializing a ScanResult from JSON -- just use the classpath of the caller. (This will produce fewer surprises than overriding the classpath, although be aware that the contents of the ScanResult may not match the classes available in the classpath after deserialization.) (#431, thanks to @fluxroot)

  • v4.8.82 Changes

    June 05, 2020

    🛠 Fix a JSON serialization bug (#431 -- thanks to @fluxroot for reporting).

  • v4.8.81 Changes

    June 05, 2020

    🛠 Fix an exception in the JSON deserializer (#431) -- thanks to @fluxroot for reporting.

  • v4.8.80 Changes

    May 31, 2020

    🛠 Fixed #430, which covers limitations of the with ResourceList item consumer API, when the consumer needs to be able to throw IOException. (Thanks to @mike-neck for reporting the issue.)

    • ➕ Added three new classes:
      • ResourceList#ByteArrayConsumerThrowsIOException
      • ResourceList#InputStreamConsumerThrowsIOException
      • ResourceList#ByteBufferConsumerThrowsIOException
    • 🗄 Deprecated:
      • ResourceList#forEachByteArray(ByteArrayConsumer consumer, boolean ignoreIOExceptions)
      • ResourceList#forEachByteArray(final ByteArrayConsumer consumer)
      • ResourceList#forEachInputStream(InputStreamConsumer consumer, boolean ignoreIOExceptions)
      • ResourceList#forEachInputStream(InputStreamConsumer consumer)
      • ResourceList#forEachByteBuffer(ByteBufferConsumer consumer, boolean ignoreIOExceptions)
      • ResourceList#forEachByteBuffer(ByteBufferConsumer consumer)
    • ➕ Added:
      • ResourceList#forEachByteArrayIgnoringIOException(ByteArrayConsumer byteArrayConsumer)
      • ResourceList#forEachByteArrayThrowingIOException(ByteArrayConsumerThrowsIOException consumer) throws IOException
      • ResourceList#forEachInputStreamIgnoringIOException(InputStreamConsumer byteArrayConsumer)
      • ResourceList#forEachInputStreamThrowingIOException(InputStreamConsumerThrowsIOException consumer) throws IOException
      • ResourceList#forEachByteBufferIgnoringIOException(ByteBufferConsumer byteArrayConsumer)
      • ResourceList#forEachByteBufferThrowingIOException(ByteBufferConsumerThrowsIOException consumer) throws IOException
  • v4.8.78 Changes

    May 02, 2020
    • Disable java.class.path scanning if parent classloaders are disabled (since you would only disable parent classloaders if you are sure that the context classloader contains the only source of classpath elements you're interested in scanning). (#421, thanks to @nsoft for requesting)
    • ➕ Add support for Uno-Jar and One-Jar classloaders (#423, thanks to @nsoft for requesting).
    • ✂ Remove trailing slashes in whitelisted paths (#425, thanks to @richard-melvin for reporting).
    • 🛠 A few other small bugs fixed.
  • v4.8.77 Changes

    April 27, 2020

    🏁 Windows compatibility fixes.

  • v4.8.76 Changes

    April 27, 2020

    👍 Allow the use of non-root (i.e. non-/) package roots (e.g. classes/) in custom filesystems like Jimfs (#420).

    🏁 If you use Windows, use 4.8.77 instead, since some further Windows compatibility fixes were needed.

  • v4.8.75 Changes

    April 23, 2020

    ➕ Added support for scanning Path objects in custom filesystems, whether they are directories or files. Therefore you can now specify the URL path of a directory, even for custom URL schemes like jimfs:, and the recursive scanner will use the Path API rather than the File API. If you specify the URL path of a jarfile, it will be opened using FileChannel. If a custom URI scheme is not backed by an underlying FileSystem implementation, then URL.openConnection() is used instead. (#420, thanks to @oliviercailloux for the feature request.)

  • v4.8.74 Changes

    April 23, 2020

    ➕ Added an optimization for custom filesystems, which checks classpath URLs to see if the URL is backed by a filesystem. If so, ClassGraph uses the FileChannel API to access the URL, rather than opening a connection to the URL, avoiding an extra copy. (#400, #420)