# changelog

author: Tim Theisen <tim@cs.wisc.edu> - 23.0.25-1
changelog:
  - Fix problems where parallel universe jobs could crash the condor_schedd
  - Prevent condor_starter crash when evicting job during input file transfer
  - condor_watch_q now properly displays job id ranges by using numeric sort


author: Tim Theisen <tim@cs.wisc.edu> - 23.10.25-1
changelog:
  - Fix bug where DAGMAN_MAX_JOBS_IDLE was being ignored
  - HTCondor tarballs now contain Pelican 7.16.5 and Apptainer 1.4.1


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.8-1
changelog:
  - Fix 24.0.7 bug where cgroup v1 out-of-memory was not properly handled
  - HTCondor tarballs now contain Pelican 7.16.5 and Apptainer 1.4.1
    - Pelican 7.16.5 now includes end-to-end integrity checks for clients
  - Add Python wheel for Python 3.13, drop Python wheel for Python 3.7
  - Fix bug where DAGMAN_MAX_JOBS_IDLE was being ignored
  - Fix problems where parallel universe jobs could crash the condor_schedd
  - Prevent condor_starter crash when evicting job during input file transfer
  - condor_watch_q now properly displays job id ranges by using numeric sort


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.26-1
changelog:
  - Fix ingestion of ads into Elasticsearch under very rare circumstances
  - DAGMan better handles being unable to write to a full filesystem
  - 'kill_sig' submit commands are now ignored on the Windows platform


author: Tim Theisen <tim@cs.wisc.edu> - 23.10.26-1
changelog:
  - Fix memory leak in the condor_schedd when using late materialization
  - Fix condor_master start up when file descriptor ulimit was huge
  - HTCondor tarballs now contain Pelican 7.17.0


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> - 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> - 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.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> - 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.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> - 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.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.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> - 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> - 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> - 24.0.22-1
changelog:
  - Fix for security issue
  - https://htcondor.org/security/vulnerabilities/HTCONDOR-2026-0001.html
  - Fix a bug that could cause the arc_gahp to crash
  - Reduce the size of Python wheels by 84% by removing debug symbols
  - Fix issue when tools could infinitely loop when using trust on first use
  - HTCondor tarballs now contain Apptainer 1.5.2


author: Derek Weitzel <dweitzel@unl.edu> - 2.3
changelog:
  - Fix tokens that are bigger than 1024 bytes
  - Fix the use of $BEARER_TOKEN when accessing data
  - Allow for multiple read operations, needed on el9


author: Mátyás Selmeci <mselmeci@wisc.edu> - 2.3.0-3
changelog:
  - Split runtime package from devel package to conform to Fedora Packaging Guidelines (SOFTWARE-6382)


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.9.2-1.1
changelog:
  - Update to XRootD 5.9.2 (SOFTWARE-6324)
      - Patches added:
          - 0008-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
          - 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~d8842b6.patch
          - 0004-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch -> 0003-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
          - 0005-32-Enable-write-through-mode-for-cache~330eac1.patch -> 0004-32-Enable-write-through-mode-for-cache~330eac1.patch
          - 0006-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch -> 0005-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
          - 0007-37-Add-TPC-worker-pool~31dd3de.patch -> 0006-37-Add-TPC-worker-pool~08d3d9a.patch
          - 0009-42-Full-pkcs11-integration~d92e458.patch -> 0007-42-Full-pkcs11-integration~d92e458.patch
      - Patches dropped:
          - 0003-14-XrdHttp-Undo-HTTP-PUT-response-code-change~73ddc83.patch
          - 0008-41-Fix-null-pointer-dereference-in-ThrottleManager~a327e0e.patch
          - 0010-45-Revert-XrdHttp-Undo-HTTP-PUT-response-code-change~6d22469.patch
          - 0011-46-Use-correct-format-specifier-for-user-connections~ec7d5f7.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.9.3-1.1
