docs/sources/release-notes/v2-4.md
Loki 2.4 focuses on two items:
read and write targets. Where previously you would have needed Kubernetes and the microservices approach to start tapping into Loki’s potential, it’s now possible to do this in a simpler way.common section results in a 70% smaller Loki configuration. Pair that with updated defaults and Loki comes out of the box with more appropriate defaults and limits. Check out the example local configuration as the new reference for running Loki.label_format and line_format functions now support working with dates and times.All in all, about 260 PR’s went into Loki 2.4, and we thank everyone for helping us make the best Loki yet.
For a full list of all changes, look at the CHANGELOG.
Please read the upgrade guide before updating Loki.
We made a lot of changes to Loki’s configuration as part of this release. We have tried our best to make sure changes are compatible with existing configurations, however some changes to default limits may impact users who didn't have values explicitly set for these limits in their configuration files.
Here is a list of limit defaults that have changed in v2.4.0:
| config | new default | old default |
|---|---|---|
| ingestion_rate_strategy | "global" | "local" |
| max_global_streams_per_user | 5000 | 0 (no limit) |
| max_query_length | "721h" | "0h" (no limit) |
| max_query_parallelism | 32 | 14 |
| max_streams_per_user | 0 (no limit) | 10000 |
| reject_old_samples | true | false |
| reject_old_samples_max_age | "168h" | "336h" |
| per_stream_rate_limit | 3MB | - |
| per_stream_rate_limit_burst | 15MB | - |
We have enabled the in-memory FIFO cache by default when no existing external cache is configured. This helps improve Loki's performance, however it will also allow Loki to consume more memory.
Here is a list of limit defaults that have changed in v2.4.2, add in PR 5077:
| config | new default | old default |
|---|---|---|
| parallelise_shardable_queries | true | false |
| split_queries_by_interval | 30m | 0s |
| query_ingesters_within | 3h | 0s |
| max_chunk_age | 2h | 1h |
| max_concurrent | 10 | 20 |
2.4.2 fixes these bugs:
code = Unimplemented.memberlist is the consistent hash ring store.scheduler_dns_lookup_periodmin_ready_durationfinal_sleepmax_transfer_retrieschunk_retain_periodchunk_target_sizebatch_sizetimeout (for Redis requests)2.4.1 fixes two bugs in the 2.4.0 release:
read target. Incorrect initialization resulted in query gaps after a chunk was flushed and before the querier downloaded new index tables.Here are some of the more important fixes in version 2.4.0:
Version 2.4.0 contains one security-related fix:
PR 4627 Explicitly define allowed HTTP methods on HTTP endpoints.
A community user noticed that all Loki endpoints would respond to HTTP OPTIONS requests, and the proxy they placed in front of Loki responsible for HTTP authentication would pass OPTIONS requests unauthenticated to Loki, allowing users to make unauthenticated/unauthorized queries to Loki. The fix restricts the type of HTTP methods allowed on each endpoint and disallows OPTIONS requests.