STORM SWITCH BOX 5.0.14
💡 Релиз 5.0.14 — Профессиональный комбайн для обработки, слияния, конвертации и компрессии образов Nintendo Switch и 3DS
🚀 Ключевые изменения и улучшения
- 🌟 [Изоляция Solid-компрессии]: Устранена критическая ошибка сжатия
nsz.exeпри сохранении в каталоги с существующими играми. Процесс компрессии переведен в изолированную временную директорию, что полностью исключает падения из-за предварительного сканирования библиотеки и поврежденных PFS0 разделов. - 🌟 [Устранение дедлоков консоли]: Запуск
nsz.exeв режиме Solid-компрессии переведен на безопасный пайплайнExternalProcessRunnerс автоматическим закрытием потокаStandardInput, регистрацией вJobObjectManagerи корректной кодировкой UTF-8. - 🌟 [Сохранность журнала задач]: Устранено случайное затирание логов этапов распаковки и конвертации перед стартом компрессии — журнал выполнения задач теперь строго аккумулирует историю всех стадий.
- 🌟 [Глубокая диагностика ошибок]: Полностью переработана подсистема перехвата сбоев в обработчиках задач: при пустом сообщении исключения теперь всегда отображаются его точный тип, внутреннее исключение и стек вызова.
- 🌟 [Отказоустойчивое логирование]: Запись логов сессий перенесена в гарантированно доступную пользовательскую директорию
%LOCALAPPDATA%\StormSwitchBox\logs, предотвращая отказы доступа при установке программы вProgram Files.
📋 Полный список изменений (нажмите, чтобы развернуть)
- 🔹 [NszCompressionService]: Режим сжатия
CompressSolidViaNszAsyncпереработан для создания изолированной временной папкиSTORM_TMPна целевом томе или в системном каталоге Temp. Сжатый файл атомарно перемещается в каталог назначения черезSafeFileOperations.SafeMoveOrReplaceFileAsync. - 🔹 [NszCompressionService]: Исправлено накопление логов задачи — заменено затирающее присвоение
task.LogDetails = ...на безопасное конкатенированиеtask.LogDetails += .... - 🔹 [ExternalProcessRunner]: Поток стандартного ввода
StandardInputтеперь гарантированно закрывается перед началом вычитывания вывода, защищая консольные утилиты от блокировок ожидания ввода пользователя. - 🔹 [MultiContentService]: В блоке перехвата ошибок обработки образов добавлено резервное формирование сообщения с именем класса исключения и
InnerException, исключая отображение пустых ошибок. - 🔹 [TasksViewModel]: Добавлена расширенная детализация исключений очереди задач для мгновенной локализации любых нештатных ситуаций.
- 🔹 [LogService]: Файлы журнала приложения теперь создаются в папке локального профиля пользователя с безопасной fallback-маршрутизацией во временную системную папку.
🌐 English Changelog (click to expand)
- 🔸 [Solid Compression Isolation]: Resolved a critical issue in
nsz.exesolid compression where scanning existing destination library directories containing corrupt or non-standard PFS0 partitions led toOSError: Not a valid PFS0 partition. Compression now executes within an isolated temporary staging directory before atomic placement. - 🔸 [Console Deadlock Prevention]: Solid compression subprocess execution is now managed through
ExternalProcessRunnerwith guaranteedStandardInputclosure,JobObjectManagertracking, and UTF-8 environment configuration. - 🔸 [Task Log Preservation]: Fixed premature overwriting of task log details across multi-stage operations, ensuring complete extraction and pre-processing history is retained.
- 🔸 [Enhanced Error Reporting]: Upgraded exception handlers across task and processing pipelines to surface full exception types, inner exceptions, and stack traces whenever a primary error message is empty.
- 🔸 [Resilient Session Logging]: Re-routed application session log files to
%LOCALAPPDATA%\StormSwitchBox\logs, eliminating unauthorized access exceptions when running from protectedProgram Fileslocations.
📦 Файлы и вложения к релизу (нажмите, чтобы развернуть)
- 📁 Прикреплённые файлы: Исполняемые файлы, инсталляторы и архивы доступны в секции Assets ниже.
- 🛡️ Контроль целостности: Все бинарные файлы собраны из официального исходного кода, заверены цифровой подписью STORM TEAM Authenticode SHA-256 с меткой времени RFC 3161 и проверены перед публикацией.
- 💻 Установка: Скачайте соответствующий архив или инсталлятор из списка Assets и следуйте стандартным инструкциям.