# changelog

author: Tim Theisen <tim@cs.wisc.edu> - 23.0.12-1
changelog:
  - Remote condor_history queries now work the same as local queries
  - Improve error handling when submitting to a remote scheduler via ssh
  - Fix bug on Windows where condor_procd may crash when suspending a job
  - Fix Python binding crash when submitting a DAG which has empty lines


author: Tim Theisen <tim@cs.wisc.edu> - 23.8.1-1
changelog:
  - Add new condor-ap package to facilitate Access Point installation
  - HTCondor Docker images are now based on Alma Linux 9
  - HTCondor Docker images are now available for the arm64 CPU architecture
  - The user can now choose which submit method DAGMan will use
  - Can add custom attributes to the User ClassAd with condor_qusers -edit
  - Add use-projection option to condor_gangliad to reduce memory footprint
  - Fix bug where interactive submit does not work on cgroup v2 systems (EL9)


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.14-1
changelog:
  - Docker and Container jobs run on EPs that match AP's CPU architecture
  - Fixed premature cleanup of credentials by the condor_credd
  - Fixed bug where a malformed SciToken could cause a condor_schedd crash
  - Fixed crash in condor_annex script
  - Fixed daemon crash after IDTOKEN request is approved by the collector


author: Tim Theisen <tim@cs.wisc.edu> - 23.9.6-1
changelog:
  - Add config knob to not have cgroups count kernel memory for jobs on EL9
  - Remove support for numeric unit suffixes (k,M,G) in ClassAd expressions
  - In submit files, request_disk & request_memory still accept unit suffixes
  - Hide GPUs not allocated to the job on cgroup v2 systems such as EL9
  - DAGMan can now produce credentials when using direct submission
  - Singularity jobs have a contained home directory when file transfer is on
  - Avoid using IPv6 link local addresses when resolving hostname to IP addr
  - New 'htcondor credential' command to aid in debugging


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.15-1
changelog:
  - Fix bug where Docker universe jobs reported zero memory usage on EL9
  - Fix bug where Docker universe images would not be removed from EP cache
  - Fix bug where condor_watch_q could crash
  - Fix bug that could cause the file transfer hold reason to be truncated
  - Fix bug where a Windows job with a bad executable would not go on hold


author: Tim Theisen <tim@cs.wisc.edu> - 23.10.1-1
changelog:
  - Improvements to disk usage enforcement when using LVM
    - Can encrypt job sandboxes when using LVM
    - More precise tracking of disk usage when using LVM
    - Reduced disk usage tracking overhead
  - Improvements tracking CPU and memory usage with cgroup v2 (on EL9)
    - Don't count kernel cache pages against job's memory usage
    - Avoid rare inclusion of previous job's CPU and peak memory usage
  - HTCondor now re-checks DNS before re-connecting to a collector
  - HTCondor now writes out per job epoch history
  - HTCondor can encrypt network connections without requiring authentication
  - htcondor CLI can now show status for local server, AP, and CM
  - htcondor CLI can now display OAUTH2 credentials
  - Uses job's sandbox to convert image format for Singularity/Apptainer
  - Bug fix to not lose GPUs in Docker job on systemd reconfig
  - Bug fix for PID namespaces and condor_ssh_to_job on EL9


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.17-1
changelog:
  - Bug fix for PID namespaces and condor_ssh_to_job on EL9
  - Augment condor_upgrade_check to find unit suffixes in ClassAd expressions


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.1-1
changelog:
  - Improved tracking and enforcement of disk usage by using LVM
  - Enhancements to the htcondor CLI tool
  - cgroup v2 support for tracking and enforcement of CPU and memory usage
  - Leverage cgroups to hide GPUs not allocated to the job
  - DAGMan can now produce job credentials when using direct submit
  - New submit commands to aid in matching specific GPU requirements
  - New implementation of the Python bindings, htcondor2 and classad2
  - Improved default security configuration
  - Significant reduction in memory and CPU usage on the Central Manager
  - Support for GPUs using AMD's HIP 6 library
  - Fix bugs when -divide or -repeat was used in GPU detection
  - Proper error message and hold when Docker emits multi-line error message
  - Fix issue where an unresponsive libvirtd blocked an EP from starting up


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.2-1
changelog:
  - Add STARTER_ALWAYS_HOLD_ON_OOM to minimize confusion about memory usage
  - Fix bug that caused condor_ssh_to_job sftp and scp modes to fail
  - Fix KeyboardIdle attribute in dynamic slots that could prevent job start
  - No longer signals the OAuth credmon when there is no work to do
  - Fix rare condor_schedd crash when a $$() macro could not be expanded
  - By default, put Docker jobs on hold when CPU architecture doesn't match


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.18-1
changelog:
  - Proper error message and hold when Docker emits multi-line error message
  - The htcondor CLI now works on Windows


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.19-1
changelog:
  - Numerous updates in memory tracking with cgroups
    - Fix bug in reporting peak memory
    - Made cgroup v1 and v2 memory tracking consistent with each other
    - Fix bug where cgroup v1 usage included disk cache pages
    - Fix bug where cgroup v1 jobs killed by OOM were not held
    - Polls cgroups for memory usage more often
    - Can configure to always hold jobs killed by OOM
  - Make condor_adstash work with OpenSearch Python Client v2.x
  - Avoid OAUTH credmon errors by only signaling it when necessary
  - Restore case insensitivity to 'condor_status -subsystem'
  - Fix rare condor_schedd crash when a $$() macro could not be expanded


