bcachefs-tools (1:1.36.1~20260220024022.gbpf4766a) UNRELEASED; urgency=medium

  ** SNAPSHOT build @f4766afcfd19b1ff4784e06753503f49ce71683a **

  [ Kent Overstreet ]
  * Update bcachefs sources to 3b92f378d54e bcachefs: kill CONFIG_BCACHEFS_ERASURE_CODING
  * bcachefs fs timestats: display device names properly
  * Fix changelog version
  * bcachefs-tools: use rustix ioctl types for subvolume ioctls
  * fsck: force line buffering on stdout
  * bcachefs subvolume list: userspace implementation
  * bcachefs subvolume list: list-snapshots, filtering, sorting, ioctl helpers
  * bcachefs subvolume list: cleanup ioctl wrappers, batch sizes, kill FlatEntry
  * bcachefs subvolume list: use chrono for timestamp formatting
  * bcachefs subvolume: extract cmd_ functions for each subcommand
  * bcachefs subvolume list: restructure for readability
  * Update bcachefs sources to 0caa4c353f1b bcachefs: kill CONFIG_BCACHEFS_ERASURE_CODING
  * Update bcachefs sources to 3942fe6e5081 bcachefs: convert io_done sysfs to JSON output
  * bcachefs: convert fs top to Rust, add per-device IO display
  * bcachefs: fs top cleanups, io_done JSON, shared helpers
  * Update bcachefs sources to e061ceec050f bcachefs: stripe repair: account IO through moving_context ratelimiter
  * bcachefs format: reject labels >= BCH_SB_LABEL_SIZE
  * Rust conversion prep: sysfs utilities, clean up dispatch
  * Factor out ioctl helpers, expose dev_idx from BcachefsHandle
  * Add device enumeration to Rust sysfs utilities
  * Convert scrub command to Rust
  * Add disk ioctl methods to BcachefsHandle
  * Convert device online/offline to Rust, route data scrub to Rust
  * Convert device remove to Rust
  * Convert device evacuate to Rust, add dev_usage ioctl
  * Use print_errmsg helper in subvol_ioctl for consistency
  * Remove C implementations of commands now in Rust
  * Consolidate duplicated patterns in Rust code
  * subvolume: Use json! macro for JSON construction
  * handle: Use ioctl_fd accessors consistently in dev_usage
  * timestats: Remove Cell enum abstraction, simplify formatting
  * Delete disabled cmd_assemble.c and cmd_run.c
  * Convert version command to Rust
  * Convert device set-state, resize, resize-journal to Rust
  * device: extract open_dev_by_path_or_index helper
  * Move fs subcommand dispatch to Rust
  * Update bcachefs sources to 7d6bc58ff9e1 bcachefs: fix self-comparison BUG_ON in journal write completion
  * Remove dead code in handle.rs and sysfs.rs
  * Update bcachefs sources to bd73e5df4372 bcachefs: bch2_reflink_p_to_text() prints MAY_UPDATE_OPTIONS
  * bcachefs format: clean up bch2_pick_bucket_size()
  * Update bcachefs sources to 23dd421b3b6e bcachefs: REFLINK_P_MAY_UPDATE_OPTIONS() now gets correctly set
  * Update bcachefs sources to d4bd02beae9f bcachefs: Add ioctls for propagating IO options to reflinked extents
  * Convert set-file-option command to Rust
  * Convert reset-counters command to Rust
  * Add reflink-option-propagate command
  * Clap integration for bcachefs options and command cleanup
  * Use anyhow::Context instead of map_err(anyhow!()) for error wrapping
  * Add reflink-option-propagate to main help text
  * Install bash completions in make install
  * Rust accounting ioctl infrastructure for fs usage
  * Convert cmd_fs_usage from C to Rust
  * Add Printbuf Rust wrapper and accounting prt_* helpers
  * Rewrite fs_usage to use Printbuf with tabstops
  * fs_usage: clean up to idiomatic Rust, remove v0 ioctl path
  * Rust cleanup: typed enums, shared helpers, idiomatic patterns
  * fs usage: break out erasure coded data, fix percentage format
  * Register fs/device/data subcommands for shell completions
  * Remove dead cmd_fs.c — fs usage is fully in Rust
  * Convert encryption commands from C to Rust (unlock, set/remove-passphrase)
  * Add subvolume list and list-snapshots to main help text
  * Polish Rust code: simplify key APIs, clean up DurabilityDegraded, use CStr
  * Fix btree type display: use native byte order after memcpy_swab
  * Fix two bugs in btree Rust bindings
  * Update bcachefs sources to 84a53fd15b97 bcachefs: accounting: typedef bch_acct_* subtypes, x-macro union
  * btree Rust bindings: add for_each, remove peek_and_restart
  * Convert reconcile status/wait commands from C to Rust
  * Delete obsolete cmd_data.c
  * Convert show-super command from C to Rust
  * Convert set-fs-option command from C to Rust
  * Convert recovery-pass command from C to Rust
  * Convert fsck command from C to Rust
  * Convert undump command from C to Rust
  * Convert recover-super command from C to Rust
  * Drop C versions of commands converted to Rust
  * recover-super: fix transmute panic for bch_validate_flags
  * recover-super: use safe Rust allocations, clean up
  * handle: cap iter_typed at BCH_DATA_NR to prevent UB
  * fs_usage: extract shared helpers for degradation tables
  * Clean up Rust codebase: remove stale comments, minor lints
  * Extract parse_human_size to util.rs
  * Remove duplicated code in fsck.rs, minor cleanups
  * accounting, handle: safe enum conversions, eliminate transmute UB
  * recover_super: use Rust File API instead of raw libc
  * dump, set_option: minor unsafe cleanups
  * top, recover_super: more unsafe reduction
  * Add safe Rust wrappers, reduce unsafe at call sites
  * Use into_owned() instead of to_string() on Cow<str>
  * bch_bindgen: fix P0 safety issues in Fs, BtreeTrans drop
  * bch_bindgen: generate BkeyValC from BCH_BKEY_TYPES() x-macro
  * bch_bindgen: generate typed sb field accessors from BCH_SB_FIELDS()
  * bch_bindgen: generate member states and counter tables from x-macros
  * bch_bindgen: fix printbuf_to_formatter null deref on empty output
  * Fix potential UB in extern "C" functions
  * Add SbLockGuard for RAII superblock locking
  * Remove dead fields from KeyHandle
  * bch_bindgen: use to_string_lossy in btree_id Display
  * bch_bindgen: replace unwrap() with error propagation in FromStr impls
  * accounting: make DiskAccountingPos Copy with fixed-size devs array
  * accounting: add #[repr(transparent)] DiskAccountingPos newtype over bpos
  * accounting: add encode(), accounting_type(), enum_from_u8 macro, sync assertion
  * device add: convert from C to Rust
  * Convert cmd_format from C to Rust
  * Convert cmd_strip_alloc from C to Rust
  * Convert offline device operations from C to Rust
  * Clean up device dispatch and completions
  * Replace mem::zeroed() with Default::default() for bindgen types
  * Handle --help in Rust dispatch, before C argv conversion
  * Delete dead C command code replaced by Rust
  * Generate help text from clap command tree
  * format: split argument parsing from execution
  * format: consolidate format_usage into single string
  * format: deduplicate push_device with local macro
  * format: consolidate dev_opts construction
  * format: minor cleanups
  * printbuf: add safe wrappers for sb_to_text, prt_bitflags
  * printbuf: add PrintbufIndent RAII guard
  * fsck: convert C stdlib I/O to rustix/std
  * Fs: add sb_handle(), sb(), write_super() safe accessors
  * device: convert BLKGETSIZE64 ioctl to rustix typed wrapper
  * util: extract file_size() for block device / file size queries
  * recover_super: use safe sb wrappers and RAII cleanup
  * libbcachefs: delete dead code
  * handle: rewrite BcachefsHandle::open in pure Rust
  * libbcachefs: delete C filesystem handle code
  * rust_shims: add csum_vstruct_sb, vstruct_bytes_sb, and get_blocksize
  * super_io: rewrite bch2_super_write and __bch2_super_read in Rust
  * rust_shims: add SET_BCH_SB_* and format-related shims
  * format: rewrite bch2_format and bch2_format_for_device_add in Rust
  * super_io: deduplicate magic constants and use read_exact_at
  * format: fix double-free of superblock handle
  * device add: fix sysfs option parsing for human-readable values
  * cleanup: deduplicate helpers, remove C-isms
  * opts: return bch_opt_id from bch_opt_lookup
  * super_io: convert bch2_sb_layout_init to Rust
  * format: convert bch2_pick_bucket_size and bch2_check_bucket_size to Rust
  * bindgen: add journal headers and bbpos_range_parse
  * rust_shims: add journal entry collection shim
  * list_journal: rewrite in Rust
  * list_journal: fix -n flag and allow hyphen values in filters
  * bch_bindgen: add journal module, bkey_start_pos, Ord for bbpos
  * list_journal: clean up using extracted helpers
  * list_journal: make entry_type and entry_btree_id fallible
  * bch_bindgen: add extent entry and pointer iterators
  * bch_bindgen: typed bkey dispatch enums
  * bch_bindgen: reorganize into subdirectories mirroring kernel tree
  * bch_bindgen: move Printbuf from src/wrappers
  * bch_bindgen: move accounting types from src/wrappers
  * bch_bindgen: add btree node key iterator and online member iteration
  * qcow2: rewrite in Rust
  * bch_bindgen: fix BkeySC::v() lifetime to not over-borrow
  * dump: rewrite in Rust
  * Remove dead C code: cmd_dump.c, qcow2.c, qcow2.h
  * bch_bindgen: add btree_id API, accept u32 in btree iterators
  * dump: rewrite sanitize code in Rust
  * Consolidate cmd_strip_alloc.c and cmd_super.c into rust_shims.c
  * kill_btree_node: rewrite in Rust
  * image: rewrite arg parsing in Rust
  * migrate: rewrite arg parsing in Rust
  * Delete dead C code from libbcachefs.c and tools-util.c
  * Delete more dead C code: bch2_opts_usage, read_passphrase_twice
  * Replace process::exit() with proper error returns where possible
  * Extract parse_opt_val helper to deduplicate option parsing
  * Eliminate C shims replaced by direct Rust implementations
  * Rewrite opts_usage_str in pure Rust, remove C shim
  * Replace rust_bch_sb_features_all C shim with Rust constant
  * Rewrite tools-util.c functions in Rust, remove dead C code
  * Narrow unsafe blocks, elide redundant lifetimes, fix minor issues
  * Add type annotations to transmute calls, implement Default for Printbuf
  * Add CLAUDE.md and developer reference docs
  * bch_bindgen: add extent entry and pointer iterators
  * Revert "bch_bindgen: add extent entry and pointer iterators"
  * dump: replace jset/bset magic C shims with pure Rust
  * show-super: fix zeroed magic and wrong superblock size
  * doc: add C-to-Rust conversion testing notes
  * kill_btree_node: rewrite in pure Rust, remove C shim
  * device_scan: fall back to block scan when udev returns incomplete results
  * bcachefs format: default block size to at least 4096 bytes
  * kill_btree_node: fix pwrite EINVAL from O_DIRECT alignment
  * doc: add file-level notes to key Rust modules
  * bch_bindgen: replace LE64_BITMASK setter C shims with pure Rust
  * format: replace rust_sizeof_bucket C shim with std::mem::size_of
  * bch_bindgen: fix clippy errors and warnings
  * clippy: fix warnings across the codebase
  * build.rs: remove useless format! calls
  * device: replace rust_device_set_state_offline C shim with pure Rust
  * bch_bindgen: add more LE64_BITMASK accessors
  * build.rs: allowlist bch2_dev_resize and bch2_set_nr_journal_buckets
  * bch_bindgen: move DevRef to fs module for reuse
  * device: replace offline resize C shims with pure Rust
  * bch_bindgen: replace btree introspection C shims with pure Rust
  * cleanup: remove stale blank lines from shim files
  * strip_alloc: replace rust_strip_alloc_check C shim with pure Rust
  * Update bcachefs sources to ebe812e1b1d4 bcachefs: write dirty superblock before going rw
  * sb_layout_init: return error instead of panicking
  * recover_super: validate dev_idx and handle layout errors
  * mount: include device in error message (Closes: #509)
  * fs usage: fix column alignment for raw byte values (Closes: #481)
  * bch_bindgen: fix clippy mut_from_ref error on members_v2_get_mut
  * strip_alloc: add parens to clarify operator precedence
  * format, image: use struct initialization to fix clippy warnings
  * dump: suppress too_many_arguments clippy warning
  * device: extract find_single_online_dev helper
  * verus: verify successor/predecessor and bkey_start_pos
  * verus: prove kernel's XOR-based bpos_eq, 49 verified properties
  * scrub: handle SIGINT for graceful interruption
  * verus: prove key overlap/adjacency and ordering trichotomy, 56 verified
  * verus: verify bversion comparison and total order, 66 verified properties
  * verus: prove sorted sequence properties via induction, 68 verified
  * verus: prove extent non-overlap and lookup uniqueness (68→74)
  * verus: prove extent trim correctness — cut_front/cut_back (74→79)
  * verus: prove btree node split/merge preserve invariants (79→84)
  * verus: verified extent lookup — first proven-correct exec function (84→86)
  * verus: prove extent overwrite correctness (86→97)
  * verus: verified extent overwrite exec function (97→98)
  * verus: verified no-overlap extent insert (98→102)
  * verus: verified multi-overlap extent insert (102→104)
  * bcachefs: warn on every command when CONFIG_RUST is not enabled
  * verus: snapshot-aware extent overwrite model (104→112)
  * linux/blkdev.c: fix incorrect error messages in sync_check()
  * verus: snapshot overwrite conservation + fragment count (112→114)
  * Update bcachefs sources to 80bea3917167 bcachefs: Start to kill bch2_bucket_journal_seq_ready() in alloc/foreground.c
  * reset-counters: add --counter as alias for --counters
  * format: reject btree_node_size <= block_size

  [ ProofOfConcept ]
  * bcachefs unlock: read passphrase from stdin when piped

  [ Jérôme Poulin ]
  * version: fall back to /proc/config.gz for kernel config

 -- apt.bcachefs.org CI bot <linux-bcachefs@vger.kernel.org>  Fri, 20 Feb 2026 02:40:39 +0000

bcachefs-tools (1:1.31.2~3) unstable; urgency=medium

  * Debian packaging: depend on linux-headers-generic, it will pull in the right one

 -- Roman Lebedev <lebedev.ri@gmail.com>  Sat, 20 Sep 2025 21:18:15 +0300

bcachefs-tools (1:1.31.2) UNRELEASED; urgency=medium

  * DKMS now works on 6.16

 -- Kent Overstreet <kent.overstreet@linux.dev>  Fri, 19 Sep 2025 02:30:19 -0400

bcachefs-tools (1:1.31.1~1) unstable; urgency=medium

  * Split DKMS into separate binary package

 -- Roman Lebedev <lebedev.ri@gmail.com>  Thu, 18 Sep 2025 03:01:17 +0300

bcachefs-tools (1:1.31.1) unstable; urgency=medium

  * DKMS support

 -- Kent Overstreet <kent.overstreet@linux.dev>  Wed, 17 Sep 2025 18:31:34 -0400

bcachefs-tools (1:1.31.0) unstable; urgency=medium

  * Fix package, build against vendored deps
  * Implement apt.bcachefs.org repo

 -- Roman Lebedev <lebedev.ri@gmail.com>  Tue, 16 Sep 2025 12:50:36 +0300

bcachefs-tools (1:1.13.0-1~exp1) experimental; urgency=medium

  * QA Upload
  * New upstream release
    - Regenerate dependency patch
  * New build-dependency: librust-env-logger-dev
  * New build-dependency: librust-owo-colors-dev
  * Add missing character in previous changelog entry
    (s/tom/toml)

 -- Jonathan Carter <jcc@debian.org>  Mon, 06 Jan 2025 12:37:38 +0200

bcachefs-tools (1:1.9.4-1~exp1) experimental; urgency=medium

  * New upstream release
  * Remove build-dependency on librust-colored-2-dev (no longer needed)
  * New build-dependencies: librust-rustix-dev, rustfmt,
                            librust-memoffset-06-dev -> librust-memoffset-dev
  * Refresh build-deps patch
  * Add upstream metadata
  * Remove self from maintaners (orphaning package)

 -- Jonathan Carter <jcc@debian.org>  Sat, 20 Jul 2024 04:19:03 +0200

bcachefs-tools (1:1.9.2-1) experimental; urgency=medium

  * New upstream release
  * Fix Vcs fields in debian/control

 -- Jonathan Carter <jcc@debian.org>  Thu, 11 Jul 2024 15:01:59 +0200

bcachefs-tools (1:1.9.1-1) unstable; urgency=medium

  * New upstream release
  * New build-depency: librust-strum-dev
  * Update copyright file

 -- Jonathan Carter <jcc@debian.org>  Thu, 20 Jun 2024 17:28:12 +0200

bcachefs-tools (1:1.7.0-1) unstable; urgency=medium

  * Upload to unstable (Closes: #1066929)
  * Bump epoch
    - Ack from pochu:
      https://lists.debian.org/msgid-search/1c5f86c9-1525-4d44-996f-3d4eed1e64d6@debian.org

 -- Jonathan Carter <jcc@debian.org>  Wed, 15 May 2024 12:04:38 +0200

bcachefs-tools (24+really1.7.0-1~exp1) experimental; urgency=medium

  [ Steinar H. Gunderson ]
  * New upstream release.
    * Remove the do-not-install-mount-symlink patch.
    * Add epoch to deal with new upstream versioning scheme,
      and disable pristine-tar option in gbp.conf, since there is no
      pristine-tar branch. (Closes: #1054620)
    * revert-bindgen-changes.patch: New patch, reinstates upstream
      hack that makes bcachefs-tools work with bindgen older than 0.69.4
      (which isn't in Debian yet).
  * Build-depend on systemd-dev, since udev.pc has moved there.
  * Enable Rust parts, including mount.bcachefs. (Closes: #1060256)
    * Include the right .mk flags to get DEB_HOST_RUST_TYPE etc., and
      export that (needed for Debian's cargo wrapper).
    * Override CARGO, and set CARGO_HOME during installation.
    * Run prepare-debian in dh_auto_configure, and clean up the vendor dir
      in dh_auto_clean.
    * Remove Cargo.lock before the build, so that we can use Debian's versions
      of all Rust crates. Also remove it in dh_auto_clean, so that it does not
      take a diff.
    * revert-bindgen-changes.patch: New patch, loosen required versions
      of Rust crates
      - errno (0.2 -> >= 0.2, < 1; Debian has 0.4)
      - udev (0.7 -> >= 0.7, < 1; Debian has 0.8)
      - memoffset (0.8.0 -> 0.6; Debian has 0.6.5, so a downgrade)
      - paste (1.0.11 -> 1.0; Debian has 1.0.8, so a downgrade)
      - bindgen (0.69.4 -> 0.66; see revert-bindgen-changes.patch above)
    * Add build-dependency on all relevant Rust crates, and on python3:native
      due to use of the Cargo wrapper.
  * Build-Depend on pkgconf instead of pkg-config (Lintian warning).
  * Add debhelper tokens to postinst and postrm scripts (Lintian warning).
  * Depend on python3:any due to bcachefsck_all being a Python script
    (Lintian warning).

  [ Jonathan Carter ]
  * Upload to experimental
  * Add librust-chrono-dev, librust-getset-dev and
    librust-gag-dev to build-depends
  * Recreate dependencies patch to match new upstream source
  * Update standards version to 4.7.0
  * Update above mentioned revert-bindgen-changes.patch

 -- Jonathan Carter <jcc@debian.org>  Thu, 25 Apr 2024 13:53:55 +0200

bcachefs-tools (24+really1.3.4-2) unstable; urgency=medium

  * Upload to unstable

 -- Jonathan Carter <jcc@debian.org>  Wed, 03 Jan 2024 17:06:16 +0200

bcachefs-tools (24+really1.3.4-2~exp1) experimental; urgency=medium

  [ Chris Hofstaedtler ]
  * Non-maintainer upload.
  * Install files into /usr instead of /. (Closes: #1059373)

  [ Jonathan Carter ]
  * Do not install bcachefs.mount symlink (Closes: #1057295)

 -- Jonathan Carter <jcc@debian.org>  Wed, 27 Dec 2023 19:22:06 +0200

bcachefs-tools (24+really1.3.4-1) unstable; urgency=medium

  * New upstream release

 -- Jonathan Carter <jcc@debian.org>  Tue, 21 Nov 2023 17:26:13 +0200

bcachefs-tools (24+really1.2-1) unstable; urgency=medium

  * New upstream release (Closes: #1054613)
  * Disable new rust build
    (dependencies currently unavailable in Debian, see debian/README.todo)
  * Remove unneeded override_dh_auto_clean from debian/rules
    (Closes: #1043654)

 -- Jonathan Carter <jcc@debian.org>  Thu, 28 Sep 2023 19:54:47 +0200

bcachefs-tools (24-1) unstable; urgency=medium

  * New upstream release

 -- Jonathan Carter <jcc@debian.org>  Tue, 29 Nov 2022 09:40:27 +0200

bcachefs-tools (23-1) unstable; urgency=medium

  * New upstream release
  * Update standards version to 4.6.1

 -- Jonathan Carter <jcc@debian.org>  Mon, 31 Oct 2022 11:45:25 +0200

bcachefs-tools (0.1+git20220216.a1e928a-1) unstable; urgency=medium

  * New upstream snapshot
  * Grab patch from Ubuntu to reduce memory on amd64 builders
    (http://launchpadlibrarian.net/580140160/bcachefs-tools_0.1+git20210805.6c42566-2_0.1+git20210805.6c42566-2ubuntu1.diff.gz)
  * Update copyright years

 -- Jonathan Carter <jcc@debian.org>  Wed, 16 Feb 2022 14:42:20 +0200

bcachefs-tools (0.1+git20210805.6c42566-2) unstable; urgency=medium

  * Remove valgrind as build-dependency, seems unneeded unless
    doing debug work and is not available on all architectures.

 -- Jonathan Carter <jcc@debian.org>  Fri, 03 Sep 2021 16:07:11 +0200

bcachefs-tools (0.1+git20210805.6c42566-1) unstable; urgency=medium

  * New upstream snapshot
  * Update standards version to 4.6.0
  * Add python3-docutils as dependency
  * Do not run tests at package build time

 -- Jonathan Carter <jcc@debian.org>  Tue, 06 Apr 2021 15:11:27 +0200

bcachefs-tools (0.1+git20201025.742dbbdb-1) unstable; urgency=medium

  * New upstream snapshot

 -- Jonathan Carter <jcc@debian.org>  Mon, 26 Oct 2020 08:45:37 +0200

bcachefs-tools (0.1+git20201017.8a4408-1~exp1) unstable; urgency=medium

  * New upstream release
  * Bump debhelper-compat to 13
  * Update standards version to 4.5.0
  * Declare Rules-Requires-Root: no
  * debian/copyright:
    - Update copyright years
    - Update copyright owners
    - Add intel and ccan copyright
  * Add build-dep on libudev-dev, python3-pytest  and valgrind

 -- Jonathan Carter <jcc@debian.org>  Sun, 18 Oct 2020 17:29:27 +0200

bcachefs-tools (0.1+git20190829.aa2a42b-1~exp1) experimental; urgency=medium

  * Initial Release (Closes: #935178)

 -- Jonathan Carter <jcc@debian.org>  Mon, 16 Sep 2019 10:36:04 +0000
