Skip to content
Tags give the ability to mark specific points in history as being important
  • 2.3.1 protected
    92524002 · Prepare 2.3.1 release ·
    Release 2.3.1
    
    This is a small release that prepares for postmarketOS v24.06 and fixes
    an issue where installing pmbootstrap as a Python package would install
    a package called "docs" into the global namespace, which was not
    intentional.
    
    Fixes:
    * pmb.config.apk_tools_min_version: update
    * pmb.config.apk_tools_min_version: add v3.20
    * pyproject.toml: add docs to the parts to be excluded (MR 2312)
  • 2.3.0 protected
    6dce8464 · Prepare 2.3.0 release ·
    Release 2.3.0
    
    It's been a while since the last release, so this is a big one! While
    the usual shortlog-style list will be below, I'll summarise the
    highlights first:
    
     - We've migrated from setup.py to pyproject.toml. If you're packaging
       pmbootstrap, you may have to adjust the build recipe.
    
     - The output from pmbootstrap has been cleaned up in many cases and
       should be easier to understand. For example, $ pmbootstrap status has
       been simplified greatly and the warnings are now printed when they're
       actually relevant. We also no longer print a stacktrace when a build
       fails, which should help make it more clear what went wrong. The
       stacktrace didn't actually contain say anything about why the build
       failed, so it was just distracting information.
    
     - We now have documentation both describing pmbootstrap's internal
       "API" and how to use it as a user, generated via Sphinx. However, we
       haven't figured out where to host it yet, but if you're really
       curious you can poke around the CI pipelines and maybe find it :)
    
     - systemd support has been worked on. I don't know much about this
       though :(
    
     - Compatibility when running pmbootstrap on an aarch64 (64-bit ARM)
       system has been improved.
    
     - Support for Python 3.7 and 3.8 has been removed to allow for using
       more modern features and type hints.
    
    And here goes the shortlog!
    
    Features:
    * Add "pmbootstrap repo_bootstrap" (MR 2273)
    * APKBUILD parser: recognize all top-level variables (MR 2300)
    * aportgen: Allow retaining current branch when forking Alpine (MR 2271)
    * aportgen: Add short forms of arguments (MR 2271)
    * aportgen: Set pkgver for devices to 1 by default (MR 2275)
    * docs: add new configuration for generating docs using sphinx (MR 2266)
    * init: ask whether to install systemd (MR 2273)
    * install: add pmos-base-systemd if systemd enabled (MR 2273)
    * logging: print text between *** in green (MR 2263)
    * Migrate from setup.py to pyproject.toml (MR 2265)
    * pmbootstrap init: remove text about daily zapping (MR 2293)
    * pmbootstrap status: rework (MR 2294)
    * pmb: Only log error if NonBugError is caught (MR 2279)
    * pmb: Handle BuildFailedError (MR 2288)
    * pmb.aportgen: add deviceinfo_bootimg_qcdt_type (MR 2276)
    * pmb.build._package: Raise BuildFailedError when build fails (MR 2288)
    * pmb.chroot.init: add postmarketos_mirror argument (MR 2273)
    * pmb.chroot.init: upgrade pkgs at the end (MR 2273)
    * pmb.chroot.init: warn about outdated chroots (MR 2293)
    * pmb.config: do not prompt for nonfree fw/userland (MR 2255)
    * pmb: install: allow to mount fat{16,32} /boot from /etc/fstab (MR 2304)
    * pmb: install: add some sane mount options to default /boot in /etc/fstab (MR 2304)
    * pmb: install: add options for default charset in vfat /boot partitions (MR 2304)
    * pmb.parse: add get_parser for returning ArgumentParser obj (MR 2266)
    * pmb.parse.bootimg: implement detection of QCDT types (MR 2276)
    * pmb.parse.kconfig: Raise NonBugError on invalid kernel config (MR 2279)
    * pmb.sideload: Query architecture from foreign device (MR 2282)
    * pmb.sideload: Run apk incantation in a subshell (MR 2283)
    * systemd installs: merge /usr on chroot init (MR 2273)
    * Support pmb:systemd-never option (MR 2273)
    
    Fixes:
    * aportgen: shorten hasatrr checks with getattr (MR 2271)
    * b4-config: Remove (MR 2257)
    * build: fix !pmb:crossdirect (MR 2291)
    * logging: reset style at the end of log line (MR 2272)
    * pmb: correct link after moving sources back to gitlab (MR 2270)
    * pmb.*: various comment reformatting to assist with generating docs (MR 2266)
    * pmb.chroot.apk: Use unl0kr instead of osk-sdl in example (MR 2289)
    * pmb.config: kconfig check: mark some EFI config as specific to ARM (MR 2269)
    * pmb.config: kconfig check: add vfat to uefi check (MR 2269)
    * pmb.config: kconfig check: add USB mass storage devices to community (MR 2281)
    * pmb.config: kconfig check: turn off RT_GROUP_SCHED in 'community' (MR 2305)
    * pmb.config.apkbuild_attributes: add sha512sums (MR 2296)
    * pmb/config: s/für/for/
    * pmb.flasher: fix C0303: Trailing whitespace (trailing-whitespace) (MR 2280)
    * pmb.flasher.frontend: Replace osk-sdl with Unl0kr in FDE reminder (MR 2289)
    * pmb.helpers.aportupgrade: Import urllib.parse explicitly (MR 2258)
    * pmb.helpers.aportupgrade: Check for none pkgver_match in upgrade_git_package (MR 2258)
    * pmb.helpers.aportupgrade: Don't return any value from upgrade (MR 2258)
    * pmb.helpers.aportupgrade: Remove unused return values (MR 2258)
    * pmb.helpers.exceptions: Add licence header (MR 2284)
    * pmb.helpers.frontend: Add some type hints (MR 2262)
    * pmb.helpers.repo_missing: Replace osk-sdl with unl0kr in example (MR 2289)
    * pmb.helpers.run: Add some type hints (MR 2262)
    * pmb.helpers.status: Add type hints (MR 2262)
    * pmb.install: discover selected providers in dependencies too (MR 2261)
    * pmb.install: fall back to a valid hostname if none set (MR 2260)
    * pmb.install._install: Replace osk-sdl with unl0kr in nofde explanation (MR 2289)
    * pmb.install…get_selected_providers: tweak comment (MR 2261)
    * pmb.parse.arch: add armv8l -> armv7 mapping (MR 2259)
    * pmb.parse.arch: use qemu for running armhf on aarch64 (MR 2285)
    * pmb.parse.arch: Import pmb.config instead of pmb.parse.arch (MR 2282)
    * pmb.parse.arguments: Check for argcomplete in sys.modules instead (MR 2258)
    * pmb.parse._apkbuild: Disable attr-defined for entire module (MR 2258)
    * pmb.parse._apkbuild: Fix subpackages with set arch but no custom function (MR 2267)
    * pmb.sideload: Remove irrelevant output when querying architecture (MR 2286)
    * pyproject.toml: Fix deprecation warning (MR 2262)
    * Print ERROR: infront of {NonBug,BuildFailed}Error (MR 2298)
    * require_bootstrap: ensure apkindex exists (MR 2287)
    * README.md: mention parted bug in kernels between 5.8 and 6.0 (MR 2264)
    * README: Replace osk-sdl with tinydm in newapkbuild example (MR 2289)
    * test: Test subpackages which set a different architecture (MR 2267)
    * test.test_apk: Replace osk-sdl with unl0kr in apk install test (MR 2289)
    * test/test_parse_apkbuild: fix running standalone (MR 2300)
    * CI: mypy: make compatible with "pmbootstrap ci" (MR 2258)
    * CI: ruff: fix "ruff <path>" warning (MR 2274)
    * Remove unnecessary setup.cfg, non-universal is the default (MR 2265)
    
    Other:
    * Add sanity check for "systemd" config values (MR 2273)
    * config: add note on why mirrors are http and not https (MR 2256)
    * config: organize defaults matching config_keys and order alphabetically (MR 2256)
    * is_systemd_selected: check for branch support (MR 2273)
    * pmb.build.is_necessary: replace version_{new,old} (MR 2295)
    * pmb.build.is_necessary: tweak comments (MR 2295)
    * pmb.build.is_necessary: tweak log msgs (MR 2295)
    * pmb.helpers.exceptions: Introduce (MR 2279)
    * pmb.helpers.exceptions: Add BuildFailedError (MR 2288)
    * pmb.parse.arch: Break out marchine type to arch into separate function (MR 2282)
    * pmbootstrap build, install: require repo_bootstrap (MR 2273)
    * treewide: Rename unmaintained to archived (MR 2308)
    * gitignore: Ignore KDevelop files and folder (MR 2302)
    * test: disable cross compile test (MR 2307)
    * test: Test pmb.parse.arch.machine_type_to_alpine (MR 2282)
    * testdata/APKBUILD.var-replacements: add custom var (MR 2300)
    * Drop support for python3.7 and python3.8 (MR 2265)
    * CI: add Mypy check (MR 2258)
    * CI: Always update packages (MR 2297)
    * CI: Use yaml anchor for global before_script (MR 2297)
    * CI: Stop adding testing repository in before_script (MR 2297)
    * ci: add job to generate docs (MR 2266)
  • 2.2.1 protected
    7102157b · Prepare 2.2.1 release ·
    Release 2.2.1
    
    Fixes:
    * envkernel: only export alias when defined (MR 2249)
    * install: get_recommends: fix infinite recursion (MR 2250)
    
    Other:
    * envkernel: Install envkernel.fish (MR 2249)
    * envkernel.fish: Support out-of-tree usage of envkernel.fish (MR 2249)
    * pmb.aportgen: drop deviceinfo_screen_* (MR 2253)
    
  • 2.2.0 protected
    7f61262a · Prepare 2.2.0 release ·
    Release 2.2.0
    
    Features:
    * install: throw error if boot_size is too small
    * pmb.install: support pmb_recommends for any package
    * pmb.install: add --zap option
    * pmb.install.format: Write boot mountpoint to log
    * pmb.config: add new newapkbuild arguments
    * install: initial implementation of flat btrfs layout
    * helpers/envkernel.fish: export pmbootstrap_dir
    * helpers/envkernel.fish: set prompt prefix in fish-shell
    * helpers/envkernel.fish: add deactivate & reactivate function for fish
    * flasher: heimdall-bootimg: add support for '--no-reboot' and '--resume'
    * pmb.helpers.args: Skip some initialisation code when running checksum (MR 2228)
    * Guess kbuild out dir for downstreamkernel_package (MR 2231)
    * envkernel: Fall back to pmbootstrap from PATH (MR 2229)
    * Install envkernel.sh (MR 2229)
    * envkernel: Don't drop parameters in run-script (MR 2230)
    * build: use host native gzip (MR 2242)
    * build: use native abuild-apk (MR 2242)
    * pmb.install: include dependencies when searching for pmb_recommends (MR 2238)
    * install: more comprehensive subdivision of btrfs subvols (MR 2233)
    * kconfig check: enable NFT_COMPAT for iptables-nft wrapper (MR 2245)
    * kconfig check: Enable more options for community (MR 2245)
    
    Fixes:
    * install: do not fail on alpine-appstream-downloader error
    * pmb.flasher.vars: do not assume that args.no_reboot and args.resume are defined (MR 2232)
    * Fix preserving proxy variables (MR 2237)
    * pmb.install: fix crash on empty subpackage in get_recommends (MR 2238)
    * pmb.install: honor -y, don't prompt when target disk is >100GiB (MR 2239)
    * pmb: only enable abuild-apk wrapper for buildroot (MR 2246)
    * pmb.build: ensure all specified packages are built with --force (MR 2244)
    * build.envkernel: simplify and fix unhandled error path (MR 2243)
    * pmb.build.init: fix apk wrapper for x86 on x86_64 (MR 2247)
    
    Other:
    * aportgen: Only warn if binary version > APKBUILD version
    * parse.apkbuild.parse_subpackage: don't inherit pmb_recommends
    * pmb.install._install.get_recommends: tweak comment
    * README.md: update source code location
    * CI: use gitlab-ci
    * pmb.flasher.variables: use getattr instead of hasattr (MR 2232)
    * CI: bring back mr-settings check (MR 2234)
    * CONTRIBUTING: modernize (MR 2235)
    
  • 2.1.0 protected
    4fb61591 · Prepare 2.1.0 release ·
    Release 2.1.0
    
    Features:
    * pmb.aportgen.device: modernize defaults
    * init: tweak UIs hidden message
    * install: get install_user_groups from pmaports.cfg
    * chroot: /mnt/pmbootstrap-* -> /mnt/pmbootstrap/*
    * build: use sccache for rust
    * pmb.config: uefi kconfig check: add zboot for aarch64
    * pmb.config: uefi kconfig check: add mixed mode for x86_64
    * kconfig check: enable USB_CONFIGFS_NCM for USB gadgets
    * parse.arguments: Allow providing multiple packages for kconfig_check
    * parse.bootimg: Separate kernel and ramdisk MediaTek headers
    * pmb.config: add RFKILL to iwd kconfig check
    * install: rename --sdcard arg to --disk
    * config.init: allow using pmb_select in pmos-base-ui
    * aportgen: build gcc-x86_64 etc. pkgs for aarch64
    
    Fixes:
    * install: remove /mnt/pmbootstrap at the end
    * parse: allow "-r" in pkgver
    * parse.apkindex: fix typo
    * chroot.apk,apk_static: always disable interactive mode
    * install --sdcard: remove external_storage check
    * config: Fix typo in valid aport options
    * parse.depends: consider selected providers when resolving providers
    * pmb.helpers.pmaports.get: deal with operators
    * pkg resolver: don't guess if pmaport was found
    * pmb.helpers.frontend: Convert kconfig check --file argument
    
    Other:
    * Cosmetic: build: add comment about rust deps
    * test/test_crossdirect: remove
    * README.md: add armv7 to supported architecture
    * parse/init: allow importing arguments_install and arguments_flasher
    * test: cosmetic: install deviceinfo under /usr/share
    * pmb.aportgen.device: clarify supported values in modules_initfs
    * pkg resolve: add more verbose logs
    * pmb.config.apk_tools_min_version: add alpine 3.19
    * aportgen: remove binutils
    
  • 2.0.0 protected
    b721b08e · Prepare 2.0.0 release ·
    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
    
  • 1.53.0 protected
    6d0aa127 · Prepare 1.53.0 release ·
    Release 1.53.0
    
    Features:
    * Speed up 'pmbootstrap checksum'
    * build: make preferred target arch configurable
    * kconfig check: Add USB gadget check to community
    
    Fixes:
    * install: write new file instead of modifying locale.sh from alpine-baselayout
    
    Other:
    * pmb.build.init: refactor init marker related code
    * config: sort config_keys and fix layout
    
  • 1.52.0 protected
    a8695833 · Prepare 1.52.0 release ·
    Release 1.52.0
    
    Features:
    * pmb.config.init: copy pmaports githooks to default git hooks dir
    * pmb: Set PMBOOTSTRAP_CMD to argv[0] in environment
    * pmb.parse.kconfig: Pass background color for menuconfig
    * install/partition: set esp flag for /boot when using GPT
    * qemu/run: add support for EFI boot
    * parse/arguments: add qemu --efi option
    * install: make cached remote repositories available on first install
    * install: run alpine-appstream-downloader if available
    * qemu: warn that network won't work with ui=none
    * config: Add BINFMT_ELF and BINFMT_SCRIPT
    * pmb.config: mount go caching directories
    
    Fixes:
    * build: support new abuild.conf path
    * envkernel.sh: building x86 on x86_64 does not require a cross compiler
    * setup.py: adjust path to pmb.__version__
    * pmb.config.pmaports: replace aports split msg
    * pmb.helpers.other.validate_hostname: allow periods
    * pmb.parse.kconfig.check: fix writing to list arg
    * pmb.parse.arguments: don't use python 3.9 feature
    * pmb.aportgen.device: fix flash method autocomplete
    * kconfig check: ANDROID_BINDER_IPC_SELFTEST not set
    * kconfig_options_waydroid: enable PSI
    * kconfig_options_waydroid: update to android 11
    * kconfig check: extract_arch: support riscv64
    * kconfig check: extract_version: replace - with _
    * pmb.config.apkbuild_attributes: Add _depends_dev
    * pmb/parse/arch.py: add riscv64 -> riscv to kernel carch mapping
    * pmb.aportgen.linux: Depend on findutils
    * pmb.helpers.run: don't pass stdin to output=stdout
    
    Other:
    * Move version to pmb.__version__
    * pmbootstrap.py: move all features to pmb:main()
    * pmbootstrap.py: require at least python 3.7
    * Bump min. required Python version to 3.7
    * test/test_zzz_keys.py: move from test/test_keys.py
    * kconfig_options_waydroid: order alphabetically
    * pmb.build.kconfig: split extract_and_patch_sources
    * parse.arguments.add_kernel_arg: add nargs param
    * pmb/build/kconfig.py: rename from menuconfig.py
    * test: rework kconfig check tests
    * kconfig check: less errors for non-detailed mode
    * kconfig check: add --no-details argument
    * kconfig check: add descriptions to more functions
    * kconfig check: move check_config_options_set up
    * kconfig check: drop "necessary_"
    * kconfig check: config_file -> config_path
    * kconfig check: remove redundant component lists
    * pmb.parse.kconfig: remove config_path_pretty
    * pmb.parse.kconfig.check_option: refactor
    * pmb.parse.arch: Include comma after last dictionary items
    * partition_cgpt: use pmb.chroot.apk.install
    * ci/pytest.sh: check if pmaports dir is clean
    
  • 1.51.0 protected
    3ad159f9 · Prepare 1.51.0 release ·
    Release 1.51.0
    
    Features:
    * pmbootstrap init: don't allow 'root' as username
    * check_binfmt_misc: print more helpful error
    * pmb.build.other: do not copy leftover abuild dirs
    
    Fixes:
    * qemu: ssh hostfwd on 127.0.0.1 instead of 0.0.0.0
    * pmb.qemu.run: fix 3d accel on amd64
    
    Other:
    * Bump copyright to 2023
    
  • 1.50.1 protected
    9d93d34b · Prepare 1.50.1 release ·
    Release 1.50.1
    
    Fixes:
    - pmb/parse/arch.py: add arm64 -> aarch64 to mapping
    - pmb.parse.kconfig: update version for MEMCG_SWAP change
    
    Other:
    - pmb.config.apk_tools_min_version: add alpine 3.17
    
  • 1.50.0 protected
    757d2a0b · Prepare 1.50.0 release ·
    Release 1.50.0
    
    Features:
    - pmb.parse.kconfig: add wireguard, filesystems & more to community check
    - pmb.parse.kconfig: don't enforce non-core checks for testing devices
    - pmb ci: add --fast argument
    
    Fixes:
    - pmb: sideload: wait for apk database lock
    - flasher: heimdall: take depends from pmaports.cfg
    - pmb ci: fix arg desc for --all
    - pmb ci: error on using --all with script names
    - pmb.qemu.run: stop forcing bios for riscv64
    - pmb ci: fix typo in URL
    
    Other:
    - CI: fix typo in pmOS CI url
    
  • 1.49.0 protected
    6f45a5d5 · Prepare 1.49.0 release ·
    Release 1.49.0
    
    Features:
    * build: envkernel: support packaging kernels that were built on the host (MR 2175)
    * pmb.parse.build: mention host compiled kernels in envkenel help (MR 2175)
    * pmb: enable riscv64 architecture (MR 2215)
    * pmbootstrap log: show testsuite log too
    * pmbootstrap ci: new command
    * pmb.qemu.run: support riscv64
    * envkernel: add dependencies for running 'make dtbs_check'
    
    Fixes:
    * pmb.config: add missing pmb:kconfigcheck-* for lint (MR 2214)
    * pmb: build: envkernel: Fix bind mount detection (MR 2217)
    * pmb.parse.kconfig: fix container check for kernels >= 6.1 (MR 2220)
    * pmb.parse.kconfig: drop remaining "_rc1" references (MR 2220)
    * helpers/envkernel.sh: return 0 from fish_compat if --fish is not present (MR 2221)
    * pmb.parse.kconfig: explicitly add dependency on SWAP
    * pmb.qemu.run: replace -nic option with -netdev and -device
    * aportgen: don't fail if binary ver < APKBUILD ver
    * helpers/envkernel.sh: rename yaml-lint to yamllint
    * pmbootstrap ci: fix error with deleted files
    * pmb.config.required_programs: add tar
    * flasher: fastboot: take depends from pmaports.cfg
    
    Other:
    * CI: replace gitlab CI with sourcehut CI
    * CI: add note about running scripts locally
    * README: remove outdated information
    * README: add line breaks
    * README: update development section
    * README: add new line
    * README: add link to issues
    * README: add ML subscribe link
    * build.yml: add missing sources line
    * README: Document git commands for setting the git-send-email defaults
    * b4-config: new file
    * b4-config: linkmask: encode < and > chars
    * CI: flake8: remove ignore for W605
    * pmb.flasher.init.install_depends: new function
    
    Between this release and the previous one, pmbootstrap.git was migrated to sourcehut:
    https://gitlab.com/postmarketOS/pmbootstrap/-/issues/2181
    
  • 1.48.0 protected
    d2c39ce5 · Prepare 1.48.0 release ·
    Release 1.48.0
    
    Feature:
    * pmb.chroot.root: set PYTHONUNBUFFERED=1 (MR 2209)
    
    Fixes:
    * pmb.build._package: update isl workaround (MR 2213)
    
    Other:
    * pmb.chroot.root: order env vars alphabetically (MR 2209)
    * pmb.aportgen.device: no depend on mesa-dri-gallium (MR 2210)
    
  • 1.47.1 protected
    aaeff96d · Prepare 1.47.1 release ·
    Release 1.47.1
    
    Fixes:
    - pmb.aportgen.gcc: remove !tracedeps option
    - pmb.build.package: add workaround for missing isl
    
  • 1.47.0 protected
    dac8b277 · Prepare 1.47.0 release ·
    Release 1.47.0
    
    Features:
    * pmb.helpers.run: only pass stdin where useful (MR 2197)
    * pmb: sideload: Handle ssh_install_apks() errors (MR 2195)
    * pmb.chroot.root: preserve proxy environment variables (MR 2201)
    * pmb.config.apkbuild_package_attributes: + triggers (MR 2202)
    * pmb.parse.kconfig: add 'community' option (MR 2204)
    * pmb.config.apkbuild_attributes: Add _pkgbase and _pkgsnap (MR 2208)
    
    Fixes:
    * Fix wrong output of pmbootstrap bootimg_analyze (MR 2198)
    * aportgen binutils: modernize (MR 2199)
    * pmb.parse.kconfig: fix containers check for x86 (MR 2204)
    * pmb.aportgen.gcc: remove isl from depends (MR 2203)
    * pmb.aportgen.gcc: set libgcc=false (MR 2203)
    * pmb.aportgen.gcc: add subpkg libstdc++-dev-$arch (MR 2207)
    
    Other:
    * treewide: fix various lint errors (MR 2197)
    * test/testdata/aportgen: upgrade binutils to 2.39 (MR 2199)
    * pmb.parse.kconfig: remove apparmor check (MR 2200)
    * pmb.parse.kconfig: rename anbox check to waydroid (MR 2204)
    * test_kconfig_check: modify nokia-n900 test (MR 2204)
    * testdata/gcc: upgrade to 12.1.1_git20220630-r5 (MR 2203)
    * testdata/gcc: upgrade to 12.2.1_git20220924-r1 (MR 2208)
    
  • 1.46.0 protected
    8d736c5f · Prepare 1.46.0 release ·
    Release 1.46.0
    
    Features:
    - pmb.parse.bootimg: Add preliminary support for header v2 (MR 2194)
    - pmb.aportgen.device: Generate appropriate header v2 deviceinfo (MR 2194)
    - pmb.aportgen.linux: Install DTBs on header v2 (MR 2194)
    
    Fixes:
    - helpers/envkernel.sh: disable ccache (MR 2189)
    - Revert "helpers/envkernel.sh: add gawk when initialising chroot (MR 2186)" (MR 2188)
    - pmb.qemu.run: drop removed depedency (MR 2196)
    
    Other:
    - test: Add boot.img header v2 testcase (MR 2194)
    
  • 1.45.0 protected
    e527a159 · Prepare 1.45.0 release ·
    Release 1.45.0
    
    Features:
    * Rename Chrome OS kernel partition to pmOS_kernel (MR 2187)
    
    Fixes:
    * pmb.config.init: fix init when work path is an empty directory (MR 2192)
    * pmb/export: Fix Odin export filenames (MR 2191)
    * pmb/config: vndbinder ANDROID_BINDER_DEVICE is required for Waydroid (MR 2190)
    * pmb: flasher: frontend: don't fail if kernel config cannot be found (MR 2184)
    * pmb.chroot.apk.install: fix empty install messages (MR 2185)
    * pmb.chroot.apk.install: let apk figure out depends (MR 2185)
    
    Other:
    * helpers/envkernel.sh: add gawk when initialising chroot (MR 2186)
    * pmb.chroot.apk.install: move pkgname sanitization (MR 2185)
    * pmb.chroot.apk.packages_split_to_add_del: new func (MR 2185)
    * pmb.chroot.apk.install_run_apk: new func (MR 2185)
    * pmb.chroot.apk.install: move empty packages check (MR 2185)
    * pmb.chroot.apk.install_{is_necessary -> build} (MR 2185)
    * pmb.chroot.apk.install: rename to{add,del} vars (MR 2185)
    * pmb.chroot.apk.install: update func desc (MR 2185)
    
  • 1.44.1 protected
    03303ef7 · Prepare 1.44.1 release ·
    Release 1.44.1
    
    Tag 1.44.0 was done without bumping pmb.config.version, so tag another
    one.
    
  • 1.44.0 protected
    Release 1.44.0
    
    Other:
    - pmb.conf.apk_tools_min_version: add Alpine 3.16 (MR 2183)
    
  • 1.43.1 protected
    8c7e99ac · Prepare 1.43.1 release ·
    Release 1.43.1
    
    Fixes:
    - pmb.parse.depends: ignore conflict dependency that no longer exists (MR 2181)
    - pmb.install: Check for alpine-conf version (MR 2182)