This website requires JavaScript.
f407c4c693
fix(extract): anchor AACS unit base per-extent + crash-safety hardening
Matthew Jackson
2026-06-24 23:20:15 -07:00
d4a0f5b786
aacs: split no-key resolution reason into E7021 vs E7022
Matthew Jackson
2026-06-24 22:38:54 -07:00
1854869ab3
v1.0.0-rc.5.3: bump version
Matthew Jackson
2026-06-24 21:50:00 -07:00
275d9eebe0
libfreemkv: plain-English, source-agnostic AACS scan logs
Matthew Jackson
2026-06-24 21:47:37 -07:00
05b9befc64
libfreemkv: keydb default location is local to the executable
Matthew Jackson
2026-06-24 20:46:31 -07:00
1767cf67b6
libfreemkv: dir:// — decrypted file-tree extraction (Disc::extract_tree)
Matthew Jackson
2026-06-24 20:46:31 -07:00
9a3f6b7313
libfreemkv: hard-error when decryption is needed but no key is available
Matthew Jackson
2026-06-24 19:33:09 -07:00
1f91eebb9a
v1.0.0-rc.5.2: bump version
Matthew Jackson
2026-06-24 17:14:10 -07:00
f4a475c7b9
libfreemkv: rc.5.2 changelog — audio routing, AACS clip-anchor, recovery, TopGun, keysources move
Matthew Jackson
2026-06-24 17:12:17 -07:00
5b0976859f
libfreemkv: rc.5.2 SOTL video — full Windows fps, opening-GOP proof, self-sufficient log-level 3
Matthew Jackson
2026-06-24 17:03:28 -07:00
f72a956b5b
fix(dvd-audio-probe): read each sub-stream's true max channel count
Matthew Jackson
2026-06-24 16:55:34 -07:00
9cd36427be
libfreemkv: fix rc.5.2 audit code findings
Matthew Jackson
2026-06-24 16:18:46 -07:00
674a7dd867
dvd: route AC-3 audio to the physically-correct sub-stream by probed channel count
Matthew Jackson
2026-06-24 16:28:21 -07:00
1cec2aaaf3
mux/hevc: auto-detect non-seamless clip boundary, rewrite splice CRA→BLA
Matthew Jackson
2026-06-24 15:09:26 -07:00
794d88f6e7
libfreemkv: rc.5.2 DVD test coverage — depth-aware mux, colour codes, CSS scan
Matthew Jackson
2026-06-24 15:24:55 -07:00
63ed05bd63
libfreemkv: clip-anchored AACS unit gate + consolidate key mechanism
Matthew Jackson
2026-06-24 15:40:50 -07:00
987e26e44d
libfreemkv: single-pass disc->MKV recovers marginal sectors before giving up
Matthew Jackson
2026-06-24 14:58:32 -07:00
b76e9d38c5
v1.0.0-rc.5.1: bump version
Matthew Jackson
2026-06-24 14:36:29 -07:00
6592f2a590
libfreemkv: rc.5.1 DVD correctness fixes
Matthew Jackson
2026-06-24 14:34:55 -07:00
315276dd13
Add Contributor Covenant v2.1 Code of Conduct
Matthew Jackson
2026-06-24 10:44:58 -07:00
9d40da3982
v1.0.0-rc.5: bump version
Matthew Jackson
2026-06-24 10:27:30 -07:00
e0ce035765
Preserve interlaced scan type in label and MKV output
Matthew Jackson
2026-06-24 09:47:16 -07:00
2613a81f09
Fix AC-3 channel count read from wrong nibble in VTS audio attr
Matthew Jackson
2026-06-24 09:39:02 -07:00
45a7b74ab9
fix: correct stale FAIL_PAUSE_SECS doc claiming uniform sweep+patch application
Matthew Jackson
2026-06-24 05:57:39 -07:00
8b8ada7802
fix: drop BytePrefetcher channel endpoints before join to prevent deadlock
Matthew Jackson
2026-06-24 05:50:58 -07:00
cdd11ccb25
fix: correct stale doc on PatchItem::Unreadable — promotion shipped via Mapfile::record, not PatchSink
Matthew Jackson
2026-06-24 05:02:24 -07:00
c706a94312
fix: correct stale css::crack comment reference to css::crack_key
Matthew Jackson
2026-06-24 04:57:47 -07:00
06ee748689
fix: remove stale sweep_pipeline.rs cross-references in patch.rs comments
Matthew Jackson
2026-06-24 04:52:04 -07:00
95b9762c51
Revert "fix: discard duplicate TS packets in non-PUSI continuation path"
Matthew Jackson
2026-06-24 01:59:49 -07:00
fb13f975df
fix: enforce WEDGE_FAMILY_COOLDOWN_SECS == ZONE_ENTRY_COOLDOWN_SECS at compile time
Matthew Jackson
2026-06-24 01:52:43 -07:00
dbc2225315
fix: correct Profile-07 comment — prime_cache(lba) reads lba-3..lba-1, not lba itself
Matthew Jackson
2026-06-24 01:51:21 -07:00
ee0c7cebe3
fix(vc1): assemble keyframe prefix in fixed seq-then-entry order
Matthew Jackson
2026-06-24 01:47:51 -07:00
f3c3614a17
fix: discard duplicate TS packets in non-PUSI continuation path
Matthew Jackson
2026-06-24 01:45:39 -07:00
c4f0566fb1
fix: correct comment — patch leaves middle NonTrimmed, not NonTrimmed/Unreadable
Matthew Jackson
2026-06-24 01:11:39 -07:00
77f67dd3ed
fix: correct doc comment in patch pipeline test to say NonTrimmed not Unreadable
Matthew Jackson
2026-06-24 01:10:51 -07:00
7f195be894
fix: remove stale TDD-red comment from BytesRead emission test
Matthew Jackson
2026-06-24 00:50:21 -07:00
48e95a7b2c
fix: correct hevc.rs doc comments — non-seamless BD join is connection_condition 0x05/0x06 not 0x01
Matthew Jackson
2026-06-24 00:49:22 -07:00
6268f6e5d9
fix: use trim_mkb in resolve_vid_only to avoid zeroing unrecognised MKB
Matthew Jackson
2026-06-24 00:48:02 -07:00
4c50ca2122
fix: correct stale comment in patch.rs work-list ranges_with call
Matthew Jackson
2026-06-24 00:09:13 -07:00
a324e5c62f
fix: correct module doc — only Pass 1 routes through handle_read_error, not Pass N
Matthew Jackson
2026-06-23 23:34:02 -07:00
dc7ab01907
fix: update stale doc comment in ReadCtx::for_patch — sync is automatic
Matthew Jackson
2026-06-23 22:51:47 -07:00
55849edd99
fix: correct skip_sectors_for_probe doc comment (8x per index, not 2x per 3)
Matthew Jackson
2026-06-23 22:50:40 -07:00
af3666ff3b
fix: correct module doc watchdog constant name in patch.rs
Matthew Jackson
2026-06-23 22:49:42 -07:00
b82075b41a
Fix rc5 audit findings: keydb doc, pipeline ordering, hot-loop Arc, tests
Matthew Jackson
2026-06-23 19:11:09 -07:00
3c3e0b4341
Bump to 1.0.0-rc.4.3
Matthew Jackson
2026-06-23 15:49:25 -07:00
e96528ad5b
DVD: correct PAL/NTSC, anamorphic aspect, and SD colour
Matthew Jackson
2026-06-23 15:38:49 -07:00
705857f117
docs: changelog entry for rc.4.2 Windows fixes
Matthew Jackson
2026-06-23 12:49:08 -07:00
845e20e508
v1.0.0-rc.4.2: bump version
Matthew Jackson
2026-06-23 12:41:07 -07:00
d5afeb6088
io: add platform-aware fsync helpers (dir + durable file sync)
Matthew Jackson
2026-06-23 12:38:02 -07:00
008c1f143e
v1.0.0-rc.4.1: bump version
Matthew Jackson
2026-06-23 10:45:42 -07:00
e633a7d3af
test(scsi/windows): cross-check all FFI structs + constants vs SDK headers
Matthew Jackson
2026-06-23 10:44:21 -07:00
f177d61bbf
fix(scsi/windows): revert wrong packed(4) on ScsiPassThroughDirect (rc.4 drive-detection regression)
Matthew Jackson
2026-06-23 10:40:32 -07:00
618524ecb8
ci: cache Rust builds with Swatinem/rust-cache to speed up release + CI
Matthew Jackson
2026-06-23 10:01:37 -07:00
4277ee32dd
v1.0.0-rc.4: bump version
Matthew Jackson
2026-06-23 09:31:56 -07:00
6ace16293b
keysource: add KeySource::label() for source identification
Matthew Jackson
2026-06-23 09:09:06 -07:00
8efe2fcbfd
aacs: add MkbType (BD vs UHD generation) accessor API
Matthew Jackson
2026-06-23 08:19:40 -07:00
31d07fde6e
CHANGELOG: add 1.0.0-rc.4 — decrypt-loss accounting, durable writes, Windows SCSI, truthful error causes
Matthew Jackson
2026-06-23 07:22:05 -07:00
ecee9f4ec0
Account for decrypt-time loss so partial AACS/CSS failures can't pass as a perfect rip
Matthew Jackson
2026-06-23 06:15:24 -07:00
9220f03f3b
keydb: correct read_capped_to_string doc for non-UTF-8 case
Matthew Jackson
2026-06-23 05:27:01 -07:00
e52689579b
keydb: classify server-dropped connection as KeydbConnect, not KeydbParse
Matthew Jackson
2026-06-23 05:21:46 -07:00
97ae47b3ea
fix(scsi/windows): pack ScsiPassThroughDirect to match ntddscsi.h layout
Matthew Jackson
2026-06-23 05:16:22 -07:00
f596dcb40e
prefetched: test that event_fn fires BytesRead per batch
Matthew Jackson
2026-06-23 04:54:40 -07:00
0e18bfa035
aacs: preserve transport-failure errors through the auth handshake
Matthew Jackson
2026-06-23 04:20:54 -07:00
89fa0a791e
disc: warn when READ CAPACITY fails instead of silently using 0 sectors
Matthew Jackson
2026-06-23 04:11:46 -07:00
f68a66c4be
keydb: map missing home dir to NotFound, not keydb-parse error
Matthew Jackson
2026-06-23 04:05:41 -07:00
662594ff40
Preserve I/O error from read_aacs_inputs ISO open
Matthew Jackson
2026-06-23 03:59:55 -07:00
c9bf92cd6f
Fix oversized read batch on non-sysfs (Windows) optical drives
Matthew Jackson
2026-06-23 03:51:51 -07:00
4a76deadeb
scsi(windows): fix StorageAdapterDescriptor.BusType width (u8 -> u32)
Matthew Jackson
2026-06-23 03:45:34 -07:00
8e6d494e54
aacs: fix stale mkb_version offset doc comment
Matthew Jackson
2026-06-23 02:28:34 -07:00
24ed1d1d19
disc: reject partial CPS-unit key coverage in AACS validation gate
Matthew Jackson
2026-06-23 01:43:36 -07:00
f2c2ff0eb3
disc: fix misleading bridge-degradation comment, add 04/3E regression test
Matthew Jackson
2026-06-23 01:20:04 -07:00
a3987e67f2
scsi(windows): only sleep on successful device reset
Matthew Jackson
2026-06-23 00:59:26 -07:00
1b008008dd
keydb: write keydb.cfg atomically (temp + fsync + rename)
Matthew Jackson
2026-06-23 00:24:58 -07:00
980eeb3de9
mux: track skipped bytes for accurate loss estimation
Matthew Jackson
2026-06-23 00:12:56 -07:00
c3c5259f84
pipeline: leaked consumer must not finalise an abandoned output
Matthew Jackson
2026-06-22 23:22:57 -07:00
ae411df8f9
scsi/windows: surface IOCTL_STORAGE_RESET_DEVICE failures
Matthew Jackson
2026-06-22 23:08:52 -07:00
60daf63c09
mapfile: fsync parent directory after rename for durable resume checkpoint
Matthew Jackson
2026-06-22 23:00:04 -07:00
d3c58791ff
release CI: parallelize test/publish/release off the critical path
Matthew Jackson
2026-06-22 21:59:31 -07:00
b85744d120
Demote per-read Drive::read trace event to TRACE
Matthew Jackson
2026-06-22 21:39:27 -07:00
633a22c6bd
Merge branch 'feat/windows-hardening'
Matthew Jackson
2026-06-22 18:08:41 -07:00
ab959dd770
v1.0.0-rc.3.1: silent-failure guards (mux empty/zero-frame, CSS crack-vs-unencrypted), Windows keydb path, AlignmentMask, English errors
Matthew Jackson
2026-06-22 18:07:48 -07:00
9f422e6ebb
docs: describe the generic Unlocker seam, drop in-tree firmware specifics
Matthew Jackson
2026-06-22 17:10:51 -07:00
63ca840b7e
v1.0.0-rc.3: bump version
Matthew Jackson
2026-06-22 16:13:07 -07:00
e9108e8b6b
scsi/windows: correct IOCTL_STORAGE_RESET_DEVICE to 0x002D5004
Matthew Jackson
2026-06-22 15:53:45 -07:00
fa8913800c
Fix 3 Opus-audit findings: patch transport-abort, patch AACS align, reset IOCTL
Matthew Jackson
2026-06-22 15:50:22 -07:00
f863e9a4be
mux/disc: abort single-pass rip on transport failure (USB-bridge crash)
Matthew Jackson
2026-06-22 15:18:52 -07:00
4d81affb45
Merge branch 'rc3-topgun' into rc3-integration
Matthew Jackson
2026-06-22 15:08:06 -07:00
c73a3dbcb6
Fix Windows multi-drive selection, disk:// alias, and READ chunking
Matthew Jackson
2026-06-22 15:02:24 -07:00
4f606ae9a3
aacs: source OEM host certs from keysource layer
Matthew Jackson
2026-06-22 11:23:38 -07:00
25acd09504
unlock: finalize Unlocker 3-capability contract
Matthew Jackson
2026-06-22 11:05:21 -07:00
159e967760
unlock: add OEM read_vid capability to Unlocker seam
Matthew Jackson
2026-06-22 10:50:47 -07:00
6dc62bcd84
Extract drive unlock behind pluggable Unlocker seam
Matthew Jackson
2026-06-22 10:31:51 -07:00
9250f5bb30
wip: top gun EL/decrypt follow-up (in progress, rc3)
Matthew Jackson
2026-06-22 10:02:53 -07:00
e960c2f1be
mux/mkv: video-only timeline epochs + finer 0.1ms TimestampScale
Matthew Jackson
2026-06-22 09:45:45 -07:00
f74979bdb4
docs: scrub AACS internals + key-coverage claims from changelog; condense pre-1.0 history
Matthew Jackson
2026-06-22 09:37:36 -07:00
dc2cac1b5f
v1.0.0-rc.2: bump version
Matthew Jackson
2026-06-22 09:06:54 -07:00
337e77951c
rc2: macOS cross-compile fix + security/recovery hardening
Matthew Jackson
2026-06-22 08:47:52 -07:00
5941c059c6
v1.0.0-rc.1
Matthew Jackson
2026-06-21 20:34:42 -07:00
e8bb6225ac
libfreemkv 0.31.10: parallelise recover_dk_position slot scan
Matthew Jackson
2026-06-17 19:56:07 -07:00
9c80ef8245
libfreemkv 0.31.9: ~3x fewer AES ops in the subset-difference PK walk
Matthew Jackson
2026-06-17 15:43:39 -07:00