# changelog

author: Jakub Kadlcik <frostyx@email.cz> 1.164-1
changelog:
  - Fix chroot version parsing with new python-packaging
  - Fix traceback for non-existing tasks
  - Python: drop the unneeded marshmallow dep
  - Log general exceptions to find issues more easily
  - Proper log argument formatting instead of .format
  - Use spdx license


author: Jiri Kyjovsky <j1.kyjovsky@gmail.com> 1.166-1
changelog:
  - Don't include package name into srpm result dir name
  - Remove libmodulemd1 dependency
  - Hardlink RPMs while doing rawhide_to_release
  - Make sign key domain name configurable


author: Jakub Kadlcik <frostyx@email.cz> 1.169-1
changelog:
  - Forking: better handle FileExistsError
  - Run the copr-rpmbuild command with task URL, not build ID


author: Pavel Raiskup <praiskup@redhat.com> 1.170-1
changelog:
  - copr_prune_results.py: don't enforce appstream-builder, ask FE
  - copr_prune_results.py: just one API call to FE per one repo


author: Pavel Raiskup <praiskup@redhat.com> 1.172-1
changelog:
  - dump the /update/ payload to worker.log
  - don't run external command(s) to collect built packages
  - don't eat the "build detail collecting" traceback
  - fixes in the unknown-resalloc-tickets.py helper
  - more careful format_evr() method
  - fix tests for zst compression on F39+
  - log task dict in case of error returned from redis
  - skip builds for ExcludeArch and "not" ExclusiveArch
  - offload NEVRA (s)rpm parsing to copr-rpmbuild
  - redis authentication support added


author: Pavel Raiskup <praiskup@redhat.com> 1.173-1
changelog:
  - enforce createrepo_c gzip compression (f39+ switched to zstd)
  - self-identify the resalloc resource in logs
  - dropping the documentary playbooks from copr-backend payload
  - nicer unknown-resalloc-tickets output
  - worker to not call keygen for source builds at all
  - don't sign products of srpm-build
  - longer timeout for fallback generating GPG keys after build
  - recreate missing repodata so that prunerepo doesn't traceback
  - use the rename HashWorkerLimit instead of GroupWorkerLimit
  - provide per-arch & per-owner worker limit implemented
  - collect and compress fedora-review logs after run
  - react on staled SSH connections in some cases


author: Jakub Kadlcik <frostyx@email.cz> 0.62-1
changelog:
  - migrate from pipes to shlex
  - move to GitHub home page
  - use repos from task for custom method
  - switch to template for custom method
  - strip trailing / from clone url


author: Jakub Kadlcik <frostyx@email.cz> 0.63-1
changelog:
  - Retry when copr-distgit is temporarily down
  - Don't print traceback for 404 errors on SRPM download
  - Decode URL encoded characters such as %5E into caret
  - Use SPDX license


author: Jakub Kadlcik <frostyx@email.cz> 0.67-1
changelog:
  - Add loggs to python-backoff decorator
  - Set git.safe_directory as repo rootdir
  - Explain how to reproduce the build locally
  - Retry only git clone without checkouting
  - Use git checkout instead of switch but ignore files


author: Pavel Raiskup <praiskup@redhat.com> 0.69-1
changelog:
  - require python-specfile (in new enough) version, and use it for specfile
    parsing instead of parsing the metadata from SRPMs
  - make sure we have (also) the latest DNF5 on builders
  - override disttag macro to None
  - make sure detected epoch is int() or None
  - build RPMs in one Mock step, instead of two (SRPM and then RPM)
  - use Mock's bootstrap_image_ready for the custom build (Mock 5.0+ required)
  - store review.json generated by fedora-review into the result directory
  - better/more verbose logging in the results.json generator
  - drop dependency on simplejson
  - repeatedly try to download files from lookaside cache
  - moving the package NEVRA parsing to from backend here into copr-rpmbuild
  - priority=X support added for the Copr repository itself
  - query exclusivearch and excludearch from the specfile, and store into results.json


