2025-10-26 - 2026-10-26
Overview
147 pull requests merged by 1 user
Merged
#155 cmds.secrets.FilesContext: Fix attrs precedence and macro scanning
Merged
#154 py-version.mk: Include common.mk
Merged
#153 gitignore: Add web compilation artifacts
Merged
#152 defs.mk: Make common PKG_CONFIG build dir opt-in
Merged
#151 common.mk: Set WHICH to command -v
Merged
#150 topdir.mk: Remove --skip-excluded from install targets
Merged
#149 lib.ec.secret_store.Vault: Add the store class
Merged
#148 lib.ec.secret_store.Sops: Add store class
Merged
#147 lib.ec.secret_store.TarGpg: Add the write path
Merged
#146 lib.ec.secret_store: Add and use framework
Merged
#145 lib.FcCache: Add a write-through read cache
Merged
#144 lib.util.copy(): Support FileContext source, file types, and --parents
Merged
#143 lib: Add hierarchical FileType framework
Merged
#142 cmds.pkg.CmdVerify: Add command
Merged
#141 test/integration/jw-pkg: Rename to jw_pkg for mypy module names
Merged
#140 py-*.mk: Make the Python make modules self-contained
Merged
#139 mkspec-wrapper.sh: Fix INSTALL_LOG default
Merged
#138 cmds.secrets.CompileTemplates: Fix conf line handling
Merged
#137 test/integration/jw-pkg/secrets: Add test
Merged
#136 topdir.mk: Derive GITIGNORE_PATTERNS_END from TOP
Merged
#135 cmds.secrets: Fix rewrite() of long member names
Merged
#134 cmds.posix.copy: Allow missing mode option
Merged
#133 ExecContext: Map ENOTDIR to FileNotFoundError
Merged
#132 lib.util.run_cmd(): Fix forgotten cmd_input
Merged
#131 FileContext: Add readdir() and recursive directory copy
Merged
#130 FileContext.mkdir(): Fix missing _chroot()
Merged
#129 topdir.mk: Make target git-import idempotent
Merged
#128 pgit.sh: Stop looking for .git at regular file
Merged
#127 pkg-dist.mk, pkg.sh: Build RPMs in dist/build, drop the pckg spelling
Merged
#126 make: Remove INSTALL_PCKG_DEPS_DIR
Merged
#125 pkg_relations(): Fix --skip-excluded, add integration test
Merged
#124 platform.mk: Fix missing common.mk definitions
Merged
#123 common.mk: Add file
Merged
#122 cmds.projects.CmdGetAuthInfo: Fix: echo credentials "None"
Merged
#121 projects, make: Follow pkg.recommends.jw in the build closure
Merged
#120 App.get_project_refs(): Use a set for deduplication
Merged
#119 projects: Make the build order and package list deterministic
Merged
#118 Unify the project dependency walks in App and pkg_relations()
Merged
#117 App.get_project_refs(): Fix multi-section results
Merged
#116 py-ns-dir.mk: Fix PY_UPDATE_INIT_PY ?= false
Merged
#115 lib.{App,Cmd}: Pass parent= by name to Cmd* constructors
Merged
#114 projects-dir.mk: Add BUILD_DEP_FLAVOURS_*
Merged
#113 scripts / make: Add Recommends support
Merged
#112 CmdBuild / make: Accommodate projects that only have a Makefile
Merged
#111 make: Add git-log targets and record last successful run
Merged
#110 scm.sh: Honor -f in git, derive release hash from VCS file ids
Merged
#109 lib.version: Fix version range expansion
Merged
#108 pyproject.toml: Set isort include_trailing_comma, reformat lib.App
Merged
#107 gitignore: Fix duplicates and typos
Merged
#106 lib: Add unit tests for Package, ProcFilter, PackageFilter, and TarIo
Merged
#105 lib.ec.ssh.Exec: Fix askpass script
Merged
#104 lib.Distro: Fix os-release and cascade macros
Merged
#103 projects-dir.mk: Resolve JWB_SCRIPT_DIR from JWBDIR
Merged
#102 topdir.mk: Add target gitignore
Merged
#101 cmds.projects.CmdCreatePkgConfig: Fix Requires lines and add integration test
Merged
#100 cmds.projects.CmdCreateFile: Add --field-* options and integration tests
Merged
#99 cmds.projects.CmdCreateFile: Fix spurious newline and --format help
Merged
#98 cmds.projects.lib.templates: Fix string handling
Merged
#97 CmdRequiredOsPkg: Don't modify deps while iterating
Merged
#96 py-topdir.mk: Add test tree to default check roots
Merged
#95 lib.version.Dependency: Reject unsupported spec operators
Merged
#94 App.__get_project_refs(): Fix broken detection of missing build dependencies
Merged
#93 lib.pkg_relations(): Beautify exceptions
Merged
#92 pkg.sh: Fix broken version macro expansion
Merged
#91 lib.version: Add module
Merged
#88 make: Own the top-level project directories in packages
Merged
#90 lib.Types: Restrict LoadTypes to ABC-derived classes
Merged
#89 lib.Types: Read __abstractmethods__ via getattr()
Merged
#87 lib.ec.ssh.AsyncSSH: Actually hide password
Merged
#86 lib.ExecContext, lib.FileContext: Fix temp file leak and log messages
Merged
#85 lib.ec.ssh.Paramiko: Fix URI parameters, stdin handling, and output deadlock
Merged
#84 lib.Uri: Fix local path edge cases
Merged
#83 make: Miscellaneous versatility improvements
Merged
#82 defs.mk: Add quadlet unit types to LOCAL_SYSTEMD
Merged
#81 py-xxx.mk: Some variable housekeeping
Merged
#80 init.detect_modules(): Add base_types filter
Merged
#79 lib.ExecApp: Add class
Merged
#78 App.__format_topdir(): Mention "relative" in error
Merged
#77 App: Remove duplicate from dependency graph
Merged
#75 py-defs.mk: Honour PY_INSTALL_INIT_PY = false
Merged
#74 lib.Uri: Fix stale cache in __new_with_path()
Merged
#72 Add empty documentation subtree
Merged
#71 conf / scripts: Fix unprivileged "make install"
Merged
#70 test-guard.mk: Add file
Merged
#69 App: Remove ResultCache
Merged
#68 lib.App / lib.Cmd: Build command tree lazily
Merged
#67 lib.App: Add _root_cmd()
Merged
#66 lib.App: Add root command slot
Merged
#65 lib.App: Fix --help with required top-level args
Merged
#64 lib.Types: Accept bare string in LoadTypes()
Merged
#63 defs.mk: Default VERSION -> 0.1.0-0-dev
Merged
#62 lib.distros.redhat.Distro: Add missing file
Merged
#61 lib.AsyncRunner: Fix asyncio.Event() for Python 3.12+
Merged
#60 lib.App: Refactor App / Cmd to adress multiple functionality and style issues
Merged
#59 pkg.lib.App: Fix event loop for Python 3.14+
Merged
#58 make: Miscellaneous minor fixes and improvements
Merged
#57 defs.mk: Avoid recaching stale variable values
Merged
#56 defs.mk: Disable BUILD_PKG_CONFIG
Merged
#55 Make lib.App logging more customizable
Merged
#53 jw.pkg: Massively tighten linter checks
Merged
#52 make: Streamline test and check targets for all directories
Merged
#50 make: Improve make variable caching machinery
Merged
#49 cmds.projects: Two fixes to Python search path generation
Merged
#48 lib.Uri: Treat paths starting with ~" specially
Merged
#47 Miscellaneous minor fixes
Merged
#46 test + lib: Fix miscellanous bugs and inconsistencies
Merged
#45 make: Improve Python testing support
Merged
#44 App: Miscellaneous fixes and improvements based on AI code analysis
Merged
#43 App: Move project.conf parsing into lib.ProjectConf
Merged
#42 purge-stale-projects.sh: Fix getopt regression
Merged
#41 scripts: Fix shellcheck errors
Merged
#40 jw.pkg.lib.Result: Add unit test
Merged
#39 jw.pkg.lib.Uri: Add unit test
Merged
#37 Targets make check + make test: Fix fallout of prior toplevel "make all"
Merged
#36 python-tools.sh: Fix missing newline after imports
Merged
#35 test: Add subdirectory with integration tests
Merged
#33 cmds.CmdPkg: Rename pkg -> packages
Merged
#34 python-tools.sh: Fix __all__ format violation
Merged
#32 rules.mk: Add targets to check shell syntax
Merged
#31 make: Beautify *.mk
Merged
#30 cmds + lib: Code and log beautification
Merged
#28 Improve Makefile variable caching: PREREQ, JW_PKG_NO_CACHE, subsections
Merged
#27 py-path.mk: Add file
Merged
#26 dev-utils.mk: cat-makefiles: Fix typo
Merged
#25 py-defs.mk: echo-py: Protect recipe from shell expansion
Merged
#24 py-mod.mk: Support PY_INIT_SUBMODULES
Merged
#23 py-mod.mk: Extract symbols of a module's __all__ list marked with "# export"
Merged
#21 App.__find_dir() Support --topdir-format make:XXX
Merged
#20 lib.App: Allow _run() without subcommands
Merged
#19 cmds.secrets.lib.FilesContext: Fix handling of inexistent secrets
Merged
#18 lib.Result.strip: Rename to .strip_output
Merged
#17 Beautify logging code and output
Merged
#16 lib.distros.suse.Distro._install_local_files(): Use rpm
Merged
#15 lib.Result: Initialize with status = None
Merged
#14 Code and log beautification
Merged
#13 python-tools.sh, py-mod.mk: Use --symbol-filter
Merged
#12 lib.ExecContext.CallContext.log_delim: Beautify
Merged
#11 conf/templates: Fix installation
Merged
#10 Improve CmdPythonpath / mypy_path generation
Merged
#9 ExecContext: Fix output handling
Merged
#8 Improve Python config file template substitution
Merged
#7 App.get_libname(): Don't use get_proj_refs()
Merged
#6 jw-pkg-create-project.sh: Gitignore .cache-project.mk
Merged
#5 ci.yaml: test-packaging.yaml@{master-test -> master}
Merged
#2 ci.yaml: Replace standard-tests.yaml by ci.yaml
Merged
#3 project.conf: pkg.requires.suse.release -= python3-pyright
Merged
#1 lib.init.detect_modules(): Renovate signature