author: Tim Theisen <tim@cs.wisc.edu> - 23.10.19-1
changelog:
  - Fix bug where jobs would match but not start when using KeyboardIdle
  - Fix bug when trying to avoid IPv6 link local addresses


author: Tim Theisen <tim@cs.wisc.edu> - 23.10.20-1
changelog:
  - Fix bug where STARTD_ENFORCE_DISK_LIMITS would excessively save metadata
  - Fix bug where container_service_names did not work
  - Fix rare startd crash when collector queries time out and DNS is slow


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.4-1
changelog:
  - New arc_data_staging submit command to add DataStaging block to ARC ADL
  - Fix bug where the negotiator could crash when matching offline ads
  - Fix memory leak in SCHEDD_CRON script that produce standard output
  - Fix bug where the schedd could crash if cron script runs during shutdown


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.21-1
changelog:
  - Fix memory leak caused by periodic evaluation of bad ClassAd expressions
  - Fixes for bugs affecting grid jobs


author: Tim Theisen <tim@cs.wisc.edu> - 24.0.5-1
changelog:
  * Thu Feb 27 2025 Tim Theisen <tim@cs.wisc.edu> - 23.10.21-1
  - Fix bug where chirp would not work in container jobs using Docker
  - HTCondor tarballs now contain Pelican 7.13.0


author: Dave Dykstra <dwd@fnal.gov> - 2.2-1
changelog:
  - Prevent exiting after the first token authentication
  - Close token file descriptor after use
  - Enable token debug messages
  - Implement WLCG bearer token discovery standard
  - Add libscitokens-dev build dependency on debian


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 <matyas@cs.wisc.edu> - 5.7.0-1.1
changelog:
  - Update to 5.7.0 and merge OSG patches (SOFTWARE-5925)
      - Drop SOFTWARE-5800-pelican-url.patch (applied upstream)
      - Drop 2206-io-time-gstream-monitoring.patch (applied upstream)
      - Drop SOFTWARE-5870-only-if-cached.patch (applied upstream)
      - Drop 2262-fix-timing-on-throttle-plugin.patch (applied upstream)
      - Drop 2269-defer-or-disable-tls-client-auth-*.patch (applied upstream)


author: Mátyás Selmeci <matyas@cs.wisc.edu> - 5.7.0-1.5
changelog:
  - Bump to rebuild for aarch64
  - Don't make the generated documentation (i.e., xrootd-doc subpackage) noarch
    because the generation results are different based on the arch of the builder.


