## Slurm 21.08.8

### openapi/dbv0.0.37

#### Move response fields in dbv0.0.37_diag under "statistics"

new parent field

- .components.schemas."dbv0.0.37_diag".properties.statistics

subordinated fields

- .components.schemas."dbv0.0.37_diag".properties.time_start
- .components.schemas."dbv0.0.37_diag".properties.rollups
- .components.schemas."dbv0.0.37_diag".properties.RPCs
- .components.schemas."dbv0.0.37_diag".properties.users

## Slurm 21.08.7

### openapi/v0.0.37

#### Fix misspelling: change account_gather_freqency to account_gather_frequency (only the spec was wrong; the underlying code already worked with the correct spelling).

previous path | .components.schemas."v0.0.37_job_properties".properties.account_gather_freqency
new path | .components.schemas."v0.0.37_job_properties".properties.account_gather_frequency

#### Fix misspelling: change cluster_constraints to cluster_constraint (only the spec was wrong; the underlying code already worked with the correct spelling).

previous path | .components.schemas."v0.0.37_job_properties".properties.cluster_constraints
new path | .components.schemas."v0.0.37_job_properties".properties.cluster_constraint

## Slurm 21.08.6

### openapi/dbv0.0.37

#### Add association fields

new fields

- .components.schemas."dbv0.0.37_association".properties.is_default
- .components.schemas."dbv0.0.37_association".properties.max.tres.group.minutes
- .components.schemas."dbv0.0.37_association".properties.max.tres.group.active
- .components.schemas."dbv0.0.37_association".properties.max.jobs.active
- .components.schemas."dbv0.0.37_association".properties.max.jobs.accruing
- .components.schemas."dbv0.0.37_association".properties.max.jobs.total
- .components.schemas."dbv0.0.37_association".properties.max.tres.minutes.per.job

#### Move incorrectly named field

old path | .components.schemas."dbv0.0.37_qos".properties.limits.max.jobs.per.account
new path | .components.schemas."dbv0.0.37_qos".properties.limits.max.jobs.active_jobs.per.account

#### Move incorrectly named field

old path | .components.schemas."dbv0.0.37_qos".properties.limits.properties.max.properties.jobs.properties.per.properties.user
new path | .components.schemas."dbv0.0.37_qos".properties.limits.properties.max.properties.jobs.properties.active_jobs.properties.per.properties.user

#### Add QOS fields

new fields

- .components.schemas."dbv0.0.37_qos".properties.limits.properties.factor
- .components.schemas."dbv0.0.37_qos".properties.limits.properties.max.properties.accruing.properties.per.properties.account
- .components.schemas."dbv0.0.37_qos".properties.limits.properties.max.properties.accruing.properties.per.properties.user

## Slurm 21.08.3

### openapi/v0.0.37

#### Allow strings for JobIds instead of only numerical JobIds.

Change job_id parameter to string

- .paths."/job/{job_id}".get.parameters[].schema
- .paths."/job/{job_id}".post.parameters[].schema
- .paths."/job/{job_id}".delete.parameters[].schema

### openapi/dbv0.0.37

#### Correct placement of step TRES

previous path | .components.schemas."dbv0.0.37_job_step".properties.step.properties.tres
new path | .components.schemas."dbv0.0.37_job_step".properties.tres

### openapi/dbv0.0.36

#### Correct placement of step TRES

previous path | .components.schemas."dbv0.0.36_job_step".properties.step.properties.tres
new path | .components.schemas."dbv0.0.36_job_step".properties.tres

## Slurm 21.08.0

All of the OpenAPI plugins have moved from "src/slurmrestd/plugins/openapi/" to "src/plugins/openapi/".

### openapi/v0.0.35

#### Deprecation notice

The v0.0.35 plugin has now been deprecated.

### openapi/dbv0.0.37

#### add plugin

new dbv0.0.37 openapi plugin

- clone of existing dbv0.0.36 openapi plugin
- all paths renamed from v0.0.36 to v0.0.37

#### rename previous -> reason

previous path | .components.schemas."dbv0.0.37_job".properties.state.previous
new path | .components.schemas."dbv0.0.37_job".properties.state.reason

### openapi/v0.0.37

#### add plugin

new v0.0.37 openapi plugin

- clone of existing v0.0.36 openapi plugin
- all paths renamed from v0.0.36 to v0.0.37

#### rename standard_in -> standard_input

previous path | .components.schemas."v0.0.37_job_response_properties".properties.standard_in
new path | .components.schemas."v0.0.37_job_response_properties".properties.standard_input

#### rename standard_out -> standard_output

previous path | .components.schemas."v0.0.37_job_response_properties".properties.standard_out
new path | .components.schemas."v0.0.37_job_response_properties".properties.standard_output

#### Add update_time field to Jobs query to allow clients to only get jobs list based on change timestamp.

new path | .paths."/jobs/".get.parameters[0]

#### add api to fetch reservation(s) info

added path | .paths."/reservations/"
added path | .paths."/reservation/{reservation_name}"
added path | .components.schemas."v0.0.37_reservation"

#### Mark job environment as required

new path | .components.schemas."v0.0.37_job_properties".required

#### Correct preemption_mode type to list of strings

modify path | .components.schemas."v0.0.37_partition".properties.preemption_mode

#### Set UNIX timestamps to int64 instead of string

modify path | .components.schemas."v0.0.37_job_response_properties".properties.accrue_time
modify path | .components.schemas."v0.0.37_job_response_properties".properties.eligible_time
modify path | .components.schemas."v0.0.37_job_response_properties".properties.end_time
modify path | .components.schemas."v0.0.37_job_response_properties".properties.preempt_time
modify path | .components.schemas."v0.0.37_job_response_properties".properties.pre_sus_time
modify path | .components.schemas."v0.0.37_job_response_properties".properties.resize_time

#### Add new fields to node properties

add path | .components.schemas."v0.0.37_node".properties.tres_used
add path | .components.schemas."v0.0.37_node".properties.tres_weighted
add path | .components.schemas."v0.0.37_node".properties.alloc_cpus
add path | .components.schemas."v0.0.37_node".properties.idle_cpus
add path | .components.schemas."v0.0.37_node".properties.alloc_memory
add path | .components.schemas."v0.0.37_node".properties.partitions

#### replace nodes_online with state in /partitions endpoint

####

removed path | .components.schemas."v0.0.37_partitions_response".nodes_online
added path | .components.schemas."v0.0.37_partitions_response".state

#### Add POST method for /associations

####

new path | .paths."/associations/".post
new path | .components.schemas."dbv0.0.37_response_associations"