# changelog

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> - 24.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: 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: Tim Theisen <tim@cs.wisc.edu> - 23.10.26-1
changelog:
  - Fix memory leak in the condor_schedd when using late materialization
  - Fix condor_master start up when file descriptor ulimit was huge
  - HTCondor tarballs now contain Pelican 7.17.0


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> - 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> - 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.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.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.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.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


author: Derek Weitzel <dweitzel@unl.edu> - 1.4.1-1
changelog:
  - Fix scope path boundary validation to deny sibling-prefix authorization bypasses
  - Reject parent-directory traversal in scope paths, including encoded traversal forms
  - Add regression tests covering sibling-prefix and traversal authorization checks


