Gen2
Gen2, refers to everything in our ecosystem that we'll need to work on/have planned as a consequence of updating our intermediary mappings to Calamus gen2.
Technically there are a few things that Calamus gen2 depends on that we include in the "Gen2" moniker, namely the merged client and servers for versions before 1.3, which depends on our updated version_manifest.json, we maintain our own manifest so we can include include versions that mojang's version manifest doesn't have; for context, the version_manifest.json file is what the Minecraft Launcher uses to determine what versions to offer and download, and their associated libraries. The changes mostly consist in adding versions that were previously lost but have been rediscovered and archived by the Omniarchive team, we don't use their manifests directly because it doesn't include some versions in order to maintain maximum compatibility with the Minecraft Launcher.
Meanwhile, the "feather gen2 branch" contains Feather mappings that map to Calamus gen2; we were shifting focus on that because it uses the updated intermediary that we plan on eventually shifting all our toolchain to, but since we have been taking a while, the progress that was done on the gen2 branch was backported to the gen1 branch as modders who mod using Ornithe still generally use gen1 Calamus and Feather unless they explicitly modified their build.gradle file (or selected the gen2/fabric branch on the Ornithe Template Mod) to download gen2 resources instead.
For a bit of context of what Calamus/Ornithe intermediary is, the intermediary is what the Minecraft jar is remapped to to make versions somewhat consistent to each other, as before 26.1-snapshot-2 (which is way out of our support range) Minecraft jars contains only meaningless names because they were obfuscated by Proguard before Mojang compiled and released them, and crucially, these names differ from version to version, meaning that, if mods were compiled directly with the names used in official, obfuscated jars, they could immediately break for the next update and it would be a huge hassle to update it! Hence, what we and many other modding toolchains do is compare Minecraft jars with each other and generate these intermediary mappings that makes names consistent across versions, this intermediary-remapped jar is used throughout the toolchain, but its most use is found in mod developer environments and in production (modded servers/clients); when your run the Ornithe/Fabric/Quilt/whatever installer, the installer automatically sets everything up so the first time a game is started (either a client through your favorite launcher or a server jar directly), the official jar is remapped to intermediary, this remapped jar is executed and mods are applied to this remapped jar.
Because mods are compiled to connect and refer to the intermediary-remapped jar, with all this said, one of the reasons why our Gen2 update is so significant is, once all our tools and endpoints are updated and Gen2 is generally available to use in development and install, any mods compiled before this will not be compatible with Gen2 environments, at least without a tool that can remap those jars to make them compatible (which we intend on developing and including with gen2 installations).