author: Pavel Raiskup <praiskup@redhat.com> 0.70-1
changelog:
  - collect and compress fedora-review logs after run
  - use Copr custom macros when parsing the specfile


author: Jakub Kadlcik <frostyx@email.cz> 1.102-1
changelog:
  - Add support for pyp2spec generator
  - Fix the --debug test on EL7
  - Simplify cli configuration
  - Make requests-gssapi an opt-in dep in PyPI
  - Sync 'copr build' with other 'copr build*' methods
  - De-duplicate printing builds, and waiting
  - De-duplicate logic for taking dirname from arg
  - Simplify and fix progress bar
  - Add API support for runtime_dependencies
  - Print the URL of created project


author: Jakub Kadlcik <frostyx@email.cz> 1.105-1
changelog:
  - More understandable module hotfixes description
  - Add options to download only built RPMs/spec files
  - Use the --dirname parameter for copr-cli monitor
  - Disable appstream by default
  - Use SPDX license


author: Jiri Kyjovsky <j1.kyjovsky@gmail.com> 1.106-1
changelog:
  - Add --review parameter for download-build
  - Disable default option for modifying project
  - Add option for follow_fedora_branching
  - Simplify `mock-config` output


author: Jakub Kadlcik <frostyx@email.cz> 1.109-1
changelog:
  - Show CHROOT in help output instead of CHROOTS
  - More readable errors related to implicit ownername
  - General check if it makes sense to upload SRPM
  - Describe add-package-custom and edit-package-custom in the manpage
  - Sync --timeout manpage docs with --help output


author: Pavel Raiskup <praiskup@redhat.com> 1.110-1
changelog:
  - priority=X support for copr DNF repositories added
  - new 'copr-cli download-build --logs' option added
  - make the pyp2spec tool the default PyPI spec generator


author: Pavel Raiskup <praiskup@redhat.com> 1.111-1
changelog:
  - correctly check CoprDir name before uploading large SRPM
  - assign fallback value from self.username
  - fix `copr build` +args --help output
  - typo in --namespace help output


author: Pavel Raiskup <praiskup@redhat.com> 0.59-1
changelog:
  - start copr-dist-git.service after redis.service
  - background workers mark themselves as done (needed by the manager logic)


author: Pavel Raiskup <praiskup@redhat.com> 0.67-1
changelog:
  - tell rpkg not to generate pre-push hook
  - allow importing pre-generated srpm in rpkg
  - refresh pyrpkg.Commands after import_srpm
  - make the generated cgitrc include file much smaller
  - redis authentication support added


author: Jakub Kadlcik <frostyx@email.cz> 1.194-1
changelog:
  - Don't resubmit anitya builds for pre-release versions
  - Anytia query using sqlalchemy
  - Anitya builds handled on background
  - Pypi anitya buils respects spec generator option
  - Allow uploading artificial payload in custom webhook
  - Fix traceback for non-existing tasks
  - Fix typo in basearch example value
  - Fix batches race logic by adding locks
  - wTForms validate function now expect additional parameter
  - Change order of RPM build logs
  - Update alembic migration template
  - Drop the unneeded marshmallow dependency
  - Fix APIv3 additional_modules CoprChroot option
  - Customizable group link to FAS
  - Don't depend on flask-restful
  - Fix homepage user count
  - Add command for managing warning banner
  - More understandable module hotfixes description
  - Don't let PR builds affect status badges
  - Add hover for table rows
  - Frontend: fix a jinja2 traceback when displaying a nonexisting batch
  - Add openeuler logo
  - Disable appstream by default
  - Use SPDX license


author: Pavel Raiskup <praiskup@redhat.com> 1.195-1
changelog:
  - anitya: ignore pre-release tarballs sooner
  - anitya: ignore alpha versions
  - fix the "Modules:" web-UI form widget
  - ignore anitya BadRequest rebuild attempts


