|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to ReScene.NET are documented here. |
| 4 | +Releases follow [SemVer](https://semver.org/) and this file follows |
| 5 | +[Keep a Changelog](https://keepachangelog.com/en/1.1.0/). |
| 6 | + |
| 7 | +## [1.2.2] — 2026-05-07 |
| 8 | + |
| 9 | +### Fixed |
| 10 | + |
| 11 | +- SRR Creator now prompts before overwriting an existing output file |
| 12 | + instead of silently truncating it. Cancelling leaves the previous log |
| 13 | + and progress untouched. |
| 14 | +- Compare tab populates correctly when opening an SRR file. The |
| 15 | + v1.2.1 acronym rename created two `SRRFileData` types in different |
| 16 | + namespaces; the dispatch in `FileCompareViewModel` was matching the |
| 17 | + wrong sibling, leaving the tree empty. |
| 18 | +- `languages.diz` extraction now decompresses RAR-compressed VobSub |
| 19 | + `.idx` files via `RARDecompressor` instead of writing garbage from |
| 20 | + the packed bitstream. Solid archives, split files, and decompression |
| 21 | + failures surface a precise per-file skip warning. |
| 22 | +- SRR Creator no longer silently re-adds the SFV (and any sibling |
| 23 | + `.nfo` files) after the user removes them from the Stored Files |
| 24 | + list. `SRRWriter.CreateFromSFVAsync` now treats `additionalFiles` |
| 25 | + as the sole source of stored-file blocks; the WPF |
| 26 | + `ReleaseFileScanner` still pre-populates the UI list when an input |
| 27 | + is selected. |
| 28 | + |
| 29 | +### Added |
| 30 | + |
| 31 | +- Granular per-file log lines during SRR creation: `Adding stored |
| 32 | + file …`, `Computing OSO hashes…`, `Added OSO hash …`, `Scanning RAR |
| 33 | + archive for VobSub .idx files…`, `Adding languages.diz …`. |
| 34 | +- New `RARArchive` / `RAREntry` types in `ReScene.RAR` — a file-level |
| 35 | + view over a RAR volume set with `Open`, `Files`, `OpenPackedStream`, |
| 36 | + and `TryReadAllBytes` (transparent decompression). Replaces hand-rolled |
| 37 | + header-walk code that had been duplicated across consumers. |
| 38 | +- `RARArchiveOpenTests` (16 cases) and `RARVolumeNamingTests` |
| 39 | + (27 cases) covering the new abstraction and the volume-naming helper. |
| 40 | +- `SRRCreationResult.LanguagesDizIdxFiles` exposes the discovered |
| 41 | + `.idx` files; the SRR Creator log surfaces these on the success |
| 42 | + line. |
| 43 | + |
| 44 | +### Changed |
| 45 | + |
| 46 | +- Acronyms in identifiers and source-file names normalized to ALL |
| 47 | + CAPS to match the dominant convention: `RAR`, `SRR`, `SRS`, `SFV`, |
| 48 | + `EBML`, `MP3`, `MP4`, `MKV`, `AVI`, `WMV`, `ASF`, `ISO`, `OSO`, |
| 49 | + `CRC`, `MHD`, `LHD`. Mid-identifier and standalone occurrences are |
| 50 | + covered (e.g. `CreateSrrCommand` → `CreateSRRCommand`, |
| 51 | + `BlockCrcMismatch` → `BlockCRCMismatch`). Third-party namespaces and |
| 52 | + types (`Force.Crc32`, `Crc32Algorithm` from Crc32.NET, |
| 53 | + `DiscUtils.Iso9660`, BCL `System.IO.Hashing.Crc32`) are |
| 54 | + intentionally preserved. |
| 55 | +- `LanguagesDizGenerator` and `OSOHashCalculator` refactored onto |
| 56 | + `RARArchive`, dropping their duplicated header-walk loops. |
| 57 | +- `RarStream`'s previously-private volume-naming helper extracted to |
| 58 | + `RARVolumeNaming` and shared with `RARArchive`. |
| 59 | + |
| 60 | +[1.2.2]: https://github.com/NeWbY100/ReScene.NET/releases/tag/v1.2.2 |
0 commit comments