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


