# changelog

author: Tim Theisen <tim@cs.wisc.edu> - 10.6.0-1
changelog:
  - Administrators can enable and disable job submission for a specific user
  - Work around memory leak in libcurl on EL7 when using the ARC-CE GAHP
  - Container images may now be transferred via a file transfer plugin
  - Add ClassAd stringlist subset match function
  - Add submit file macro '$(JobId)' which expands to full ID of the job
  - The job's executable is no longer renamed to 'condor_exec.exe'


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.7-1
changelog:
  - Fixed bug where held condor cron jobs would never run when released
  - Improved daemon IDTOKENS logging to make useful messages more prominent
  - Remove limit on certificate chain length in SSL authentication
  - condor_config_val -summary now works with a remote configuration query
  - Prints detailed message when condor_remote_cluster fails to fetch a URL
  - Improvements to condor_preen


author: Tim Theisen <tim@cs.wisc.edu> - 10.7.0-1
changelog:
  - Support for Debian 12 (Bookworm)
  - Can run defrag daemons with different policies on distinct sets of nodes
  - Added want_io_proxy submit command
  - Apptainer is now included in the HTCondor tarballs
  - Fix 10.5.0 bug where reported CPU time is very low when using cgroups v1
  - Fix 10.5.0 bug where .job.ad and .machine.ad were missing for local jobs


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.8-1
changelog:
  - Avoid kernel panic on some Enterprise Linux 8 systems
  - Fix bug where early termination of service nodes could crash DAGMan
  - Limit email about long file transfer queue to once daily
  - Various fixes to condor_adstash


