Skip to content

Commit 017da14

Browse files
hizixinCopilot
andauthored
[Search] Regenerate azure-search-documents for 2026-05-01-preview (#46933)
Bump to 12.1.0b1, regenerated from spec Azure/azure-rest-api-specs@8be8c75. Adds new knowledge source kinds, V2 tokenizers, SharePoint connector configuration, and send_request on all clients. See CHANGELOG for the full feature and breaking-change list. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent efc5ede commit 017da14

91 files changed

Lines changed: 12653 additions & 1186 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

sdk/search/azure-search-documents/.github/skills/azure-search-documents/SKILL.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,9 @@ For each new method, pick the exposure path:
122122

123123
5. **List projection wrapper** — for `list_*`. Add a `select` parameter, a name-only projection via `cls` callback (`list_index_names`, `list_indexer_names`, `list_skillset_names`), or convert a generated projection type back to the canonical model via `_convert_index_response`.
124124

125-
6. **Re-export via `__all__`** — any NEW symbol you add or override in `_patch.py` MUST be appended to that file's `__all__`. Otherwise `patch_sdk()` will not surface it.
125+
6. **Friendly-input wrapper** — when a generated parameter takes a structured string the caller would otherwise assemble by hand, add an optional higher-level kwarg that builds it from simpler inputs. Keep the raw parameter accepted too.
126+
127+
7. **Re-export via `__all__`** — any NEW symbol you add or override in `_patch.py` MUST be appended to that file's `__all__`. Otherwise `patch_sdk()` will not surface it.
126128

127129
```powershell
128130
venv python -c "import azure.search.documents as m; print(sorted(m.__all__))"

sdk/search/azure-search-documents/.github/skills/azure-search-documents/references/release.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,26 @@ If the current branch differs from the inventories in many places, consider rege
1919

2020
## CHANGELOG conventions
2121

22-
Use `azsdk_package_update_changelog_content` to draft entries, then review and adjust.
22+
### Drafting changelog entries
2323

24-
The generated SDK code is the source of truth for CHANGELOG content. If something exists in generated code, treat it as present. Fall back to the TypeSpec config in the spec PR only when the generated code is ambiguous.
24+
1. Start from the spec PR's `CHANGELOG.md`. Map its sections to ours and use it as the candidate list of what changed.
25+
2. Treat generated SDK code as the source of truth. Confirm each candidate entry exists in the current generated code with `venv python -c "from ... import X; print(X)"`.
26+
3. Group entries by symbol kind and feature theme when meaningful. Kinds are `clients`, `enum members`, `models`, `operations`, `parameters`, `properties`; combine kinds inline when a group includes more than one kind.
27+
4. Write each group as a lead-in bullet with an indented sublist. Use one of these patterns:
28+
- `Below <kinds> are added [or changed] [for <theme>]`
29+
- `Below <kinds> are renamed`
30+
- `Below <kinds> do not exist in this release`
31+
5. Sort entries within each sublist alphabetically by fully qualified name.
2532

26-
After drafting the CHANGELOG, verify both directions:
33+
### Checking whether a symbol exists in a release
2734

28-
1. Code to CHANGELOG: for every changed item in generated code, verify it is reflected in `CHANGELOG.md`.
29-
2. CHANGELOG to code: for every item in `CHANGELOG.md`, verify it matches actual code.
30-
31-
Use the import checks in `SKILL.md` plus targeted `venv python -c "from ... import X; print(X)"` checks for individual symbols.
32-
33-
Sort lists within each CHANGELOG section alphabetically by fully qualified name.
35+
- Spot-check: `git show azure-search-documents_<prev-version>:sdk/search/azure-search-documents/<path>`.
36+
- Full dump: `pip install azure-search-documents==<prev-version>` into a temp venv, dump via `dir()` / `inspect.signature`, diff against current. Run from outside the package root or local source shadows the wheel.
3437

3538
### Preview releases
3639

3740
- `Features Added`: list changes since the previous preview release.
38-
- `Breaking Changes`: list breaking changes since the previous preview release. Put this beta-only disclaimer before the list:
41+
- `Breaking Changes`: list breaking changes since the previous preview release. Prepend this beta-only disclaimer:
3942

4043
```markdown
4144
> These changes do not impact the API of stable versions such as <latest GA version>.
@@ -46,8 +49,8 @@ Sort lists within each CHANGELOG section alphabetically by fully qualified name.
4649

4750
- `Features Added`: list changes since the previous GA release. Do not compare against the latest preview.
4851
- `Breaking Changes`: when both categories apply, group them in this order:
49-
1. GA-to-GA breaking changes, with no disclaimer.
50-
2. Preview-to-GA breaking changes, after this beta-only disclaimer:
52+
1. Breaking changes since the previous GA release, with no disclaimer.
53+
2. Breaking changes since the latest preview in this GA's minor, prepended with this beta-only disclaimer:
5154

5255
```markdown
5356
> These changes do not impact the API of stable versions such as <previous GA version>.

sdk/search/azure-search-documents/.github/skills/azure-search-documents/references/testing.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,17 @@ New live tests require new [Test Proxy](https://github.com/Azure/azure-sdk-tools
6464

6565
This checklist is mandatory for every test change. Do not add or update tests without checking each item below.
6666

67-
1. Start from current SDK source. Prioritize public behavior owned or customized by the Python SDK, especially `_patch.py` and other hand-written code paths.
67+
1. Start from current SDK source. Test SDK-owned behavior, especially `_patch.py` and other hand-written code paths. Do not add package tests solely for pure generated models, enums, or fields; validate generated exports through public API surface review instead.
6868
2. Prefer unit tests whenever the behavior is SDK-owned and can be proven without HTTP. Use playback or live tests only when the service contract matters.
6969
3. Place each test in the file that matches the public SDK surface and subject that owns the final assertion: unit `test_<surface_or_helper>.py`, async unit `test_<surface_or_helper>_async.py`, live `test_<public_surface>_<subject_family>_live.py`, async live `test_<public_surface>_<subject_family>_live_async.py`.
70-
4. Name each test after the primary public SDK method or surface under test: `test_<method_or_surface>_<scenario_or_behavior>`. If a parametrized test covers a family of related methods, use a clear family name instead of listing every method.
71-
5. Use deterministic fixtures in Python builders. Share repeated setup and keep scenario-specific setup in the test.
72-
6. Add sync and async together when both public surfaces exist, with matching test names unless the public API differs.
70+
4. Name each test class after the public SDK surface or subject family it groups: `Test<SurfaceOrFamily>`.
71+
5. Name each test after the primary public SDK method or surface under test: `test_<method_or_surface>_<scenario_or_behavior>`. If a parametrized test covers a family of related methods, use a clear family name instead of listing every method.
72+
6. Use deterministic fixtures in Python builders. Share repeated setup and keep scenario-specific setup in the test.
73+
7. Add sync and async together when both public surfaces exist, with matching test names and test class names unless the public API differs.
74+
75+
## Gating preview-only tests
76+
77+
1. Wrap each test scenario that depends on preview-only surfaces with `require_capability(...)`; pass every preview surface the scenario uses.
78+
2. Register capabilities in `tests/_capabilities.py` at the narrowest public surface: new class, new method, method kwarg, model field, or enum member. Use dotted names that match the surface under test, for example `SearchClient.search.query_rewrites`; set `owner` to the public object that must exist and `kwargs` only for method kwargs, model fields, or enum members.
79+
3. Avoid importing preview symbols at module load. Use strings, JSON, local imports, or `hasattr` checks when needed.
80+

0 commit comments

Comments
 (0)