Skip to content

Commit 57bbe51

Browse files
NeWbY100claude
andcommitted
docs: add CHANGELOG entry for v1.2.6
Bumps the ReScene.Lib submodule to pick up: - feat(srs): EBML matcher for subtitle tracks, scan progress events, SRSCreationOptions.MainFilePath for scene-equivalent MatchOffset population. - fix(core): preserve mtime on input-directory copy; surface preservation failures via the new TimestampPreservationFailed event. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 8c1e4a4 commit 57bbe51

2 files changed

Lines changed: 68 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,73 @@ All notable changes to ReScene.NET are documented here.
44
Releases follow [SemVer](https://semver.org/) and this file follows
55
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
66

7+
## [1.2.6] — 2026-05-12
8+
9+
### Added
10+
11+
- SRS Creator gains an optional **Main file** input. When set, the
12+
writer locates each track's signature inside the main file after
13+
profiling and records the offset as `TrackInfo.MatchOffset`, mirroring
14+
pyrescene's `-c` flag. Produces SRS files byte-equivalent to scene
15+
tooling output (matching `MatchOffset` values rather than 0). MKV
16+
uses the EBML walker (handles subtitle-style tracks); other
17+
containers fall back to a raw byte scan. Tracks the verifier cannot
18+
locate keep `MatchOffset = 0` and emit a warning instead of failing.
19+
- SRS Reconstructor and SRS Creator both show live scan progress
20+
(percent, MB scanned, throughput, ETA) during their long file-walking
21+
steps. The Reconstructor modal stays open through the "Rebuilding"
22+
and "Verifying CRC" phases — heading transitions through "Rebuilding
23+
Sample" → "Verifying CRC" → close — instead of disappearing while the
24+
EBML walker traverses the media file silently.
25+
- RAR Reconstructor warns via `MessageBox` when an imported SRR carries
26+
no RAR reconstruction information (no RAR file entries, no archived
27+
files, and no detected compression method). The user is told to
28+
configure options manually instead of being left wondering why
29+
nothing auto-populated.
30+
- RAR Reconstructor surfaces timestamp-preservation failures. When the
31+
brute-force input copy cannot apply the source file's mtime/ctime/atime
32+
onto the working copy (denied by ACLs, read-only volume, …), a single
33+
summary `MessageBox` lists the affected paths after the run completes,
34+
explaining that the produced RAR's File Time (DOS) may not match the
35+
original. Per-file warnings continue to flow through the system log
36+
in real time.
37+
38+
### Fixed
39+
40+
- MKV sample reconstruction no longer fails with "Unable to locate
41+
track signature for track N in the media file" when the SRS was
42+
generated from a sample containing subtitle tracks (or any track
43+
whose individual Block payloads are smaller than the 256-byte
44+
signature). `MKVContainerRebuilder.FindSampleStreams` now walks the
45+
media file's EBML structure and matches each track's signature
46+
progressively across non-contiguous Block payloads — mirroring
47+
pyrescene's `_mkv_block_find`, including partial-match reset/re-try
48+
as a fresh match start. The previous raw byte scan in
49+
`SRSRebuilder.FindSignature` is preserved as a fallback for non-MKV
50+
containers.
51+
- `MKVContainerRebuilder.ExtractMediaAttachments` skips past `Cluster`
52+
bodies during its sweep. Attachments never live inside Clusters, and
53+
walking every `SimpleBlock` in a multi-GB MKV turned the attachment
54+
pass into a multi-second silent stall.
55+
- Reconstructor input copies now propagate the source file's
56+
`LastWriteTime` / `CreationTime` / `LastAccessTime` onto the
57+
destination after the stream copy. Previously the stream copy
58+
stamped destinations with "now", so when the SRR carried no archived
59+
timestamps WinRAR packed `FILE_HEAD.FTIME` with the copy time
60+
instead of the source's mtime. With SRR-driven timestamps the
61+
existing `ApplyFileTimestamps` step still overrides — same end
62+
result. With an empty SRR, the file's correct mtime now flows
63+
through to the produced RAR.
64+
- Compare tab's `SRSContainerChunks` matcher used to return the first
65+
matching node (usually the "Container Structure" parent, whose
66+
`Data` is a `List<SRSContainerChunk>` rather than a single chunk),
67+
leaving the opposite-side Properties panel empty when clicking
68+
through to a Cluster / EBML / Segment / etc. node. `FindMatchingNode`
69+
now special-cases the type and matches parent-to-parent and
70+
chunk-to-chunk by `Label`.
71+
72+
[1.2.6]: https://github.com/NeWbY100/ReScene.NET/releases/tag/v1.2.6
73+
774
## [1.2.5] — 2026-05-10
875

976
### Added

0 commit comments

Comments
 (0)