pyVmomi SDK 8.0 Release Notes

This document contains the following sections

Introduction

pyVmomi SDK
vSphere 8.0 Update 3 | 25 June 2024
Last document update 27 June 2024
Check for additions and updates to these release notes.

Maintenance Patch 1 for 8.0U3

Resolved Issues
The maintenance patch release resolved the following issue.
  • Due to a dependency issue in the
    setup.py
    script, the greenfield installation of pyVmomi fails.
    This issue is resolved in this release. See the
    e4fd849
    commit.

vSphere 8.0 Update 3

What's New
With vSphere 8.0 Update 3, pyVmomi offers the following improvements:
  • Support is added for the vSAN Health APIs.
  • The bindings with support for the vSphere 8.0 Update 3 APIs are updated. For more information, see the vSphere Web Services API reference documentation.
  • Support for the new vSphere Automation APIs provided with vSphere 8.0 Update 3 is included in the vSphere Automation SDK for Python.
  • Type stubs are added for vSAN APIs.
  • All type stubs are refactored.
  • Stub adapters allow the usage of an existing session. See the 35f2743 commit.
  • pyVmomi version is added in the
    User-Agent
    request header. See the 5ad215f commit.
  • certFile
    and
    certKeyFile
    attributes are added to SoapAdapter.py. See the 2bbfb62 commit.
  • Project wide variables are added to hold the current pyVmomi version -
    version_info
    and
    version_info_str
    . See the 5ad215f commit.
  • The following functions are added to VmomiSupport.py to list all types -
    ListManagedTypes()
    ,
    ListDataTypes()
    , and
    ListEnumTypes()
    . See the 9e303c1 and e43a287commits.
  • The CHANGELOG file is updated.
  • The dependency on
    pywin32
    is removed. See the 4bc1f52 commit.
  • The non-remote ManagedObject and DataObject methods are documented. See the 472bdfc commit.
  • The support statement now reflects the Broadcom support policy. See the c68913e commit.
  • The copyright is updated. See the 10c3732 commit.
Compatibility
  • As of vSphere 8.0 Update 3, the pyVmomi client is compatible with Python 3.12. For more information, see Python 3.12 compatibility (44d7b9f).
Deprecated
  • sso.SsoAuthenticator.get_bearer_saml_assertion_gss_api()
    is removed. See the 11dc306 commit.
  • SSLTunnelConnection
    is trimmed down to handle only tunnel connections. The code that handles remote proxy doubles the
    HTTPProxyConnection
    logic and therefore is removed. See the 44d7b9f commit.
Support Notices
Future pyVmomi releases will be compatible with the Supported versions of Python at the time of the release. The list of supported Python versions is documented in the Python Support section of the pyVmomi Readme file. With the next major pyVmomi release, pyVmomi will no longer support Python 2 and all versions earlier than 3.9.
In a future pyVmomi release, VMware intends to discontinue the following features:
  • pyVmomi
    • All pyVmomi settings defined in the will be removed -
      allowGetSet
      ,
      allowCapitalizedNames
      ,
      binaryIsBytearray
      ,
      legacyThumbprintException
      .
    • The Feature.py script will be removed along with the pyVmomi feature states logic.
    • The
      publicVersions
      and
      dottedVersions
      version aliases will be removed from the script. Instead, use the
      ltsVersions
      allias.
    • pyVmomi.VmomiSupport.VmomiJSONEncoder
      will be removed. Instead, use VmomiJSONEncoder.
    • pyVmomi.VmomiSupport.templateOf()
      will be removed. Instead, use VmomiJSONEncoder.templateOf().
    • _legacyThumbprintException
      in the SoapAdapter.py will be removed. Instead, use the
      ThumbprintMismatchException
      class in Security.py.
  • pyVim
    • b64token
      and
      mechanism
      will be removed. Instead, use
      token
      and
      tokenType
      .
    • __GetElementTreeFromUrl()
      will be removed. Instead, use
      __GetElementTree()
      .
    • OpenUrlWithBasicAuth()
      will be removed.
    • OpenPathWithStub()
      will be removed.

Maintenance Patch 1 for 8.0U2

Released 17 Nov 2023
What's New
Added PyPI classifiers for Python 3.10 and Python 3.11. Support for both versions is verified.
Resolved Issues
Fixed: #978 and #1053 - Fix SmartConnect()'s handling of IPv6 address with square brackets

vSphere 8.0U2 Release

Released 28 Sep 2023
What' New

Maintenance Patch 2 for 8.0U1