author: Jakub Kadlcik <frostyx@email.cz> 1.196-1
changelog:
  - rawhide_to_release usable index
  - rawhide_to_release: don't repeatedly query for CoprChroot
  - rawhide_to_release: avoid sqlalchemy warning
  - faster rawhide_to_release query
  - anitya: re-submit already built packages if version is higher
  - anitya: re-try downloads from datagrepper
  - anitya: fix joins on the expensive query
  - anitya: skip also "post" releases
  - anitya: dump updated packages to log
  - anitya: skip-pre-release versions earlier
  - anitya: skip re-building if already being built
  - assign anityia builds with packages ASAP


author: Jiri Kyjovsky <j1.kyjovsky@gmail.com> 1.197-1
changelog:
  - Allow automation (cron) to remove builds
  - Allow specifying a KRB5 user denylist
  - Fix broken rubygem rebuild page.
  - Restrict forking of large projects
  - Define some copr-specific environment variables
  - Remove libmodulemd1 dependency
  - Fix sorting by build time


author: Jiri Kyjovsky <j1.kyjovsky@gmail.com> 1.198-1
changelog:
  - Don't 500 for KRB5_USER_DENYLIST_PATTERNS=None
  - Explicitly ask which user checks the permissions
  - Make sure user can build in the project before uploading
  - Change the whooshee packages field to IDLIST
  - Run copr-frontend update-indexes daily


author: Jakub Kadlcik <frostyx@email.cz> 1.200-1
changelog:
  - Send follow_fedora_branching value via API
  - Add support for OIDC
  - Allow submitting EPEL8 module builds
  - Show resalloc-webui link in the task queue
  - Accept the OpenID response as a POST request
  - OpenAPI first steps
  - Automatically create aliases for routes with trailing slash
  - Include the Amazon Linux logo for Amazon Linux chroots
  - General check if it makes sense to upload SRPM
  - Add command for generating usage treemap
  - Frontend: add loggs to python-backoff decorator
  - APIv3 rpmrepo: provide module_hotfixes opt
  - Show API config even for not logged users


author: Pavel Raiskup <praiskup@redhat.com> 1.201-1
changelog:
  - buildchroot results returned via API can provide epoch==null
  - skip ExcludeArch and ExclusiveArch for resubmitted builds
  - added support for OIDC groups
  - allow specifying fully-qualified Mock bootstrap images
  - move chroot_to_branch() method to python-copr-common
  - config-based build-chroot tags, allows using Reslloc "on-demand" resources
  - relationship between Action model and Copr model added
  - the 1:1 between (FAS) groups and Copr groups is now enforced
  - priority=X added to the per-project repo configuration
  - make the pyp2spec the default PyPI spec generator in Copr
  - new failed-to-succeeded-stats command
  - add packages count at homepage (opt-in)
  - better clone_url matching on webhooks
  - added redis authentication support
  - don't list temporary projects on the main homepage
  - confirmation needed before 'drop-db' is executed


author: Pavel Raiskup <praiskup@redhat.com> 1.202-1
changelog:
  - make alembic working on F39+
  - unify naming convention for "_safe" methods
  - don't ignore custom method repos when resubmitting from the WebUI
  - the "recent copr builds" on homepage are opt-in configurable
  - allow keeping temporary projects up to 2 years
  - don't log errors/tracebacks if OIDC is disabled
  - don't create a separate logger for the oidc.py file
  - explain the reason for skipping chroot builds
  - better priority=X docs in web-UI
  - propagate the "priority" value in 'dnf5 copr enable' output


author: Jakub Kadlcik <frostyx@email.cz> 1.84-1
changelog:
  - Remove redundant error handler
  - Log IP address of the backend that originated a request
  - Remove redundant loggers


