Skip to content

azure-search-documents 12.1.0b1 no longer exports deserialize/serialize for SearchIndex #47873

Description

@pamelafox

Package Name
azure-search-documents

Package Version
12.1.0b1

Operating System
macOS

Python Version
3.14

Describe the bug
This is a public API regression because the practical round-trip helpers are now only available through underscored methods, forcing external callers to choose between using internal APIs or re-implementing the behavior themselves.

In azure-search-documents==12.1.0b1, SearchIndex no longer exposes clear public serialize() / deserialize() methods for external callers. The functionality still appears to exist through underscored methods such as _serialize and _deserialize, but external developers should not be expected to rely on underscored methods as public SDK contract.

To Reproduce

  1. Install azure-search-documents==12.1.0b1
  2. Run:
from azure.search.documents.indexes.models import SearchIndex

index = SearchIndex(name="x", fields=[])

for name in ["serialize", "deserialize", "_serialize", "_deserialize", "as_dict"]:
    print(name, hasattr(index, name), getattr(index, name, None))

Expected behavior
There should be a clear, public round-trip API for SearchIndex models.

Ideally one of these should be true:

  • serialize() and deserialize() are publicly exposed and supported
  • the documentation explicitly states that some other non-underscored API is the supported replacement

Actual behavior
The obvious public methods are not available, while the internal underscored methods remain present. That leaves external callers in an awkward position: either depend on internal methods that are not part of the public contract, or re-implement serialization/deserialization behavior themselves.

Screenshots
N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    SearchService AttentionWorkflow: This issue is responsible by Azure service team.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Untriaged

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions