Changelog

Version 3.0.4-dev1

Unreleased

  • Devel version

Changed

  • API: refuse to start while API_SECRET_KEY is empty, too short or still set to a known/default value (the “TO_CHANGE” placeholder or the key shipped as default in older OAR versions). The default config no longer ships a publicly-known key that allowed forging valid API tokens; generate a real one with openssl rand -hex 32 during setup.

  • API: fix a possible shell command injection in the /media upload endpoint.

  • Fixed running jobs having their resources reassigned when the launch latency exceeded SCHEDULER_JOB_SECURITY_TIME #154

  • Support cgroup v2 (unified hierarchy) in job_resource_manager_systemd.pl, job_resource_manager_systemd_nixos.pl, oarsh.in and oarsh_shell.in

  • oarstat: fixed oarstat -fj <job_id> printing nothing for jobs killed while still Waiting

  • fixed Warnings for invalid escape characters at installation time

  • oarwalltime fix #70

  • oarwalltime is set for all queues type, not only default

  • Updated Python dependencies : pyzmq simplejson psutil rich pytest pytest-cov redis black

  • API: requests without a Bearer token now get 401 Unauthorized instead of 403 Forbidden (FastAPI >= 0.122)

  • Replaced python-jose dependency by python-jwt #166

  • Install the default admission rules files into /etc/oar/admission_rules.d

  • Enable TAKTUK_CMD by default, as taktuk is required by the default cpuset resource manager

  • Default TAKTUK_CMD to /usr/bin/taktuk -t 30 -s when unset in oar.conf

  • Accounting (fairsharing): only the job being processed is marked as accounted; running/waiting jobs are no longer wrongly marked, which caused their consumption to be permanently lost

  • oarnodesetting: -m/--maintenance on|off now batches its database updates (a constant number of statements per node instead of ~14 per resource), and reports a non-zero exit code when a requested resource does not exist

  • Fairsharing: include the consumption of currently running jobs (elapsed time and reserved walltime clamped to the fairsharing window) in the karma computation. Controlled by SCHEDULER_FAIRSHARING_INCLUDE_RUNNING_JOBS (default yes); set it to no to restore the previous behaviour

  • kao: fix a crash (duplicate key value violates unique constraint "gantt_jobs_predictions_pkey", key moldable_job_id = 0) when a scheduling round ends with no schedulable job: save_assigns() no longer executes an empty INSERT, which SQLAlchemy turned into INSERT ... DEFAULT VALUES and which collided with the existing row of the same round

Version 3.0.3

Released on September 18, 2026

Added

  • Add SCHEDULER_LOG_JOB_SCHEDULING_TIME and SCHEDULER_JOB_SCHEDULING_TIME_YAML to oar.conf to measure the time taken to schedule each job.