author: Jaroslav Rohel <jrohel@redhat.com> - 0.20.1-1
changelog:
  - Update to 0.20.1
  - Fix memory allocation in unescape_ampersand_from_values
  - Fix GError messages - call g_strerror only once
  - Fix bad performance with task queue management
  - Return an error code and print a message when more than one package have the same NEVRA


author: Jan Kolarik <jkolarik@redhat.com> - 0.21.1-1
changelog:
  - Update to 0.21.1
  - Add --duplicated-nevra "keep-last" option, and --delayed-dump
  - Add optional filelists-ext metadata
  - Replace 'cp' binary execution with gio
  - Fix errors while parsing utf8 chars in cli options
  - Use g_pattern_spec_match() with glib >= 2.70.0


author: Adam Williamson <awilliam@redhat.com> - 1.1.16-10
changelog:
  - Backport PR #458 to go with backport of oz PR #310 (image size units)
  - Backport PR #459 to hopefully fix Python 3.12 compatibility


author: Pavel Raiskup <praiskup@redhat.com> 3.5-1
changelog:
  - check for qemu-user-static raises InvalidArchitecture()
  - forcearch: map armv7hl to the /usr/bin/qemu-arm-static binary
  - more pedantic check for the qemu-*-static binaries


author: Pavel Raiskup <praiskup@redhat.com> 4.0-1
changelog:
  - cleanup the bootstrap image logic so it works if Mock is run in container
  - rebuild: kill orphans when mounted
  - bootstrap: delay the buildroot-in-bootstrap recursive mount
  - use shlex instead of pipes
  - fix bootstrap_* prefixed config_opts options
  - manual page: fix the "how to fill an issue" info
  - support for DNF5 added
  - use -N instead of -n for useradd (msuchy@redhat.com)
  - mock: don't use distutils copy_tree()


author: Pavel Raiskup <praiskup@redhat.com> 4.1-1
changelog:
  - bootstrap: fix certificate copying into the bootstrap chroot
  - don't strictly require any package manager
  - config: properly configure package manager commands
  - unify the fallback-detection for host/bootstrap/bootstrap-image
  - bind_mount plug-in: pre-create dest directory before bind-mounting a file
  - bootstrap: use DNF5 in package manager fallbacks
  - fix --dnf-cmd traceback with the new package_manager logic


author: Pavel Raiskup <praiskup@redhat.com> 5.2-1
changelog:
  - Fix '~' user source expansion for --copyout
  - Compatibility fix with EL 8
  - Log out the command-line arguments
  - Make sure that 'state' is always finished
  - README.md: cleaning up
  - Post-release administrivia


author: Pavel Raiskup <praiskup@redhat.com> 5.3-1
changelog:
  - orphanskill: log command line arguments of the terminated process
  - docs: migrate the community from IRC to Matrix
  - dnf5: don't output to a PTY (mail@evangoo.de)
  - new rpmautospec plugin (sgallagh@redhat.com, nils@redhat.com)
  - fix bash completion with multiple file arguments (orion@nwra.com)
  - only %prep once when running %generate_buildrequires multiple times (miro@hroncok.cz)
  - Dynamic BuildRequires: Prevent generation of unsatisfied dependency (miro@hroncok.cz)
  - Identify buildroot package management earlier (praiskup@redhat.com)
  - Dump also dnf5 info into logs


author: Pavel Raiskup <praiskup@redhat.com>
changelog:
  - allow chroot_scan to create archive instead of directory (tkopecek@redhat.com)
  - handle greedy options in Bash completion
  - fix root_cache invalidation (not) triggered by config changes
  - new '{{ repo_arch }}' Jinja2 template support
  - package_manager: disable %-interpolation in dnf.conf parser
  - only `chown` the in-chroot home files with the --rebuild mode
  - all non-privileged actions performed wiht EGID=135 (mock group)
  - mock newly requires a precise version of mock-filesystem
  - allow shadow-utils to run in buildroot by exception if necessary (martjack@redhat.com)
  - hw_info now reports file system type (vondruch@redhat.com)


