# changelog

author: Tim Theisen <tim@cs.wisc.edu> - 24.0.9-1
changelog:
  - Initial Support for Enterprise Linux 10, including the x86_64_v2 platform
  - In htcondor2, empty configuration keys are now treated as non-existent


author: Tim Theisen <tim@cs.wisc.edu> - 24.9.2-1
changelog:
  - New job attribute to report number of input files transferred by protocol
  - Optional condor_schedd history log file
  - condor_watch_q can now track DAGMan jobs when using the -clusters option
  - Fix bug that caused claim failure when previous output transfer failed
  - Fix bug where access tokens were not generated from Vault tokens


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.27-1
changelog:
  - Fix bug where condor_ssh_to_job failed when EP scratch path is too long
  - Fix incorrect time reported by htcondor status for long running jobs
  - Fix bug where .job.ad, .machine.ad files were missing when LVM is in use


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.10-1
changelog:
  * Mon Jul 28 2025 Tim Theisen <tim@cs.wisc.edu> - 23.10.27-1
  - Fix bug where the vacate reason was not propagated back to the user
  - HTCondor tarballs now contain Pelican 7.17.2


author: Tim Theisen <tim@cs.wisc.edu> - 24.10.2-1
changelog:
  - Remove support for old JobRouter syntax
  - New condor_dag_checker tool finds syntax and logic errors before run
  - New condor_q -hold-codes produces a summary of held jobs
  - condor_status -lvm reports current disk usage by slots on the EPs
  - Fix bug where condor_q would truncate job counts to six digits
  - Fix bug where suspended jobs did not change state to idle when vacated


author: Tim Theisen <tim@cs.wisc.edu> - 23.10.28-1
changelog:
  - Exit -code and -signal environment variables are now set for Docker jobs
  - Fix issue where ImageSize was over-reported on the Windows platform
  - HTCondor tarballs now contain Pelican 7.18.1 and Apptainer 1.4.2


author: Tim Theisen <tim@cs.wisc.edu> - 24.11.2-1
changelog:
  - Add job attributes to track why and how often a job is vacated
  - Add the ability to notify a user when their job first starts
  - Can now specify which Vault servers are trusted
  - Added htcondor2.ping() to the Python bindings


author: Tim Theisen <tim@cs.wisc.edu> - 25.6.1-1
changelog:
  - DAGMan now uses the new DAG file parser used by condor_dag_checker
  - The condor keyboard daemon now checks idle time via systemd and Mutter
  - Can now specify DAGMan rescue file by name
  - Adminstrators can now require units on retry_request_memory


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.17-1
changelog:
  - Fix the broken htcondor2.Schedd.refreshGPIProxy() Python method
  - Improve condor_history performance on filesystems with I/O rate limits


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.18-1
changelog:
  - Enable use of in-memory SciTokens cache, if disk cache not usable
  - Fix condor_submit using different executables with late materialization
  - HTCondor tarballs now contain Pelican 7.23.0


author: Tim Theisen <tim@cs.wisc.edu> - 24.12.18-1
changelog:
  - Improve AMD GPU detection when using RCOM6/HIP libraries
  - Fix for new jobs getting kicked off LVM EP due to quantization mismatch
  - condor_submit now reports an error for circular requirement expressions
  - condor_status now correctly reports offline GPUs
  - Can use a string for 'since' with htcondor.Schedd.history()
  - Fix for backfill GPUs disappearing on reconfig


author: Tim Theisen <tim@cs.wisc.edu> - 25.7.2-1
changelog:
  - Improve schedd performance with large job records by sizing pipe buffers
  - condor_watch_q display improvements
  - When a job runs out of memory, report how much memory was provisioned


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.19-1
changelog:
  - Now properly reports NVIDIA MIG GPU device names
  - Fix performance problem in the htcondor2 Python ClassAd parser
  - Fix AllowedExecuteDuration to be reliably enforced when no file transfer
  - Batch grid universe jobs now tolerate a dot in the username
  - Fix huge reported job execution times when an AP restarts


author: Tim Theisen <tim@cs.wisc.edu> - 25.8.2-1
changelog:
  - Fix detection and reporting of NVIDIA MIG GPU attributes
  - Add '--rocm' flag to Apptainer GPU jobs to support AMD GPUs
  - Can now use 'condor_rm -transfer' to fetch whatever output is available
  - Can now use 'condor_q -aaf' to append columns to the standard output
  - Can now run 'condor_top --history' to get fast response from stored data
  - htcondor dag status now includes information about file transfers
  - htcondor job status and condor_q now report cool down state information
  - condor_run no longer passes 'getenv = true' to the submit file
  - Fix condor_ssh_to_job for setuid Apptainer or Singularity runtimes
  - The negotiator now knows the user's floor to avoid improper preemption
  - The condor_shadow now logs information about reconnect attempts
  - condor_config_val can now report configuration option's default value
  - All changes in 25.0.9


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.20-1
changelog:
  - Fix reporting of RemoteUserCPU in parallel universe
  - condor_ssh_to_job can now execute one-shot commands when using containers
  - condor_ssh_to_job now enters the proper cgroup when using containers
  - HTCondor tarballs now contain Pelican 7.24.2


