Commit Graph

  • 9519628954 docs: 1.2.0 changelog — Pass-N handler chain, DVD drive-prep unlock fix, unlocker matrix Matthew Jackson 2026-07-01 11:05:31 -07:00
  • 21f8cec419 disc: unlocker_matrix reports 'did work this rip', not 'matched' Matthew Jackson 2026-07-01 10:44:39 -07:00
  • d5d72c4e22 drive: disable FUA on READ(10) — the ~10x sequential-read regression Matthew Jackson 2026-07-01 10:26:56 -07:00
  • c781fb7193 disc: Disc::unlocker_matrix() — registry-driven unlocker report Matthew Jackson 2026-07-01 10:00:59 -07:00
  • 541ca2139f drive: run drive-prep unlock for EVERY disc, incl. DVD (fix riplock regression) Matthew Jackson 2026-07-01 09:38:51 -07:00
  • 2dd98c3e32 recovery: fresh-eyes audit fixes (handlers + Pass-N engine + sweep) Matthew Jackson 2026-07-01 09:14:32 -07:00
  • ceaa1da369 drive: apply drive-features for every disc, incl. DVD (fix riplock) Matthew Jackson 2026-07-01 08:56:19 -07:00
  • fe14a2d5e5 Pass-N: detect drive fast-fail wedge and abort instead of grinding Matthew Jackson 2026-07-01 08:02:52 -07:00
  • 8f6a92ccd4 Bisect: halve at dead boundary + exempt boundary probes from stall Matthew Jackson 2026-06-30 22:06:04 -07:00
  • 29f76aad68 section_recover: per-rip handler scorecard + Bisect-leads-scouts + proportional Jump Matthew Jackson 2026-06-30 21:26:35 -07:00
  • 840ba8390c section_recover: per-rip handler scorecard + Bisect leads the scouts Matthew Jackson 2026-06-30 21:25:39 -07:00
  • e803905265 section_recover: Jump starts at 8 MiB base to clear big dead spots faster Matthew Jackson 2026-06-30 21:12:12 -07:00
  • 11d4c33477 patch: single Jump-scout tier 0, expand-Bisect, live in-handler progress Matthew Jackson 2026-06-30 20:57:36 -07:00
  • 8d775cd341 patch: add Jump handler (lead fast tier) + recovery-based progress % Matthew Jackson 2026-06-30 20:40:22 -07:00
  • bc07011bcb patch: breadth-first two-tier recovery, largest ranges first Matthew Jackson 2026-06-30 20:25:48 -07:00
  • d65b776a8e patch: replace grind-until-wedge loop with bounded handler chain Matthew Jackson 2026-06-30 19:55:37 -07:00
  • ff7f3028a5 drive: always set FUA on READ(10) to bypass the drive cache Matthew Jackson 2026-06-30 18:49:14 -07:00
  • 25a7b131b4 drive: Drive::spin_cycle() — soft un-wedge via START STOP UNIT (no eject) Matthew Jackson 2026-06-30 17:54:51 -07:00
  • 0cab32a08a disc/patch: fast-capture reads fail-fast (no deep recovery) Matthew Jackson 2026-06-30 17:08:26 -07:00
  • 22f0f5eb6f docs: 1.2.0 changelog — fast_capture breadth-first patch recovery Matthew Jackson 2026-06-30 16:38:56 -07:00
  • 2013ef8c44 disc/patch: fast_capture mode — breadth-first recovery (#50) Matthew Jackson 2026-06-30 16:37:59 -07:00
  • acaae3d0a4 docs: 1.2.0 changelog — PassProgress mapfile-free contract + located drilldown Matthew Jackson 2026-06-30 16:13:05 -07:00
  • 65c6835363 disc: add progress_snapshot_from_mapfile one-shot + locate_ranges test Matthew Jackson 2026-06-30 16:09:28 -07:00
  • 0f0c496a4d progress: PassProgress carries the located drilldown (emit side) Matthew Jackson 2026-06-30 15:26:49 -07:00
  • 923b9edbf4 disc/patch: remove scatter-recovery (ruled out by live probing); add SubRanges Matthew Jackson 2026-06-30 13:47:58 -07:00
  • caf1b03fd4 disc/patch: keep MAX speed on recovery reads + geometric batch re-grow Matthew Jackson 2026-06-30 13:19:34 -07:00
  • 9cc422bd00 disc/patch: drop cache-priming, bisect batch failures instead of count=1 Matthew Jackson 2026-06-30 11:20:44 -07:00
  • 5b39a0af2b disc/patch: add scatter-recovery for stuck bad sectors Matthew Jackson 2026-06-30 10:29:55 -07:00
  • bd0a21bdb4 disc/patch: extract PatchCtx/patch_region orchestration + unify log taxonomy Matthew Jackson 2026-06-30 10:04:51 -07:00
  • c8822ddea3 error: treat IoError/DeviceNotFound as SCSI transport failures (dead bus) Matthew Jackson 2026-06-30 07:19:03 -07:00
  • 7a7ab2c9d8 unlock_bridge: map non-SCSI transport faults (IoError/DeviceNotFound) to 0xFF Matthew Jackson 2026-06-29 22:57:09 -07:00
  • 7a0ef5412c mux: add the B1 drop-to-keyframe resync gate to DiscStream Matthew Jackson 2026-06-29 22:27:52 -07:00
  • 8c38cb0918 unlock/patch: preserve SCSI sense across the bridge; init aborts on dead bus; slow-retry first patch failure Matthew Jackson 2026-06-29 22:16:28 -07:00
  • b36896564f disc: log adaptive patch speed transitions; issue SET CD SPEED max unconditionally Matthew Jackson 2026-06-29 21:47:50 -07:00
  • e648bde94b README: drop crates.io/docs.rs badges + stale plugin-model line (off crates.io now) Matthew Jackson 2026-06-29 21:17:06 -07:00
  • c86fa9bfc6 Cargo: publish = false — off crates.io (git-deps the firmware crate) Matthew Jackson 2026-06-29 21:04:05 -07:00
  • 2ba6274eae unlock: dispatch via freemkv-unlock; delete in-tree handshake/css-auth/registry Matthew Jackson 2026-06-29 20:45:00 -07:00
  • 3bdb6f8b1a stage 4a: bridge libfreemkv to the freemkv-unlock crate Matthew Jackson 2026-06-29 19:48:50 -07:00
  • 80e8523db2 aacs: extract run_cert_handshake + collect_host_certs as shared primitives Matthew Jackson 2026-06-29 17:33:26 -07:00
  • ab8f09645f unlock: route_unlock returns a structured UnlockRoute; ctx carries opts Matthew Jackson 2026-06-29 17:18:11 -07:00
  • 326d17c2f4 unlock: Unlocked carries the bus-key gate nuance; route_unlock returns it Matthew Jackson 2026-06-29 16:59:04 -07:00
  • bac105a022 css: CSS bus-auth becomes a uniform registry Unlocker Matthew Jackson 2026-06-29 16:49:52 -07:00
  • cfcc524367 unlock: introduce UnlockCtx + DiscKind; trait keys off context Matthew Jackson 2026-06-29 16:27:30 -07:00
  • 03820c68f8 css: auth primitives operate on &mut dyn ScsiTransport; clean up bus_auth Matthew Jackson 2026-06-29 16:01:07 -07:00
  • f682405973 aacs: handshake primitives operate on &mut dyn ScsiTransport Matthew Jackson 2026-06-29 15:47:30 -07:00
  • 93fbfac6f0 unlock: Unlocker::unlock returns Unlocked { vid, read_data_key } Matthew Jackson 2026-06-29 15:09:17 -07:00
  • a7c8ee09b0 disc: credit firmware unlock in the bus-encryption gate Matthew Jackson 2026-06-29 15:09:16 -07:00
  • 263950622f disc: make bus-key unavailability self-explaining in the log Matthew Jackson 2026-06-29 13:33:09 -07:00
  • 9e6af4a729 mux: harden audio discontinuity handling (audit follow-up) Matthew Jackson 2026-06-29 12:50:52 -07:00
  • be08e3938b mux: drop truncated partial audio frame on concealed gap Matthew Jackson 2026-06-29 11:23:08 -07:00
  • cb7d78ac6a disc: adaptive patch speed — enter each range fast, slow on first failure Matthew Jackson 2026-06-29 10:34:18 -07:00
  • 039a8f9f19 docs: 1.2.0 changelog date → 2026-06-29 (release prep); fix neither/nor grammar in 1.1.0 entry Matthew Jackson 2026-06-29 09:57:29 -07:00
  • c5515d310f mux/decrypt: audit-nit cleanup + defensive conceal fallback Matthew Jackson 2026-06-29 09:51:28 -07:00
  • 789b699f95 mux: make B1 concealment decode-clean on every gap shape Matthew Jackson 2026-06-29 09:39:03 -07:00
  • 71b4b09c93 docs: 1.2.0 CHANGELOG — document the breaking public-API changes Matthew Jackson 2026-06-29 08:41:26 -07:00
  • 067fd207d5 mux: conceal only genuinely-undecryptable units (padding-aware) Matthew Jackson 2026-06-29 00:29:20 -07:00
  • e6180a429b v1.2.0: bump version + reconcile CHANGELOG to [1.2.0] Matthew Jackson 2026-06-28 23:34:19 -07:00
  • d715a0943a mux: B1 drop-to-keyframe resync after a concealed gap Matthew Jackson 2026-06-28 23:01:47 -07:00
  • 9a7be7a1a5 1.2.0: mux loss-concealment read path (P3/Edit-2, A2 NULL-TS fill) Matthew Jackson 2026-06-28 22:44:19 -07:00
  • a731e7b26b 1.2.0: single MKB framing walker + AACS resolve hardening Matthew Jackson 2026-06-28 22:28:09 -07:00
  • 4d6f5c0a98 1.2.0: unify hex parsing (one parser) + robust encrypted-unit sampling Matthew Jackson 2026-06-28 22:12:06 -07:00
  • cad5929afe 1.1.1: unify AACS key-input path on Disc::inputs() + named constants Matthew Jackson 2026-06-28 21:45:58 -07:00
  • 59681dfd4b 1.1.1: AACS decrypt + key-resolution hardening Matthew Jackson 2026-06-28 21:12:57 -07:00
  • eba34f4c20 v1.1.0: bump version Matthew Jackson 2026-06-28 18:14:18 -07:00
  • 49e5627a69 changelog: 1.1.0 (drop -beta.1 pre-release tag) Matthew Jackson 2026-06-28 17:58:46 -07:00
  • fb8405385e aacs: rustfmt verify-gate files + correct cert/unit-key test fixtures to libaacs-strict layout; 1.1.0-beta.1 changelog Matthew Jackson 2026-06-28 16:49:16 -07:00
  • f23338b5dd verify: container-kind seam (HD-DVD-ready) + skip units with unread sectors Matthew Jackson 2026-06-28 16:05:25 -07:00
  • a7bd574c34 verify: post-read decrypt-verify gate + libaacs-strict verify + audit fixes Matthew Jackson 2026-06-28 15:03:52 -07:00
  • f49ef023cf changelog: enrich 1.1.0-beta.1 and rc.5.2 entries with concrete mechanisms (version label SoT, per-extent AACS anchor, E7017/E7022 no-key split, 3-sector unit grid) Matthew Jackson 2026-06-26 22:26:15 -07:00
  • ba5e4fdafa changelog: add 1.1.0-beta.1 version-stamp consistency, DTS-HD MA core-sync, and TrueHD DTS-monotonicity fixes Matthew Jackson 2026-06-26 22:16:45 -07:00
  • ced89133cc docs(fvi): standardize table headers and multi-line dense cells Matthew Jackson 2026-06-26 21:42:31 -07:00
  • aefd6b6342 mux: single source of truth for the version label (VERSION_LABEL/MUX_APP) Matthew Jackson 2026-06-26 21:33:19 -07:00
  • 78f78d285e docs(fvi): pretty-print JSON blocks in FVI format spec Matthew Jackson 2026-06-26 21:21:26 -07:00
  • 80ecb671fd mux: allow build-time version label override (FREEMKV_BUILD_LABEL) Matthew Jackson 2026-06-26 19:38:13 -07:00
  • c49a180ce7 mux: fix non-monotonic audio DTS (TrueHD + DTS-HD MA) and stamp builds with git hash Matthew Jackson 2026-06-26 19:26:24 -07:00
  • afa218fc8f Remove keydb download/save from the library Matthew Jackson 2026-06-26 17:33:57 -07:00
  • 835cc990ad DVD vob_start absolute rebase + rc.5.3 audit fixes Matthew Jackson 2026-06-26 16:53:39 -07:00
  • d8c323bf9f Magic-number/taxonomy pass: central wire-format + sector + unit consts Matthew Jackson 2026-06-26 13:20:21 -07:00
  • decb87a250 AACS pipeline reshape + TrueHD metadata + central consts + clippy/fmt clean Matthew Jackson 2026-06-26 12:19:24 -07:00
  • 05729f5dfe fix(libfreemkv): rc6 hardening pass — mux timeline/colour/PCR, demux panic sentinel, parser robustness + doc accuracy Matthew Jackson 2026-06-25 23:39:03 -07:00
  • dc1d05985b feat(mux): emit HDR10 static metadata from HEVC SEI Matthew Jackson 2026-06-25 21:59:43 -07:00
  • 539b170f7e test(disc): pin the -t 1 = main-feature contract (DVD); fix 2 test clippy nits Matthew Jackson 2026-06-25 21:42:52 -07:00
  • 998e21c544 test: real-executing coverage for mux codecPrivate/DefaultDuration, sweep damage-jump, patch watchdog clock seam, and AACS CBC KAT Matthew Jackson 2026-06-25 21:37:20 -07:00
  • 7f55271adb mux: reconcile fvi:// video-index sink onto rc6 Matthew Jackson 2026-06-25 21:18:15 -07:00
  • e064bc7055 mux/vc1: measure coding type from progressive PTYPE; carry source Matthew Jackson 2026-06-25 20:50:36 -07:00
  • 6acc26a802 mux/hevc: measure coding type from slice_type; reuse shared BitReader Matthew Jackson 2026-06-25 20:44:15 -07:00
  • 534eca502c mux/h264: measure coding type from slice_type; carry source provenance Matthew Jackson 2026-06-25 20:38:09 -07:00
  • e3dbafcebd mux: codec-agnostic PictureInfo + provenance; measure field order, never guess Matthew Jackson 2026-06-25 20:13:55 -07:00
  • 43fb97f71f mux/mkv: spec-conformance fixes (field order, CICP, VobSub idx, SeekHead, AC-3) Matthew Jackson 2026-06-25 18:40:30 -07:00
  • 8e0797eab0 wip: rc6 VFR/DVD/CSS base (held for bulletproofing + split) Matthew Jackson 2026-06-25 17:32:17 -07:00
  • 9b6a48e9d9 demux: solidify sink — reuse canonical primitives, fix 3 bugs Matthew Jackson 2026-06-25 17:58:49 -07:00
  • 8e2e22af5c mux: highway-level regression — DVD video keyframe + duration survive the pipelined path Matthew Jackson 2026-06-25 16:58:04 -07:00
  • b2e1698b9a mkv: regression test — DVD VFR/BlockGroup output gets per-cluster cues Matthew Jackson 2026-06-25 16:32:32 -07:00
  • 730af6b1d9 demux: add demux:// per-track elementary-stream sink Matthew Jackson 2026-06-25 16:22:29 -07:00
  • 52d2e85e3c css: skip clear/uncrackable extra titles instead of failing the whole mux Matthew Jackson 2026-06-25 13:43:04 -07:00
  • 6b3014f3e8 progress: expose bytes_retryable so 'lost' counts only failed reads Matthew Jackson 2026-06-25 13:04:37 -07:00
  • 8f5968a18f Resume plain disc->iso copy after interrupt Matthew Jackson 2026-06-25 08:24:00 -07:00
  • 62d2dfe96a libfreemkv: align E7021→E7017 in comments/test-names (keys-but-no-VID is AacsVidUnavailable) Matthew Jackson 2026-06-25 07:59:54 -07:00
  • 3c42950ecd libfreemkv: changelog — rc.6 entry (+ backfill rc.5.3, mark rc.5.2 released) Matthew Jackson 2026-06-24 23:56:41 -07:00
  • 0127c274d2 test: strengthen AACS resolve-reason + unlocker seam coverage (rc.6 WS3) Matthew Jackson 2026-06-24 23:40:36 -07:00