author: Pavel Raiskup <praiskup@redhat.com> 38.3-1
changelog:
  - new URL for CenOS Stream 8 koji (msuchy@redhat.com)
  - Make --enablerepo=local work with centos-stream chroots (miro@hroncok.cz)


author: Pavel Raiskup <praiskup@redhat.com> 38.5-1
changelog:
  - drop includepkgs=devtoolset* from centos-{6,7} (orion@nwra.com)
  - Fedora 35 and 36 is EOL
  - remove useradd specific changes in configs - it is not needed for Mock 4+
  - openSUSE i586 has been moved out of the main repo into a port (f_krull@gmx.de)


author: Pavel Raiskup <praiskup@redhat.com> 38.6-1
changelog:
  - use python3 macro for post scriptlet (mroche@omenos.dev)
  - openEuler: use metalinks instead of baseurls (chenzeng2@huawei.com)


author: Pavel Raiskup <praiskup@redhat.com> 39.1-1
changelog:
  - Add openSUSE Leap 15.5 (neal@gompa.dev)
  - Move openSUSE Leap 15.3 to EOL (neal@gompa.dev)
  - Mageia 9 branched, Mageia Cauldron retargeted to Mageia 10 (neal@gompa.dev)


author: Pavel Raiskup <praiskup@redhat.com> 39.2-1
changelog:
  - Switch ELN to use a native bootstrap container image
  - Use the correct openSUSE Backports key for Leap 15.5 (neal@gompa.dev)
  - Properly handle /etc/mock/default.cfg on Fedora ELN (sbonazzo@redhat.com)


author: Pavel Raiskup <praiskup@redhat.com> 39.3-1
changelog:
  - Fedora 40+ to use DNF5 for building
  - Mandriva provides python-* not python3-* packages, use them
  - mark ELN bootstrap image as "ready" to speedup bootstrap preparation


author: Pavel Raiskup <praiskup@redhat.com> 39.4-1
changelog:
  - configure system_cachedir for dnf5
  - configs: EOL Fedora 37
  - config: add README.md with maintainers and issue trackers (frostyx@email.cz)


author: Pavel Raiskup <praiskup@redhat.com>
changelog:
  - new '{{ repo_arch }}' template variable used for Mageia
  - Mageia 7 is EOL (wally@mageia.org)
  - OpenMandriva i686 is EOL (frostyx@email.cz)
  - Fedora 40 branched


author: Adam Williamson <awilliam@redhat.com> - 0.18.1-12
changelog:
  - Backport all upstream changes since 0.18.1, plus PR #310 and #312
  - Run the tests during package build


author: Lubomír Sedlář <lsedlar@redhat.com> - 4.4.0-1
changelog:
  - gather-dnf: Run latest() later (lsedlar)
  - iso: Support joliet long names (lsedlar)
  - Drop pungi-orchestrator code (lsedlar)
  - isos: Ensure proper file ownership and permissions (lsedlar)
  - gather: Always get latest packages (lsedlar)
  - Add back compatibility with jsonschema <3.0.0 (lsedlar)
  - Remove useless debug message (lsedlar)
  - Remove fedmsg from requirements (lsedlar)
  - gather: Support dotarch in DNF backend (lsedlar)
  - Fix compatibility with createrepo_c 0.21.1 (lsedlar)
  - comps: Apply arch filtering to environment/optionlist (lsedlar)
  - Add config file for cleaning up cache files (hlin)


author: Lubomír Sedlář <lsedlar@redhat.com> - 4.4.1-1
changelog:
  - ostree: Add configuration for custom runroot packages (lsedlar)
  - pkgset: Emit better error for missing modulemd file (lsedlar)
  - Add support for git-credential-helper (lsedlar)
  - Support OIDC Client Credentials authentication to CTS (hlin)


