# changelog

author: Tim Theisen <tim@cs.wisc.edu> - 24.0.9-1
changelog:
  - Initial Support for Enterprise Linux 10, including the x86_64_v2 platform
  - In htcondor2, empty configuration keys are now treated as non-existent


author: Tim Theisen <tim@cs.wisc.edu> - 24.9.2-1
changelog:
  - New job attribute to report number of input files transferred by protocol
  - Optional condor_schedd history log file
  - condor_watch_q can now track DAGMan jobs when using the -clusters option
  - Fix bug that caused claim failure when previous output transfer failed
  - Fix bug where access tokens were not generated from Vault tokens


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> - 24.10.2-1
changelog:
  - Remove support for old JobRouter syntax
  - New condor_dag_checker tool finds syntax and logic errors before run
  - New condor_q -hold-codes produces a summary of held jobs
  - condor_status -lvm reports current disk usage by slots on the EPs
  - Fix bug where condor_q would truncate job counts to six digits
  - Fix bug where suspended jobs did not change state to idle when vacated


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> - 24.11.2-1
changelog:
  - Add job attributes to track why and how often a job is vacated
  - Add the ability to notify a user when their job first starts
  - Can now specify which Vault servers are trusted
  - Added htcondor2.ping() to the Python bindings


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.12.4-1
changelog:
  - Add the ability to enforce memory and CPU limits on local universe jobs
  - Add the ability for condor_chirp to work within a Docker universe job
  - condor_watch_q now exits with any keyboard input
  - The shell submit keyword now works with interactive jobs
  - All changes in 24.0.12


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.12.14-1
changelog:
  - Fix interoperability problem between HTCondor-CE 24 and 25 which
    manifests as a Job Router crash when upgrading the CE to HTCondor 25
  - Fix several issues when submitting jobs with itemdata in
    the htcondor2 Python bindings
  - Fix bug when using max_idle and transfer_input_files that could result
    in the container_image to be only transferred with the first job


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.12.16-1
changelog:
  - Fix problem specifying scope or audience with a Vault-managed credential
  - Fix late materialization bug when job transform sets immutable attribute
  - Fix problem where a backfill slot would refuse claims


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.12.18-1
changelog:
  - Improve AMD GPU detection when using RCOM6/HIP libraries
  - Fix for new jobs getting kicked off LVM EP due to quantization mismatch
  - condor_submit now reports an error for circular requirement expressions
  - condor_status now correctly reports offline GPUs
  - Can use a string for 'since' with htcondor.Schedd.history()
  - Fix for backfill GPUs disappearing on reconfig


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.20-1
changelog:
  - Fix reporting of RemoteUserCPU in parallel universe
  - condor_ssh_to_job can now execute one-shot commands when using containers
  - condor_ssh_to_job now enters the proper cgroup when using containers
  - HTCondor tarballs now contain Pelican 7.24.2


author: Derek Weitzel <dweitzel@unl.edu> - 1.0.0-1
changelog:
  - Add async API for parsing and verifying tokens
  - Add configuration API
  - Make nbf claim optional for non-scitokens tokens
  - Update to OpenSSL 3.0


author: Derek Weitzel <dweitzel@unl.edu> - 1.0.2-1
changelog:
  - Add support for API-configurable cache home
  - Fix enforcer_acl_free logic
  - scitokens_internal: catch matching exception type after jwt-cpp update


author: Derek Weitzel <dweitzel@unl.edu> - 1.1.0-1
changelog:
  - Allow the scitokens library user to setup a custom CA file
  - Fix typecast errors in scitoken_status_get_*() that caused async queries to fail
  - Fix logic error in deserialize_continue() that caused async deserialization to fail


author: Derek Weitzel <dweitzel@unl.edu> - 1.1.2-1
changelog:
  - Turn off CMAKE unity builds
  - Add a mutex around requesting public keys to stop overloading issuers


author: Derek Weitzel <dweitzel@unl.edu> - 1.2.0-1
changelog:
  - Fix segfault if the JSON parser cannot parse the JWKS
  - Fix float time claims issue and improve error handling
  - Fix security issue with malicious issuer handling in error messages
  - Improve JWTVerificationException message to include the invalid issuer
  - Update usage on verify command to make the TOKENFILE explicit
  - Read token for scitokens-verify from stdin
  - Set CURLOPT_NOSIGNAL option in SimpleCurlGet to prevent signal interruptions
  - Adding asan value to the job name
  - Turn off building unit tests by default.
  - Add cmake option SCITOKENS_WITH_ASAN which enables memory checking with the address sanitizer.  Also enable this in CI, so that tests fail if they hit a memory leak or other memory problem.
  - Fix memory leak in store_public_ec_key
  - Fix memory leaks in the unit tests
  - Fix memory leak in rs256_from_coords
  - Fix memory leak in scitokens_verify


author: Brian Bockelman <bbockelman@morgridge.org> - 1.3.0-1
changelog:
  - Add scitokens-generate-jwks CLI for key generation.
  - Add environment variable-based configuration on library initialization.
  - Add per-issuer lock to prevent multiple concurrent queries against issuers without a known key
  - Add negative cache for failed issuer lookups (preventing frequent re-queries)
  - Add monitoring API for per-issuer validation statistics
  - Add optional background thread for JWKS refresh
  - Add keycache load, metadata, and delete APIs
  - Revert "Fix memory leak in rs256_from_coords" by @djw8605
  - Add CTest-based integration test with JWKS server and TLS infrastructure
  - Fix memory leak in scitokens_verify by freeing the token string


author: Derek Weitzel <dweitzel@unl.edu> - 1.4.0-2
changelog:
  - Add keycache.allow_in_memory config option with in-memory SQLite fallback
  - Add persistent anchor connection for shared in-memory SQLite database
  - Improve error messages when keycache file cannot be read or written
  - Add integration test for keycache not-writable error message
  - Improve cache directory permission tests to handle common deployment misconfigurations
  - Implement keycache location retrieval and update library to 0.0.3
  - Fix typo in SQLite file extension in integration and main tests