Changed

  • API logging now defaults to “INFO” instead of “DEBUG”

  • Fixing a possible scheduling outage (#139]

  • API: added nodes into /jobs/<ID>?details=1

  • Interactive waiting jobs with lost session should be killed (#143)

  • Replace MAX_JOB_PER_SCHEDULING_ROUND with MAX_JOB_PER_QUEUES_GROUP_SCHEDULING_ROUND in oar.conf to limit the number of jobs scheduled per scheduling round.

  • Fixed ACTIVATE_PINGCHECKER_AT_JOB_END (#150)

  • Fixed a possible almighty lock when signaling jobs (#153)

  • Fixed quadratic scheduling time when quotas are enabled: the slot-search cache was read but never written on the quotas path

  • Fixed a possible non managed OSError exception when sending e-mails

  • oarstat: fixed missing job data in JSON and YAML full output (#158)

  • oarstat: fixed a bare KeyError raised by an unknown –specified-field

  • oarstat: fixed a crash when -u/–user is given an empty argument

Version 3.0.2

Released on May 22, 2026

Added

  • Add configurable default fields for oarstat via oar.conf

  • Add --specified-field option to allow custom field selection in oarstat

Changed

  • Harmonize job name display in System message across job states (#80)

  • Improve oarstat output flexibility and field handling

Fixed

  • Fix job name disappearing from oarstat output when job transitions from Waiting to Running (#80)

  • Prevent crash in oarstat --accounting when user is absent from accounting table (#116)

  • Fixed missing session parameter in some function calls : #131 #127

  • Some dependencies updates

  • Fixed oarsub -k -i (job key file submission)

Version 3.0.1

Released on Nov 26, 2025

  • Added ALL, BEST, HALF_BEST as resquestable number of resource (#57)

  • Fixes and enhancements of the scheduling #104 #105

  • Fixed major bug in oarnodesetting -m off #109

  • Kamelot set as default scheduler

  • Fixed oarstat -g #110

  • Fixed possible bibpib crash (jobs stuck in the Launching state) #113

  • Fixed resubmit_job_id value of jobs #114

  • Added missing oarcgdev binary for GPU confinement #112

Version 3.0.0

Released on Jul 21, 2025

  • Initial OAR v3 release!

Version 3.0.0.dev19

Released on Jul 21, 2025

  • A call from admission rules:

    estimated_resources = estimate_job_nb_resources(session, config, resource_request, properties) allows to re-use the estimated_resources data structure and prevents the scheduler from computing this several times (#96)

  • oarstat and oarapi prints ‘actual_resources’ (#99)

Version 3.0.0.dev18

Released on Jul 7, 2025

  • oarstat and oarapi now print correctly std[err,out] filenames (#97)

Version 3.0.0.dev17

Released on Jul 4, 2025

  • Fixed several database performance issues (#84)

  • Fixed a bug with oarsub -S and properties (#85)

  • Fixed a bug with Suspended state

  • Removed verbose debug of the API

  • Fixed job_manager_systemd suspecting nodes in some cases (#81)

  • Fixed oarsub -S “./script with args”

  • Oarsub prints human dates (#93)

  • Fixed ‘oarnodes -p’ for 0 values not being printed (#92)

  • Fixed job dependency to an interactive job (#90)

  • Fixed a timing issue into almighty (could prevent Leon from working under heavy load) (#83)

Version 3.0.0.dev16

Released on May 20, 2025

  • Fixed oarapi installation issue

  • Oarnodes now prints standby state

  • Added misssing “types” array from /jobs/{id} (issue #43)

  • Oarstat did not display some jobs (issue #48)

  • Performance fix (#63)

  • Karma is now recorded and printed by oarstat and oarapi (#65)

  • Null valued fields are removed from the /jobs api output

  • Added /get_new_token API entry to re-generate JWT

  • Added cgroup-v2 support through systemd

  • Fixed a bug with oarsub -S and array-param-file

Version 3.0.0.dev15

Released on March 28, 2025

  • Fixed API launcher bug introduced into 3.0.0.dev13

  • Added ‘exit_status_code’ job information (converted as exit status or kill signal, like bash exit status)

  • Tests fixed

  • Fixed user signal sending into oardel

  • oar.conf minor changes (cleaning, added greta vars)

Version 3.0.0.dev14

Released on September 06, 2024

  • Fixed performance issues when database is growing

  • Start/stop for oar-server now from systemd (this fixes issues with processes still running after a stop)

Version 3.0.0.dev13

Released on August 28, 2024

  • Fixed default WORKDIR into oarsub (to current directory): #42

  • Fixed several scheduling issues: #47 #54 #61

  • Fixed REST API issues: #59 and commits b03df94, b2313f0

  • Fixed oarsub -C : #46

  • Fixed Ernergy Saving: #53 and commits 0988318

  • Fixed submission.py : #51

Version 3.0.0.dev12

Released on December 22, 2023

  • Add types of jobs to oarstat details (cli or api)

  • Fix unpacking init_oar into Finaud

  • New Phoenix version (python rewrite and variables now into oar.conf)

  • Admission rules errors return explicit 403 into API

  • Misc code enhancements (typing, tests, global logger)

  • Replaced REST API apache config by uvicorn + reverse proxy

Version 3.0.0.dev11

Released on November 28, 2023

  • Add taktuk to the package list in the doc

  • Add oarstat and oarnodes have yaml output

  • Remove SQLAlchemy2 warning in oarnodesetting

  • Remove call unwanted call to strace

  • Change oarporperty check from isalpha to isascii

  • Change Hulot renamed Greta

  • Fix oarnodesetting wrong error code

  • Fix Almighty check_Greta always return true

  • Fix oarsub -T displays unnecessary log

  • Cosmetic, message a failed admission rule prevented submitting the job before custom message of the rule, and including the # Admission rule tag.

Version 3.0.0.dev10

Released on November 8, 2023

Version 3.0.0.dev9

Released on November 7, 2023

  • Rework SlotSets - Fixing numerous bug - New programming interface for using SlotSets

  • Upgrade to SQLAlchemy2

  • Rework quotas to match the definition of OAR2

Version 3.0.0.dev8

Released on June 7, 2023

  • (Huge) Database refactoring - Remove the global database definition - Remove the custom lazy loading module

  • New cli output with rich

  • Fix bug with resource hierarchy

  • Numerous fixes and improvements

Version 3.0.0.dev7

  • Fix save_assigns failed because of bad sqlalchemy function use

Version 3.0.0.dev6

  • Fix karma_proj_targets needed to be cast as float

  • Add each scheduling loop update the message field of jobs to add information about project, number of resources, walltime, karma etc

Version 3.0.0.dev5

Released on Mar 4, 2022

  • Fix and cleaning

  • Add oarbench for scheduling evaluation

  • Add metasched config to communicate with OAR2

  • Add back ported commit from OAR2

  • Add poetry packaging

  • Add new API version with FastAPI

  • Add job_resources_manager_cgroups_nixos

  • Add temporal quotas

  • Add oarwalltime

Version 3.0.0.dev4

Released on Mar 9, 2020

  • Add oarqueue, oarnotify, oarconnect and oarprint CLIs

  • Modify and clean installtion process (setup.py and Makefiles)

  • Use docker to test on travis-ci

  • Add script helper to generate debian package

  • Add job resource cgroup manager for NixOS

  • Add NIX package to nur-kapack project

  • Fix oar2trace

  • Complete and fix array job

  • Add factor script and Rest API entry

Version 3.0.0.dev3

Released on Nov 12, 2018

  • Add admission rules

  • Bataar (Batsim’s adaptor)

  • Various bug fixes

  • Add many unitary tests

  • Add accounting

  • Rest API (incomplete version)

  • Makefiles

  • Installation without need of OAR2 installation

  • Manpages (from OAR2)

  • Remove use of judas_notify_user.pl

  • Add pingchecker

  • Remove ruby version of DrawGantt

Version 3.0.0.dev2

Released on Apr 2, 2018

  • Minor progresses of previous dev version

Version 3.0.0.dev1

Released on Mar 29th 2018

  • Pre-alpha (or Demo) version

  • All core features are written

  • Scheduling (core part is completed)

  • Need OAR2 installation procedure to function

  • Usable with oardocker

  • Incomplete an missing CLIs, few options available

  • Nodes energy saving unfinished

  • Pingchecker unavailable

Version 3.0.0.dev0

unreleased

  • First release on PyPI (obselete oar-lib).