author: Tim Theisen <tim@cs.wisc.edu> - 25.10.1-1
changelog:
  - Several improvements to throttle and monitor DAGMan resource usage
  - Can now automatically retry a job with a larger disk request
  - .chirp.config has been moved out of the job's scratch directory
  - Disables swap for jobs on cgroup v1 systems by default
  - Can now append columns to condor_(qusers|status|who) output
  - Allow URL style container images when file transfer is off
  - Improvements to handling batch universe jobs
  - All changes in HTCondor 25.0.10


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.21-1
changelog:
  - Fix rare issue where condor_dagman would abort after a system reboot
  - HTCondor tarballs now contain Apptainer 1.5.0 and Pelican 7.25.0


author: Tim Theisen <tim@cs.wisc.edu> - 25.11.0-1
changelog:
  - Prevent one user's many file transfers from halting matches for all users
  - condor_watch_q will gather DAGs that started after it did
  - condor_dag_checker can now check submit files, sub-DAGs, and scripts
  - Gangliad can now aggregate deltas of monotonically increasing values
  - condor_config_val --trace finds a definition in a complex configuration
  - Now able to set a duration to a user's running jobs ceiling
  - Multi-call binaries can now be used with DAGMan
  - Initial support for EP health checks


author: Tim Theisen <tim@cs.wisc.edu> - 23.10.29-1
changelog:
  - Fix flocking to pools when there are intermittent network issues
  - HTCondor tarballs now contain Pelican 7.19.3


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.12-1
changelog:
  - Update condor_upgrade_check to warn about v1 Python bindings retirement
  - Update condor_upgrade_check to look for old syntax job transforms
  - All changes in 23.10.29


author: Tim Theisen <tim@cs.wisc.edu> - 24.12.4-1
changelog:
  - Add the ability to enforce memory and CPU limits on local universe jobs
  - Add the ability for condor_chirp to work within a Docker universe job
  - condor_watch_q now exits with any keyboard input
  - The shell submit keyword now works with interactive jobs
  - All changes in 24.0.12


author: Tim Theisen <tim@cs.wisc.edu> - 25.0.1-1
changelog:
  - New and improved Python bindings: classad2 and htcondor2
  - The original Python bindings have been removed


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.13-1
changelog:
  - Fix bug that could cause Python job submission to crash
  - HTCondor tarballs now contain Pelican 7.20.2


author: Tim Theisen <tim@cs.wisc.edu> - 25.0.2-1
changelog:
  - Update Python file transfer plugins to use the new Python bindings
  - Fix incorrect environment when using Singularity and nested scratch


author: Tim Theisen <tim@cs.wisc.edu> - 25.2.1-1
changelog:
  - Support for re-running a job with an increased memory request
  - Several DAGMan Improvements
  - Several local credmon Improvements
  - Fix problem that could prevent logging of hung file transfer plugins


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.14-1
changelog:
  - Fix problem running PyTorch jobs on multiple GPUs with
    newer versions of the CUDA library by providing long GPU IDs
    in the CUDA_VISIBLE_DEVICES environment variable


author: Tim Theisen <tim@cs.wisc.edu> - 24.12.14-1
changelog:
  - Fix interoperability problem between HTCondor-CE 24 and 25 which
    manifests as a Job Router crash when upgrading the CE to HTCondor 25
  - Fix several issues when submitting jobs with itemdata in
    the htcondor2 Python bindings
  - Fix bug when using max_idle and transfer_input_files that could result
    in the container_image to be only transferred with the first job


author: Tim Theisen <tim@cs.wisc.edu> - 25.4.0-1
changelog:
  - Job scratch space is now in a sub-directory of the execute directory
  - HTCondor EPs can now refresh credentials during output transfers
  - HTCondor will now create intermediate directories with output remaps
  - condor_watch_q now correctly accounts for unmaterialized jobs
  - Now able to control maximum jobs running by user on an AP
  - HTCondor now tracks when jobs are vacated prior to running
  - Disk space allocated to jobs now more closely matches the request


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.15-1
changelog:
  - Fix bug where AP would fail to read job credential files
  - Fix bugs that could causes a crash in the authentication code
  - HTCondor tarballs now contain Pelican 7.21.1 and Apptainer 1.4.4