author: Mátyás Selmeci <matyas@cs.wisc.edu> - 5.7.0-1.7
changelog:
  - Add bbockelm-3-oss-statistics.patch (SOFTWARE-5967)
  - Add bbockelm-4-defer-client-auth (as 3 patches) (SOFTWARE-5968);
      this adds libXrdOssStats-5.so to xrootd-server-libs


author: Matt Westphall <westphall@wisc.edu> - 5.7.1-1.3
changelog:
  * Thu Oct 03 2024 Mátyás Selmeci <matyas@cs.wisc.edu> - 5.7.1-1.2
  - Update 2300-stat-call-reduction.patch (SOFTWARE-6003)
  - Add 2348-cache-age-logic.patch (SOFTWARE-6003)


author: Mátyás Selmeci <matyas@cs.wisc.edu> - 5.7.1-1.2
changelog:
  - Update 2300-stat-call-reduction.patch (SOFTWARE-6003)
  - Add 2348-cache-age-logic.patch (SOFTWARE-6003)


author: Mátyás Selmeci <matyas@cs.wisc.edu> - 5.7.2-1.1
changelog:
  - Update to 5.7.2 and drop upstreamed patches (SOFTWARE-6036)
    - Drop 2300-stat-call-reduction.patch
    - Update 2348-cache-age-logic.patch
      (replace with https://github.com/bbockelm/xrootd/commit/2160a23febe1782cc3590a473209f0e74f965084)
    - Drop 2357-fix-errSocketTimeout-loop.patch
    - Drop 2363-reset-runstatus-in-redrive-thread.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.7.2-1.3
changelog:
  - Use patches from PelicanPlatform/xrootd (SOFTWARE-6063)
      - Replace 1868-env-hostname-override.patch with 0001-Allow-hostname-used-by-XRootD-to-be-overridden-by-en.patch (PelicanPlatform/xrootd #1)
      - Replace 2348-cache-age-logic.patch with 0002-XrdHttp-determines-the-presence-of-the-Age-header-in.patch (PelicanPlatform/xrootd #2)
      - Replace 2395-cinfo-read-fd-leak.patch with 0003-Fix-FD-leak-when-reading-file-size-from-cinfo-file-i.patch (PelicanPlatform/xrootd #3)
      - Replace 2269-defer-client-auth.patch with 0004-Defer-client-TLS-auth-until-after-HTTP-parsing.patch (PelicanPlatform/xrootd #4)
      - Replace bbockelm-3-oss-statistics.patch with 0005-Add-new-filesystem-load-counter-plugin.patch (PelicanPlatform/xrootd #5)
      - Add 0006-XrdSciTokens-Handle-multiple-authorization-token-set.patch (PelicanPlatform/xrootd #6)
      - Add 0007-XrdHttp-Add-http.staticheader.patch (PelicanPlatform/xrootd #7)
      - Add 0008-XrdHttp-Set-oss.asize-if-object-size-is-known.patch (PelicanPlatform/xrootd #8)


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.7.2-1.4
changelog:
  - Two more patches from PelicanPlatform/xrootd (SOFTWARE-6063)
      - Add 0010-do_WriteSpan-Add-written-bytes-in-file-statistics.patch (PelicanPlatform/xrootd #10)
      - Add 0011-Xrd-Fix-MacOS-poller.patch (PelicanPlatform/xrootd #11)


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.7.2-1.4.purge
changelog:
  - Add purge plugin patch 0009-Second-rebase-of-alja-purge-main-rb1-onto-master-5.7.patch
      (PelicanPlatform/xrootd #9)


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.7.3-1.1
changelog:
  - Update to XRootD 5.7.3 (SOFTWARE-6071)
  - Drop upstreamed patches:
      - 0003-Fix-FD-leak-when-reading-file-size-from-cinfo-file-i~a219487.patch
      - 0008-XrdHttp-Set-oss.asize-if-object-size-is-known~d710312.patch
      - 0010-do_WriteSpan-Add-written-bytes-in-file-statistics~98a22ba.patch
      - 0011-Xrd-Fix-MacOS-poller~79a5439.patch
  - Replace patches with updated versions:
      - 0004-Defer-client-TLS-auth-until-after-HTTP-parsing~323a16b.patch
          -> 0003-XrdTls-Allow-disabling-of-X.509-client-auth.patch~18e1c81.patch
      - 0005-Add-new-filesystem-load-counter-plugin~3c1be23.patch
          -> 0004-Add-new-filesystem-load-counter-plugin.patch~3c1be23.patch
      - 0006-XrdSciTokens-Handle-multiple-authorization-token-set~7433116.patch
          -> 0005-XrdSciTokens-Handle-multiple-authorization-token-set.patch~a33ca13.patch
      - 0007-XrdHttp-Add-http.staticheader~2175ae2.patch
          -> 0006-XrdHttp-Add-http.staticheader.patch~5c6ee05.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.7.3-1.2
changelog:
  - Fix patch file names
  - Add:
      - 0007-XrdPfc-Check-for-a-null-pointer-dereference~121f60b.patch
      - 0008-XrdHttp-Undo-HTTP-PUT-response-code-change~956b9fa.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.7.3-1.5
changelog:
  - Add:
      - 0010-Fix-gstream-configuration-processing~bece0de.patch
  - Re-add (with update):
      - 0011-Xrd-Fix-MacOS-poller~9704d2a.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.7.3-1.5
changelog:
  - Add:
      - 0010-Fix-gstream-configuration-processing~bece0de.patch
      - 0012-Temporary-workaround-for-segfault-noted-in-upstream~3b485c0.patch
  - Re-add (with update):
      - 0011-Xrd-Fix-MacOS-poller~9704d2a.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.8.0-1.1
changelog:
  - Update to 5.8.0 (SOFTWARE-6114)
      - Patches added:
          - 0005-Since-the-XrdPss-did-not-implement-the-auto-stat-pro~4c5e0ae.patch
          - 0006-XrdPss-Fix-proxy-when-using-tokens-and-crc32c~328ae18.patch
          - 0007-XrdHttp-Fix-HTTP-protocol-errors-on-failure~4fb2221.patch
      - Patches kept:
          - 0003-XrdTls-Allow-disabling-of-X.509-client-auth~18e1c81.patch -> 0002-XrdTls-Allow-disabling-of-X.509-client-auth~18e1c81.patch
          - 0008-XrdHttp-Undo-HTTP-PUT-response-code-change~956b9fa.patch -> 0004-XrdHttp-Undo-HTTP-PUT-response-code-change~956b9fa.patch
      - Patches updated:
          - 0001-Allow-hostname-used-by-XRootD-to-be-overridden-by-en~e13587e.patch -> 0001-Allow-hostname-used-by-XRootD-to-be-overridden-by-en~7c119b0.patch
          - 0005-XrdSciTokens-Handle-multiple-authorization-token-set~a33ca13.patch -> 0003-XrdSciTokens-Handle-multiple-authorization-token-set~ec1eb0c.patch
      - Patches dropped:
          - 0002-XrdHttp-determines-the-presence-of-the-Age-header-in~092c7a5.patch
          - 0004-Add-new-filesystem-load-counter-plugin~3c1be23.patch
          - 0006-XrdHttp-Add-http.staticheader~5c6ee05.patch
          - 0007-XrdPfc-Check-for-a-null-pointer-dereference~121f60b.patch
          - 0009-Add-ResourceMonitor-and-PurgePlugin~f34a39d.patch
          - 0010-Fix-gstream-configuration-processing~bece0de.patch
          - 0011-Xrd-Fix-MacOS-poller~9704d2a.patch
          - 0012-Temporary-workaround-for-segfault-noted-in-upstream~3b485c0.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.8.1-1.1
changelog:
  - Update to 5.8.1 (SOFTWARE-6114)
      - Patches added:
          - 0006-XrdPosix-Map-operation-timeouts-to-ETIME~9480232.patch
          - 0007-XrdSciTokens-Automatically-add-WLCG-audiences-upon-r~92c168c.patch
      - Patches kept:
          - 0007-XrdHttp-Fix-HTTP-protocol-errors-on-failure~4fb2221.patch -> 0005-XrdHttp-Fix-HTTP-protocol-errors-on-failure~4fb2221.patch
      - Patches dropped:
          - 0005-Since-the-XrdPss-did-not-implement-the-auto-stat-pro~4c5e0ae.patch
          - 0006-XrdPss-Fix-proxy-when-using-tokens-and-crc32c~328ae18.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.8.1-1.2
changelog:
  - Comment out 0007-XrdSciTokens-Automatically-add-WLCG-audiences-upon-r~92c168c.patch
  - Add 0008-Include-additional-XrdPfc-headers.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.8.1-1.5
changelog:
  - Patches added:
      - 0008-Tweak-throttle-manager-after-large-scale-testing~273c58e.patch
      - 0009-Modify-XrdThrottle-to-be-an-OSS-plugin~580a3f1.patch
      - 0010-CMake-changes-for-XrdThrottle-overhaul~fe965e8.patch
  - Patches dropped:
      - 0007-XrdSciTokens-Automatically-add-WLCG-audiences-upon-r~92c168c.patch
  - Patches kept:
      - 0008-Re-engineer-concurrency-limits-for-throttles~0ef6dbc.patch -> 0007-Re-engineer-concurrency-limits-for-throttles~0ef6dbc.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.8.2-1.1
changelog:
  - Update to XRootD 5.8.2 (SOFTWARE-6151)
      - Patches added:
          - 0008-XRootD-s-xml-response-for-PROPFIND-will-now-include~aacf631.patch
      - Patches kept:
          - 0001-Allow-hostname-used-by-XRootD-to-be-overridden-by-en~7c119b0.patch
          - 0002-XrdTls-Allow-disabling-of-X.509-client-auth~18e1c81.patch
          - 0003-XrdSciTokens-Handle-multiple-authorization-token-set~ec1eb0c.patch -> 0003-XrdSciTokens-Handle-multiple-authorization-token-set~b82ddc3.patch
          - 0004-XrdHttp-Undo-HTTP-PUT-response-code-change~956b9fa.patch
          - 0005-XrdHttp-Fix-HTTP-protocol-errors-on-failure~4fb2221.patch
          - 0007-Re-engineer-concurrency-limits-for-throttles~0ef6dbc.patch -> 0006-Re-engineer-concurrency-limits-for-throttles~39fea57.patch
          - 0009-Modify-XrdThrottle-to-be-an-OSS-plugin~580a3f1.patch -> 0007-Modify-XrdThrottle-to-be-an-OSS-plugin~921fef5.patch
      - Patches dropped:
          - 0006-XrdPosix-Map-operation-timeouts-to-ETIME~9480232.patch
          - 0008-Tweak-throttle-manager-after-large-scale-testing~273c58e.patch
          - 0010-CMake-changes-for-XrdThrottle-overhaul~fe965e8.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.8.3-1.1
changelog:
  - Update to XRootD 5.8.3 (SOFTWARE-6164)
      - Patches added:
          - 0009-Avoid-reference-beyond-end-of-table~80b938c.patch
          - 0010-XrdPfc-Ensure-a-reference-to-the-file-is-kept-when-s~aa225e2.patch
      - Patches kept:
          - 0001-Allow-hostname-used-by-XRootD-to-be-overridden-by-en~7c119b0.patch
          - 0002-XrdTls-Allow-disabling-of-X.509-client-auth~18e1c81.patch
          - 0003-XrdSciTokens-Handle-multiple-authorization-token-set~b82ddc3.patch
          - 0004-XrdHttp-Undo-HTTP-PUT-response-code-change~956b9fa.patch -> 0004-XrdHttp-Undo-HTTP-PUT-response-code-change~43ed40b.patch
          - 0006-Re-engineer-concurrency-limits-for-throttles~39fea57.patch
          - 0007-Modify-XrdThrottle-to-be-an-OSS-plugin~921fef5.patch
          - 0008-XRootD-s-xml-response-for-PROPFIND-will-now-include~aacf631.patch
      - Patches dropped:
          - 0005-XrdHttp-Fix-HTTP-protocol-errors-on-failure~4fb2221.patch
          - 0009-Fix-life-time-of-a-variable-used-for-signaling-that~286b8ca.patch
          - 0010-Correct-concurrency-and-state-tracking-around-Redriv~86d48f1.patch
          - 0011-Fix-race-conditions-around-use-of-ecMsg~803dc26.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.8.4-1.1
changelog:
  - Update to XRootD 5.8.4 (SOFTWARE-6187)
      - Patches added:
      - Patches kept:
          - 0001-Allow-hostname-used-by-XRootD-to-be-overridden-by-en~7c119b0.patch -> 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~7c119b0.patch
          - 0002-XrdTls-Allow-disabling-of-X.509-client-auth~18e1c81.patch -> 0002-4-XrdTls-Allow-disabling-of-X.509-client-auth~18e1c81.patch
          - 0003-XrdSciTokens-Handle-multiple-authorization-token-set~b82ddc3.patch -> 0003-6-XrdSciTokens-Handle-multiple-authorization-token-s~b82ddc3.patch
          - 0004-XrdHttp-Undo-HTTP-PUT-response-code-change~43ed40b.patch -> 0004-14-XrdHttp-Undo-HTTP-PUT-response-code-change~43ed40b.patch
          - 0006-Re-engineer-concurrency-limits-for-throttles~39fea57.patch -> 0005-23-Re-engineer-concurrency-limits-for-throttles~39fea57.patch
          - 0007-Modify-XrdThrottle-to-be-an-OSS-plugin~921fef5.patch -> 0006-23-Modify-XrdThrottle-to-be-an-OSS-plugin~921fef5.patch
          - 0008-XRootD-s-xml-response-for-PROPFIND-will-now-include~aacf631.patch -> 0007-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
          - 0011-Enable-write-through-mode-for-cache~330eac1.patch -> 0008-32-Enable-write-through-mode-for-cache~330eac1.patch
      - Patches dropped:
          - 0009-Avoid-reference-beyond-end-of-table~80b938c.patch
          - 0010-XrdPfc-Ensure-a-reference-to-the-file-is-kept-when-s~aa225e2.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.8.4-1.3
changelog:
  - Add patches (SOFTWARE-6202):
      - 0009-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
      - 0010-36-Do-a-clean-TLS-shutdown-for-HTTPS~cdc53fe.patch
      - 0011-35-Make-HTTP-s-maximum-open-delay-configurable~3496b32.patch


author: Matt Westphall <westphall@wisc.edu> - 5.9.0-1.1
changelog:
  - Update to XRootD 5.8.4 (SOFTWARE-6187)
      - Patches added:
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~7c119b0.patch -> 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by-~8d1252d.patch
          - 0003-6-XrdSciTokens-Handle-multiple-authorization-token-s~b82ddc3.patch -> 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~a0751f6.patch
          - 0004-14-XrdHttp-Undo-HTTP-PUT-response-code-change~43ed40b.patch -> 0003-14-XrdHttp-Undo-HTTP-PUT-response-code-change~43ed40b.patch
          - 0007-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch -> 0004-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
          - 0008-32-Enable-write-through-mode-for-cache~330eac1.patch -> 0005-32-Enable-write-through-mode-for-cache~330eac1.patch
          - 0009-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch -> 0006-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
          - 0012-37-Add-TPC-worker-pool~70720be.patch -> 0007-37-Add-TPC-worker-pool~0bcba8c.patch
      - Patches dropped:
          - 0002-4-XrdTls-Allow-disabling-of-X.509-client-auth~18e1c81.patch
          - 0005-23-Re-engineer-concurrency-limits-for-throttles~39fea57.patch
          - 0006-23-Modify-XrdThrottle-to-be-an-OSS-plugin~921fef5.patch
          - 0010-36-Do-a-clean-TLS-shutdown-for-HTTPS~cdc53fe.patch
          - 0011-35-Make-HTTP-s-maximum-open-delay-configurable~3496b32.patch


author: Matt Westphall <westphall@wisc.edu> - 5.9.0-1.1
changelog:
  - Update to XRootD 5.9.0 (SOFTWARE-6187)
      - Patches added:
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~7c119b0.patch -> 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by-~8d1252d.patch
          - 0003-6-XrdSciTokens-Handle-multiple-authorization-token-s~b82ddc3.patch -> 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~a0751f6.patch
          - 0004-14-XrdHttp-Undo-HTTP-PUT-response-code-change~43ed40b.patch -> 0003-14-XrdHttp-Undo-HTTP-PUT-response-code-change~43ed40b.patch
          - 0007-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch -> 0004-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
          - 0008-32-Enable-write-through-mode-for-cache~330eac1.patch -> 0005-32-Enable-write-through-mode-for-cache~330eac1.patch
          - 0009-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch -> 0006-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
          - 0012-37-Add-TPC-worker-pool~70720be.patch -> 0007-37-Add-TPC-worker-pool~0bcba8c.patch
      - Patches dropped:
          - 0002-4-XrdTls-Allow-disabling-of-X.509-client-auth~18e1c81.patch
          - 0005-23-Re-engineer-concurrency-limits-for-throttles~39fea57.patch
          - 0006-23-Modify-XrdThrottle-to-be-an-OSS-plugin~921fef5.patch
          - 0010-36-Do-a-clean-TLS-shutdown-for-HTTPS~cdc53fe.patch
          - 0011-35-Make-HTTP-s-maximum-open-delay-configurable~3496b32.patch


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.9.1-1.1
changelog:
  - Update to XRootD 5.9.1 (SOFTWARE-6260)
      - Patches added:
      - Patches kept:
          - 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by-~8d1252d.patch -> 0001-1-Allow-hostname-used-by-XRootD-to-be-overridden-by~e13587e.patch
          - 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~a0751f6.patch -> 0002-6-XrdSciTokens-Handle-multiple-authorization-token-s~d8842b6.patch
          - 0003-14-XrdHttp-Undo-HTTP-PUT-response-code-change~43ed40b.patch -> 0003-14-XrdHttp-Undo-HTTP-PUT-response-code-change~73ddc83.patch
          - 0004-25-XRootD-s-xml-response-for-PROPFIND-will-now-inclu~aacf631.patch
          - 0005-32-Enable-write-through-mode-for-cache~330eac1.patch
          - 0006-34-Add-S3-as-a-permitted-proxy-protocol~b36d9b7.patch
          - 0007-37-Add-TPC-worker-pool~0bcba8c.patch -> 0007-37-Add-TPC-worker-pool~31dd3de.patch
      - Patches dropped:


author: Mátyás Selmeci <mselmeci@wisc.edu> - 5.9.1-1.3
changelog:
  - Add 0009-42-Full-pkcs11-integration~d92e458.patch (SOFTWARE-6280)
  - Add 0010-45-Revert-XrdHttp-Undo-HTTP-PUT-response-code-change~6d22469.patch (SOFTWARE-6280)


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: Brian Bockelman <bbockelman@morgridge.org> - 0.9.2-1
changelog:
  - Add support for the `pelican://` protocol, allowing XCache to consume
    the federation metadata directly.


author: Brian Bockelman <bbockelman@morgridge.org> - 0.9.3-1
changelog:
  - Add support for requesting reversed connections from the Pelican connection broker.
  - Plugin no longer drops query parameters when `pelican://` is used; fixes
    issues with missing authorization from URL.


author: Brian Bockelman <bbockelman@morgridge.org> - 1.0.0-1
changelog:
  - Switch to using PROPFIND for stat, preventing opening a directory as a file
  - Implement directory listings at the cache
  - Cache the results of the director response, skipping director lookup when not needed
  - Forward pelican.timeout header to the remote origin
  - Fix a bug that invoked a callback twice, potentially segfaulting the process
  - Add unit tests to the project


author: Brian Bockelman <bbockelman@morgridge.org> - 1.1.0-1
changelog:
  - Add support for Write and VectorRead operations
  - Add support for checksum query and caching
  - Add support for COPY verb to enable third-party-copy
  - Fix the returned stat flags
  - Fix uninitialized read when using the broker


author: Brian Bockelman <bbockelman@morgridge.org> - 1.2.0-1
changelog:
  - Add progress- and stall-based timeout checks.
  - Add timeout check while requests are queued.
  - Increase the default number of workers to 8.
  - Add ability to tune more parameters via environment variables.
  - Fix bug where uploads fail for files that don't exist
  - Fix thread-safety issues which could cause a libcurl deadlock.


author: Brian Bockelman <bbockelman@morgridge.org> 1.2.2-1
changelog:
  - Fix invocation of `Fail` in the callback which could lead to a use-after-free
    of the callback object.


author: Brian Bockelman <bbockelman@morgridge.org> 1.3.0-1
changelog:
  - Split code in half, creating a pure-HTTP(S) plugin which only invokes
    libcurl and a Pelican-only plugin that depends on the HTTP one.
  - Add support for delete operations.
  - Add support for creating directories.
  - Add support for cache-control and Etag queries.
  - Implement a prefetch scheme, removing the need for round trips for
    each operation if you are simply reading the whole file.


author: Brian Bockelman <bbockelman@morgridge.org> 1.4.0-1
changelog:
  - Add experimental support for s3://-style URLs.
  - Delay initialization of thread pools until the first file is opened.
  - Cleanly shutdown helper threads when plugin is unloaded, reducing
    the chance of a segfault when a CLI or unit test is shutting down.
  - Fix a few minor memory leaks and race conditions uncovered by
    AddressSanitizer.


author: Brian Bockelman <bbockelman@morgridge.org> 1.5.2-1
changelog:
  - Add infrastructure for automating GitHub releases from a pushed tag
  - Automatically build as part of a release.


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.5.6-1
changelog:
  - Fix a bug that could cause the client to stop processing new requests
    if a significant number (approximately 16k) of operations have
    expired since process startup.


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.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> - 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: Carl Edquist <edquist@cs.wisc.edu> - 2.0.4-1
changelog:
  - Initialize crc32
  - Fix assert in el8 due to vector reserve
  - Reorder variables to address compiler warning/error


author: Mátyás Selmeci <matyas@cs.wisc.edu> - 2.1.3-1
changelog:
  - Fail plugin initialization if we can't get the OSS (SOFTWARE-5388)
  - If user cannot be mapped to uid, continue as anonymous
  - Change from named daemon to exec


author: Brian Bockelman <bbockelman@morgridge.org> - 0.4.1-1
changelog:
  - Fix stall timeouts which would never fire.
  - Fix bug where S3 rate limiting would result in corrupt data being sent back to the client.
  - Remove redundant HEAD which was invoked twice on S3 file open.
  - Put libcurl into threadsafe mode, avoiding potential deadlocks or long unresponsive periods.


author: William Jiang <whjiang@wisc.edu> - 0.5.0-1
changelog:
  - Add support for Globus endpoints (reads, writes, listings)
  - Add support for HTTP writes
  - Add new "Persist on Successful Close" (POSC) plugin to prevent files being
    uploaded from being visible in the namespace.
  - The HTTP OSS plugin can do file listings based on generated directories.


author: Brian Bockelman <bbockelman@morgridge.org> - 0.5.1-1
changelog:
  - Minor build fixes for a wider set of platforms.
  - Ensure unit tests can succeed even when running without network connectivity
  - Bump user agent version (forgotten in 0.5.0).


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


