unstale

pypi / pymilvus

pymilvus

What changed in pymilvus 2 to 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

3 breaking1 security15 new APIs and options1 performance6 behavior and defaults11 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.1.1 on npm

pymilvus 332 changes

Breaking changes 3

  • Empty binary-vector lists now raise a parameter error instead of leaking an IndexError.

    3.0.1release notes

  • Rejects oversized or non-positive target_size values.

    2.6.17, 3.0.1release notesrelease notes

  • Adding a function field now requires bound index parameters.

    3.0.1release notes

Security 1

  • Uploads use safer per-upload options, lower default concurrency, byte-level progress, and request-local concurrent-upload state.

    3.0.1release notes

New APIs and options 14

  • Adds builders for Bloom filters and Roaring bitmaps for membership filtering.

    3.0.2release notes

  • Adds APIs for observing the compaction lifecycle.

    3.0.2release notes

  • Adds scalable upload policies for Volume.

    3.0.2release notes

  • Adds a method for altering collection schemas.

    3.0.1release notes

  • Adds role and user descriptions, including this role-alteration method.

    3.0.1release notes

  • Adds TEXT handling across schema validation, result decoding, and BulkWriter paths.

    3.0.1release notes

  • Adds a method for dropping function fields.

    3.0.1release notes

  • Adds synchronous and asynchronous support for data-salvage workflows.

    3.0.1release notes

  • Adds support for external field mappings and an add-field fallback for external collections.

    3.0.1release notes

  • Adds FunctionChain APIs and forwards every specified stage during search.

    3.0.1release notes

  • Adds this method to MilvusClient and AsyncMilvusClient.

    3.0.1release notes

  • Adds support for MinHash function fields.

    3.0.1release notes

  • Supports dynamically adding struct fields.

    3.0.1release notes

  • Adds an expression helper for XGBoost.

    3.0.1release notes

Performance 1

  • Avoids quadratic decoding for nullable-scalar results.

    3.0.1release notes

Behavior and default changes 6

  • Array query results are materialized as standard Python lists.

    2.6.17, 3.0.1release notesrelease notes

  • Null values are allowed in this column during insert.

    2.6.17, 3.0.1release notesrelease notes

  • Role descriptions are now included in the method's output.

    3.0.1release notes

  • Float inputs are now accepted for FP16 and BF16 vectors.

    3.0.1release notes

  • Exposes error classification; only connection-setup RPC failures are mapped to CONNECT_FAILED.

    3.0.1release notes

  • Query and Search Iterator V1 and V2 implementations move to the client layer, with ORM compatibility preserved and ORM deprecation warnings aligned.

    3.0.1release notes

Fixes and other changes 7

  • Configured connection timeouts are preserved during recovery.

    3.0.1release notes

  • Sync and async reconnects swap channels atomically, protect active RPCs, and cover retired-channel reclamation.

    3.0.1release notes

  • Adds search aggregation and correctly forwards the group_by_fields parameter.

    3.0.1release notes

  • External filtering is preserved when creating search iterators.

    3.0.1release notes

  • Booleans are rejected as sparse-vector values or indices, with improved validation errors.

    3.0.1release notes

  • Supports partial updates and preserves struct-array fields reconstructed from schema dictionaries.

    2.6.17, 3.0.1release notesrelease notes

  • BulkWriter supports struct-vector fields and skips payloads for null struct rows and null struct-vector subfields.

    3.0.1release notes

pymilvus 25 changes

New APIs and options 1

  • Supports an inclusive start option when dumping messages.

    2.6.17release notes

Fixes and other changes 4

  • Supports struct vector fields; remote upload path prefixes are preserved on Windows.

    2.6.17release notes

  • Async schema results are unpacked before collection optimization runs.

    2.6.17release notes

  • Primary-key, partition-key, and clustering-key metadata stays synchronized when fields are added to a schema.

    2.6.17release notes

  • Boolean values used as sparse-vector indices are rejected.

    2.6.17release notes