author: Tim Theisen <tim@cs.wisc.edu> - 25.5.1-1
changelog:
  - The negotiator can now use its own concept of slot weight (not the EP's)
  - A stuck LVM logical volume will cause the EP slot to be broken and
    then later unbroken if and when the logical volume cleanup succeeds
  - Made the AP more efficient at building resource requests for matchmaking


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.16-1
changelog:
  - Fix floating point memory or disk request not fitting into some slots
  - Fix condor_rooster crash when unhibernate rank was not constant
  - Fix memory leak in the htcondor2.JobEventLog.events() Python method
  - condor_history -long now prints attributes in alphabetical order
  - Fix LVM setup to not timeout when creating a large volume
  - LVM creation no longer saves meta data which eventually fills the disk
  - HTCondor tarballs now contain Pelican 7.22.0 and Apptainer 1.4.5


author: Tim Theisen <tim@cs.wisc.edu> - 24.12.16-1
changelog:
  - Fix problem specifying scope or audience with a Vault-managed credential
  - Fix late materialization bug when job transform sets immutable attribute
  - Fix problem where a backfill slot would refuse claims


author: Tim Theisen <tim@cs.wisc.edu> - 25.0.6-1
changelog:
  - Initial support for openSUSE 16
  - Make HTCondor Python wheel usable with the python-slim Docker image


author: Tim Theisen <tim@cs.wisc.edu> - 24.12.18-1
changelog:
  - Improve AMD GPU detection when using RCOM6/HIP libraries
  - Fix for new jobs getting kicked off LVM EP due to quantization mismatch
  - condor_submit now reports an error for circular requirement expressions
  - condor_status now correctly reports offline GPUs
  - Can use use a string for 'since' with htcondor.Schedd.history()
  - Fix for backfill GPUs disappearing on reconfig


author: Dave Dykstra <dwd@cern.ch> - 2.12.7-2
changelog:
  - Apply pretrans transaction check to all subpackages that need to
    have their version stay in sync


author: Marco Mambelli <marcom@fnal.gov> - 3.10.13
changelog:
  - Glideinwms v3.10.13
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_10_13/history.html
  - Release candidates 3.10.13-01.rc1


author: Marco Mambelli <marcom@fnal.gov> - 3.10.14
changelog:
  - Glideinwms v3.10.14
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_10_14/history.html
  - Release candidates 3.10.14-01.rc1 to 3.10.14-02.rc2


author: Marco Mambelli <marcom@fnal.gov> - 3.10.15
changelog:
  - Glideinwms v3.10.15
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_10_15/history.html
  - Release candidates 3.10.15-01.rc1 to 3.10.15-02.rc2


author: Marco Mambelli <marcom@fnal.gov> - 3.11.1
changelog:
  - Glideinwms v3.11.1
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_11_1/history.html
  - Release candidates 3.11.1-01.rc1 to 3.11.1-06.rc6


author: Marco Mambelli <marcom@fnal.gov> - 3.10.16
changelog:
  - Glideinwms v3.10.16
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_10_16/history.html
  - Release candidates 3.10.16-01.rc1 to 3.10.16-02.rc2


author: Marco Mambelli <marcom@fnal.gov> - 3.11.2
changelog:
  - Glideinwms v3.11.2
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_11_2/history.html
  - Release candidates 3.11.2-01.rc1


author: Marco Mambelli <marcom@fnal.gov> - 3.10.17
changelog:
  - Glideinwms v3.10.17
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_10_17/history.html
  - Release candidates 3.10.17-01.rc1 to 3.10.17-02.rc2


author: Marco Mambelli <marcom@fnal.gov> - 3.11.3
changelog:
  - Glideinwms v3.11.3
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_11_3/history.html
  - Release candidates 3.11.3-01.rc1 to 3.11.3-03.rc3


author: Marco Mambelli <marcom@fnal.gov> - 3.10.18
changelog:
  - Glideinwms v3.10.18
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_10_18/history.html
  - Release candidates 3.10.18-01.rc1 to 3.10.18-04.rc4


author: Marco Mambelli <marcom@fnal.gov> - 3.11.4
changelog:
  - Glideinwms v3.11.4
  - Release Notes: http://glideinwms.fnal.gov/doc.v3_11_4/history.html
  - Release candidates 3.11.4-01.rc1 to 3.11.4-03.rc3


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.18-1
changelog:
  - Does not pass WholeNode request expressions to non-HTCondor batch systems
  - Fix certificate subject parsing in condor_ce_host_network_check


author: Mátyás Selmeci <mselmeci@wisc.edu> - 1:6.0.1-1.2
changelog:
  - Add OSG/Pelican patches:
      - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
      - 0002-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
      - 0003-42-Full-pkcs11-integration~d92e458.patch
      - 0004-6-XrdSciTokens-Handle-multiple-authorization-token-s~188c24a.patch
      - 0005-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 1:6.0.3-1.1
changelog:
  - Update to XRootD 6.0.3 and add OSG/Pelican patches (SOFTWARE-6329)
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
          - 0003-42-Full-pkcs11-integration~d92e458.patch -> 0002-42-Full-pkcs11-integration~d92e458.patch
          - 0004-6-XrdSciTokens-Handle-multiple-authorization-token-s~188c24a.patch -> 0003-6-XrdSciTokens-Handle-multiple-authorization-token-s~188c24a.patch
          - 0005-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch -> 0004-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch
      - Patches dropped:
          - 0002-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 1:6.1.0-1.1
changelog:
  - Update to XRootD 6.1.0 (SOFTWARE-6329) and add OSG/Pelican patches
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
          - 0002-42-Full-pkcs11-integration~d92e458.patch
          - 0003-6-XrdSciTokens-Handle-multiple-authorization-token-s~188c24a.patch -> 0003-6-XrdSciTokens-Handle-multiple-authorization-token-s~976e1d8.patch
          - 0004-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch


author: Brian Bockelman <bbockelman@morgridge.org> 1.6.0-1
changelog:
  - Add ability for the client to query only for caches when using
    `pelican://` URLs
  - Allow connection callback to occur without a DNS lookup
  - Fix potential use-after-free in the prefetch code that is enabled
    by default.  To trigger, the read operation must complete almost
    immediately (possible in unit tests, unlikely in "real world" situations
    where the client and server are not on the same host).
  - Fix ability to have multiple write calls ongoing in parallel
  - Basic implementation of a local writeback cache for `pelican://` URLs.
    This is considered experimental and not currently user-facing.


author: Brian Bockelman <bbockelman@morgridge.org> 1.5.5-1
changelog:
  - Fix a bug that could trigger a deadlock when a busy plugin is unable
    to continue an ongoing prefetch request.


author: Brian Bockelman <bbockelman@morgridge.org> 1.6.2-1
changelog:
  - Add ability to override cache endpoints via environment variable.
  - Fix timeout calculation which caused stall error / "time expired"
    randomly.
  - Fix compatibility with Go WebDAV for directory listings.
  - Fix potential crash at end of prefetch.
  - Prevent expired operations from eventually deadlocking the client


author: Brian Bockelman <bbockelman@morgridge.org> 1.7.0-1
changelog:
  - Add support for the WLCG bearer token profile for discovering tokens
    (mainly useful when invoked directly as a client, as opposed to within
    XCache).
  - Add modest automatic retries for failed transfers if the failures were
    marked as retryable.
  - Cancel a file's prefetch request when the file is closed or destroyed.
  - Relicense from ASL 2.0 to LGPL to match upstream, allowing backporting
    bugfixes from XRootD 6.
  - Backport fixes from upstream XRootD 6.


author: Brian Bockelman <bbockelman@morgridge.org> 1.7.1-1
changelog:
  - Normalize error codes; do not pass through a libcurl error code where errno
    is expected.
  - On XRootD 6, pass through error messages to the client, not just errno's.
  - Fix handling of relative redirects after a host redirect; clears a reported
    redirect loop in Pelican.


author: Brian Bockelman <bbockelman@morgridge.org> - 0.0.9-1
changelog:
  - Fix permission issues for prestage when used with token auth
  - Add support for re-exec'ing the xrootd binary, allowing it to reload
    the configuration in-place
  - Add a signal handler that prints out stack traces on crash


author: Brian Bockelman <bbockelman@morgridge.org> - 0.0.10-1
changelog:
  - Fix bug preventing prestaging token from being passed to the filesystem
    layer
  - Workaround fact pre-read isn't implemented in XrdPss
  - Add regression tests corresponding to the above two issues


author: Patrick Brophy <patrick.brophy2@gmail.com> - 0.6.0-1
changelog:
  - Fix some race conditions with the Globus plugin.
  - Package the new libXrdPelicanHttpCore shared object which addresses the above.
  - Add file size verification to POSC plugin to prevent incomplete uploads
  - New XRootD Name2Name plugin to perform path prefix substitution


author: Patrick Brophy <patrick.brophy2@gmail.com> - 0.6.3-1
changelog:
  - Fixed crash when copying XrdSecEntity in POSC plugin
  - Fixed parallel runs of POSC tests
  - Fixed definition of libXrdPelicanHttpCore


author: Justin Hiemstra <jhiemstra@wisc.edu> - 0.6.6-1
changelog:
  - Add configurable bypass prefixes for POSC plugin
  - Fix linked-list cycle bug in POSC open-file tracking
  - Fix use-after-free in POSC expiry thread lifecycle
  - Support mkdir for Globus OSS plugin
  - Create intermediate parent directories on upload to missing paths


