# changelog

author: Tim Theisen <tim@cs.wisc.edu> - 9.10.0-1
changelog:
  - With collector administrator access, can manage all HTCondor pool daemons
  - SciTokens can now be used for authentication with ARC CE servers
  - Preliminary support for ARM and POWER RC on AlmaLinux 8
  - Prevent negative values when using huge files with a file transfer plugin


author: Tim Theisen <tim@cs.wisc.edu> - 9.0.16-1
changelog:
  - Singularity now mounts /tmp and /var/tmp under the scratch directory
  - Fix bug where Singularity jobs go on hold at the first checkpoint
  - Fix bug where gridmanager deletes the X.509 proxy file instead of the copy
  - Fix file descriptor leak when using SciTokens for authentication


author: Tim Theisen <tim@cs.wisc.edu> - 9.11.0-1
changelog:
  - Modified GPU attributes to support the new 'require_gpus' submit command
  - Add (PREEMPT|HOLD)_IF_DISK_EXCEEDED configuration templates
  - ADVERTISE authorization levels now also provide READ authorization
  - Periodic release expressions no longer apply to manually held jobs
  - If a #! interpreter doesn't exist, a proper hold and log message appears
  - Can now set the Singularity target directory with 'container_target_dir'
  - If SciToken and X.509 available, uses SciToken for arc job authentication


author: Tim Theisen <tim@cs.wisc.edu> - 9.0.17-1
changelog:
  - Fix file descriptor leak when schedd fails to launch scheduler jobs
  - Fix failure to forward batch grid universe job's refreshed X.509 proxy
  - Fix DAGMan failure when the DONE keyword appeared in the JOB line
  - Fix HTCondor's handling of extremely large UIDs on Linux
  - Fix bug where OAUTH tokens lose their scope and audience upon refresh
  - Support for Apptainer in addition to Singularity


author: Tim Theisen <tim@cs.wisc.edu> - 9.12.0-1
changelog:
  - Provide a mechanism to bootstrap secure authentication within a pool
  - Add the ability to define submit templates
  - Administrators can now extend the help offered by condor_submit
  - Add DAGMan ClassAd attributes to record more information about jobs
  - On Linux, advertise the x86_64 micro-architecture in a slot attribute
  - Added -drain option to condor_off and condor_restart
  - Administrators can now set the shared memory size for Docker jobs
  - Multiple improvements to condor_adstash
  - HAD daemons now use SHA-256 checksums by default


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.0-1
changelog:
  - Users can prevent runaway jobs by specifying an allowed duration
  - Able to extend submit commands and create job submit templates
  - Initial implementation of htcondor <noun> <verb> command line interface
  - Initial implementation of Job Sets in the htcondor CLI tool
  - Add Container Universe
  - Support for heterogeneous GPUs
  - Improved File transfer error reporting
  - GSI Authentication method has been removed
  - HTCondor now utilizes ARC-CE's REST interface
  - Support for ARM and PowerPC for Enterprise Linux 8
  - For IDTOKENS, signing key not required on every execution point
  - Trust on first use ability for SSL connections
  - Improvements against replay attacks


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.1-1
changelog:
  - Add Ubuntu 22.04 (Jammy Jellyfish) support
  - Add file transfer plugin that supports stash:// and osdf:// URLs
  - Fix bug where cgroup memory limits were not enforced on Debian and Ubuntu
  - Fix bug where forcibly removing DAG jobs could crash the condor_schedd
  - Fix bug where Docker repository images cannot be run under Singularity
  - Fix issue where blahp scripts were missing on Debian and Ubuntu platforms
  - Fix bug where curl file transfer plugins would fail on Enterprise Linux 8


author: John Knoeller <johnkn@cs.wisc.edu> - 10.0.2-1
changelog:
  - HTCondor can optionally create intermediate directories for output files
  - Improved condor_schedd scalability when a user runs more than 1,000 jobs
  - Fix issue where condor_ssh_to_job fails if the user is not in /etc/passwd
  - The Python Schedd.query() now returns the ServerTime attribute for Fifemon
  - VM Universe jobs pass through the host CPU model to support newer kernels
  - HTCondor Python wheel is now available for Python 3.11
  - Fix issue that prevented HTCondor installation on Ubuntu 18.04


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.3-1
changelog:
  - GPU metrics continues to be reported after the startd is reconfigured
  - Fixed issue where GPU metrics could be wildly over-reported
  - Fixed issue that kept jobs from running when installed on Debian or Ubuntu
  - Fixed DAGMan problem when retrying a proc failure in a multi-proc node


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.4-1
changelog:
  - Provides script to assist updating from HTCondor version 9 to version 10
  - Fixes a bug where rarely an output file would not be transferred back
  - Fixes counting of submitted jobs, so MAX_JOBS_SUBMITTED works correctly
  - Fixes SSL Authentication failure when PRIVATE_NETWORK_NAME was set
  - Fixes rare crash when SSL or SCITOKENS authentication was attempted
  - Can allow client to present an X.509 proxy during SSL authentication
  - Fixes issue where a users jobs were ignored by the HTCondor-CE on restart
  - Fixes issues where some events that HTCondor-CE depends on were missing


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.5-1
changelog:
  - Rename upgrade9to10checks.py script to condor_upgrade_check
  - Fix spurious warning from condor_upgrade_check about regexes with spaces


