Skip to content

v3.1.0

Compare
Choose a tag to compare
@grafanabot grafanabot released this 02 Jul 22:10
935aee7

3.1.0 (2024-07-02)

⚠ BREAKING CHANGES

  • update helm chart to support distributed mode and 3.0 (#12067)

Features

  • Add a version of the mixin dashboards for meta monitoring (#12700) (ec1a057)
  • Add backoff to flush op (#13140) (9767807)
  • add detected-fields command to logcli (#12739) (210ea93)
  • Add ingester_chunks_flush_failures_total (#12925) (cc3694e)
  • add lokitool (#12166) (7b7d3d4)
  • Add metrics for number of patterns detected & evicted (#12918) (bc53b33)
  • Add new Drain tokenizer that splits on most punctuation (#13143) (6a0fdd0)
  • Add pattern ingester support in SSD mode (#12685) (19bfef4)
  • add profile tagging to ingester (#13068) (00d3c7a)
  • add recalculateOwnedStreams to check stream ownership if the ring is changed (#13103) (e7689b2)
  • Add step param to Patterns Query API (#12703) (7b8533e)
  • Add tokenizer interface for Drain Training (#13069) (797bb64)
  • add toleration for bloom components (#12653) (fcb2b0a)
  • Add utf8 support to Pattern Lexer to support utf8 chars (#13085) (f6f8bab)
  • add warnings to metadata context directly (#12579) (c4ac8cc)
  • Added getting started video (#12975) (8442dca)
  • Added Interactive Sandbox to Quickstart tutorial (#12701) (97212ea)
  • Added video and updated Grafana Agent -> Alloy (#13032) (1432a3e)
  • API: Expose optional label matcher for label names API (#11982) (8084259)
  • area/promtail: Added support to install wget on promtail docker image to support docker healthcheck (#11711) (ffe684c)
  • blooms: Add counter metric for blocks that are not available at query time (#12968) (d6374bc)
  • blooms: Add in-memory LRU cache for meta files (#12862) (fcd544c)
  • blooms: Blooms/v2 encoding multipart series (#13093) (fbe7c55)
  • blooms: compute chunks once (#12664) (bc78d13)
  • blooms: ignore individual bloom-gw failures (#12863) (4c9b22f)
  • blooms: ingester aware bounded impl (#12840) (7bbd8b5)
  • bloom: Skip attempts to filter chunks for which blooms have not been built (#12961) (a1b1eeb)
  • blooms: limit bloom size during creation (#12796) (eac5622)
  • blooms: record time spent resolving shards (#12636) (9c25985)
  • blooms: Separate page buffer pools for series pages and bloom pages (#12992) (75ccf21)
  • Boilerplate for new bloom build planner and worker components. (#12989) (8978ecf)
  • cache: Add Cache-Control: no-cache support for Loki instant queries. (#12896) (88e545f)
  • canary: Add test to check query results with and without cache. (#13104) (71507a2)
  • Detected labels from store (#12441) (587a6d2)
  • detected-labels: include labels with cardinality > 1 (#13128) (8be8364)
  • detectedFields: add parser to response (#12872) (2b3ae48)
  • detectedFields: Support multiple parsers to be returned for a single field (#12899) (19fef93)
  • Enable log volume endpoint by default (#12628) (397aa56)
  • Enable log volume endpoint by default in helm (#12690) (e39677f)
  • Generic logline placeholder replacement and tokenization (#12799) (4047902)
  • helm: Allow extraObject items as multiline strings (#12397) (af5be90)
  • helm: Support for PVC Annotations for Non-Distributed Modes (#12023) (efdae3d)
  • improve performance of first_over_time and last_over_time queries by sharding them (#11605) (f66172e)
  • improve syntax parser for pattern (#12489) (48dae44)
  • include the stream we failed to create in the stream limit error message (#12437) (ec81991)
  • Increase drain max depth from 8 -> 30 (#13063) (d0a2859)
  • Introduce index audit to lokitool (#13008) (47f0236)
  • loki/main.go: Log which config file path is used on startup (#12985) (7a3338e)
  • new stream count limiter (#13006) (1111595)
  • Optimize log parsing performance by using unsafe package (#13223) (9f31b25)
  • parameterise the MaximumEventAgeInSeconds, LogGroupName, and IAMRoleName for lambda-promtail CloudFormation template (#12728) (8892dc8)
  • promtail: Support of RFC3164 aka BSD Syslog (#12810) (be41525)
  • Querier: Split gRPC client into two. (#12726) (7b6f057)
  • reporting: Report cpu usage (#12970) (87288d3)
  • split detected fields queries (#12491) (6c33809)
  • Support negative numbers in LogQL (#13091) (6df81db)
  • Tune Patterns query drain instance (#13137) (30df31e)
  • Update getting started demo to Loki 3.0 (#12723) (282e385)
  • update helm chart to support distributed mode and 3.0 (#12067) (79b876b)
  • Update Loki monitoring docs to new meta monitoring helm (#13176) (b4d44f8)
  • Updated best practises for labels (#12749) (6ebfbe6)
  • Updated SS and microservices deployment docs (#13083) (1b80458)

Bug Fixes

  • codec not initialized in downstream roundtripper (#12873) (b6049f6)
  • Add a missing continue in fuse which may cause incorrect bloom test result (#12650) (0d1ebeb)
  • Add copyString function to symbolizer to avoid retaining memory (#13146) (86b119a)
  • add detected_level info when the info word appears on log message (#13218) (c9bfa3e)
  • Add missing Helm helper loki.hpa.apiVersion (#12755) (3070ea7)
  • Add missing OTLP endpoint to nginx config (#12709) (8096748)
  • add missing parentheses in meta monitoring dashboards (#12802) (151d0a5)
  • add retry middleware to the "limited" query roundtripper (#13161) (bb864b3)
  • allow cluster label override in bloom dashboards (#13012) (987e551)
  • blooms: bloomshipper no longer returns empty metas on fetch (#13130) (ad279e5)
  • blooms: Clean block directories recursively on startup (#12895) (7b77e31)
  • blooms: Correctly return unfiltered chunks for series that are not mapped to any block (#12774) (c36b114)
  • blooms: Deduplicate filtered series and chunks (#12791) (3bf2d1f)
  • blooms: Disable metas cache on bloom gateway (#12959) (00bdd2f)
  • blooms: Do not fail requests when fetching metas from cache fails (#12838) (667076d)
  • blooms: dont break iterator conventions (#12808) (1665e85)
  • blooms: Fix partitionSeriesByDay function (#12900) (738c274)
  • blooms: Fix a regression introduced with #12774 (#12776) (ecefb49)
  • blooms: Fix findGaps when ownership goes to MaxUInt64 and that is covered by existing meta (#12558) (0ee2a61)
  • blooms: Fully deduplicate chunks from FilterChunkRef responses (#12807) (a0f358f)
  • blooms: Handle not found metas gracefully (#12853) (37c8822)
  • blooms: Reset error on LazyBloomIter.Seek (#12806) (76ba24e)
  • change log level since this is a known case (#13029) (ca030a5)
  • close res body (#12444) (616977a)
  • Correctly encode step when translating proto to http internally (#13171) (740551b)
  • crrect initialization of a few slices (#12674) (0eba448)
  • Defer closing blocks iter after checking error from loadWorkForGap (#12934) (cb1f5d9)
  • Do not filter out chunks for store when From==Through and From==start (#13117) (d9cc513)
  • docs: broken link in getting started readme (#12736) (425a2d6)
  • docs: Move promtail configuration to the correct doc (#12737) (1161846)
  • Ensure Drain patterns are valid for LogQL pattern match filter (#12815) (fd2301f)
  • errors reported by the race detector (#13174) (2b19dac), closes #8586
  • Fix bloom deleter PR after merge (#13167) (c996349)
  • Fix compactor matcher in the loki-deletion dashboard (#12790) (a03846b)
  • Fix duplicate enqueue item problem in bloom download queue when do sync download (#13114) (f98ff7f)
  • Fix for how the loop sync is done (#12941) (5cd850e)
  • Fix incorrect sorting of chunks in bloom-filtered response since ChunkRef.Cmp method is used in reverse (#12999) (670cd89)
  • Fix indentation of query range values in helm (#12577) (9823f20)
  • Fix log level detection (#12651) (6904a65)
  • Fix panic on requesting out-of-order Pattern samples (#13010) (2171f64)
  • fix parsing of default per tenant otlp config (#12836) (7cc9a93)
  • fix setting of info log level when trying to detect level from log lines (#12635) (0831802)
  • Fix the lokitool imports (#12673) (6dce988)
  • Fixes read & backend replicas settings (#12828) (d751134)
  • helm: Set compactor addr for distributed mode. (#12748) (521d40a)
  • helm: Fix GEL image tag, bucket name and proxy URLs (#12878) (67ed2f7)
  • helm: fix query-frontend and ruler targetPort 'http-metrics' in Service template (#13024) (1ab9d27)
  • helm: fix queryScheduler servicemonitor (#12753) (8101e21)
  • helm: fixed ingress paths mapping (#12932) (5ada92b)
  • helm: only default bucket names when using minio (#12548) (2e32ec5)
  • helm: Removed duplicate bucketNames from documentation and fixed key name deploymentMode (#12641) (0d8ff9e)
  • incorrect compactor matcher in loki-deletion dashboard mixin (#12567) (006f88c)
  • indexstats: do not collect stats from "IndexStats" lookups for other query types (#12978) (1f5291a)
  • Ingester zoneAwareReplication (#12659) (9edb0ce)
  • Introduce feature flag for [last|first]_over_time sharding. (#13067) (6e45550)
  • Invalidate caches when pipeline wrappers are disabled (#12903) (a772ed7)
  • ksonnet: Do not generate rbac for consul if you are using memberlist (#12688) (2d62fca)
  • lambda-promtail, update s3 filename regex to allow finding of log files from AWS GovCloud regions (#12482) (7a81d26)
  • loki version prefix in Makefile (#12514) (dff72d2)
  • loki-operational.libsonnet (#12789) (51a841f)
  • make detected fields work for both json and proto (#12682) (f68d1f7)
  • make the tsdb filenames correctly reproducible from the identifier (#12536) (ec888ec)
  • Missing password for Loki-Canary when loki.auth_enabled is true (#12411) (68b23dc)
  • mixin generation when cluster label is changed (#12613) (1ba7a30)
  • mixin: dashboards $__auto fix (#12707) (91ef72f)
  • Mixins - Add missing log datasource on loki-deletion (#13011) (1948899)
  • mixins: Align loki-writes mixins with loki-reads (#13022) (757b776)
  • nix: lambda-promtail vendor hash (#12763) (ae180d6)
  • not owned stream count (#13030) (4901a5c)
  • operator: add alertmanager client config to ruler template (#13182) (6148c37)
  • operator: Bump golang builder to 1.21.9 (#12503) (f680ee0)
  • operator: Configure Loki to use virtual-host-style URLs for S3 AWS endpoints (#12469) (0084262)
  • operator: Improve API documentation for schema version (#13122) (3a9f50f)
  • operator: Use a minimum value for replay memory ceiling (#13066) (4f3ed77)
  • Optimize regular initialization (#12926) (a46d14f)
  • orFilters: fix multiple or filters would get wrong filtertype (#13169) (9981e9e)
  • otel: Map 500 errors to 503 (#13173) (b31e04e)
  • packaging: Require online network in systemd unit file for Loki and Promtail (#12741) (57f78b5)
  • panics when ingester response is nil (#12946) (3cc28aa)
  • promtail race fixes (#12656) (4e04d07)
  • promtail; clean up metrics generated from logs after a config reload. (#11882) (39a7181)
  • promtail: Fix bug with Promtail config reloading getting stuck indefinitely (#12795) (4d761ac)
  • promtail: Fix UDP receiver on syslog transport (#10708) (a00f1f1)
  • promtail: Handle docker logs when a log is split in multiple frames (#12374) (c0113db)
  • properly return http status codes from ingester to querier for RPC function calls (#13134) (691b174)
  • query sharding: Generalize avg -> sum/count sharding using existing binop mapper (#12599) (11e7687)
  • regression: reverts grafana/loki#13039 to prevent use-after-free corruptions (#13162) (41c5ee2)
  • Remove Hardcoded Bucket Name from EventBridge Example CloudFormation Template (#12609) (8c18463)
  • remove unneccessary disk panels for ssd read path (#13014) (8d9fb68)
  • remove unused parameter causing lint error (#12801) (33e82ec)
  • spans: corrects early-close for a few spans (#12887) (93aaf29)
  • temporarily moving from alloy -> alloy dev (#13062) (7ffe0fb)
  • Track bytes discarded by ingester. (#12981) (88c6711)
  • Update expected patterns when pruning (#13079) (2923a7d)
  • update to build image 0.33.2, fixes bug with promtail windows DNS resolution (#12732) (759f42d)
  • updated all dockerfiles go1.22 (#12708) (71a8f2c)
  • Updated Loki Otlp Ingest Configuration (#12648) (ff88f3c)
  • upgrade old plugin for the loki-operational dashboard. (#13016) (d3c9cec)
  • Use an intermediate env variable in GH workflow (#12905) (772616c)
  • Use to the proper config names in warning messages (#12114) (4a05964)
  • workflows: don't run metric collector on forks (#12687) (7253444)

Performance Improvements

  • blooms: Resolve bloom blocks on index gateway and shard by block address (#12720) (5540c92)
  • Improve Detected labels API (#12816) (e7fdeb9)
  • Introduce fixed size memory pool for bloom querier (#13039) (fc26431)
  • Replace channel check with atomic bool in tailer.send() (#12976) (4a5edf1)
  • TSDB: Add fast-path to inversePostingsForMatcher (#12679) (402d1d7)