Milvex. Migration. Version
(milvex v0.14.0)
Copy Markdown
Helpers for normalising and comparing Milvus version strings.
Milvus reports versions like "v2.6.1", "2.6.1", or "2.6.1-dev". This
module provides a single coercion entry point used by both Plan and
Operation so behaviour stays consistent.
The cutoff at which Milvus gained native field/function drop support is
exposed via drop_field_supported_at/0 (currently "2.6.0").
Summary
Functions
Normalises a Milvus version string into a strict MAJOR.MINOR.PATCH semver
string suitable for Version.compare/2.
Returns the Milvus version at which native field/function drop is supported. Versions below this require collection recreation.
Functions
Normalises a Milvus version string into a strict MAJOR.MINOR.PATCH semver
string suitable for Version.compare/2.
Trims whitespace, strips a leading v, drops any pre-release (-) or build
(+) suffix, pads missing components to three, and truncates extras. A string
with no leading numeric component falls back to 0.0.0 so a
malformed server version is treated conservatively (pre-2.6) rather than
raising.
iex> Milvex.Migration.Version.coerce("v2.6.1")
"2.6.1"
iex> Milvex.Migration.Version.coerce("2.6.1")
"2.6.1"
iex> Milvex.Migration.Version.coerce("2.6.1-dev")
"2.6.1"
iex> Milvex.Migration.Version.coerce(" v2.6.1 ")
"2.6.1"
iex> Milvex.Migration.Version.coerce("2.6")
"2.6.0"
iex> Milvex.Migration.Version.coerce("2.6.1+build.5")
"2.6.1"
iex> Milvex.Migration.Version.coerce("")
"0.0.0"
@spec drop_field_supported_at() :: String.t()
Returns the Milvus version at which native field/function drop is supported. Versions below this require collection recreation.