author: Lubomír Sedlář <lsedlar@redhat.com> - 4.5.0-1
changelog:
  - kojiwrapper: Stop being smart about local access (lsedlar)
  - Fix unittest errors (ounsal)
  - Add integrity checking for builds (lsedlar)
  - Add script for cleaning up the cache (lsedlar)
  - Add ability to download images (lsedlar)
  - Add support for not having koji volume mounted locally (lsedlar)
  - Remove repository cloning multiple times (abisoi)
  - Support require_all_comps_packages on DNF backend (lsedlar)
  - Fix new warnings from flake8 (lsedlar)


author: Lubomír Sedlář <lsedlar@redhat.com> - 4.6.0-1
changelog:
  - Add ostree container to image metadata (lsedlar)
  - Updates for ostree-container phase (lsedlar)
  - Add ostree native container support (tim)
  - Improve autodetection of productmd image type for osbuild images (awilliam)
  - pkgset: ignore events for modular content tags (lsedlar)
  - pkgset: Ignore duplicated module builds (lsedlar)
  - Drop buildinstall method (abisoi)
  - Add step to send UMB message (lzhuang)
  - Fix minor Ruff/flake8 warnings (tim)
  - osbuild: manifest type in config (cmdr)


author: Jakub Kadlcik <frostyx@email.cz> - 0.16.2.dev-1
changelog:
  - Add background_worker.py from backend
  - Add get_redis_connection function
  - Add Dispatcher, WorkerManager, and QueueTask classes
  - Add WorkerLimit, PredicateWorkerLimit, and GroupWorkerLimit classes


author: Jakub Kadlcik <frostyx@email.cz> 0.17-1
changelog:
  - move to GitHub home page
  - logging shouldn't affect stdout
  - move dispatcher and background workers to copr-common
  - scripts should log also timestamps etc when logging into file
  - move setup_script_logger to copr-common


author: Pavel Raiskup <praiskup@redhat.com> 0.22-1
changelog:
  - fix misleading warning for non-copr library consumers
  - add `contextlib.nullcontext` function as EL8 compat
  - limit stdout/stderr of ssh.run_expensive() commands
  - use 'copr-common/<version>' as http user agent identifier
  - changes needed to allow user SSH to builders


author: Pavel Raiskup <praiskup@redhat.com>
changelog:
  - make the TemplatedDictionary objects picklable
  - Use a sandboxed jinja2 environment, CVE-2023-6395


author: Pavel Raiskup <praiskup@redhat.com>
changelog:
  - make the TemplatedDictionary objects picklable
  - use a sandboxed jinja2 environment, fixes CVE-2023-6395


author: Pavel Raiskup <praiskup@redhat.com> 1.4-1
changelog:
  - resalloc-aws-new: use gp3 volume for the root filesystem (frostyx@email.cz)
  - Update the wait-for-ssh submodule (praiskup@redhat.com)


author: Pavel Raiskup <praiskup@redhat.com> 1.7-1
changelog:
  - resalloc-aws-new: run playbook with stdin=/dev/null
  - resalloc-aws-list: no need to double-kill "shutting-down" instances


author: Jiri Kyjovsky 1.0-1
changelog:
  - Use setuptools instead of poetry
  - spec: use SPDX lincese and drop build requires due to generic reqs


author: Pavel Raiskup <praiskup@redhat.com> 1.1-1
changelog:
  - Simplify the get_service() helper
  - list-deleting-volumes: new helper for customer case reporting
  - fix manpage contents
  - provide subnets ids directly to the tool via argument (j1.kyjovsky@gmail.com)
  - specify ibm cloud zone instead of hardcoded API url (j1.kyjovsky@gmail.com)
  - add option to use instance's private IP to connect to it (j1.kyjovsky@gmail.com)


author: Pavel Raiskup <praiskup@redhat.com> 2.1-1
changelog:
  - The wait-for-ssh script was moved to resalloc-helpers
  - releng: release to all active Fedora releases


