Skip to content
Release 3.3.0

Features:
* chroot: add --usb flag to make usb devices available (MR 2554)
* install: log space/inodes used in image (MR 2558)
* pmb.config.init: prompt for pmaports path (MR 2502)
* pmb.config.init: Improve message when "Archived:" header is missing (MR 2535)

Fixes:
* helpers.cli: Fix regex validation (MR 2557)
* pmbootstrap chroot: fix --image bugs (MR 2556)
* pmb.install.format: set bytes-per-inode to 16384 (MR 2558) (MR 2555) (MR 2552)
* ci/markdown: fix shellcheck errors (MR 2485)
* pmbootstrap config: Fix setting attribute value to False (MR 2546)
* test: move all tests into separate module (MR 2551)
* pmb.flasher: Fix passing command line flags (MR 2543)
* install: create_device_rootfs: check if ui extras package exists (MR 2534)

Other:
* pmb.parse.apkindex: Improve parse_add_block() type hint (MR 2515)
* pmb.chroot.run: Add another overload for root() (MR 2515)
* pyproject.toml: Remove ignore for F401 in __init__.py files (MR 2545)
* pmb.chroot: Rename exists() to user_exists() (MR 2545)
* pmb: Use explicit re-exports (MR 2545)
* pmb: Remove unused imports (MR 2545)
* ci/markdown: don't run "npm install" as root (MR 2485)
* add pre-commit hook for ruff (MR 2485)
* CONTRIBUTING: document markdown linting (MR 2485)
* treewide: lint markdown files (MR 2485)
* CI: add markdown lint (MR 2485)
* pmb.config.init: resolve double-negation (MR 2502)
* pmb.config.init: Reformat some strings (MR 2535)
* CI: use new runner where necessary (MR 2548)
* pyproject.toml: Enable all N checks (MR 2537)
* pmb.helpers.logging: Use PEP 8-compliant naming (MR 2537)
* pmb.conftest: Use PEP 8-compliant naming (MR 2537)
* pyproject.toml: Enable all PIE checks (MR 2537)
* pmb.install.losetup: Remove unnecessary range start (MR 2537)
* pmb: Remove unnecessary pass statements (MR 2537)
* pmb.aportgen.core: Combine startswith(...) calls into one (MR 2537)