# 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> - 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: 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: 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: 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


