3.12.0 / 2026-05-28
- [SECURITY] Remote-write: Reject snappy-compressed requests whose declared decoded length exceeds the 32MB. Thanks to @hibrian827 for reporting it. #18642
- [SECURITY] STACKIT SD: Fix secrets being exposed in plaintext via
/-/configendpoint. Thanks to @August829 and @Phaxma for reporting. GHSA-39j6-789q-qxvh #18649 - [CHANGE] TSDB/Agent: Adds Start Timestamp field to all WAL Histogram samples in memory; used
st-storageflag is enabled. #18221 - [FEATURE] API: Add
/api/v1/status/self_metricsendpoint returning the current state of the Prometheus server's own metrics about itself as JSON. #18411 - [FEATURE] Discovery: Add DigitalOcean Managed Databases service discovery #18287
- [FEATURE] Prometheus: Add support for the aix/ppc64 compilation target #18321
- [FEATURE] Discovery: Add Outscale VM service discovery (
outscale_sd_configs) for discovering scrape targets from the Outscale Cloud API. #18139 - [FEATURE] PromQL: Emit a warning when
sort,sort_by_labelorsort_by_label_descis used within range (matrix) queries, as these functions do not have effect in that context. #18498 - [FEATURE] PromQL: Add
start(),end(),range(), andstep()experimental functions #17877 - [FEATURE] PromQL: Update
resets()function to consider start timestamp resets. Hidden behinduse-start-timestampsfeature flag. #18627 - [FEATURE] Prometheus: Promote auto-reload-config as stable #18620
- [FEATURE] TSDB/Agent: Add
CheckpointFromInMemorySeriesoption toagent.DBthat enables checkpoint based on in-memory series. #17948 - [FEATURE] UI: Add a web interface for deleting time series and cleaning tombstones, accessible from the Status menu. #18390
- [FEATURE] PromQL: Use start timestamps for
rate(),irate(), andincrease()calculations, behind a feature flaguse-start-timestamps. Doesn't work together with extended range selectorsanchoredandsmoothed`. #18344 - [FEATURE] Scrape: Added a feature flag
st-synthesiswhich synthesizes unknown STs for scraped cumulative metrics. Useful when Remote Writing 2.0 with delta or Otel-based backends. #18279 - [FEATURE] promqltest: support
@stannotation inloadblocks to specify per-sample start timestamps. #18360 - [ENHANCEMENT] API: reject concurrent fgprof profiles. #18651
- [ENHANCEMENT] AWS SD: Add optional
external_idfield to ECS/MSK/RDS/Elasticache. #18579 - [ENHANCEMENT] AWS SD: Add optional
external_idfield. #17171 - [ENHANCEMENT] Discovery: Propagate SD target updates faster by introducing dynamic backoff interval instead of static 5s interval for throttling. #18187
- [ENHANCEMENT] Promtool: Add
--headerflag toquery instantcommand, matching existingquery rangebehaviour. #18418 - [ENHANCEMENT]: AWS SD: Allows EC2 service discovery to discover IPv6 addresses to communicate with target endpoints. The private IPv4 address remains the default when both IPv4 and IPv6 addresses are present. #16088
- [PERF] TSDB: Make head chunk lookup in range queries constant time instead of quadratic time #18302
- [PERF] TSDB: Skip entire stripes in mmapHeadChunks when no series need mmapping, reducing CPU utilization significantly at production-relevant scales. #18541
- [PERF] TSDB: Skip clean series during periodic head chunk mmap using cached head chunk count #18272
- [PERF] PromQL: Address FloatHistogram.KahanAdd performance regression on Go 1.26. #18568
- [BUGFIX] PromQL: Fix
info()function incorrectly handling negated__name__matchers #17932 - [BUGFIX] API: Return duration expressions in
/parse_ast. #18624 - [BUGFIX] API: correctly document formats accepted for duration query request parameters (step, timeout and lookback delta) in OpenAPI spec #18305
- [BUGFIX] Scrape: AppenderV2 now tracks staleness even when OOO/duplicate series errors happen similar to AppenderV1 #18567
- [BUGFIX] Config: Validate remote_write queue_config fields at load time to prevent runtime panic and silent misconfiguration. #18209
- [BUGFIX] Discovery/Consul: Add
health_filterfor Health API filtering, fixing breakage when using Catalog-only fields likeServiceTagsinfilter. #18479 #18499 - [BUGFIX] OTLP: limit decompressed body size for gzip-encoded OTLP write requests. #18408
- [BUGFIX] PromQL: Fix
smoothedrate/increase returning zero instead of no result when all data falls strictly after the query range. #18523 - [BUGFIX] PromQL: Fix metric name not being dropped when last_over_time or first_over_time is applied to subqueries containing name-dropping functions like abs(). #18409
- [BUGFIX] PromQL: Fix missing warning when mixing exponential and custom-bucket histograms in stats queries. #18660
- [BUGFIX] PromQL: Fix parsing of
range()keyword in duration expressions such asfoo[5m+range()]. #18623 - [BUGFIX] PromQL: Fix smoothed vector selector returning no results in binary operations when the
@modifier is used. #18531 - [BUGFIX] PromQL: Reject NaN, infinite, and out-of-range duration expressions instead of silently producing an out-of-range time.Duration. #18639
- [BUGFIX] Scrape: Fix panic when scraping malformed native histograms. #18414
- [BUGFIX] Scrape: fix panic when scraping a target exposing a summary with no quantiles via the protobuf format. #18382
- [BUGFIX] Scrape: fix scrape failure log file occasionally not applied after a configuration reload. #18421
- [BUGFIX] TSDB: Allow retention percentage with new data path. #18628
- [BUGFIX] TSDB: Preserve decimal precision in percentage-based retention #18374
- [BUGFIX] TSDB: fix prometheus_tsdb_head_chunks going negative after WAL replay #18401
- [BUGFIX] TSDB: panic with native histograms during query of overlapping chunks. #18692
- [BUGFIX] Tracing: fix startup failure for insecure OTLP HTTP tracing #18469
- [BUGFIX] UI: Escape label values offered by PromQL autocomplete. #18658
- [BUGFIX] UI: Improve Y-axis tick label precision for graph values over small ranges. #18682
- [BUGFIX]
prometheus_sd_refresh*andprometheus_sd_discovered_targetsmetrics for specific scrape jobs are deleted when the scrape job is removed. #17614 - [BUGFIX] Remote: fixed validation for received RW2 requests when parsing metadata unit symbols. This fixes a case when request would cause (recovered) handler panic. #18641
- [BUGFIX] TSDB/Agent: fix race in agent appender where concurrent appends for the same label set could produce duplicate in-memory series and duplicate WAL records. #18292
- [BUGFIX] Config: Update
--enable-featureflag description and sort feature names. #18487
v1.45.1 🦒
- Revert autobatch deletions by filter with additions by @kerollmops in https://github.com/meilisearch/meilisearch/pull/6412
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.45.0...v1.45.1
ThingsBoard 4.3.1.2 Release
- Fixed CWE-770 in Jackson Core by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15368
- Fixed CVE-2026-34487, CVE-2026-34486, CVE-2026-34483 by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15417
- Fixed CVE-2025-70340: system alarm comments access control by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15377
- Fixed multiple CVEs: 2026-39364, 2026-39363, 2026-4800 by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15466
- Fixed CVE-2026-40895 by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15538
- Fixed CVE-2026-5588, CVE-2026-5598, CVE-2025-14813, CVE-2026-35554, CVE-2026-27314 by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15458
- Fixed CVE-2026-40975, CVE-2026-40973, CVE-2026-22740, CVE-2026-42198 by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15557
- Fixed SSRF vulnerability in AI model provider URLs by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15412
- Fixed SSRF and file access vulnerabilities in TBEL script sandbox by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15585
- Fixed CVE-2026-40682, CVE-2026-42027 by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15588
- Fixed CVE-2026-42579, CVE-2026-42583, CVE-2026-42584, CVE-2026-42587 by @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/15598
- Hardened remote JS executor script invocation by @smatvienko-tb in https://github.com/thingsboard/thingsboard/pull/15600
- Fixed CVE-2026-41284, CVE-2026-43512 by @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/15649
- Audit logging for tenant profile operations by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/13076
- Added entity keys V2 endpoint with sample values by @dskarzh in https://github.com/thingsboard/thingsboard/pull/15044
- Performance and reliability improvements for Efento message processing by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15333
- Refactored APIs to meet OpenAPI standard by @dashevchenko and @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/15443
- Exposed HTTP response compression configuration params by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15520
- LZ4 compression support for Kafka by @volodymyr-babak in https://github.com/thingsboard/thingsboard/pull/15565
- Fixed WS sessions limit handling for public users by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15313
- Fixed REST API Call node blocking actor thread and semaphore permit leak by @smatvienko-tb in https://github.com/thingsboard/thingsboard/pull/15334
- Fixed entity filtering by boolean data key for EDQS by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15457
- Fixed alarm rule crash on duration source change by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15439
- Fixed MAX aggregation for mixed double and long telemetry values by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15560
- Added config property to control null ordering in dashboards by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15425
- Improved default tenant home dashboard by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15000
- Changed default "Add" button style in entity tables by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/14984
- Bumped Node.js version from 22.18.0 to 22.22.2 by @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/15330
- Enhanced localization: "save-to-gallery" translations by @deaflynx in https://github.com/thingsboard/thingsboard/pull/15339
- Exposed http-utils functions via WidgetContext.httpUtils by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15395
- Added roundDown option to ShortNumberPipe by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15393
- HTML container widget by @ikulikov in https://github.com/thingsboard/thingsboard/pull/15556
- Hidden "Add Telemetry" button for Entity view by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15362
- Added '@angular/core/rxjs-interop' to modules map by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15373
- Fixed Datasource determination for autocomplete patterns if datasource is empty by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15340
- Fixed hint alignment for propagate alarm rule field by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15360
- Fixed missing 'type' property in alarm rule condition on save by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15392
- Fixed select options being clipped in widget settings form by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15399
- Fixed translation for Asset and Device profile by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15421
- Removed "Alarm rules" step from setting up device profile by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15422
- Fixed display long texts in Alarm asignee panel by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15408
- Fixed Alarm Assignee icon placement by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15423
- Adjusted size of entity type select to fit error message by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15427
- Fixed show/hide of custom header actions when using function to control visibility by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15430
- Fixed not set pageSize to child nodes in Entities hierarchy widget by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15433
- Fixed not process aggregation keys in Entities hierarchy widget by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15434
- Fixed icon placement in Value stepper icon by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15489
- Fixed display column panel hiding not selectable columns by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15490
- Fixed map shape labels drifting from center after viewport resize by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15531
- Map widget: fixed data aggregation for additional data keys and import/export widget JSON for polylines layer by @ChantsovaEkaterina in https://github.com/thingsboard/thingsboard/pull/15579
- Fixed CSV import not unescaping double quotes in unquoted fields by @ChantsovaEkaterina in https://github.com/thingsboard/thingsboard/pull/15581
- Removed unnecessary DomSanitizer bypass in photo camera input widget by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15639
- Added automatic SSL/TLS certificate reload for transports without service restart by @AndriiLandiak in https://github.com/thingsboard/thingsboard/pull/15301
- Fixed app hanging on MQTT port conflict at startup by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15451
- SNMP: defer querying tasks until transport session is registered by @volodymyr-babak in https://github.com/thingsboard/thingsboard/pull/15346
- Added syncInProgress as edge attribute by @volodymyr-babak in https://github.com/thingsboard/thingsboard/pull/15111
- API key edge sync support by @volodymyr-babak in https://github.com/thingsboard/thingsboard/pull/15167
Full Changelog: https://github.com/thingsboard/thingsboard/compare/v4.3.1.1...v4.3.1.2
ThingsBoard 4.2.2.2 Release
- Fixed CWE-770 in Jackson Core by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15368
- Fixed CVE-2026-34487, CVE-2026-34486, CVE-2026-34483 by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15417
- Fixed CVE-2025-70340: system alarm comments access control by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15377
- Fixed multiple CVEs: 2026-39364, 2026-39363, 2026-4800 by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15466
- Fixed CVE-2026-40895 by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15538
- Fixed CVE-2026-5588, CVE-2026-5598, CVE-2025-14813, CVE-2026-35554, CVE-2026-27314 by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15458
- Fixed CVE-2026-40975, CVE-2026-40973, CVE-2026-22740, CVE-2026-42198 by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15557
- Fixed SSRF vulnerability in AI model provider URLs by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15412
- Fixed SSRF and file access vulnerabilities in TBEL script sandbox by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15585
- Fixed CVE-2026-40682, CVE-2026-42027 by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15588
- Fixed CVE-2026-42579, CVE-2026-42583, CVE-2026-42584, CVE-2026-42587 by @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/15598
- Hardened remote JS executor script invocation by @smatvienko-tb in https://github.com/thingsboard/thingsboard/pull/15600
- Fixed CVE-2026-41284, CVE-2026-43512 by @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/15649
- Performance and reliability improvements for Efento message processing by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15333
- Exposed HTTP response compression configuration params by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15520
- LZ4 compression support for Kafka by @volodymyr-babak in https://github.com/thingsboard/thingsboard/pull/15565
- Fixed WS sessions limit handling for public users by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15313
- Fixed REST API Call node blocking actor thread and semaphore permit leak by @smatvienko-tb in https://github.com/thingsboard/thingsboard/pull/15334
- Fixed entity filtering by boolean data key for EDQS by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15457
- Fixed MAX aggregation for mixed double and long telemetry values by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15560
- Added config property to control null ordering in dashboards by @dashevchenko in https://github.com/thingsboard/thingsboard/pull/15425
- Bumped Node.js version from 22.18.0 to 22.22.2 by @ViacheslavKlimov in https://github.com/thingsboard/thingsboard/pull/15330
- HTML container widget by @ikulikov in https://github.com/thingsboard/thingsboard/pull/15556
- Hidden "Add Telemetry" button for Entity view by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15362
- Added '@angular/core/rxjs-interop' to modules map by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15373
- Fixed select options being clipped in widget settings form by @vvlladd28 in https://github.com/thingsboard/thingsboard/pull/15399
- Fixed display long texts in Alarm asignee panel by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15408
- Fixed Alarm Assignee icon placement by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15423
- Adjusted size of entity type select to fit error message by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15427
- Fixed show/hide of custom header actions when using function to control visibility by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15430
- Fixed not set pageSize to child nodes in Entities hierarchy widget by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15433
- Fixed not process aggregation keys in Entities hierarchy widget by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15434
- Fixed map shape labels drifting from center after viewport resize by @mtsymbarov-del in https://github.com/thingsboard/thingsboard/pull/15531
- Fixed CSV import not unescaping double quotes in unquoted fields by @ChantsovaEkaterina in https://github.com/thingsboard/thingsboard/pull/15581
- Added automatic SSL/TLS certificate reload for transports without service restart by @AndriiLandiak in https://github.com/thingsboard/thingsboard/pull/15301
- Fixed app hanging on MQTT port conflict at startup by @zzzeebra in https://github.com/thingsboard/thingsboard/pull/15451
- SNMP: defer querying tasks until transport session is registered by @volodymyr-babak in https://github.com/thingsboard/thingsboard/pull/15346
Full Changelog: https://github.com/thingsboard/thingsboard/compare/v4.2.2.1...v4.2.2.2
v3.6.9
- Enabling header validation via fast property by @ilanachalom in https://github.com/Netflix/zuul/pull/2138
Full Changelog: https://github.com/Netflix/zuul/compare/v3.6.8...v3.6.9
1.0.0-beta.5
- chore(deps): bump aws sdk and config by @houseme in https://github.com/rustfs/rustfs/pull/3035
- fix(tooling): harden internode transport benchmark setup by @marshawcoco in https://github.com/rustfs/rustfs/pull/3037
- docs(internode): analyze buffer lifecycle by @marshawcoco in https://github.com/rustfs/rustfs/pull/3046
- fix(ecstore): harden multipart part metadata visibility by @houseme in https://github.com/rustfs/rustfs/pull/3042
- feat(internode): label transport operation metrics by @marshawcoco in https://github.com/rustfs/rustfs/pull/3045
- docs(internode): inventory transport data paths by @marshawcoco in https://github.com/rustfs/rustfs/pull/3040
- fix(ecstore): allow expired delete markers on locked buckets by @houseme in https://github.com/rustfs/rustfs/pull/3048
- fix(utils): map verified Linux filesystem magic values by @overtrue in https://github.com/rustfs/rustfs/pull/3051
- fix(utils): cover sha256 checksum validation by @overtrue in https://github.com/rustfs/rustfs/pull/3052
- feat(internode): define transport capabilities by @marshawcoco in https://github.com/rustfs/rustfs/pull/3047
- fix(scanner): preserve background heal compatibility by @weisd in https://github.com/rustfs/rustfs/pull/3041
- fix(storage): add scoped timeout policy and startup fs guardrail by @houseme in https://github.com/rustfs/rustfs/pull/3056
- fix(tls): resolve RUSTFS_TLS_PATH startup regression by @houseme in https://github.com/rustfs/rustfs/pull/3059
- fix: bind run script to localhost by @GatewayJ in https://github.com/rustfs/rustfs/pull/3063
- docs(internode): align transport adapter scope by @marshawcoco in https://github.com/rustfs/rustfs/pull/3064
- docs(internode): keep transport adapter OSS scoped by @marshawcoco in https://github.com/rustfs/rustfs/pull/3067
- fix: derive run script CORS console port by @overtrue in https://github.com/rustfs/rustfs/pull/3068
- fix(replication): avoid skipping existing-object backfill for new targets by @LeonWang0735 in https://github.com/rustfs/rustfs/pull/2992
- test(internode): cover RemoteDisk adapter routing by @marshawcoco in https://github.com/rustfs/rustfs/pull/3070
- perf(ecstore): use direct std writes for local disk by @overtrue in https://github.com/rustfs/rustfs/pull/3069
- test(internode): cover adapter metrics validation by @marshawcoco in https://github.com/rustfs/rustfs/pull/3071
- chore(deps): update flake.lock by @houseme in https://github.com/rustfs/rustfs/pull/3074
- test(utils): cover bracketed IPv6 zone host parsing by @overtrue in https://github.com/rustfs/rustfs/pull/3073
- refactor(tls): centralize runtime foundation by @houseme in https://github.com/rustfs/rustfs/pull/3065
- feat(s3select): improve SelectObjectContent streaming by @GatewayJ in https://github.com/rustfs/rustfs/pull/3072
- fix(replication): preserve multipart pending state by @weisd in https://github.com/rustfs/rustfs/pull/3058
- docs(skills): quote release bump description by @houseme in https://github.com/rustfs/rustfs/pull/3077
- fix(user): service account expiration handling with RFC3339 by @SamuraJey in https://github.com/rustfs/rustfs/pull/3078
- fix(ecstore): correct is_truncated logic in ListObjectsV2 pagination by @DemoMacro in https://github.com/rustfs/rustfs/pull/2997
- refactor(credentials): derive RPC secret fallback and remove IAM keygen duplication by @houseme in https://github.com/rustfs/rustfs/pull/3079
- fix(data-usage): refresh admin usage after object changes by @marshawcoco in https://github.com/rustfs/rustfs/pull/3081
- fix: include deployment ID in admin info by @overtrue in https://github.com/rustfs/rustfs/pull/3083
- fix(heal): rebuild parity shards during repair by @weisd in https://github.com/rustfs/rustfs/pull/3086
- fix: rebuild wiped disks during admin heal by @overtrue in https://github.com/rustfs/rustfs/pull/3084
- fix(heal): restore single disk data during deep heal by @marshawcoco in https://github.com/rustfs/rustfs/pull/3085
- fix: unify runtime readiness publication and graceful shutdown flow by @houseme in https://github.com/rustfs/rustfs/pull/3087
- @DemoMacro made their first contribution in https://github.com/rustfs/rustfs/pull/2997
Full Changelog: https://github.com/rustfs/rustfs/compare/1.0.0-beta.4...1.0.0-beta.5
v1.45.0 🦒
Meilisearch v1.45.0 mainly improves indexing performance when changing settings and also improves document fetch performance.
- Autobatch deletions by filter with additions by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6389 While Meilisearch tries to improve indexing speed when users add documents and mix those additions with deletions via a filter, it is still an anti-pattern to interleave both. It is recommended to delete documents by ID whenever possible, as the engine is optimized to merge them, thereby drastically speeding up indexation.
- Improve settings indexing performance & visibility We are introducing support for more settings in the nez settings indexer. If you find any bugs, please report them on GitHub. You can disable the new settings indexer by setting the environment variable like this:
MEILI_EXPERIMENTAL_NO_EDITION_2024_FOR_SETTINGS=trueor use the equivalent dedicated CLI parameter.- Support non-extracting parameters by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6393 Changing one of the following settings is now directly handled by the new settings indexer: displayed fields, synonyms, the primary key, authorize typos, min word len one and two typos, max values per facet, sort facet values by, pagination max total hits, search cut off, chat, and foreign keys.
- Support the global facet search by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6390 Meilisearch can use the new settings indexer when the settings change the facet search root boolean parameter.
- Fetching documents no longer blocks the actix worker @dureuill in https://github.com/meilisearch/meilisearch/pull/6402
- Fix an internal error when changing the binary quantization by @Kerollmops in https://github.com/meilisearch/meilisearch/pull/6396 We fixed an issue where users were changing the binary-quantized boolean in embedder configurations. The change corrupted the database, making it impossible to change the quantization in the future. Users had to create a binary-quantized embedder from scratch, or they could never change it again.
- Make timeout test less flaky on Windows by @dureuill in https://github.com/meilisearch/meilisearch/pull/6388
Full Changelog: https://github.com/meilisearch/meilisearch/compare/v1.44.0...v1.45.0
4.29
-
Admin Server and Worker
- EC placement: shared replica-placement resolver, snapshot + Place core, capacity fixes, tiering by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9621
- EC encode: place shards via ecbalancer.Place + configurable replica placement by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9623
- Delete the EC placement package now that encode/repair use ecbalancer.Place by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9624
- EC detection: build placement snapshot once per cycle (fix large-topology timeout) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9625
- admin: expose Prometheus metrics by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9652
-
S3 APIs
- filer: serialize same-path mutations with a per-path lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9639
- filer: evaluate a write precondition in CreateEntry by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9650
- filer: add ObjectTransaction for atomic multi-entry object writes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9646
- filer: add RECOMPUTE_LATEST mutation to ObjectTransaction by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9647
- filer: add extended-attribute guard clauses for object-lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9648
- s3: use oidc: prefix for trust-policy conditions in IAM example by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9653
- filer: add ObjectTransactionBatch for multi-key object writes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9649
- filer: reuse the caller's fetched entry in CreateEntry by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9645
- filer: let PATCH_EXTENDED replace Entry.content by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9654
- s3: dial the object lock's primary filer directly by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9626
- s3: route single-entry object writes to the owner filer, off the DLM by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9629
- s3: serialize bucket config writes with field-level filer patches by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9655
- s3: route versioned PutObject finalize off the DLM by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9631
- s3: route object-lock object writes off the distributed lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9635
- s3: route versioned COPY and delete-marker off the DLM by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9633
- s3: route multipart-upload completion off the distributed lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9632
- s3: route object-lock version-specific deletes off the distributed lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9657
- s3: route metadata-only self-copy off the distributed lock by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9638
- ObjectTransaction: filer-side forwarding via route_key by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9659
-
FUSE Mount
- filer: POSIX advisory lock set primitive (phase 1 of distributed FUSE locking) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9660
- filer: serialize the POSIX lock set for entry metadata (phase 2) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9661
- filer: in-memory POSIX lock authority (Manager) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9663
- filer: routed PosixLock RPC over the in-memory authority by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9664
- mount: fix SetAttr/GetAttr crash from concurrent chunk append under writebackCache by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9667
- mount: route POSIX advisory locks to the owner filer under -dlm by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9669
- mount: keep the posix-lock hint until the release RPC succeeds by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9670
- filer: session lease + reaping for POSIX locks by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9666
- mount,filer: re-assert POSIX locks via keepalive (ownership migration + restart) by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9668
- fix: avoid rclone nil close panics by @7y-9 in https://github.com/seaweedfs/seaweedfs/pull/9674
- filer: cooling-off dual-read for POSIX locks during ring changes by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9672
- filer: warm-up + fail-closed cooling for POSIX locks on owner (re)start by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9673
- filer/posixlock: remove the unused lock-set serde by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9676
- test/fuse_dlm: cross-mount POSIX locks + survival across a ring change by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9677
-
Misc
- test: wait for a writable volume before lifecycle tests' first write by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9658
- fix(master): re-register volumes missing from the lookup index by @chrislusf in https://github.com/seaweedfs/seaweedfs/pull/9620
Full Changelog: https://github.com/seaweedfs/seaweedfs/compare/4.28...4.29
client/v2.6.5
- Adds Go SDK support for nullable vector columns across dense, binary, sparse, and int8 vector types.
- Adds Array field partial update helpers for
ARRAY_APPENDandARRAY_REMOVEin upsert requests. - Validates that vector fields added to existing collections are nullable before sending
AddCollectionFieldrequests. - Bumps the Go SDK version constant to
2.6.5and updatesmilvus-proto/go-api/v2tov2.6.17.
-
Nullable vector columns: Added nullable column constructors for vector fields:
NewNullableColumnFloatVector,NewNullableColumnBinaryVector,NewNullableColumnFloat16Vector,NewNullableColumnBFloat16Vector,NewNullableColumnInt8Vector, andNewNullableColumnSparseFloatVector. These constructors accept compact non-null vector values plusvalidData, and validate that the values length matches the valid row count. (#49848) -
Nullable vector response decoding:
FieldDataColumnnow decodes nullable vector field data usingValidDataforFloatVector,BinaryVector,Float16Vector,BFloat16Vector,SparseFloatVector, andInt8Vector. Null rows are preserved in the returned column while compact wire-format vector payloads are expanded back to row-aligned columns. (#49848) -
Array partial update operations: Added upsert helpers
WithArrayAppend(fieldName),WithArrayRemove(fieldName), andWithFieldPartialOp(fieldName, op)for Array field partial updates. Non-REPLACEfield ops are serialized intoUpsertRequest.FieldOpsand automatically enablepartial_updatefor both column-based and row-based upserts. (#49328)
-
AddCollectionField vector validation:
AddCollectionFieldnow validates options before sending the RPC and rejects vector fields added to existing collections unless the field is markednullable=true, preventing invalid schema changes from reaching the server. (#49848) -
All-null sparse vector handling: Sparse vector column serialization now handles empty value sets by emitting dimension
0, allowing all-null nullable sparse vector columns to round-trip without panics or invalid dimension calculations. (#49848) -
Nullable column row counts: Added
Column.ValidCount()support so nullable columns can report the number of non-null rows separately from total row count. Struct-array columns return their total length. (#49848)
- @marcelo-cjl
- @weiliu1031