author: Tim Theisen <tim@cs.wisc.edu> - 9.0.18-1
changelog:
  - Can configure clients to present an X.509 proxy during SSL authentication
  - Provides script to assist updating from HTCondor version 9 to version 10


author: Tim Theisen <tim@cs.wisc.edu> - 10.0.6-1
changelog:
  - In SSL Authentication, use the identity instead of the X.509 proxy subject
  - Can use environment variable to locate the client's SSL X.509 credential
  - ClassAd aggregate functions now tolerate undefined values
  - Fix Python binding bug where accounting ads were omitted from the result
  - The Python bindings now properly report the HTCondor version
  - remote_initial_dir works when submitting a grid batch job remotely via ssh
  - Add a ClassAd stringlist subset match function


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.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.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: Brian Lin <blin@cs.wisc.edu> - 5.0.0-1
changelog:
  - Add Python 3 and EL8 support (HTCondor-13)
  - Whole node jobs (HTCondor batch systems only) now make use of GPUs (HTCONDOR-103)
  - Added `USE_CE_HOME_DIR` configuration variable (default: `False`) to allow users to enable setting `$HOME` in the
    routed job's environment based on the HTCondor-CE user's home directory
  - HTCondor-CE Central Collectors now prefer GSI over SSL authentication (HTCONDOR-237)
  - HTCondor-CE registry now validates the value of submitted client codes (HTCONDOR-241)
  - Automatically remove CE jobs that exceed their `maxWalltime` (if defined) or the configuration value of
    `ROUTED_JOB_MAX_TIME` (default: 4320 sec/72 hrs)
  - Remove circular HTCondor-CE View configuration definition (HTCONDOR-161)
  - Replace htcondor-ce package requirement with python2-condor for htcondor-ce-bdii


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: Nikola Forró <nforro@redhat.com> - 0.41-17
changelog:
  - backport several upstream fixes
  - set Delegate property for cgconfig service to make sure complete
    cgroup hierarchy is always created by systemd


author: Derek Weitzel <dweitzel@cse.unl.edu> - 1.3.1-1
changelog:
  - Fix dependency change of behavior in PyJWT
  - Add lifetime argument to scitokens-admin-create-token


author: Derek Weitzel <dweitzel@cse.unl.edu> - 1.5.0-1
changelog:
  - Include tests in distribution
  - Bump pyjwt version
  - Add test run with minimum dependencies
  - Run continuous integration on macOS and windows
  - Check verified claims for issuer in SciToken.serialize
  - Add base SciTokensException class
  - Remove verify=False keyword from calls to decode()
  - Print package list in CI jobs
  - Use python3_pkgversion macro in RPM package names
  - Move package version declaration into 'scitokens' module
  - Fix deprecation warning from cryptography.utils.int_from_bytes


author: Brian Lin <blin@cs.wisc.edu> - 1.7.0-1
changelog:
  - Reference test files using relative paths
  - Use shutil.move instead of os.rename
  - Add error message for when SciToken.discover doesn't find a token
  - SciToken.serialize: fix str/bytes mismatch
  - Add rpmbuild github actions workflow
  - Update the bogus url used in the tests
  - Fix bug decoding a token with no audience
  - Use unittest.mock to check UnableToCreateCache
  - Add obsoletes for smoother Yum updates on EL7
  - Update algorithm used to test UnsupportedKeyException
  - Run test suite using pytest during rpmbuild
  - Update pyjwt version in requirements.txt
  - small typo fix in readme
  - Default cached public keys set to 4 days


author: Carl Edquist <edquist@cs.wisc.edu> - 1.7.4-1
changelog:
  - bugfix release v1.7.4 (SOFTWARE-5446)
  - Attempt to fix codacy in github actions #159
  - Add pyproject.toml file for PEP 517 builds #162
  - Install requires setuptools #163
  - Add configuration for readthedocs #165
  - Add links to readthedocs in some places #166
  - Run pip list installed to show packages #168
  - Remove aud enforcement from deserialize function #167


