- `7.0.149` [Fix]: Feature/primary sourceset selector (#216)
 - `7.0.148` VsCode debug support (#30)
   
   Co-authored-by: Matyrobbrt <65940752+Matyrobbrt@users.noreply.github.com>
   Co-authored-by: Marc Hermans <marc.hermans@ldtteam.com>
 - `7.0.147` Update DiffPatch 2.0! (#215)
 - `7.0.146` [FIx]: Fix AT issues and mute execute output further (#213)
 - `7.0.145` [Fix]: Fix ATs not applying. (#211)
 - `7.0.144` Fix healthy file existence check always failing (#210)
 - `7.0.143` Rework how download locations for libraries are resolved (#206)
 - `7.0.142` [HotFix] Create consistent lists of dependency ids for generating jsons (#204)
 - `7.0.141` Fix unpackSourcePatches and generate binary patches (#199)
   
   Co-authored-by: Marc Hermans <marc.hermans@ldtteam.com>
 - `7.0.140` [Feature] Introduce the possibility to manual group sourcesets together (#200)
 - `7.0.139` [Feature]: Add support for DevLogin (#192)
 - `7.0.138` [Feature]: Improved testing (#194)
 - `7.0.137` [Feature]: Improved caching (#191)
 - `7.0.136` Use unique contexts for installer library lookup (#190)
 - `7.0.135` [Feature]: Add JUnit Support V2 (#183)
   
   Co-authored-by: Matyrobbrt <matyrobbrt@gmail.com>
   Co-authored-by: shartte <shartte@users.noreply.github.com>
 - `7.0.134` [Hotfix]: Fix the lookup of delegated runs on none neogradle projects (#185)
 - `7.0.133` [Fix] Update JST and add back support for MultiSourceSet setups (#180)
 - `7.0.132` Implement a clean up of the ivy repository (#179)
 - `7.0.131` Fix issues with a split-horizon dependency lookup (#178)
 - `7.0.130` [Tech-Debt] Resolve the issue where Mixin Extras does not appear on the CP (#176)
 - `7.0.129` [Tech-Debt] Switch to using full named configurations. (#173)
 - `7.0.128` [Tech-Debt] Reduce complexity on Dependency Replacement and fix Bugs (#171)
 - `7.0.127` Create Conventions subsystem (#170)
 - `7.0.126` Update AccessTransformer DSL to use new Dependencies DSL to match DependencyHandler (#168)
 - `7.0.125` Implement ATs with JST and enable incremental compilation (#147)
 - `7.0.124` Fix/multi project leaking (#167)
 - `7.0.123` Add system for publishing and consuming ATs (#146)
   
   Co-authored-by: Marc Hermans <marc.hermans@ldtteam.com>
 - `7.0.122` Add setConfigurations for jarJar (#145)
   
   Co-authored-by: Marc Hermans <marc.hermans@ldtteam.com>
 - `7.0.121` Implement native support for version catalogues (#158)
 - `7.0.120` Slight simplification of dep replacement (#164)
 - `7.0.119` Fix installer profile being wrongly cached (#163)
 - `7.0.118` Avoid deleting dummy repository files unless needed (#161)
 - `7.0.117` Fix installer URLs without a trailing slash (#159)
   
   * Fix installer URLs without a leading slash
   
   `URI#resolve` is stupid.
   
   * I meant trailing trust me
 - `7.0.116` Fix long-form Vineflower log and thread arguments not getting recognized (#157)
 - `7.0.115` Fix injection logic not taking into accounts that trees might need to be offset by a prefix. (#156)
 - `7.0.114` Fix handling of multiple AccessTransformers in the same project (#155)
 - `7.0.113` Merge pull request #154
   
   * Remove MCP_MAPPINGS from the generated Neoforge run types
 - `7.0.112` Update gradle version and bump wrapper (#152)
 - `7.0.111` Fix unused mcp_mappings placeholder causing problems (#153)
   
   Previously we set the unused mcp_mappings placeholder to a file that doesn't exist. Gradle now checks the file we try to resolve actually exists and crashes.
 - `7.0.110` Implement delayed resolve of dev config artifacts. (#140)
 - `7.0.109` Make jarJar configuration not consumable (#149)
 - `7.0.108` Use correct installer library repository urls (#143)
   
   * Use correct installer library repository urls
   
   * Remove println
 - `7.0.107` Split PR publishing and tests
   
   This way, PR publishing can work when tests fail
 - `7.0.106` Merge pull request #131
   
   * Initial jarJar refactor
   
   * Add missing file
   
   * Reimplement missing extension methods
   
   * Expose remaining public method
   
   * More improvements
   
   * Fix path in generated metadata
   
   * Undo needless change to DynamicProjectExtension.java
   
   * Merge branch 'NG_7.0' into jarjar-conf-cache
   
   * Minor fixes and deprecate pin and ranged
   
   * Specialize DependencyManagementObject#dependency to match gradle's De鈥�
   
   * Fix minor issues with jarJar and begin adding docs
   
   * Change system to support library feature variants
   
   * Fix some potential attribute edge cases
   
   * Allow jarJar-ing of non-module artifacts with capabilities
   
   * Use module name detection that prioritizes capabilities
 - `7.0.105` Improve error message for userdev dependencies (#139)
 - `7.0.104` Fix AT artifact (#138)
 - `7.0.103` Bump AT (#137)
 - `7.0.102` Depend on GDI via capability (#135)
 - `7.0.101` Publish with gradle API attribute (#134)
 - `7.0.100` Make CoordinateCollector deterministic (#133)
 - `7.0.99` Fix config cache errors (#132)
   
   * Fix config cache errors
   
   * Fix failing functional tests
 - `7.0.98` Fix TokenizedTaks passing Objects directly to ReplaceTokens (#130)
 - `7.0.97` Close output stream after writing files in CopyingFileTreeVisitor (#128)
 - `7.0.96` Make NeoFormRuntimeSpecification#getNeoFormVersion work with suffixed neoform versions (#124)
 - `7.0.95` Fix regression in behavior of NeoFormRuntimeSpecification#getNeoFormVersion (#123)
 - `7.0.94` Prepare for configuration cache (#118)
 - `7.0.93` Fix creation of eclipse process resources task (#116)
   
   * Update IdeRunIntegrationManager.java
   
   * ..
 - `7.0.92` Add sync tasks for eclipse resources (#108)
   
   * Add sync tasks for eclipse resources
   
   Update IdeRunIntegrationManager.java
   
   * Add comment to edge case
   
   * Add to debug task, not exactly correct, but should work ~= logically same as fg solution
 - `7.0.91` Test with `getDependencies` only. (#115)
 - `7.0.90` Release with actions (#113)
 - `7.0.89` Raise fuzzy patching quality to 90% (#114)
 - `7.0.88` Allow NG7 plugins to be used as siblings (#112)
   
   * Support Parchment and Sibling projects.
   
   * Fix an issue with the step selection.
 - `7.0.87` Resolve NeoForm & NeoForge ZIP-Archives Earlier to Access Configs in Specifications (#86)
   
   Refactor NeoForm & NeoForge archive handling such that the archives are resolved earlier. That allows simplification of the runtime specifications by resolving the configuration files in the archives when the specifications are built.
 - `7.0.86` Match NEOFORGE_SPEC value to Specification-Version (#111)
 - `7.0.85` Do not capture standard out/error (#110)
 - `7.0.84` Don't automatically configure when using a Provider<RunType> (#104)
 - `7.0.83` Document RunnableSourceSet (#102)
 - `7.0.82` Fix empty configurations adding empty string to BSL ignore list (#101)
 - `7.0.81` Bump installertools to fix installer Java 8 compatibility
 - `7.0.80` Configure installer to hide the extract option (#95)
 - `7.0.79` Use more of our forks (#94)
 - `7.0.78` Use our fork of the installer (#92)
 - `7.0.77` Add recompile-input as task dependency to apply parchment to fix it reusing old outputs when updating NeoForge (#91)
 - `7.0.76` Update JST to fix Parchment for long/double Parameters (#89)
 - `7.0.75` Fix comment-style in gradle script example (#88)
 - `7.0.74` Parchment Prototype (#83)
   
   * Added support for applying Parchment parameter name mappings and Javadoc
   
   * Docs
   
   * Docs change
   
   ---------
   
   Co-authored-by: Matyrobbrt <65940752+Matyrobbrt@users.noreply.github.com>
 - `7.0.73` PR publishing infrastructure (#87)
   
   * PR publishing infrastructure
   
   * Update build.gradle
 - `7.0.72` Important branding :-) (#85)
 - `7.0.71` Fix extended-from Configurations not ending up in the Minecraft Classpath (#82)
   
   ClasspathSerializer for some reason doesn't seem to consider configuration inheritance. Manually add the super-configurations to the input-files instead (mirroring what is done for additional userdev dependencies)
 - `7.0.70` Use a Configuration to model the additional dependencies of each run (#81)
   
   * Use a Configuration to model the additional dependencies of each run, since configurations seem to be better at tracking task dependencies.
   
   * Remove unused files.
 - `7.0.69` Various Task Improvements (Patch, Strip, Recompile) (#75)
   
   * Apply patches directly from the archive and not the unpacked NeoForm directory. End-Goal: Don't unpack NeoForm.
   
   * Make strip use try-with-resources.
   
   * Move doLast into the task action of RecompileSources.
   
   * Disable Caching for ArtifactFromOutput, since all it does is copy a file, which is the same as the cache restore would do.
 - `7.0.68` Remove runtime data in an effort to reduce task inputs to only the relevant ones. (#76)
 - `7.0.67` Generate configuration closures for ATs (#80)
 - `7.0.66` Nuke unused args (#79)
 - `7.0.65` Fix PotentiallySignJar since Gradle hard-casts to a concrete PatternSet (#77)
 - `7.0.64` Bump training-wheels dependency. (#73)
 - `7.0.63` Add the ability to customize recompile settings (#72)
   
   * Add the ability to customize recompile settings.
   
   * Remove outdated setMemoryMaximumSize from RecompileSourceJar since it'll always be overridden.
 - `7.0.62` Streamline Inject Tasks for Neoforge in Userdev (#71)
   
   * Add the ability to the runtime builder to customize individual tasks in addition to manipulating the task tree.
   
   * Enhance the InjectCode task to handle multiple injection source simultaneously, each with their own filters.
   Use that new task to merge the injections from NeoForm and NeoForge userdev into a single task.
 - `7.0.61` Fix JSON serialization not closing the InputStream in some cases, as well as not setting the UTF-8 character set explicitly (and thus falling back to the default platform encoding). (#69)
 - `7.0.60` Replace spaces in ideBeforeRun task names (intellij doesn't like them)
 - `7.0.59` Fix the run gradle task not correctly accounting for processResources tasks of dependent sourcesets
 - `7.0.58` Always download Launcher Manifest, but do it conditionally (#67)
   
   * Fixes #66 by using upToDateWhen to indicate the launcher manifest download task is never up-to-date. To mitigate the re-download, use If-Modified-Since in all HTTP download requests if the target file already exists.
   
   * Create the download directory if it doesn't exist.
 - `7.0.57` Add `userdevCompileOnly` configuration and allow JarJar usage in the platform `universalJar` (#60)
 - `7.0.56` Transform decompile step into a task that is customizable via specific settings (#46)
   
   Example:
   ```gradle
   subsystems {
     decompiler {
       maxMemory = "2g"
       maxThreads = 4
       logLevel = DecompilerLogLevel.TRACE
       jvmArgs = ["-verbose:gc']
     }
   }
   ```
 - `7.0.55` Link to NeoForged project page instead of maven. (#63)
 - `7.0.54` Remote the `ignoreList` regex (#62)
   
   The regex attempts to remove version information from the jar, so that it would go from `artifact-name-<version>.jar` to `artifact-name` in the BSL ignore list. But the full name will work as well. See https://github.com/McModLauncher/bootstraplauncher/blob/d1e91742561c9ea37c035c0fec2bd756967a1395/src/main/java/cpw/mods/bootstraplauncher/BootstrapLauncher.java#L70.
   
   And in fact the full name is already being used by fml-core and fml-events (jar names `core-<version>.jar` and `events-<version>.jar`) because `core` is too generic of a prefix to be excluding, and same for `event`.
   
   It was buggy when paired with versions with classifiers, and is simply not needed. No implementations of maven downloaders will rename the file. So just remove the core/events special cases and the regex altogether.
 - `7.0.53` Add `jarJar` task to `assemble` dependencies (#61)
 - `7.0.52` Switch to Gradles approach for serializing System properties (which expects the user to escape quotes themselves). Escape VM arguments passed to Eclipse. (#59)
 - `7.0.51` Use the full project path to decide whether dynamic project management should apply the platform plugin. (#58)
 - `7.0.50` Fix spaces in Gradle user home breaking IntelliJ run configurations. (#57)
 - `7.0.49` Fix TeamCity issue tracker link in TC
 - `7.0.48` Implement support for dynamic runtime dependencies (#52)
   
   * Implement dependency handling for runtime only dependencies.
   
   * Fix several issues caused by the latest changes.
 - `7.0.47` Refactor how and when runs apply the config from their run type to ensure it is always applied before configuring the run. (#55)
 - `7.0.46` Check hashes in ListLibraries (#53)
   
   - Use DownloadFileAction to download files, rather than doing it directly.
    - Check the hash when extracting from a bundle.
 - `7.0.45` Update GDI (#51)
 - `7.0.44` Fail fast when a dependency replacement handler throws an unhandled exception. (#49)
 - `7.0.43` Pre-create the idePostSync Task in IntelliJ to prevent it not existing from masking the actual project sync error. (#48)
 - `7.0.42` Switch to the NeoForged GDI artifact (#47)
 - `7.0.41` Fix multiple AT files not working when final file name matches (#41)
 - `7.0.40` Update neoforge jar path to remove the MC version prefix (#40)
 - `7.0.39` Fix patch generation using system line separator causing all patches to diff on windows (#39)
 - `7.0.38` Remove TC CI checks (#36)
 - `7.0.37` Added a GHA Pull-Request Workflow (#35)
   
   There is also a separate test-reporting workflow to allow the reporting of JUnit test results as a Github check, even if the build is running without write-permission (i.e. the PR is made from a fork).
 - `7.0.36` Fixed another spot where memory size was being computed. (#33)
   
   Pass heap size as megabyte, since Groovy seems to be fussy about other formats.
   Use integer division to prevent String.format from throwing due to invalid type conversion.
 - `7.0.35` Add useful links to README.md (#32)
   
   Add links to the docs, MDK and the NF maven to see the latest available versions of NG.
 - `7.0.34` Assign memory to fork options for recompile and execute. Should fix several OOM related issues with the recompile and decompile cycle.
 - `7.0.33` Fix an issue where libraries and assets write to the same directory
 - `7.0.32` Centrally cache services
 - `7.0.31` Implement internal cache directory.
 - `7.0.30` Centrally cache the libraries needed.
 - `7.0.29` Fix gradle being stupid when generating set properties.
   
   Closes: #29
 - `7.0.28` Merge pull request #21
   
   * Switch back to using the renamed jar as the base for joined binpatch 鈥�
 - `7.0.27` Merge pull request #28
   
   * Add installer logo property to installer task
 - `7.0.26` Fix an issue where the file cache provider was using @Nested preventing optimizations on modern gradle.
 - `7.0.25` Introduce central caching of assets.
   Prepare for central caching of other easy cacheable resources.
   Disable caching of run tasks
   Do not make eclipse wait for termination
   
   Closes: #24
   Closes: #22
   Closes: #15
   Closes: #14
 - `7.0.24` Merge branch 'feature/mixins' into NG_7.0
 - `7.0.21` Fix module path quoting.
 - `7.0.20` Also run asset download for data generators.
 - `7.0.19` Only run with assets and natives on client like runs.
 - `7.0.18` Only download assets on runs.
 - `7.0.17` Better implement quoting around interpolation data.
 - `7.0.16` Fix a corner case where there is a sourceset in a run that has no runtimes available.
 - `7.0.15` Additionally configure build dependencies.
 - `7.0.14` Fix a missing short-circuit handling of the ProjectHolder.
 - `7.0.13` Add support for using SourceSets which are not related to NeoGradle applied projects.
   Closes: #26
 - `7.0.14` Add support for the new Mixin argument.
 - `7.0.13` Add support for per Run and per Jar task configs.
   Closes: #14
 - `7.0.12` Automatically generate auto headers.
   Closes: #17
 - `7.0.11` Only apply IDE plugins when they are not applied yet.
   Closes #19
 - `7.0.10` Compile java for all related sourcesets before running the game.
 - `7.0.9` Always surround interpolated values with quotes.
   Closes: #20
 - `7.0.8` Break on successful download
 - `7.0.7` Merge pull request #16 from Technici4n/retries-assets
   
   Retry on asset download failure
 - `7.0.6` Retry on asset download failure
 - `7.0.5` Use the source configuration as the target of the task execution dependency
 - `7.0.4` Use the raw jar providing task directly in the target dependency and not in a wrapper.
 - `7.0.3` Add classpath data properly since we now do funny things with configurations.
 - `7.0.2` Fix publishing of maven artifacts and plugin coordinates.
 - `7.0.1` Fix the tests not working due to the new replacement logic supporting more than one configuration.
 - `7.0.0` Implement proper clean up of ng_dummy_ng dependencies
   Add GU 3.x
   Add versioning