Released 19 Jul 2023
What's New
Added bindings and type hints for Virtual Storage Lifecycle Management for vSphere 8.0U1 - VSLM namespace.
Resolved Issues
  • Fixed: #1021 - Switch to static imports for type info modules
  • Fixed: #1022 - Support proxy authentication
  • Add custom HTTP headers support to connect.SmartStubAdapter()
  • Missing filters are no longer treated as task failures
  • Various small fixes for docstrings and linter checks
  • Type hints fixes:
    • Fixed: #1026 - Use the "from Y import X as X" format to re-export submodules
    • Fixed: #1030 - Use a fully qualified name when the type is from another namespace/package
  • Tests
    • vcrpy
      dependency is updated to the latest version with Python 2 support
    • testtools
      dependency is removed
    • Travis CI is no longer used
    • Various test updates and fixes. All tests are enabled.

Maintenance Patch 1 for 8.0U1

Released 25 May 2023
Resolved Issues
  • Added missing VMODL1 classes to the type hints
  • Enum values now match the letter case of the values from
    typeinfo
    files
  • Fixed: #1115 - Syntax error in
    vim/__init__pyi
  • Fixed: #1117 - Type stubs: Writable properties are marked as read-only
  • Fixed: #1118 - Type stubs: Missing
    vim.fault.*
    and
    vmodl.fault.*
    types
  • Fixed: #1119 - Type stubs: Enum fields should also accept
    Literal[] str
    type
  • Fixed: #1120 - Type
    stubs: Exception
    types must inherit from
    (Base)Exception

vSphere 8.0U1 Release

Released 6 May 2023
What's New
Resolved Issues
  • Fixed: #750 - Bumped vcrpy tests dependency to 2.1
  • Fixed: #812 - Fix exception leaks
  • Fixed: #1004 - Fix SmartConnect()'s SOAP and OAuth token login

Maintenance Patch 2 for 8.0

Released 18 Jan 2023
What's New
  • This release restores the legacy behavior when retrieving managed properties and array of instances of ManagedObject
Resolved Issues
  • Fixed: #995 - 8.0.0.1 breaks Ansible vmware_content_deploy_ovf_template folder lookup

Maintenance Patch 1 for 8.0

Released 16 Dec 2022
What's New
  • Replace publicVersions with ltsVersions
  • Updated VIM namespace for the next vSphere 8.0 patch release
Resolved Issues
  • Fixed: #993 - WaitForTask broken on version >8.0.0
  • Fixed: #994 - Pyvomi module failing in connect method

vSphere 8.0 Release

Released 24 Nov 2022
What's New
  • Bindings
  • Breaking Changes
    • Minimum Python 2 requirement is 2.7.9
    • DynamicTypeManagerHelper.py
      is removed
    • ManagedMethodExecutorHelper.py
      is removed
    • connect.ConnectNoSSL()
      and
      connect.SmartConnectNoSSL()
      are removed. Use
      connect.Connect(disableSslCertValidation=True)
      and
      connect.SmartConnect(disableSslCertValidation=True)
    • VmomiSupport.UncallableManagedMethod
      is renamed to
      VmomiSupport.UnknownManagedMethod
  • New Modules
    • Security.py
      A new module is added to handle thumbprint verification. There is a predefined set of available crypto functions to verify the certificate thumbprints. Its possible to configure during runtime which of the available crypto functions are allowed.
    • Feature.py
      A new module related to pyVmomi development within VMware.
    • VmomiJSONEncoder.py
      The
      VmomiJSONEncoder
      is moved into a dedicated module.
  • Miscellaneous
    • A new
      binaryIsBytearray
      setting is added to select the base type for the binary type. By default, the binary type is
      str
      for Python 2 and
      bytes
      for Python 3. If
      binaryIsBytearray
      is
      True
      , the binary type for Python 2 is set to
      bytearray
      . Required for
      VmomiJSONEncoder
      to work properly.
    • The license note is removed from the Python files.
      LICENSE.txt
      holds the Apache 2 license note.
    • pyVmomi now uses relative imports
    • Dependency on “requests” is removed
    • Added support for SAML token authentication
    • Added timeout for HTTP requests
    • Added option to set the maximum amount of time a task is allowed to run. On timeout, an exception is generated if
      raiseOnError
      is
      True
      .
    • Add option to get all updates for the task.
    • Add option to use a logger instead of the standard output
    • Various bug fixes
    • Code style improvements
Deprecated
  • connect.OpenUrlWithBasicAuth()
  • connect.OpenPathWithStub()