Skip to content
Release 2.0.0

After bumping the minor version 53 (!) times in 1.x.y, we have some
breaking changes justifying a major version bump. For users it should
still feel the same overall. Enjoy this release, and thanks so much to
everybody who contributed to it!

"Breaking" changes:
* Remove distcc support (was already disabled by default since
  crossdirect had been added in 2019)
  * Remove --no-crossdirect argument
* flasher: remove long deprecated flash_system alias
* flasher: set default fastboot rootfs partition to userdata

Features:
* aportgen: replace deviceinfo_modules_initfs for modules file
* pmb.install: create fstab and crypttab
* Add mtkclient as a flasher option
* Install makedepends in native chroot for packages using Rust
* Support --no-cgpt
* lint: drop call to pmb.build.init
* aportgen: use pmb.build.init_abuild_minimal
* pmb.config: only show first 3 releases
* init: allow all locales
* pmb.flasher: Improve flash_lk2nd action
* pmb.helpers.frontend: Also clear testsuite log when running log -c
* Don't use 'sudo' when running as root
* config: use en_US as default locale
* pmb: Remind users to ensure pmbootstrap is updated before reporting errors

Fixes:
* pmb.helpers.run_core: fix proxy env var logic
* pmb/partition: fix cgpt root_size to not cause resize on boot
* pmb.helpers.run_core: always configure proxy vars if set in environment
* install/partition: set efi flag with cgpt
* pmb.config: Use Python 3.8-compatible type annotation
* envkernel.sh: use realpath to deal with symlink
* pmb.helpers.run_core: fix sudo timer when not using sudo
* install: run setup-timezone with "-i" when appropriate
* pmb.config: select default UI in case current is not available
* pmb.config: set default UI to console
* pmb.config: add missing flash_rk_partition* flags
* pmb.qemu.run: replace removed -soundhw option
* pmb.helpers.run: fix sudo timer
* pmb.config.sudo: Use type union compatible with Python 3.7

Other:
* aportgen: device: rename modules to modules-initfs
* test: fix test_build_depends_binary_outdated
* test: fix running test_build_package.py standalone
* deviceinfo: make parse_kernel_suffix private
* pmb.helpers.run_core: move flat_cmd here
* test/test_pkgrel_bump: make sure pmb doesn't cross compile
* test: crossdirect: update stable branch ref
* test: specify default git branch
* test: dont fail on githook symlinks
* CI: add codespell
* treewide: fix typos found with codespell
* install/partition: rearrange cgpt commands in natural order
* CI: enable eval-annotations for vermin
* Remove workaround for gcc with !tracedeps
* install: move setup_timezone to its own function
* treewide: rename _system to _rootfs in various places
* pmb.flasher: remove outdated comment
* Use ruff for linting
* aportgen/binutils: set pmOS bugurl
* aportgen/binutils: add more makedepends_host
* aportgen/binutils: order fields alphabetically
* pmb.flasher.frontend: Use elif instead of repeated if