# API Versioning ChangeLog Our API versioning contains an `APIVER` and an `APIAGE`. The `APIAGE` is the number of versions we're backward compatible with. (iow. things got added without breaking anything unaware of it.) Future changes should be documented in here. ## Version 10: * a new `rename_volume` method has been added Storage plugins with rename support need to enable the `rename` feature flag; e.g. in the `volume_has_feature` method. * Replace `volume_snapshot_list` with `volume_snapshot_info`: `volume_snapshot_list` was used exclusively by replication and currently, replication is only allowed for the storage type `zfspool`. Thus, no external plugins should be affected by this change and `APIAGE` is *not* reset. `volume_snapshot_info` returns a hash with snapshot names as keys and `id` and `timestamp` data for each snapshot, rather than just an array of snaphsot names like `volume_snapshot_list` did. * Add `blockers` parameter to `volume_rollback_is_possible`: The parameter *can* be used to return a list of snapshots that is currently preventing rollback. * Replace get/update_volume_notes with generic get/update_volume_attribute falling back to the old implementation for notes until we reset APIAGE. the new method optionally also supports querying/setting a protected flag. ## Version 9: (AGE resets to 0): * volume_import_formats gets a new parameter *inserted*: Old signature: sub($plugin, $scfg, $storeid, $volname, $base_snapshot, $with_snapshots) New signature: sub($plugin, $scfg, $storeid, $volname, $snapshot, $base_snapshot, $with_snapshots) This is now the same as `volume_export_formats`. The same goes for calls to `PVE::Storage::volume_import_formats`, which now takes a `$snapshot` parameter in the same place. * $with_snapshots *may* now be an array reference containing an ordered list of snapshots, but *may* also just be a boolean, and the contained list *may* be ignored, so it can still be treated as a boolean.