main Changelog 1.0 === - 1.0.4 Filter modules by reference type, allows launching without BSL (#25) - 1.0.3 Handle partial jar paths, fixes #19 (#23) - 1.0.2 Avoid trying to load classes from the default package (fixes #21) (#22) - 1.0.1 Fix test and clean up cast - 1.0.0 Merge branch 'OrionDevelopment_main' 0.9 === - 0.9.69 Add support for file attribute views in the union file system provider (#18) * Add support for file attribute views in the union file system provider Fixes #17 (crash with JetBrains JVM) * Add file attribute tests - 0.9.68 Fix UnionPath (#4) * Fix UnionPath#relativize * Fix the other of the relativize method as wel land add test for reletivizing absolute union paths. * Went through UnionPath and change methods to behave as they should. It is pasing test now however better testing for the UnionPath methods is required. * Some more union path bugfixes and added tests for many other methods of UnionPath * Little changes to Jar to make it work with the changes and made UnionPath#getFileName return an empty string for the empty absolute path. - 0.9.67 handle empty jar, add test (#16) - 0.9.66 Revert "Update project name" This reverts commit ab653d1a42605a03bffcd09d802ab4b8902543e5. - 0.9.65 Update project name - 0.9.64 TeamCity changeover part 2 - 0.9.63 TeamCity changeover - 0.9.62 Implement proper automatic path splitting behaviour when paths are resolved which contain the path splitter. - 0.9.61 Remove the automatic detection of zips. Split on `!/` only. - 0.9.60 Remove redundant escapes. - 0.9.59 Support jars because we are in java land. - 0.9.58 Remove the needed splitting on the URI level using a seperator. - 0.9.57 Provide support on the PathFS side for path creation interception on the provider level. - 0.9.56 Fix the unit tests due to the PathFSProvider derpage. - 0.9.55 Initial working implementation. Several nice to haves are still missing. But I will add those later. - 0.9.54 Filter non-existent paths from Jar's constructor. Throw UncheckedIOException if you pass a empty/non-existant list. - 0.9.53 Move to Unsafe, which does not require module opens. (#11) Added system property to specify which accessor to use. -Dsecurejarhandler.useUnsafeAccessor=false (defaults to true) - 0.9.52 Search all paths for a manifest. (#12) - 0.9.51 Use custom implementation for verifying manifest entries. - 0.9.50 Close DirectoryStreams in UnionFileSystem (#9) - 0.9.49 Improve performance of building JarModuleFinder (#6) Skip calculating filter params if filter is static true, remove exists from readAttributes (getFileAttributes will return an empty optional if the file does not exist), redo findFirstFiltered without streams to avoid many toRealPath calls - 0.9.48 Add JMH benchmark (#7) - 0.9.47 Better sanitization of module names & detect maven-like paths (#5) Better sanitization of module names. Detect when modules are in a maven-like path hierarchy and use the path to split the filename. Improve regex to use lookbehind/lookahead instead of match groups, and fix adjacent keyword matching. Fix the version string sanitization. - 0.9.46 Only consider paths part of a Union FS if they actually exist. (#3) - 0.9.45 Fix package attributes being ignored. - 0.9.44 Fix module name generation and other fixes (#2) - 0.9.43 Add discord notifications. - 0.9.42 Filter reserved ! from union keys, it breaks splitting. - 0.9.41 Rework UnionFilleSystemProvider to allow multiple views of the the same base path to exist at the same time. - 0.9.40 Fix filters on zips - 0.9.39 Fix path filtering test on certain Linux installs - 0.9.38 Fix path filtering test on certain Linux installs - 0.9.37 Enable tests, but filter out ones requiring files that arnt in the repo. Fix filtering of directory listings. - 0.9.36 Add caching to Jar.getPackages/getProviders, and fix another windows path issue. - 0.9.35 Path standerdization - 0.9.34 Fix filter system to properly validate directories, and use standardized paths. - 0.9.33 Move union URI handling to use normal Java conversions which should solve linux vs windows inconsistencies. - 0.9.32 add in a mechanism to allow a filter, to prevent certain resources loading from certain jars due to smushed jars in server and stuff.. - 0.9.31 don't throw in toAbsolute - assume it's a full path and root it with the root.. - 0.9.30 fix relativize properly... - 0.9.29 return emptypath when relativize matches exactly - 0.9.28 query last element of the paths list for manifest data, not the first. - 0.9.27 fix relativize to work properly - 0.9.26 fix endwith check - 0.9.25 use forge gradleutils - 0.9.24 implement relativize so things can work - 0.9.23 use asm to parse moduleinfo instead of JDK so we can HACK it... - 0.9.22 fix that basepath is flipped - 0.9.21 fix unionfs appending a trailing slash - 0.9.20 tweaks to classloader - 0.9.19 fix tests - 0.9.18 expose file status checker and use right method - 0.9.17 expose file status checker - 0.9.16 get the root - 0.9.15 expose a way to get explicit paths... - 0.9.14 allow constructing custom jarmetadata - 0.9.13 update other artifacts, expose a method for getting primary path from a unionFS - 0.9.12 update jenkinsfile for new gradleproperties - 0.9.11 allow passing a context to maybe - 0.9.10 expose a byte transformation fetch without classloading - 0.9.9 make sure to expose zero byte operations too.. - 0.9.8 expose method for byte transformation. - 0.9.7 fix derp - 0.9.6 don't allow supplying the parent classloader, rather use the same way the Loader does it.. - 0.9.5 allow supplying the parent.. - 0.9.4 there can be multiple paths for a single Jar. that's the POINT of unionFS - 0.9.3 Wrong name for verify - 0.9.2 Don't add empty provider lists - 0.9.1 No tests for now - 0.9.0 This is now actually securejarhandler for doing modular jars. Keeping legacy history because.. 2.0 === - 2.0.7 Public! - 2.0.6 Add "securejarverifier" to here, since it needs hacks anyway - 2.0.5 try using plugin to help build our module properly?? - 2.0.4 we should be cpw.mods.grossjava9hacks - 2.0.3 use cpw user and add in file generator task - 2.0.2 we require jdk.unsupported - 2.0.1 fix jenkinsfile - 2.0.0 Update to 2.0 and J16 1.3 === - 1.3.3 Gah. DECLARED fields. RUSTY. - 1.3.2 Fix JDK 16 problem, and throws an exception in case of issues, since this is unrecoverable anyway. Closes #2 slightly differently, sorry. - 1.3.1 Remove URL parameter - other URLs cannot be parameterized, so all will need update anyway. - 1.3.0 Update gradle to 6.3, update junit libs to 5.6, clean up gradle for gradle 7. 1.2 === - 1.2.2 Remove reckon, update jenkinsfile and gradle for incoming files transition. - 1.2.1 Some tweaks to build - 1.2.0 Try new repo 1.1.0 ===== - 1.1.0.0 Add Jenkinsfile 1.0.0 ===== - 1.0.0.0 Add in a disgusting hack for getting the URL list