changelog:
  - Update to XRootD 5.9.3 (SOFTWARE-6343)
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
          - 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~d8842b6.patch -> 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~def6724.patch
          - 0003-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
          - 0004-32-Enable-write-through-mode-for-cache~330eac1.patch
          - 0005-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
          - 0007-42-Full-pkcs11-integration~d92e458.patch -> 0006-42-Full-pkcs11-integration~d92e458.patch
          - 0008-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch -> 0007-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch
      - Patches dropped:
          - 0006-37-Add-TPC-worker-pool~08d3d9a.patch
  >>>>>>> parent of 591c034b3 (TEMP: 25-main/xrootd: Revert back to 5.9.2 (SOFTWARE-6361))


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.9.4-1.1
changelog:
  - Update to XRootD 5.9.4 (SOFTWARE-6343)
      - Patches added:
          - 0008-51-Fix-double-free-bug-when-reading-macaroon-secret~d78fde2.patch
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
          - 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~def6724.patch
          - 0003-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
          - 0004-32-Enable-write-through-mode-for-cache~330eac1.patch
          - 0005-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
          - 0006-42-Full-pkcs11-integration~d92e458.patch
          - 0007-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.9.5-1.1
changelog:
  - Update to XRootD 5.9.5 (SOFTWARE-6343)
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
          - 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~def6724.patch
          - 0004-32-Enable-write-through-mode-for-cache~330eac1.patch -> 0003-32-Enable-write-through-mode-for-cache~330eac1.patch
          - 0005-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch -> 0004-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
          - 0006-42-Full-pkcs11-integration~d92e458.patch -> 0005-42-Full-pkcs11-integration~d92e458.patch
          - 0007-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch -> 0006-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch
      - Patches dropped:
          - 0003-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
          - 0008-51-Fix-double-free-bug-when-reading-macaroon-secret~d78fde2.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.9.6-1.1
changelog:
  - Update to XRootD 5.9.6 (SOFTWARE-6343)
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
          - 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~def6724.patch
          - 0003-32-Enable-write-through-mode-for-cache~330eac1.patch
          - 0004-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
          - 0005-42-Full-pkcs11-integration~d92e458.patch
          - 0006-48-Fix-XRootD-local-build-error-caused-by-libXrdAccS~e742ff8.patch
      - Patches dropped:
          - macaroons-caveat.diff


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> 1.8.0-1
changelog:
  - Add a per-origin fair scheduler in front of the curl worker pool so
    that a single unresponsive upstream origin cannot hold every worker
    slot on stalled connections while other origins remain unserved;
    requests exceeding the caps are shed with an errRetry error the
    cache surfaces to the client.
  - Backport upstream XRootD fix: correct a dangling reference returned
    from GetCallbackError() (memory safety).
  - Backport upstream XRootD fix: missing break in the CurlWorker
    telemetry switch caused conncall-timeout events to be double-counted
    as client-timeouts.
  - Backport upstream XRootD fix: use case-insensitive comparisons for
    WebDAV XML tag names for compatibility with servers that emit
    lowercase 'd:href' etc.
  - Backport upstream XRootD S3 fix: reversed if condition in path-style
    URL generation was building the wrong URL when a region was set.
  - Backport upstream XRootD S3 change: allow the region to be set to
    empty by defaulting m_region to "" and m_url_style to "path"; this
    makes MinIO and other non-AWS S3 endpoints work out of the box, at
    the cost of changing defaults for callers targeting AWS (who must
    now set the region explicitly).


author: Brian Bockelman <bbockelman@morgridge.org> 1.8.2-1
changelog:
  - Fix a use-after-free crash when the per-origin scheduler rejects a
    request because an origin is at its pending-request cap.
  - Harden the scheduler completion hooks and the curl completion loop
    against latent object-lifetime issues.


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: Brian Bockelman <bbockelman@morgridge.org> - 0.0.12-1
changelog:
  - Rewrite signal handler to use fewer signal unsafe functions.
    On Linux, the remaining unsafe function should only deadlock if it runs
    concurrently with a dlopen() call.
  - Add a watchdog alarm to auto-kill the process if it does happen to
    deadlock during the backtrace printing.


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


author: Mátyás Selmeci <mselmeci@wisc.edu> - 0.6.9-1
changelog:
  - Add WebDAV (PROPFIND) directory listing with OPTIONS auto-detection
  - Implement Mkdir in HTTPFileSystem via WebDAV MKCOL
  - Add deadlock detection plugin for XRootD OSS and authorization operations
  - Add XrdAccHttpCallout plugin for HTTP-based authorization callouts
  - Fix s3_Statistics log messages ignoring s3.trace level


