Changelog ========= Summary of API changes since version v25.10.5. Methods Added ------------- **api_key** - :doc:`api_key.convert_raw_key ` **app** - :doc:`app.upgrade_bulk ` **catalog** - :doc:`catalog.synced ` **cloudsync.credentials** - :doc:`cloudsync.credentials.s3_provider_choices ` **container** - :doc:`container.create ` - :doc:`container.delete ` - :doc:`container.get_instance ` - :doc:`container.migrate ` - :doc:`container.pool_choices ` - :doc:`container.query ` - :doc:`container.start ` - :doc:`container.stop ` - :doc:`container.update ` **container.device** - :doc:`container.device.create ` - :doc:`container.device.delete ` - :doc:`container.device.get_instance ` - :doc:`container.device.gpu_choices ` - :doc:`container.device.nic_attach_choices ` - :doc:`container.device.query ` - :doc:`container.device.update ` - :doc:`container.device.usb_choices ` **container.image** - :doc:`container.image.query_registry ` **disk** - :doc:`disk.reset_sed ` - :doc:`disk.setup_sed ` - :doc:`disk.unlock_sed ` **interface** - :doc:`interface.available_fec_modes ` **lxc** - :doc:`lxc.bridge_choices ` - :doc:`lxc.config ` - :doc:`lxc.update ` **pool** - :doc:`pool.prefetch ` - :doc:`pool.reimport ` **privilege** - :doc:`privilege.become_readonly ` **sharing.webshare** - :doc:`sharing.webshare.create ` - :doc:`sharing.webshare.delete ` - :doc:`sharing.webshare.get_instance ` - :doc:`sharing.webshare.query ` - :doc:`sharing.webshare.update ` **smb** - :doc:`smb.status ` **system.advanced** - :doc:`system.advanced.nvidia_present ` **tn_connect** - :doc:`tn_connect.ips_with_hostnames ` **truenas.license** - :doc:`truenas.license.fingerprint ` - :doc:`truenas.license.info ` - :doc:`truenas.license.upload ` **webshare** - :doc:`webshare.bindip_choices ` - :doc:`webshare.config ` - :doc:`webshare.update ` **zfs.resource** - :doc:`zfs.resource.destroy ` **zfs.resource.snapshot** - :doc:`zfs.resource.snapshot.clone ` - :doc:`zfs.resource.snapshot.count ` - :doc:`zfs.resource.snapshot.create ` - :doc:`zfs.resource.snapshot.destroy ` - :doc:`zfs.resource.snapshot.hold ` - :doc:`zfs.resource.snapshot.holds ` - :doc:`zfs.resource.snapshot.query ` - :doc:`zfs.resource.snapshot.release ` - :doc:`zfs.resource.snapshot.rename ` - :doc:`zfs.resource.snapshot.rollback ` **zfs.tier** - :doc:`zfs.tier.config ` - :doc:`zfs.tier.dataset_set_tier ` - :doc:`zfs.tier.rewrite_job_cancel ` - :doc:`zfs.tier.rewrite_job_create ` - :doc:`zfs.tier.rewrite_job_failures ` - :doc:`zfs.tier.rewrite_job_query ` - :doc:`zfs.tier.rewrite_job_recover ` - :doc:`zfs.tier.rewrite_job_status ` - :doc:`zfs.tier.update ` **zpool** - :doc:`zpool.query ` **zpool.scrub** - :doc:`zpool.scrub.run ` Methods with Schema Changes --------------------------- **alert** - :doc:`alert.list_categories ` - Call parameters: - added parameter `options` (optional) - Return value: - added `[].classes[].product_types` (required) **api_key** - :doc:`api_key.create ` - Return value: - added `client_key` (required) - added `iterations` (required) - added `salt` (required) - added `server_key` (required) - added `stored_key` (required) - removed `keyhash` - :doc:`api_key.get_instance ` - Return value: - added `iterations` (required) - added `salt` (required) - added `server_key` (required) - added `stored_key` (required) - removed `keyhash` - :doc:`api_key.my_keys ` - Return value: - added `[].iterations` (required) - added `[].salt` (required) - added `[].server_key` (required) - added `[].stored_key` (required) - removed `[].keyhash` - :doc:`api_key.query ` - Return value: - added `ApiKeyEntry.iterations` (required) - added `ApiKeyEntry.salt` (required) - added `ApiKeyEntry.server_key` (required) - added `ApiKeyEntry.stored_key` (required) - removed `ApiKeyEntry.keyhash` - added `[].iterations` (required) - added `[].salt` (required) - added `[].server_key` (required) - added `[].stored_key` (required) - removed `[].keyhash` - :doc:`api_key.update ` - Return value: - added `ApiKeyEntry.iterations` (required) - added `ApiKeyEntry.salt` (required) - added `ApiKeyEntry.server_key` (required) - added `ApiKeyEntry.stored_key` (required) - removed `ApiKeyEntry.keyhash` - added `ApiKeyEntryWithKey.client_key` (required) - added `ApiKeyEntryWithKey.iterations` (required) - added `ApiKeyEntryWithKey.salt` (required) - added `ApiKeyEntryWithKey.server_key` (required) - added `ApiKeyEntryWithKey.stored_key` (required) - removed `ApiKeyEntryWithKey.keyhash` **app** - :doc:`app.convert_to_custom ` - Return value: - added `action_required` (required) - added `latest_app_version` (required) - :doc:`app.create ` - Return value: - added `action_required` (required) - added `latest_app_version` (required) - :doc:`app.get_instance ` - Return value: - added `action_required` (required) - added `latest_app_version` (required) - :doc:`app.query ` - Return value: - added `AppEntry.action_required` (required) - added `AppEntry.latest_app_version` (required) - added `[].action_required` (required) - added `[].latest_app_version` (required) - :doc:`app.redeploy ` - Return value: - added `action_required` (required) - added `latest_app_version` (required) - :doc:`app.rollback ` - Return value: - added `action_required` (required) - added `latest_app_version` (required) - :doc:`app.update ` - Return value: - added `action_required` (required) - added `latest_app_version` (required) - :doc:`app.upgrade ` - Return value: - added `action_required` (required) - added `latest_app_version` (required) **app.image** - :doc:`app.image.get_instance ` - Return value: - `author` type changed (string → string | null) - `comment` type changed (string → string | null) - `created` type changed (string → string | null) - :doc:`app.image.query ` - Return value: - `AppImageEntry.author` type changed (string → string | null) - `AppImageEntry.comment` type changed (string → string | null) - `AppImageEntry.created` type changed (string → string | null) - `[].author` type changed (string → string | null) - `[].comment` type changed (string → string | null) - `[].created` type changed (string → string | null) **audit** - :doc:`audit.export ` - Call parameters: - parameter `data` became optional - removed `data.query-options.count` - removed `data.query-options.extra` - removed `data.query-options.get` - `data.query-options` default value added - :doc:`audit.query ` - Call parameters: - parameter `data` became optional - `data.query-options` default value added - Return value: - added variant `AuditQueryResultItem` - added `[].address` (required) - added `[].audit_id` (required) - added `[].event` (required) - added `[].event_data` (required) - added `[].message_timestamp` (required) - added `[].service` (required) - added `[].service_data` (required) - added `[].session` (required) - added `[].success` (required) - added `[].timestamp` (required) - added `[].username` (required) - added variant `array` **auth** - :doc:`auth.login_ex ` - Call parameters: - parameter `login_data`: added variant `AuthSCRAM` - added `login_data.AuthApiKeyPlain.login_options.reconnect_token` - `login_data.AuthApiKeyPlain.login_options` default value changed ({"user_info": true} → {"user_info": true, "reconnect_token": false}) - added `login_data.AuthOTPToken.login_options.reconnect_token` - `login_data.AuthOTPToken.login_options` default value changed ({"user_info": true} → {"user_info": true, "reconnect_token": false}) - added `login_data.AuthPasswordPlain.login_options.reconnect_token` - `login_data.AuthPasswordPlain.login_options` default value changed ({"user_info": true} → {"user_info": true, "reconnect_token": false}) - added `login_data.AuthTokenPlain.login_options.reconnect_token` - `login_data.AuthTokenPlain.login_options` default value changed ({"user_info": true} → {"user_info": true, "reconnect_token": false}) - Return value: - added variant `AuthRespDenied` - added variant `AuthRespScram` - added `AuthRespSuccess.reconnect_token` (required) - :doc:`auth.login_ex_continue ` - Call parameters: - added `login_data.login_options.reconnect_token` - `login_data.login_options` default value changed ({"user_info": true} → {"user_info": true, "reconnect_token": false}) - Return value: - added variant `AuthRespDenied` - added `AuthRespSuccess.reconnect_token` (required) **boot** - :doc:`boot.get_state ` - Return value: - added `all_sed` (required) - `scan`: added variant `PoolScan` - `scan`: removed variant `object` **catalog** - :doc:`catalog.apps ` - Call parameters: - parameter `catalog_apps_options` renamed to `data` - :doc:`catalog.get_app_details ` - Return value: - added `versions` (required) - :doc:`catalog.update ` - Call parameters: - parameter `catalog_update` renamed to `data` **cloud_backup** - :doc:`cloud_backup.create ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `credentials.provider.S3CredentialsModel.force_path_style` - added `credentials.provider.S3CredentialsModel.provider` - added `credentials.provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloud_backup.get_instance ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `credentials.provider.S3CredentialsModel.force_path_style` - added `credentials.provider.S3CredentialsModel.provider` - added `credentials.provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloud_backup.query ` - Return value: - added `CloudBackupEntry.dataset` (required) - added `CloudBackupEntry.relative_path` (required) - added `[].dataset` (required) - added `[].relative_path` (required) - added `[].credentials.provider.S3CredentialsModel.force_path_style` - added `[].credentials.provider.S3CredentialsModel.provider` - added `[].credentials.provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloud_backup.update ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `credentials.provider.S3CredentialsModel.force_path_style` - added `credentials.provider.S3CredentialsModel.provider` - added `credentials.provider.S3CredentialsModel.sign_accept_encoding` **cloudsync** - :doc:`cloudsync.create ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `credentials.provider.S3CredentialsModel.force_path_style` - added `credentials.provider.S3CredentialsModel.provider` - added `credentials.provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloudsync.get_instance ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `credentials.provider.S3CredentialsModel.force_path_style` - added `credentials.provider.S3CredentialsModel.provider` - added `credentials.provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloudsync.query ` - Return value: - added `CloudSyncEntry.dataset` (required) - added `CloudSyncEntry.relative_path` (required) - added `[].dataset` (required) - added `[].relative_path` (required) - added `[].credentials.provider.S3CredentialsModel.force_path_style` - added `[].credentials.provider.S3CredentialsModel.provider` - added `[].credentials.provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloudsync.restore ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `credentials.provider.S3CredentialsModel.force_path_style` - added `credentials.provider.S3CredentialsModel.provider` - added `credentials.provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloudsync.update ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `credentials.provider.S3CredentialsModel.force_path_style` - added `credentials.provider.S3CredentialsModel.provider` - added `credentials.provider.S3CredentialsModel.sign_accept_encoding` **cloudsync.credentials** - :doc:`cloudsync.credentials.create ` - Call parameters: - added `cloud_sync_credentials_create.provider.S3CredentialsModel.force_path_style` - added `cloud_sync_credentials_create.provider.S3CredentialsModel.provider` - added `cloud_sync_credentials_create.provider.S3CredentialsModel.sign_accept_encoding` - Return value: - added `provider.S3CredentialsModel.force_path_style` - added `provider.S3CredentialsModel.provider` - added `provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloudsync.credentials.get_instance ` - Return value: - added `provider.S3CredentialsModel.force_path_style` - added `provider.S3CredentialsModel.provider` - added `provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloudsync.credentials.query ` - Return value: - added `[].provider.S3CredentialsModel.force_path_style` - added `[].provider.S3CredentialsModel.provider` - added `[].provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloudsync.credentials.update ` - Call parameters: - added `cloud_sync_credentials_update.provider.S3CredentialsModel.force_path_style` - added `cloud_sync_credentials_update.provider.S3CredentialsModel.provider` - added `cloud_sync_credentials_update.provider.S3CredentialsModel.sign_accept_encoding` - Return value: - added `provider.S3CredentialsModel.force_path_style` - added `provider.S3CredentialsModel.provider` - added `provider.S3CredentialsModel.sign_accept_encoding` - :doc:`cloudsync.credentials.verify ` - Call parameters: - added `cloud_sync_credentials_create.S3CredentialsModel.force_path_style` - added `cloud_sync_credentials_create.S3CredentialsModel.provider` - added `cloud_sync_credentials_create.S3CredentialsModel.sign_accept_encoding` **disk** - :doc:`disk.update ` - Call parameters: - added `data.sed` - added `data.sed_status` **docker** - :doc:`docker.config ` - Return value: - added `registry_mirrors` (required) - removed `insecure_registry_mirrors` - removed `nvidia` - removed `secure_registry_mirrors` - :doc:`docker.update ` - Call parameters: - added `docker_update.registry_mirrors` - removed `docker_update.insecure_registry_mirrors` - removed `docker_update.nvidia` - removed `docker_update.secure_registry_mirrors` - Return value: - added `registry_mirrors` (required) - removed `insecure_registry_mirrors` - removed `nvidia` - removed `secure_registry_mirrors` **fcport** - :doc:`fcport.status ` - Call parameters: - added `options.extra.with_lun_access` - `options.extra`: additional properties no longer allowed - `options.extra` default value changed ({} → {"with_lun_access": true}) - parameter `options` default value changed **filesystem** - :doc:`filesystem.set_zfs_attributes ` - Call parameters: - added `set_zfs_file_attributes.options` - :doc:`filesystem.setacl ` - Call parameters: - removed `filesystem_acl.options.canonicalize` - `filesystem_acl.options` default value changed **filesystem.acltemplate** - :doc:`filesystem.acltemplate.by_path ` - Call parameters: - removed `filesystem_acl.format-options.canonicalize` - `filesystem_acl.format-options` default value changed - removed `filesystem_acl.query-options.count` - removed `filesystem_acl.query-options.extra` - removed `filesystem_acl.query-options.get` - removed `filesystem_acl.query-options.select` - `filesystem_acl.query-options` default value changed **interface** - :doc:`interface.update ` - Call parameters: - added `data.fec_mode` **iscsi.extent** - :doc:`iscsi.extent.create ` - Return value: - added `dataset` (required) - added `relative_path` (required) - :doc:`iscsi.extent.get_instance ` - Return value: - added `dataset` (required) - added `relative_path` (required) - :doc:`iscsi.extent.query ` - Return value: - added `[].dataset` (required) - added `[].relative_path` (required) - added `iSCSITargetExtentEntry.dataset` (required) - added `iSCSITargetExtentEntry.relative_path` (required) - :doc:`iscsi.extent.update ` - Return value: - added `dataset` (required) - added `relative_path` (required) **iscsi.global** - :doc:`iscsi.global.config ` - Return value: - added `direct_config` (required) - added `mode` (required) - :doc:`iscsi.global.sessions ` - Return value: - type changed (array → array | ISCSIGlobalSessionsItem | object | integer) - :doc:`iscsi.global.update ` - Call parameters: - added `iscsi_update.direct_config` - added `iscsi_update.mode` - Return value: - added `direct_config` (required) - added `mode` (required) **mail** - :doc:`mail.send ` - Return value: - type changed (boolean → null) **nvmet.host** - :doc:`nvmet.host.create ` - Call parameters: - added `nvmet_host_create.description` - Return value: - added `description` - :doc:`nvmet.host.get_instance ` - Return value: - added `description` - :doc:`nvmet.host.query ` - Return value: - added `NVMetHostEntry.description` - added `[].description` - :doc:`nvmet.host.update ` - Call parameters: - added `nvmet_host_update.description` - Return value: - added `description` **nvmet.host_subsys** - :doc:`nvmet.host_subsys.create ` - Return value: - added `host.description` - :doc:`nvmet.host_subsys.get_instance ` - Return value: - added `host.description` - :doc:`nvmet.host_subsys.query ` - Return value: - added `[].host.description` - :doc:`nvmet.host_subsys.update ` - Return value: - added `host.description` **nvmet.namespace** - :doc:`nvmet.namespace.create ` - Return value: - added `dataset` (required) - added `relative_path` (required) - :doc:`nvmet.namespace.get_instance ` - Return value: - added `dataset` (required) - added `relative_path` (required) - :doc:`nvmet.namespace.query ` - Return value: - added `NVMetNamespaceEntry.dataset` (required) - added `NVMetNamespaceEntry.relative_path` (required) - added `[].dataset` (required) - added `[].relative_path` (required) - :doc:`nvmet.namespace.update ` - Return value: - added `dataset` (required) - added `relative_path` (required) **pool** - :doc:`pool.create ` - Call parameters: - added `data.all_sed` - added `data.force_topology` - `data.encryption_options.pbkdf2iters` default value changed (350000 → 1300000) - `data.topology.data[]`: added variant `PoolCreateTopologyVdevDRAID` - `data.topology.data[]`: added variant `PoolCreateTopologyVdevNonDRAID` - `data.topology.data[]`: removed variant `PoolCreateTopologyDataVdevDRAID` - `data.topology.data[]`: removed variant `PoolCreateTopologyDataVdevNonDRAID` - `data.topology.special[]` type changed (object → PoolCreateTopologyVdevDRAID | PoolCreateTopologyVdevNonDRAID) - Return value: - added `all_sed` (required) - `scan`: added variant `PoolScan` - `scan`: removed variant `object` - :doc:`pool.get_instance ` - Return value: - added `all_sed` (required) - `scan`: added variant `PoolScan` - `scan`: removed variant `object` - :doc:`pool.query ` - Return value: - added `PoolEntry.all_sed` (required) - `PoolEntry.scan` type changed (object | null → any | null) - added `[].all_sed` (required) - `[].scan`: added variant `PoolScan` - `[].scan`: removed variant `object` - :doc:`pool.update ` - Call parameters: - added `data.all_sed` - added `data.force_topology` - `data.topology.data[]`: added variant `PoolCreateTopologyVdevDRAID` - `data.topology.data[]`: added variant `PoolCreateTopologyVdevNonDRAID` - `data.topology.data[]`: removed variant `PoolCreateTopologyDataVdevDRAID` - `data.topology.data[]`: removed variant `PoolCreateTopologyDataVdevNonDRAID` - `data.topology.special[]` type changed (object → PoolCreateTopologyVdevDRAID | PoolCreateTopologyVdevNonDRAID) - Return value: - added `all_sed` (required) - `scan`: added variant `PoolScan` - `scan`: removed variant `object` **pool.dataset** - :doc:`pool.dataset.change_key ` - Call parameters: - `options.pbkdf2iters` default value changed (350000 → 1300000) - :doc:`pool.dataset.create ` - Call parameters: - `data.PoolDatasetCreateFilesystem.encryption_options.pbkdf2iters` default value changed (350000 → 1300000) - `data.PoolDatasetCreateVolume.encryption_options.pbkdf2iters` default value changed (350000 → 1300000) - :doc:`pool.dataset.get_quota ` - Call parameters: - parameter `options` became optional - Return value: - type changed (array → array | object | integer) **pool.snapshot** - :doc:`pool.snapshot.create ` - Call parameters: - added `data.PoolSnapshotCreateWithName.suspend_vms` - added `data.PoolSnapshotCreateWithSchema.suspend_vms` - :doc:`pool.snapshot.rename ` - Call parameters: - added `options.recursive` **replication** - :doc:`replication.target_unmatched_snapshots ` - Return value: - `[*]` type changed (string → array) **reporting** - :doc:`reporting.get_data ` - Call parameters: - `graphs[].name`: removed enum value "arcactualrate" - `graphs[].name`: removed enum value "arcrate" - `graphs[].name`: removed enum value "arcresult" - Return value: - `[].aggregations` type changed (object → Aggregations | null) - :doc:`reporting.graph ` - Return value: - `[].aggregations` type changed (object → Aggregations | null) - :doc:`reporting.netdata_get_data ` - Call parameters: - `graphs[].name`: removed enum value "arcactualrate" - `graphs[].name`: removed enum value "arcrate" - `graphs[].name`: removed enum value "arcresult" - Return value: - `[].aggregations` type changed (object → Aggregations | null) - :doc:`reporting.netdata_graph ` - Return value: - `[].aggregations` type changed (object → Aggregations | null) **rsynctask** - :doc:`rsynctask.create ` - Return value: - added `dataset` (required) - added `relative_path` (required) - :doc:`rsynctask.get_instance ` - Return value: - added `dataset` (required) - added `relative_path` (required) - :doc:`rsynctask.query ` - Return value: - added `RsyncTaskEntry.dataset` (required) - added `RsyncTaskEntry.relative_path` (required) - added `[].dataset` (required) - added `[].relative_path` (required) - :doc:`rsynctask.update ` - Return value: - added `dataset` (required) - added `relative_path` (required) **sharing.nfs** - :doc:`sharing.nfs.create ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `tier` - :doc:`sharing.nfs.get_instance ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `tier` - :doc:`sharing.nfs.query ` - Return value: - added `SharingNFSEntry.dataset` (required) - added `SharingNFSEntry.relative_path` (required) - added `SharingNFSEntry.tier` - added `[].dataset` (required) - added `[].relative_path` (required) - added `[].tier` - :doc:`sharing.nfs.update ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `tier` **sharing.smb** - :doc:`sharing.smb.create ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `tier` - :doc:`sharing.smb.get_instance ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `tier` - :doc:`sharing.smb.getacl ` - Return value: - `share_acl[].ae_perm`: added enum value "CUSTOM" - :doc:`sharing.smb.query ` - Return value: - added `SharingSMBEntry.dataset` (required) - added `SharingSMBEntry.relative_path` (required) - added `SharingSMBEntry.tier` - added `[].dataset` (required) - added `[].relative_path` (required) - added `[].tier` - :doc:`sharing.smb.setacl ` - Call parameters: - `smb_setacl.share_acl[].ae_perm`: added enum value "CUSTOM" - Return value: - `share_acl[].ae_perm`: added enum value "CUSTOM" - :doc:`sharing.smb.update ` - Return value: - added `dataset` (required) - added `relative_path` (required) - added `tier` **smb** - :doc:`smb.config ` - Return value: - added `minimum_protocol` (required) - added `search_protocols` - added `stateful_failover` (required) - removed `enable_smb1` - :doc:`smb.update ` - Call parameters: - added `smb_update.minimum_protocol` - added `smb_update.search_protocols` - added `smb_update.stateful_failover` - removed `smb_update.enable_smb1` - Return value: - added `minimum_protocol` (required) - added `search_protocols` - added `stateful_failover` (required) - removed `enable_smb1` **support** - :doc:`support.new_ticket ` - Return value: - added `debug_attach_error` (required) **system** - :doc:`system.feature_enabled ` - Call parameters: - parameter `feature`: added enum value "APPS" - parameter `feature`: added enum value "SED" - parameter `feature`: added enum value "SUPPORT" - parameter `feature`: added enum value "VMS" - parameter `feature`: added enum value "ZFSTIER" - parameter `feature`: removed enum value "VM" **system.advanced** - :doc:`system.advanced.update ` - Call parameters: - added `data.nvidia` **system.general** - :doc:`system.general.config ` - Return value: - added `ui_certificate_name` (required) - `ui_certificate` type changed (object | null → integer | null) - :doc:`system.general.update ` - Return value: - added `ui_certificate_name` (required) - `ui_certificate` type changed (object | null → integer | null) **tn_connect** - :doc:`tn_connect.config ` - Return value: - added `last_heartbeat_failure_datetime` (required) - added `tier` (required) - removed `interfaces` - removed `interfaces_ips` - removed `ips` - removed `use_all_interfaces` - :doc:`tn_connect.update ` - Call parameters: - removed `tn_connect_update.interfaces` - removed `tn_connect_update.ips` - removed `tn_connect_update.use_all_interfaces` - Return value: - added `last_heartbeat_failure_datetime` (required) - added `tier` (required) - removed `interfaces` - removed `interfaces_ips` - removed `ips` - removed `use_all_interfaces` **truecommand** - :doc:`truecommand.config ` - Return value: - `status_reason`: added enum value "Truecommand service is disabled on standby controller" - :doc:`truecommand.update ` - Return value: - `status_reason`: added enum value "Truecommand service is disabled on standby controller" **truenas** - :doc:`truenas.set_production ` - Return value: - added variant `SupportNewTicket` - removed variant `object` **ups** - :doc:`ups.update ` - Call parameters: - parameter `ups_update` renamed to `data` **user** - :doc:`user.create ` - Call parameters: - added `user_create.webshare` - Return value: - added `webshare` - :doc:`user.get_instance ` - Return value: - added `webshare` - :doc:`user.query ` - Return value: - added `UserEntry.webshare` - added `[].webshare` - :doc:`user.renew_2fa_secret ` - Call parameters: - `twofactor_options.interval`: added enum value 30 - `twofactor_options.interval`: added enum value 60 - Return value: - added `webshare` - :doc:`user.update ` - Call parameters: - added `user_update.webshare` - Return value: - added `webshare` **vm** - :doc:`vm.create ` - Return value: - `status.domain_state` type changed (string → string | null) - :doc:`vm.delete ` - Return value: - type changed (boolean → null) - :doc:`vm.get_instance ` - Return value: - `status.domain_state` type changed (string → string | null) - :doc:`vm.query ` - Return value: - `[].status.domain_state` type changed (string → string | null) - :doc:`vm.status ` - Return value: - `domain_state` type changed (string → string | null) - :doc:`vm.update ` - Return value: - `status.domain_state` type changed (string → string | null) **vm.device** - :doc:`vm.device.nic_attach_choices ` - Return value: - added `BRIDGE` (required) - added `MACVLAN` (required) - additional properties no longer allowed - :doc:`vm.device.usb_controller_choices ` - Return value: - `[*]` type changed (any → string) - :doc:`vm.device.usb_passthrough_choices ` - Return value: - added `[*].description` (required) - :doc:`vm.device.usb_passthrough_device ` - Return value: - added `description` (required) **vmware** - :doc:`vmware.query ` - Return value: - `VMWareEntry.state` type changed (object → any) **webui.main.dashboard** - :doc:`webui.main.dashboard.sys_info ` - Return value: - removed `codename` - removed `remote_info.RemoteInfo.codename` **zfs.resource** - :doc:`zfs.resource.query ` - Call parameters: - added `data.get_tier` - added `data.max_depth` - `data.get_source` default value changed (true → false) - parameter `data` default value changed - Return value: - added `[].tier` - `[].properties` type changed (object → object | null)