Changelog History
Page 1
-
v4.8.94
December 10, 2020 -
v4.8.93 Changes
December 02, 2020A few changes to classloading:
- If
.overrideClassLoaders(...)
or.overrideClasspath(...)
is called before.scan()
, then only the overrides are used (ClassGraph will not fall back to trying any other known classloaders). This might break things for some users, but it matches the expectation that should have been conveyed by the API. ๐ 2. If you run a scan inside a scan, and you call.overrideClassLoaders(MyClass.class.getClassLoader())
, whereMyClass
was itself loaded byClassGraph
in the outer scan, usingscanResult.getClassInfo("mypackage.MyClass").loadClass()
, then the override classloader is actually an instance ofClassGraphClassLoader
. This was not supported before, but it supported now as of this release. If you use this, then any classloading in the inner scan will first try loading classes with theClassGraphClassLoader
instance from the outer scan, and if that fails, then the inner scan'sClassGraphClassLoader
will be tried. This is to allow for classes to be compatible between the outer scan and the inner scan, in cases where both scans find the same classes. (Classes that are identical but were loaded by different classloaders are not seen by the JRE as being the same class.) (#485, thanks to @TheSpiritXIII for the bug report.)
- If
-
v4.8.92 Changes
November 28, 2020๐ Small update to previous release: strip final slash from URIs that end in an automatic package prefix, i.e.
!/BOOT-INF/classes/ -> !/BOOT-INF/classes
-
v4.8.91 Changes
November 28, 2020โ Added automatic package roots to classpath element URIs, e.g. for Spring-Boot applications. Previously if you called
ClassGraph#getClasspathElementURIs()
, you would get the URI for the Spring-Boot jar, rather than that URI with!/BOOT-INF/classes/
appended.Thanks to Giuseppe Navato for the report.
-
v4.8.90 Changes
September 09, 2020 -
v4.8.89 Changes
August 26, 2020โ Added the ability to filter classpath elements by URL, using
ClassGraph#filterClasspathElementsByURL(ClasspathElementURLFilter)
(#468). -
v4.8.88 Changes
August 24, 2020๐ Fixed issue where
+
characters were mistakenly being replaced with spaces in classpath URLs, due to a longstanding JDK bug that the JDK team is never going to fix. (#468, thanks to @adelel1 for reporting) -
v4.8.87 Changes
June 23, 2020โ Added
MethodInfo#loadClassAndGetConstructor()
for gettingConstrutor<?>
instances for constructor methods. (#447, thanks to @Thomas-Langer for the request.) -
v4.8.86 Changes
June 12, 2020โ In solidarity with worldwide protests demanding an end to racial injustice and racism, all methods of ClassGraph containing the words "whitelist" and "blacklist" have been renamed to instead use the words "accept" and "reject" respectively. (The old methods are still in place for compatibility, but they have been marked as deprecated.)
Some may object to this change as an over-sensitization or racialization of terms that were never inherently racial in nature. The terms "whitelist" or "blacklist" may not bring to mind racially-oriented connotations to many people. However, these terms originated in a time when the very words "white" and "black" had even stronger discriminatory connotations than they have now:
From https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6148600/ :
In this context, it is worth examining the origins of the term โblacklistโ from the Douglas Harper Etymology Dictionary, which states that its origin and history is:
n.
โ > also black-list, black list, โlist of persons who have incurred suspicion,โ 1610s, from black (adj.), here indicative of disgrace, censure, punishment (attested from 1590s, in black book) + list (n.). Specifically of employersโ list of workers considered troublesome (usually for union activity) is from 1888. As a verb, from 1718. Related: Blacklisted; blacklisting.
It is notable that the first recorded use of the term occurs at the time of mass enslavement and forced deportation of Africans to work in European-held colonies in the Americas.
๐ May we soon see concrete progress towards a world free of racism, prejudice and injustice.
-- Luke Hutchison (ClassGraph creator and maintainer)
-
v4.8.85 Changes
June 10, 2020๐ Fix a package root prefix duplication issue with Spring Boot executable jars (#435, thanks to @michael-simons for reporting).