author: Tim Theisen <tim@cs.wisc.edu> - 10.8.0-1
changelog:
  - Fold the classads, blahp, and procd RPMs into the main condor RPM
  - Align the Debian packages and package names with the RPM packaging
  - On Linux, the default configuration enforces memory limits with cgroups
  - condor_status -gpus shows nodes with GPUs and the GPU properties
  - condor_status -compact shows a row for each slot type
  - New ENV command controls which environment variables are present in DAGMan


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.9-1
changelog:
  - The condor_upgrade_check script now provides guidance on updating to 23.0
  - The htchirp Python binding now properly locates the chirp configuration
  - Fix bug that prevented deletion of HTCondor passwords on Windows


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.0-1
changelog:
  - Absent slot configuration, execution points will use a partitionable slot
  - Linux cgroups enforce maximum memory utilization by default
  - Can now define DAGMan save points to be able to rerun DAGs from there
  - Much better control over environment variables when using DAGMan
  - Administrators can enable and disable job submission for a specific user
  - Can set a minimum number of CPUs allocated to a user
  - condor_status -gpus shows nodes with GPUs and the GPU properties
  - condor_status -compact shows a row for each slot type
  - Container images may now be transferred via a file transfer plugin
  - Support for Enterprise Linux 9, Amazon Linux 2023, and Debian 12
  - Can write job information in AP history file for every execution attempt
  - Can run defrag daemons with different policies on distinct sets of nodes
  - Add condor_test_token tool to generate a short lived SciToken for testing
  - The job’s executable is no longer renamed to ‘condor_exec.exe’


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.1-1
changelog:
  - Fix 10.6.0 bug that broke PID namespaces
  - Fix bug where execution times for ARC CE jobs were 60 times too large
  - Fix bug where a failed 'Service' node would crash DAGMan
  - Condor-C and Job Router jobs now get resources provisioned updates


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.2-1
changelog:
  - Fix bug where OIDC login information was missing when submitting jobs
  - Improved sandbox and ssh-agent clean up for batch grid universe jobs
  - Fix bug where daemons with a private network address couldn't communicate
  - Fix cgroup v2 memory enforcement for custom configurations
  - Add DISABLE_SWAP_FOR_JOB support on cgroup v2 systems
  - Fix log rotation for OAuth and Vault credmon daemons


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.3-1
changelog:
  - Preliminary support for openSUSE LEAP 15
  - All non-zero exit values from file transfer plugins are now errors
  - Fix crash in Python bindings when job submission fails
  - Chirp uses a 5120 byte buffer and errors out for bigger messages
  - condor_adstash now recognizes GPU usage values as floating point numbers


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.4-1
changelog:
  - NVIDIA_VISIBLE_DEVICES environment variable lists full uuid of slot GPUs
  - Fix problem where some container jobs would see GPUs not assigned to them
  - Restore condor keyboard monitoring that was broken since HTCondor 23.0.0
  - In condor_adstash, the search engine timeouts now apply to all operations
  - Ensure the prerequisite perl modules are installed for condor_gather_info


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.6-1
changelog:
  - Fix DAGMan where descendants of removed retry-able jobs are marked futile
  - Ensure the condor_test_token works correctly when invoked as root
  - Fix bug where empty multi-line values could cause a crash
  - condor_qusers returns proper exit code for errors in formatting options
  - Fix crash in job router when a job transform is missing an argument


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.8-1
changelog:
  - Fix bug where ssh-agent processes were leaked with grid universe jobs
  - Fix DAGMan crash when a provisioner node was given a parent
  - Fix bug that prevented use of "ftp:" URLs in file transfer
  - Fix bug where jobs that matched an offline slot never start


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.10-1
changelog:
  - Preliminary support for Ubuntu 22.04 (Noble Numbat)
  - Warns about deprecated multiple queue statements in a submit file
  - Fix bug where plugins could not signify to retry a file transfer
  - The condor_upgrade_check script checks for proper token file permissions
  - Fix bug where the condor_upgrade_check script crashes on older platforms
  - The bundled version of apptainer was moved to libexec in the tarball


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.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.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.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> - 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.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> - 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.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: Mark Coatsworth <coatsworth@cs.wisc.edu> - 5.1.0-1
changelog:
  - Fix an issue where the CE removed running jobs prematurely (HTCONDOR-350)
  - Add optional job router transform syntax (HTCONDOR-243)
  - Add username and X.509 accounting group mapfiles for use by job router transforms (HTCONDOR-187)
  - Replace custom mappings in condor_mapfile with /etc/condor-ce/mapfiles.d/ (HTCONDOR-244)
  - Require regular expressions in the second field of the unified mapfile be enclosed by '/'(HTCONDOR-244)
  - Update maxWallTime logic to accept BatchRuntime (HTCONDOR-80)
  - Append SSL to the default authentication methods list (HTCONDOR-366)
  - APEL reporting scripts now use the local HTCondor's PER_JOB_HISTORY_DIR to collect job data. (HTCONDOR-293)
  - Use the `GlobalJobID` attribute as the APEL record `lrmsID` (#426)
  - Update HTCondor-CE registry app to Python 3 (HTCONDOR-307)
  - Enable SSL authentication by default for `READ`/`WRITE` authorization levels (HTCONDOR-366)
  - Downgrade errors in the configuration verification startup script to support routes written in the transform syntax (#465)
  - Allow required directories to be owned by non-`condor` groups (#451)
  - Fix an issue with an overly aggressive default `SYSTEM_PERIODIC_REMOVE` (HTCONDOR-350)
  - Fix incorrect path to Python 3 Collector plugin (HTCONDOR-400)
  - Fix faulty validation of `JOB_ROUTER_ROUTE_NAMES` and `JOB_ROUTER_ENTRIES` in the startup script (HTCONDOR-406)
  - Fix various Python 3 incompatibilities (#460)


author: Brian Lin <blin@cs.wisc.edu> - 5.1.1-1
changelog:
  - Improve restart time of HTCondor-CE View (HTCONDOR-420)
  - Fix bug that caused HTCondor-CE to ignore incoming BatchRuntime requests (#480)
  - Fix blahp packaging requirement (HTCONDOR-504)


author: Tim Theisen <tim@cs.wisc.edu> - 5.1.2-1
changelog:
  - Fixed the default memory and CPU requests when using job router transforms
  - Apply default MaxJobs and MaxJobsIdle when using job router transforms
  - Improved SciTokens support in submission tools
  - Fixed --debug flag in condor_ce_run
  - Update configuration verification script to handle job router transforms
  - Corrected ownership of the HTCondor PER_JOBS_HISTORY_DIR
  - Fix bug passing maximum wall time requests to the local batch system


author: Tim Theisen <tim@cs.wisc.edu> - 5.1.3-1
changelog:
  - The HTCondor-CE central collector requires SSL credentials from client CEs
  - Fix BDII crash if an HTCondor Access Point is not available
  - Fix formatting of APEL records that contain huge values
  - HTCondor-CE client mapfiles are not installed on the central collector


author: Tim Theisen <tim@cs.wisc.edu> - 5.1.4-1
changelog:
  - Fix whole node job glidein CPUs and GPUs expressions that caused held jobs
  - Fix bug where default CERequirements were being ignored
  - Pass whole node request from GlideinWMS to the batch system
  - Since CentOS 8 has reached end of life, we build and test on Rocky Linux 8


author: Tim Theisen <tim@cs.wisc.edu> - 5.1.5-1
changelog:
  - Rename AuthToken attributes in the routed job to better support accounting
  - Prevent GSI environment from pointing the job to the wrong certificates
  - Fix issue where HTCondor-CE would need port 9618 open to start up


author: Tim Theisen <tim@cs.wisc.edu> - 5.1.6-1
changelog:
  - HTCondor-CE now uses the C++ Collector plugin for payload job traceability
  - Fix HTCondor-CE mapfiles to be compliant with PCRE2 and HTCondor 9.10.0+
  - Add support for multiple APEL accounting scaling factors
  - Suppress spurious log message about a missing negotiator
  - Fix crash in HTCondor-CE View


author: Tim Theisen <tim@cs.wisc.edu> - 6.0.0-1
changelog:
  - Align HTCondor-CE security configuration with HTCondor defaults
  - Add example configuration on how to ban users
  - Add condor_ce_transform_ads command
  - Improve essential directory checking and creation at startup


author: Tim Theisen <tim@cs.wisc.edu> - 6.0.1-1
changelog:
  - Add grid CA and host certificate/key locations to default SSL search paths
  - Verifies that HTCondor-CE can access the local HTCondor's SPOOL directory
  - Can use condor_ce_trace without SciToken to test batch system integration
  - condor_ce_upgrade_check checks compatibility with next HTCondor version
  - Adds deprecation warnings for old job router configuration syntax


author: Tim Theisen <tim@cs.wisc.edu> - 23.0.6-1
changelog:
  - Fix CE job route transform for job environment
  - Fix CERequirements when the default_CERequirements is not set
  - Add condor_ce_test_token tool to generate short lived SciToken for tests
  - Remove GSI from security method list to eliminate annoying warnings


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


