diff --git a/build.gradle b/build.gradle
index d940bcd63..81d6450e3 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,9 +12,9 @@ plugins {
 def ENV = System.getenv()
 
 class Globals {
-	static def baseVersion = "0.5.8"
-	static def mcVersion = "20w14a"
-	static def yarnVersion = "+build.6"
+	static def baseVersion = "0.5.9"
+	static def mcVersion = "20w15a"
+	static def yarnVersion = "+build.1"
 }
 
 version = Globals.baseVersion + "+" + (ENV.BUILD_NUMBER ? ("build." + ENV.BUILD_NUMBER) : "local") + "-" + getBranch()
@@ -244,7 +244,7 @@ curseforge {
 	project {
 		id = '306612'
 		changelog = 'A changelog can be found at https://github.com/FabricMC/fabric/commits'
-		releaseType = 'alpha'
+		releaseType = 'beta'
 		addGameVersion '1.16-Snapshot'
 		mainArtifact(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar")) {
 			displayName = "[$Globals.mcVersion] Fabric API $Globals.baseVersion build $ENV.BUILD_NUMBER"
diff --git a/fabric-commands-v0/build.gradle b/fabric-commands-v0/build.gradle
index 793fa6c81..30d0171df 100644
--- a/fabric-commands-v0/build.gradle
+++ b/fabric-commands-v0/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-commands-v0"
-version = getSubprojectVersion(project, "0.1.3")
+version = getSubprojectVersion(project, "0.1.4")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-commands-v0/src/main/java/net/fabricmc/fabric/mixin/command/MixinMinecraftDedicatedServer.java b/fabric-commands-v0/src/main/java/net/fabricmc/fabric/mixin/command/MixinMinecraftDedicatedServer.java
index ea17cdd16..49f85d58f 100644
--- a/fabric-commands-v0/src/main/java/net/fabricmc/fabric/mixin/command/MixinMinecraftDedicatedServer.java
+++ b/fabric-commands-v0/src/main/java/net/fabricmc/fabric/mixin/command/MixinMinecraftDedicatedServer.java
@@ -37,8 +37,8 @@ import net.fabricmc.fabric.impl.command.CommandRegistryImpl;
 
 @Mixin(MinecraftDedicatedServer.class)
 public abstract class MixinMinecraftDedicatedServer extends MinecraftServer {
-	public MixinMinecraftDedicatedServer(LevelStorage.class_5143 arg, Proxy proxy, DataFixer dataFixer, CommandManager commandManager, MinecraftSessionService minecraftSessionService, GameProfileRepository gameProfileRepository, UserCache userCache, WorldGenerationProgressListenerFactory worldGenerationProgressListenerFactory) {
-		super(arg, proxy, dataFixer, commandManager, minecraftSessionService, gameProfileRepository, userCache, worldGenerationProgressListenerFactory);
+	public MixinMinecraftDedicatedServer(LevelStorage.Session session, Proxy proxy, DataFixer dataFixer, CommandManager commandManager, MinecraftSessionService minecraftSessionService, GameProfileRepository gameProfileRepository, UserCache userCache, WorldGenerationProgressListenerFactory worldGenerationProgressListenerFactory) {
+		super(session, proxy, dataFixer, commandManager, minecraftSessionService, gameProfileRepository, userCache, worldGenerationProgressListenerFactory);
 	}
 
 	@Inject(method = "setupServer", at = @At("HEAD"))
diff --git a/fabric-dimensions-v1/build.gradle b/fabric-dimensions-v1/build.gradle
index 0e9842907..d14111b23 100644
--- a/fabric-dimensions-v1/build.gradle
+++ b/fabric-dimensions-v1/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-dimensions-v1"
-version = getSubprojectVersion(project, "0.3.2")
+version = getSubprojectVersion(project, "0.3.3")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/mixin/dimension/idremap/MixinLevelStorage.java b/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/mixin/dimension/idremap/MixinLevelStorage.java
index cc1fcf8b9..294f018df 100644
--- a/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/mixin/dimension/idremap/MixinLevelStorage.java
+++ b/fabric-dimensions-v1/src/main/java/net/fabricmc/fabric/mixin/dimension/idremap/MixinLevelStorage.java
@@ -26,7 +26,7 @@ import net.fabricmc.fabric.impl.dimension.DimensionRemapException;
 
 @Mixin(LevelStorage.class)
 public abstract class MixinLevelStorage {
-	@ModifyArg(method = "readLevelProperties", at = @At(value = "INVOKE", target = "Lorg/apache/logging/log4j/Logger;error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", remap = false), index = 2)
+	@ModifyArg(method = "readLevelProperties(Ljava/io/File;Lcom/mojang/datafixers/DataFixer;)Lnet/minecraft/world/level/LevelProperties;", at = @At(value = "INVOKE", target = "Lorg/apache/logging/log4j/Logger;error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V", remap = false), index = 2)
 	private static Object disableRecovery(Object e) {
 		if (e instanceof DimensionRemapException) {
 			throw (DimensionRemapException) e;
diff --git a/fabric-tag-extensions-v0/build.gradle b/fabric-tag-extensions-v0/build.gradle
index a450b082c..bf5d439c8 100644
--- a/fabric-tag-extensions-v0/build.gradle
+++ b/fabric-tag-extensions-v0/build.gradle
@@ -1,5 +1,5 @@
 archivesBaseName = "fabric-tag-extensions-v0"
-version = getSubprojectVersion(project, "0.2.2")
+version = getSubprojectVersion(project, "0.2.3")
 
 dependencies {
 	compile project(path: ':fabric-api-base', configuration: 'dev')
diff --git a/fabric-tag-extensions-v0/src/main/java/net/fabricmc/fabric/mixin/tag/extension/MixinTagBuilder.java b/fabric-tag-extensions-v0/src/main/java/net/fabricmc/fabric/mixin/tag/extension/MixinTagBuilder.java
index 54692f92a..da3f0c515 100644
--- a/fabric-tag-extensions-v0/src/main/java/net/fabricmc/fabric/mixin/tag/extension/MixinTagBuilder.java
+++ b/fabric-tag-extensions-v0/src/main/java/net/fabricmc/fabric/mixin/tag/extension/MixinTagBuilder.java
@@ -16,6 +16,7 @@
 
 package net.fabricmc.fabric.mixin.tag.extension;
 
+import java.util.List;
 import java.util.Optional;
 import java.util.Set;
 
@@ -36,7 +37,7 @@ import net.fabricmc.fabric.impl.tag.extension.FabricTagHooks;
 @Mixin(Tag.Builder.class)
 public class MixinTagBuilder<T> implements FabricTagBuilder<T> {
 	@Shadow
-	private Set<Tag.Entry> entries;
+	private List<Tag.class_5145> entries;
 
 	@Unique
 	private int fabric_clearCount;
@@ -47,8 +48,8 @@ public class MixinTagBuilder<T> implements FabricTagBuilder<T> {
 		return Optional.of(tagObj);
 	}
 
-	@Inject(at = @At(value = "INVOKE", target = "Ljava/util/Set;clear()V"), method = "read")
-	public void onFromJsonClear(JsonObject jsonObject_1, CallbackInfoReturnable<Tag.Builder> info) {
+	@Inject(at = @At(value = "INVOKE", target = "Ljava/util/List;clear()V"), method = "read")
+	public void onFromJsonClear(JsonObject json, String packName, CallbackInfoReturnable<Tag.Builder> info) {
 		fabric_clearCount++;
 	}