Releases: classgraph/classgraph
fast-classpath-scanner-1.90.0
First release to support parallel scanning.
This is the first release to support multithreaded scanning, which overlaps disk/SSD reads, jarfile decompression and classfile parsing across multiple threads. This typically reduces scan time by 30-60% (the speedup increases by a factor of 2 on the second and subsequent scan of the same classpath by the same JVM instance, because disk/SSD read bandwidth is the bottleneck, and file content is cached within a JVM session). Note that any custom MatchProcessors that you add are all run on a single thread, so they do not need to be threadsafe (though it's a good habit to always write threadsafe code even in supposedly single-threaded contexts).
Parallel scanning seems to perform stably and correctly, but please report any regressions. This release is a preview of FastClasspath Scanner 2.0, which will be released after further testing.
fast-classpath-scanner-1.10.4
Numerous bugfixes and performance regression fixes
fast-classpath-scanner-1.10.3
Performance improvements and a small API change for FileMatchProcessors.
- Switched recursive scanning to use an NIO TreeWalker rather than custom recursive scanning code. This should result in faster scanning compared to the old method of using java.util.zip. (This also paves the way for multithreaded scanning in the future, since java.util.zip is not threadsafe.)
- Only scan any given directory/file/jar once (after resolving symlinks).
- Small API change: the
inputStreamLengthBytes
parameter ofFileMatchProcessor
andFileMatchProcessorWithContext
is now of typelong
instead ofint
.
fast-classpath-scanner-1.9.21
Optimization release -- recommended upgrade.
- Performance enhancements for large classpaths (and/or complex class and interface hierarchies), especially when there are few match criteria (e.g. you only need subclasses of one superclass).
fast-classpath-scanner-1.9.20
Minor bugfix release.
- Includes fixes to allow for Maven Shade to be used with FastClasspathScanner, as long as you are only using URLClassLoader, and to allow for manual registration of ClassLoaderHandlers. (Closes #56.)
- Includes several patches contributed by Artyom Melnikov (@apxeolog-df) of DevFactory, in response to output of static code analysis tools. Thanks for these contributions, Artyom and DevFactory!
fast-classpath-scanner-1.9.19
Bugfix release; recommended upgrade.
- Fixed classpath detection in several contexts (gradle, ant, sbt).
- Fixed several issues with manual whitelisting of classes in non-whitelisted packages.
- Major refactoring and code cleanup work -- please report any regressions.
fast-classpath-scanner-1.9.18
Allow annotations to be implemented as interfaces. (This is discouraged but valid in Java.) Properly fixes #38.
fast-classpath-scanner-1.9.17
Fixes for whitelisting and blacklisting of packages and classes based on #39.
fast-classpath-scanner-1.9.16
Add ability to match based on superclasses / implemented interfaces / annotations outside of whitelisted packages.
fast-classpath-scanner-1.9.15
Fix some issues with path whitelisting and blacklisting.