feat: prepare for public release - updated README, added assets, and migration content

- Updated README with banner, navigation, disclaimer, and future features
- Added assets/images directory structure for repository images
- Added JackifyWikiUserGuide.md for wiki content
- Updated installation instructions for 7z archive distribution
- Added comprehensive future planned features section
- Prepared content for GitHub migration and Nexus Mods release
This commit is contained in:
Omni
2025-09-09 14:10:28 +01:00
parent 9f3191f79c
commit af62212b7a
49 changed files with 454 additions and 252 deletions
+1 -1
View File
@@ -5,4 +5,4 @@ This package provides both CLI and GUI interfaces for managing
Wabbajack modlists natively on Linux systems.
"""
__version__ = "0.0.31"
__version__ = "0.0.32"
+11 -11
View File
@@ -673,17 +673,17 @@ class ModlistHandler:
# Use canonical logic for all modlists/games
components = self.get_modlist_wine_components(self.game_name, self.game_var_full)
# Detect special games and use vanilla AppID instead of modlist AppID
special_game_type = self.detect_special_game_type(self.modlist_dir)
self.logger.debug(f"Wine components step - modlist_dir='{self.modlist_dir}', special_game_type='{special_game_type}'")
if special_game_type == "fnv":
target_appid = "22380" # Vanilla Fallout New Vegas AppID
self.logger.info("Installing wine components to vanilla FNV compatdata (AppID 22380)")
elif special_game_type == "enderal":
target_appid = "976620" # Enderal: Forgotten Stories Special Edition AppID
self.logger.info("Installing wine components to vanilla Enderal compatdata (AppID 976620)")
else:
target_appid = self.appid # Normal modlist AppID
# DISABLED: Special game wine component routing - now using registry injection approach
# special_game_type = self.detect_special_game_type(self.modlist_dir)
# if special_game_type == "fnv":
# target_appid = "22380" # Vanilla Fallout New Vegas AppID
# elif special_game_type == "enderal":
# target_appid = "976620" # Enderal: Forgotten Stories Special Edition AppID
# else:
# target_appid = self.appid # Normal modlist AppID
# All modlists now use their own AppID for wine components
target_appid = self.appid
if not self.protontricks_handler.install_wine_components(target_appid, self.game_var_full, specific_components=components):
self.logger.error("Failed to install Wine components. Configuration aborted.")
@@ -1718,18 +1718,21 @@ echo Prefix creation complete.
progress_callback("=== Steam Integration ===")
progress_callback(f"{self._get_progress_timestamp()} Creating Steam shortcut with native service")
# Detect special game types early to generate proper launch options
from ..handlers.modlist_handler import ModlistHandler
modlist_handler = ModlistHandler()
special_game_type = modlist_handler.detect_special_game_type(modlist_install_dir)
# DISABLED: Special game launch options - now using registry injection approach
# from ..handlers.modlist_handler import ModlistHandler
# modlist_handler = ModlistHandler()
# special_game_type = modlist_handler.detect_special_game_type(modlist_install_dir)
#
# # Generate complete launch options for special games
# custom_launch_options = None
# if special_game_type in ["fnv", "enderal"]:
# custom_launch_options = self._generate_special_game_launch_options(special_game_type, modlist_install_dir)
# if not custom_launch_options:
# logger.error(f"Failed to generate launch options for {special_game_type.upper()} modlist")
# return False, None, None, None
# Generate complete launch options for special games
# All modlists now use standard shortcut creation without custom launch options
custom_launch_options = None
if special_game_type in ["fnv", "enderal"]:
custom_launch_options = self._generate_special_game_launch_options(special_game_type, modlist_install_dir)
if not custom_launch_options:
logger.error(f"Failed to generate launch options for {special_game_type.upper()} modlist")
return False, None, None, None
try:
# Step 1: Create shortcut with native Steam service (pointing to ModOrganizer.exe initially)
@@ -1803,8 +1806,17 @@ echo Prefix creation complete.
if progress_callback:
progress_callback(f"{self._get_progress_timestamp()} Setup verification completed")
# Get the prefix path
# Step 5: Inject game registry entries for FNV/Enderal modlists
logger.info("Step 5: Injecting game registry entries")
if progress_callback:
progress_callback(f"{self._get_progress_timestamp()} Injecting game registry entries...")
# Get prefix path for registry injection
prefix_path = self.get_prefix_path(appid)
if prefix_path:
self._inject_game_registry_entries(str(prefix_path))
else:
logger.warning("Could not find prefix path for registry injection")
last_timestamp = self._get_progress_timestamp()
logger.info(f" Working workflow completed successfully! AppID: {appid}, Prefix: {prefix_path}")
@@ -2736,4 +2748,139 @@ echo Prefix creation complete.
return prefix_dir
else:
return None
def _find_steam_game(self, app_id: str, common_names: list) -> Optional[str]:
"""Find a Steam game installation path by AppID and common names"""
import os
from pathlib import Path
# Get Steam libraries from libraryfolders.vdf
steam_config_path = Path.home() / ".steam/steam/config/libraryfolders.vdf"
if not steam_config_path.exists():
return None
steam_libraries = []
try:
with open(steam_config_path, 'r') as f:
content = f.read()
# Parse library paths from VDF
import re
library_matches = re.findall(r'"path"\s+"([^"]+)"', content)
steam_libraries = [Path(path) / "steamapps" / "common" for path in library_matches]
except Exception as e:
logger.warning(f"Failed to parse Steam library folders: {e}")
return None
# Search for game in each library
for library_path in steam_libraries:
if not library_path.exists():
continue
# Check manifest file first (more reliable)
manifest_path = library_path.parent / "appmanifest_{}.acf".format(app_id)
if manifest_path.exists():
try:
with open(manifest_path, 'r') as f:
content = f.read()
install_dir_match = re.search(r'"installdir"\s+"([^"]+)"', content)
if install_dir_match:
game_path = library_path / install_dir_match.group(1)
if game_path.exists():
return str(game_path)
except Exception:
pass
# Fallback: check common folder names
for name in common_names:
game_path = library_path / name
if game_path.exists():
return str(game_path)
return None
def _update_registry_path(self, system_reg_path: str, section_name: str, path_key: str, new_path: str) -> bool:
"""Update a specific path value in Wine registry, preserving other entries"""
if not os.path.exists(system_reg_path):
return False
try:
# Read existing content
with open(system_reg_path, 'r', encoding='utf-8', errors='ignore') as f:
lines = f.readlines()
in_target_section = False
path_updated = False
wine_path = new_path.replace('/', '\\\\')
# Update existing path if found
for i, line in enumerate(lines):
stripped_line = line.strip()
if stripped_line == section_name:
in_target_section = True
elif stripped_line.startswith('[') and in_target_section:
in_target_section = False
elif in_target_section and f'"{path_key}"' in line:
lines[i] = f'"{path_key}"="Z:\\\\{wine_path}\\\\"\n' # Add trailing backslashes
path_updated = True
break
# Add new section if path wasn't updated
if not path_updated:
lines.append(f'\n{section_name}\n')
lines.append(f'"{path_key}"="Z:\\\\{wine_path}\\\\"\n') # Add trailing backslashes
# Write updated content
with open(system_reg_path, 'w', encoding='utf-8') as f:
f.writelines(lines)
return True
except Exception as e:
logger.error(f"Failed to update registry path: {e}")
return False
def _inject_game_registry_entries(self, modlist_compatdata_path: str):
"""Detect and inject FNV/Enderal game paths into modlist's system.reg"""
system_reg_path = os.path.join(modlist_compatdata_path, "pfx", "system.reg")
if not os.path.exists(system_reg_path):
logger.warning("system.reg not found, skipping game path injection")
return
logger.info("Detecting and injecting game registry entries...")
# Game configurations
games_config = {
"22380": { # Fallout New Vegas AppID
"name": "Fallout New Vegas",
"common_names": ["Fallout New Vegas", "FalloutNV"],
"registry_section": "[Software\\\\WOW6432Node\\\\bethesda softworks\\\\falloutnv]",
"path_key": "Installed Path"
},
"976620": { # Enderal Special Edition AppID
"name": "Enderal",
"common_names": ["Enderal: Forgotten Stories (Special Edition)", "Enderal Special Edition", "Enderal"],
"registry_section": "[Software\\\\Wow6432Node\\\\SureAI\\\\Enderal SE]",
"path_key": "installed path"
}
}
# Detect and inject each game
for app_id, config in games_config.items():
game_path = self._find_steam_game(app_id, config["common_names"])
if game_path:
logger.info(f"Detected {config['name']} at: {game_path}")
success = self._update_registry_path(
system_reg_path,
config["registry_section"],
config["path_key"],
game_path
)
if success:
logger.info(f"Updated registry entry for {config['name']}")
else:
logger.warning(f"Failed to update registry entry for {config['name']}")
else:
logger.debug(f"{config['name']} not found in Steam libraries")
logger.info("Game registry injection completed")
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+225 -225
View File
@@ -7,7 +7,7 @@
"targets": {
".NETCoreApp,Version=v8.0": {},
".NETCoreApp,Version=v8.0/linux-x64": {
"jackify-engine/0.3.11": {
"jackify-engine/0.3.12": {
"dependencies": {
"Markdig": "0.40.0",
"Microsoft.Extensions.Configuration.Json": "9.0.1",
@@ -22,16 +22,16 @@
"SixLabors.ImageSharp": "3.1.6",
"System.CommandLine": "2.0.0-beta4.22272.1",
"System.CommandLine.NamingConventionBinder": "2.0.0-beta4.22272.1",
"Wabbajack.CLI.Builder": "0.3.11",
"Wabbajack.Downloaders.Bethesda": "0.3.11",
"Wabbajack.Downloaders.Dispatcher": "0.3.11",
"Wabbajack.Hashing.xxHash64": "0.3.11",
"Wabbajack.Networking.Discord": "0.3.11",
"Wabbajack.Networking.GitHub": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11",
"Wabbajack.Server.Lib": "0.3.11",
"Wabbajack.Services.OSIntegrated": "0.3.11",
"Wabbajack.VFS": "0.3.11",
"Wabbajack.CLI.Builder": "0.3.12",
"Wabbajack.Downloaders.Bethesda": "0.3.12",
"Wabbajack.Downloaders.Dispatcher": "0.3.12",
"Wabbajack.Hashing.xxHash64": "0.3.12",
"Wabbajack.Networking.Discord": "0.3.12",
"Wabbajack.Networking.GitHub": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12",
"Wabbajack.Server.Lib": "0.3.12",
"Wabbajack.Services.OSIntegrated": "0.3.12",
"Wabbajack.VFS": "0.3.12",
"MegaApiClient": "1.0.0.0",
"runtimepack.Microsoft.NETCore.App.Runtime.linux-x64": "8.0.19"
},
@@ -1781,7 +1781,7 @@
}
}
},
"Wabbajack.CLI.Builder/0.3.11": {
"Wabbajack.CLI.Builder/0.3.12": {
"dependencies": {
"Microsoft.Extensions.Configuration.Json": "9.0.1",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
@@ -1791,109 +1791,109 @@
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"System.CommandLine": "2.0.0-beta4.22272.1",
"System.CommandLine.NamingConventionBinder": "2.0.0-beta4.22272.1",
"Wabbajack.Paths": "0.3.11"
"Wabbajack.Paths": "0.3.12"
},
"runtime": {
"Wabbajack.CLI.Builder.dll": {}
}
},
"Wabbajack.Common/0.3.11": {
"Wabbajack.Common/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"System.Reactive": "6.0.1",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Networking.Http": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11"
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Networking.Http": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12"
},
"runtime": {
"Wabbajack.Common.dll": {}
}
},
"Wabbajack.Compiler/0.3.11": {
"Wabbajack.Compiler/0.3.12": {
"dependencies": {
"F23.StringSimilarity": "6.0.0",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Newtonsoft.Json": "13.0.3",
"SixLabors.ImageSharp": "3.1.6",
"Wabbajack.Downloaders.Dispatcher": "0.3.11",
"Wabbajack.Installer": "0.3.11",
"Wabbajack.VFS": "0.3.11",
"Wabbajack.Downloaders.Dispatcher": "0.3.12",
"Wabbajack.Installer": "0.3.12",
"Wabbajack.VFS": "0.3.12",
"ini-parser-netstandard": "2.5.2"
},
"runtime": {
"Wabbajack.Compiler.dll": {}
}
},
"Wabbajack.Compression.BSA/0.3.11": {
"Wabbajack.Compression.BSA/0.3.12": {
"dependencies": {
"K4os.Compression.LZ4.Streams": "1.3.8",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"SharpZipLib": "1.4.2",
"Wabbajack.Common": "0.3.11",
"Wabbajack.DTOs": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.DTOs": "0.3.12"
},
"runtime": {
"Wabbajack.Compression.BSA.dll": {}
}
},
"Wabbajack.Compression.Zip/0.3.11": {
"Wabbajack.Compression.Zip/0.3.12": {
"dependencies": {
"Wabbajack.IO.Async": "0.3.11"
"Wabbajack.IO.Async": "0.3.12"
},
"runtime": {
"Wabbajack.Compression.Zip.dll": {}
}
},
"Wabbajack.Configuration/0.3.11": {
"Wabbajack.Configuration/0.3.12": {
"runtime": {
"Wabbajack.Configuration.dll": {}
}
},
"Wabbajack.Downloaders.Bethesda/0.3.11": {
"Wabbajack.Downloaders.Bethesda/0.3.12": {
"dependencies": {
"LibAES-CTR": "1.1.0",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"SharpZipLib": "1.4.2",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Networking.BethesdaNet": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Networking.BethesdaNet": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.Bethesda.dll": {}
}
},
"Wabbajack.Downloaders.Dispatcher/0.3.11": {
"Wabbajack.Downloaders.Dispatcher/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Newtonsoft.Json": "13.0.3",
"SixLabors.ImageSharp": "3.1.6",
"Wabbajack.Downloaders.Bethesda": "0.3.11",
"Wabbajack.Downloaders.GameFile": "0.3.11",
"Wabbajack.Downloaders.GoogleDrive": "0.3.11",
"Wabbajack.Downloaders.Http": "0.3.11",
"Wabbajack.Downloaders.IPS4OAuth2Downloader": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Downloaders.Manual": "0.3.11",
"Wabbajack.Downloaders.MediaFire": "0.3.11",
"Wabbajack.Downloaders.Mega": "0.3.11",
"Wabbajack.Downloaders.ModDB": "0.3.11",
"Wabbajack.Downloaders.Nexus": "0.3.11",
"Wabbajack.Downloaders.VerificationCache": "0.3.11",
"Wabbajack.Downloaders.WabbajackCDN": "0.3.11",
"Wabbajack.Networking.WabbajackClientApi": "0.3.11"
"Wabbajack.Downloaders.Bethesda": "0.3.12",
"Wabbajack.Downloaders.GameFile": "0.3.12",
"Wabbajack.Downloaders.GoogleDrive": "0.3.12",
"Wabbajack.Downloaders.Http": "0.3.12",
"Wabbajack.Downloaders.IPS4OAuth2Downloader": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Downloaders.Manual": "0.3.12",
"Wabbajack.Downloaders.MediaFire": "0.3.12",
"Wabbajack.Downloaders.Mega": "0.3.12",
"Wabbajack.Downloaders.ModDB": "0.3.12",
"Wabbajack.Downloaders.Nexus": "0.3.12",
"Wabbajack.Downloaders.VerificationCache": "0.3.12",
"Wabbajack.Downloaders.WabbajackCDN": "0.3.12",
"Wabbajack.Networking.WabbajackClientApi": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.Dispatcher.dll": {}
}
},
"Wabbajack.Downloaders.GameFile/0.3.11": {
"Wabbajack.Downloaders.GameFile/0.3.12": {
"dependencies": {
"GameFinder.StoreHandlers.EADesktop": "4.5.0",
"GameFinder.StoreHandlers.EGS": "4.5.0",
@@ -1903,360 +1903,360 @@
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"SixLabors.ImageSharp": "3.1.6",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.VFS": "0.3.11"
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.VFS": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.GameFile.dll": {}
}
},
"Wabbajack.Downloaders.GoogleDrive/0.3.11": {
"Wabbajack.Downloaders.GoogleDrive/0.3.12": {
"dependencies": {
"HtmlAgilityPack": "1.11.72",
"Microsoft.AspNetCore.Http.Extensions": "2.3.0",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Wabbajack.Common": "0.3.11",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Networking.Http": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Networking.Http": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.GoogleDrive.dll": {}
}
},
"Wabbajack.Downloaders.Http/0.3.11": {
"Wabbajack.Downloaders.Http/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Wabbajack.Common": "0.3.11",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Networking.BethesdaNet": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Networking.BethesdaNet": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.Http.dll": {}
}
},
"Wabbajack.Downloaders.Interfaces/0.3.11": {
"Wabbajack.Downloaders.Interfaces/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Wabbajack.Compression.Zip": "0.3.11",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11"
"Wabbajack.Compression.Zip": "0.3.12",
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.Interfaces.dll": {}
}
},
"Wabbajack.Downloaders.IPS4OAuth2Downloader/0.3.11": {
"Wabbajack.Downloaders.IPS4OAuth2Downloader/0.3.12": {
"dependencies": {
"F23.StringSimilarity": "6.0.0",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Networking.Http": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Networking.Http": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.IPS4OAuth2Downloader.dll": {}
}
},
"Wabbajack.Downloaders.Manual/0.3.11": {
"Wabbajack.Downloaders.Manual/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.Manual.dll": {}
}
},
"Wabbajack.Downloaders.MediaFire/0.3.11": {
"Wabbajack.Downloaders.MediaFire/0.3.12": {
"dependencies": {
"HtmlAgilityPack": "1.11.72",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.MediaFire.dll": {}
}
},
"Wabbajack.Downloaders.Mega/0.3.11": {
"Wabbajack.Downloaders.Mega/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Newtonsoft.Json": "13.0.3",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.Mega.dll": {}
}
},
"Wabbajack.Downloaders.ModDB/0.3.11": {
"Wabbajack.Downloaders.ModDB/0.3.12": {
"dependencies": {
"HtmlAgilityPack": "1.11.72",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Newtonsoft.Json": "13.0.3",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Networking.Http": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Networking.Http": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.ModDB.dll": {}
}
},
"Wabbajack.Downloaders.Nexus/0.3.11": {
"Wabbajack.Downloaders.Nexus/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Hashing.xxHash64": "0.3.11",
"Wabbajack.Networking.Http": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11",
"Wabbajack.Networking.NexusApi": "0.3.11",
"Wabbajack.Paths": "0.3.11"
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Hashing.xxHash64": "0.3.12",
"Wabbajack.Networking.Http": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12",
"Wabbajack.Networking.NexusApi": "0.3.12",
"Wabbajack.Paths": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.Nexus.dll": {}
}
},
"Wabbajack.Downloaders.VerificationCache/0.3.11": {
"Wabbajack.Downloaders.VerificationCache/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Stub.System.Data.SQLite.Core.NetStandard": "1.0.119",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11"
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.VerificationCache.dll": {}
}
},
"Wabbajack.Downloaders.WabbajackCDN/0.3.11": {
"Wabbajack.Downloaders.WabbajackCDN/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Toolkit.HighPerformance": "7.1.2",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Networking.Http": "0.3.11",
"Wabbajack.RateLimiter": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Networking.Http": "0.3.12",
"Wabbajack.RateLimiter": "0.3.12"
},
"runtime": {
"Wabbajack.Downloaders.WabbajackCDN.dll": {}
}
},
"Wabbajack.DTOs/0.3.11": {
"Wabbajack.DTOs/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Wabbajack.Hashing.xxHash64": "0.3.11",
"Wabbajack.Paths": "0.3.11"
"Wabbajack.Hashing.xxHash64": "0.3.12",
"Wabbajack.Paths": "0.3.12"
},
"runtime": {
"Wabbajack.DTOs.dll": {}
}
},
"Wabbajack.FileExtractor/0.3.11": {
"Wabbajack.FileExtractor/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"OMODFramework": "3.0.1",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Compression.BSA": "0.3.11",
"Wabbajack.Hashing.PHash": "0.3.11",
"Wabbajack.Paths": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Compression.BSA": "0.3.12",
"Wabbajack.Hashing.PHash": "0.3.12",
"Wabbajack.Paths": "0.3.12"
},
"runtime": {
"Wabbajack.FileExtractor.dll": {}
}
},
"Wabbajack.Hashing.PHash/0.3.11": {
"Wabbajack.Hashing.PHash/0.3.12": {
"dependencies": {
"BCnEncoder.Net.ImageSharp": "1.1.1",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Shipwreck.Phash": "0.5.0",
"SixLabors.ImageSharp": "3.1.6",
"Wabbajack.Common": "0.3.11",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Paths": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Paths": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12"
},
"runtime": {
"Wabbajack.Hashing.PHash.dll": {}
}
},
"Wabbajack.Hashing.xxHash64/0.3.11": {
"Wabbajack.Hashing.xxHash64/0.3.12": {
"dependencies": {
"Wabbajack.Paths": "0.3.11",
"Wabbajack.RateLimiter": "0.3.11"
"Wabbajack.Paths": "0.3.12",
"Wabbajack.RateLimiter": "0.3.12"
},
"runtime": {
"Wabbajack.Hashing.xxHash64.dll": {}
}
},
"Wabbajack.Installer/0.3.11": {
"Wabbajack.Installer/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Newtonsoft.Json": "13.0.3",
"Octopus.Octodiff": "2.0.548",
"SixLabors.ImageSharp": "3.1.6",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Downloaders.Dispatcher": "0.3.11",
"Wabbajack.Downloaders.GameFile": "0.3.11",
"Wabbajack.FileExtractor": "0.3.11",
"Wabbajack.Networking.WabbajackClientApi": "0.3.11",
"Wabbajack.Paths": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11",
"Wabbajack.VFS": "0.3.11",
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Downloaders.Dispatcher": "0.3.12",
"Wabbajack.Downloaders.GameFile": "0.3.12",
"Wabbajack.FileExtractor": "0.3.12",
"Wabbajack.Networking.WabbajackClientApi": "0.3.12",
"Wabbajack.Paths": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12",
"Wabbajack.VFS": "0.3.12",
"ini-parser-netstandard": "2.5.2"
},
"runtime": {
"Wabbajack.Installer.dll": {}
}
},
"Wabbajack.IO.Async/0.3.11": {
"Wabbajack.IO.Async/0.3.12": {
"runtime": {
"Wabbajack.IO.Async.dll": {}
}
},
"Wabbajack.Networking.BethesdaNet/0.3.11": {
"Wabbajack.Networking.BethesdaNet/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Networking.Http": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11"
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Networking.Http": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.Networking.BethesdaNet.dll": {}
}
},
"Wabbajack.Networking.Discord/0.3.11": {
"Wabbajack.Networking.Discord/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Wabbajack.Networking.Http.Interfaces": "0.3.11"
"Wabbajack.Networking.Http.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.Networking.Discord.dll": {}
}
},
"Wabbajack.Networking.GitHub/0.3.11": {
"Wabbajack.Networking.GitHub/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Octokit": "14.0.0",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11"
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.Networking.GitHub.dll": {}
}
},
"Wabbajack.Networking.Http/0.3.11": {
"Wabbajack.Networking.Http/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Http": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1",
"Wabbajack.Configuration": "0.3.11",
"Wabbajack.Downloaders.Interfaces": "0.3.11",
"Wabbajack.Hashing.xxHash64": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11",
"Wabbajack.Paths": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11"
"Wabbajack.Configuration": "0.3.12",
"Wabbajack.Downloaders.Interfaces": "0.3.12",
"Wabbajack.Hashing.xxHash64": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12",
"Wabbajack.Paths": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12"
},
"runtime": {
"Wabbajack.Networking.Http.dll": {}
}
},
"Wabbajack.Networking.Http.Interfaces/0.3.11": {
"Wabbajack.Networking.Http.Interfaces/0.3.12": {
"dependencies": {
"Wabbajack.Hashing.xxHash64": "0.3.11"
"Wabbajack.Hashing.xxHash64": "0.3.12"
},
"runtime": {
"Wabbajack.Networking.Http.Interfaces.dll": {}
}
},
"Wabbajack.Networking.NexusApi/0.3.11": {
"Wabbajack.Networking.NexusApi/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Networking.Http": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11",
"Wabbajack.Networking.WabbajackClientApi": "0.3.11"
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Networking.Http": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12",
"Wabbajack.Networking.WabbajackClientApi": "0.3.12"
},
"runtime": {
"Wabbajack.Networking.NexusApi.dll": {}
}
},
"Wabbajack.Networking.WabbajackClientApi/0.3.11": {
"Wabbajack.Networking.WabbajackClientApi/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Octokit": "14.0.0",
"Wabbajack.Common": "0.3.11",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11",
"Wabbajack.VFS.Interfaces": "0.3.11",
"Wabbajack.Common": "0.3.12",
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12",
"Wabbajack.VFS.Interfaces": "0.3.12",
"YamlDotNet": "16.3.0"
},
"runtime": {
"Wabbajack.Networking.WabbajackClientApi.dll": {}
}
},
"Wabbajack.Paths/0.3.11": {
"Wabbajack.Paths/0.3.12": {
"runtime": {
"Wabbajack.Paths.dll": {}
}
},
"Wabbajack.Paths.IO/0.3.11": {
"Wabbajack.Paths.IO/0.3.12": {
"dependencies": {
"Wabbajack.Paths": "0.3.11",
"Wabbajack.Paths": "0.3.12",
"shortid": "4.0.0"
},
"runtime": {
"Wabbajack.Paths.IO.dll": {}
}
},
"Wabbajack.RateLimiter/0.3.11": {
"Wabbajack.RateLimiter/0.3.12": {
"runtime": {
"Wabbajack.RateLimiter.dll": {}
}
},
"Wabbajack.Server.Lib/0.3.11": {
"Wabbajack.Server.Lib/0.3.12": {
"dependencies": {
"FluentFTP": "52.0.0",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
@@ -2264,58 +2264,58 @@
"Nettle": "3.0.0",
"Newtonsoft.Json": "13.0.3",
"SixLabors.ImageSharp": "3.1.6",
"Wabbajack.Common": "0.3.11",
"Wabbajack.Networking.Http.Interfaces": "0.3.11",
"Wabbajack.Services.OSIntegrated": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.Networking.Http.Interfaces": "0.3.12",
"Wabbajack.Services.OSIntegrated": "0.3.12"
},
"runtime": {
"Wabbajack.Server.Lib.dll": {}
}
},
"Wabbajack.Services.OSIntegrated/0.3.11": {
"Wabbajack.Services.OSIntegrated/0.3.12": {
"dependencies": {
"DeviceId": "6.8.0",
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Newtonsoft.Json": "13.0.3",
"SixLabors.ImageSharp": "3.1.6",
"Wabbajack.Compiler": "0.3.11",
"Wabbajack.Downloaders.Dispatcher": "0.3.11",
"Wabbajack.Installer": "0.3.11",
"Wabbajack.Networking.BethesdaNet": "0.3.11",
"Wabbajack.Networking.Discord": "0.3.11",
"Wabbajack.VFS": "0.3.11"
"Wabbajack.Compiler": "0.3.12",
"Wabbajack.Downloaders.Dispatcher": "0.3.12",
"Wabbajack.Installer": "0.3.12",
"Wabbajack.Networking.BethesdaNet": "0.3.12",
"Wabbajack.Networking.Discord": "0.3.12",
"Wabbajack.VFS": "0.3.12"
},
"runtime": {
"Wabbajack.Services.OSIntegrated.dll": {}
}
},
"Wabbajack.VFS/0.3.11": {
"Wabbajack.VFS/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"SixLabors.ImageSharp": "3.1.6",
"System.Data.SQLite.Core": "1.0.119",
"Wabbajack.Common": "0.3.11",
"Wabbajack.FileExtractor": "0.3.11",
"Wabbajack.Hashing.PHash": "0.3.11",
"Wabbajack.Hashing.xxHash64": "0.3.11",
"Wabbajack.Paths": "0.3.11",
"Wabbajack.Paths.IO": "0.3.11",
"Wabbajack.VFS.Interfaces": "0.3.11"
"Wabbajack.Common": "0.3.12",
"Wabbajack.FileExtractor": "0.3.12",
"Wabbajack.Hashing.PHash": "0.3.12",
"Wabbajack.Hashing.xxHash64": "0.3.12",
"Wabbajack.Paths": "0.3.12",
"Wabbajack.Paths.IO": "0.3.12",
"Wabbajack.VFS.Interfaces": "0.3.12"
},
"runtime": {
"Wabbajack.VFS.dll": {}
}
},
"Wabbajack.VFS.Interfaces/0.3.11": {
"Wabbajack.VFS.Interfaces/0.3.12": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Wabbajack.DTOs": "0.3.11",
"Wabbajack.Hashing.xxHash64": "0.3.11",
"Wabbajack.Paths": "0.3.11"
"Wabbajack.DTOs": "0.3.12",
"Wabbajack.Hashing.xxHash64": "0.3.12",
"Wabbajack.Paths": "0.3.12"
},
"runtime": {
"Wabbajack.VFS.Interfaces.dll": {}
@@ -2332,7 +2332,7 @@
}
},
"libraries": {
"jackify-engine/0.3.11": {
"jackify-engine/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
@@ -3021,202 +3021,202 @@
"path": "yamldotnet/16.3.0",
"hashPath": "yamldotnet.16.3.0.nupkg.sha512"
},
"Wabbajack.CLI.Builder/0.3.11": {
"Wabbajack.CLI.Builder/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Common/0.3.11": {
"Wabbajack.Common/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Compiler/0.3.11": {
"Wabbajack.Compiler/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Compression.BSA/0.3.11": {
"Wabbajack.Compression.BSA/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Compression.Zip/0.3.11": {
"Wabbajack.Compression.Zip/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Configuration/0.3.11": {
"Wabbajack.Configuration/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.Bethesda/0.3.11": {
"Wabbajack.Downloaders.Bethesda/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.Dispatcher/0.3.11": {
"Wabbajack.Downloaders.Dispatcher/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.GameFile/0.3.11": {
"Wabbajack.Downloaders.GameFile/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.GoogleDrive/0.3.11": {
"Wabbajack.Downloaders.GoogleDrive/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.Http/0.3.11": {
"Wabbajack.Downloaders.Http/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.Interfaces/0.3.11": {
"Wabbajack.Downloaders.Interfaces/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.IPS4OAuth2Downloader/0.3.11": {
"Wabbajack.Downloaders.IPS4OAuth2Downloader/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.Manual/0.3.11": {
"Wabbajack.Downloaders.Manual/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.MediaFire/0.3.11": {
"Wabbajack.Downloaders.MediaFire/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.Mega/0.3.11": {
"Wabbajack.Downloaders.Mega/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.ModDB/0.3.11": {
"Wabbajack.Downloaders.ModDB/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.Nexus/0.3.11": {
"Wabbajack.Downloaders.Nexus/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.VerificationCache/0.3.11": {
"Wabbajack.Downloaders.VerificationCache/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Downloaders.WabbajackCDN/0.3.11": {
"Wabbajack.Downloaders.WabbajackCDN/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.DTOs/0.3.11": {
"Wabbajack.DTOs/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.FileExtractor/0.3.11": {
"Wabbajack.FileExtractor/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Hashing.PHash/0.3.11": {
"Wabbajack.Hashing.PHash/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Hashing.xxHash64/0.3.11": {
"Wabbajack.Hashing.xxHash64/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Installer/0.3.11": {
"Wabbajack.Installer/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.IO.Async/0.3.11": {
"Wabbajack.IO.Async/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Networking.BethesdaNet/0.3.11": {
"Wabbajack.Networking.BethesdaNet/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Networking.Discord/0.3.11": {
"Wabbajack.Networking.Discord/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Networking.GitHub/0.3.11": {
"Wabbajack.Networking.GitHub/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Networking.Http/0.3.11": {
"Wabbajack.Networking.Http/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Networking.Http.Interfaces/0.3.11": {
"Wabbajack.Networking.Http.Interfaces/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Networking.NexusApi/0.3.11": {
"Wabbajack.Networking.NexusApi/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Networking.WabbajackClientApi/0.3.11": {
"Wabbajack.Networking.WabbajackClientApi/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Paths/0.3.11": {
"Wabbajack.Paths/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Paths.IO/0.3.11": {
"Wabbajack.Paths.IO/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.RateLimiter/0.3.11": {
"Wabbajack.RateLimiter/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Server.Lib/0.3.11": {
"Wabbajack.Server.Lib/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.Services.OSIntegrated/0.3.11": {
"Wabbajack.Services.OSIntegrated/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.VFS/0.3.11": {
"Wabbajack.VFS/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Wabbajack.VFS.Interfaces/0.3.11": {
"Wabbajack.VFS.Interfaces/0.3.12": {
"type": "project",
"serviceable": false,
"sha512": ""
Binary file not shown.