github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/docs/sources/release-notes/v2-4.md (about)

     1  ---
     2  title: V2.4
     3  weight: 88
     4  ---
     5  
     6  # Version 2.4 release notes
     7  
     8  Loki 2.4 focuses on two items:
     9  
    10  * Making it easier to get your logs into Loki. 
    11  * Making Loki easier to run and operate. Anyone not using Kubernetes or avoiding microservices should pay close attention: this release has a lot for you.
    12  
    13  ## Features and enhancements
    14  
    15  * [**Loki no longer requires logs to be sent in perfect chronological order.**](../../configuration/#accept-out-of-order-writes) Support for out of order logs is one of the most highly requested features for Loki. The strict ordering constraint has been removed.
    16  * Scaling Loki is now easier with a hybrid deployment mode that falls between our single binary and our microservices. The [Simple scalable deployment](../../fundamentals/architecture/#modes-of-operation) scales Loki with new `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.
    17  * The new [`common` section](../../configuration/#common) 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](https://github.com/grafana/loki/blob/main/cmd/loki/loki-local-config.yaml) as the new reference for running Loki.
    18  * [**Recording rules**](../../rules/#recording-rules) are no longer an experimental feature. We've given them a more resilient implementation which leverages the existing write ahead log code in Prometheus.
    19  * The new [**Promtail Kafka Consumer**](../../clients/promtail/scraping/#kafka) can easily get your logs out of Kafka and into Loki.
    20  * There are **nice LogQL enhancements**, thanks to the amazing Loki community. LogQL now has [group_left and group_right](../../logql/#many-to-one-and-one-to-many-vector-matches). And, the `label_format` and `line_format` functions now support [working with dates and times](../../logql/template_functions/#now).
    21  * Another great community contribution allows Promtail to [**accept ndjson and plaintext log files over HTTP**](../../clients/promtail/configuration/#loki_push_api).
    22  
    23  All in all, about 260 PR’s went into Loki 2.4, and we thank everyone for helping us make the best Loki yet.
    24  
    25  For a full list of all changes please look at the [CHANGELOG](https://github.com/grafana/loki/blob/main/CHANGELOG.md#240-20211105).
    26  
    27  ## Upgrade Considerations
    28  
    29  Please read the [upgrade guide](../../upgrading/#240) before updating Loki.
    30  
    31  We made a lot of changes to Loki’s configuration as part of this release.
    32  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.
    33  
    34  ### v2.4.0 changes to defaults
    35  
    36  Here is a list of limit defaults that have changed in v2.4.0:
    37  
    38  | config | new default | old default |
    39  | --- | --- | --- |
    40  | ingestion_rate_strategy | "global" | "local" |
    41  | max_global_streams_per_user | 5000 | 0 (no limit) |
    42  | max_query_length | "721h" | "0h" (no limit) |
    43  | max_query_parallelism | 32 | 14 |
    44  | max_streams_per_user | 0 (no limit) | 10000 |
    45  | reject_old_samples | true | false |
    46  | reject_old_samples_max_age | "168h" | "336h" |
    47  | per_stream_rate_limit | 3MB | - |
    48  | per_stream_rate_limit_burst | 15MB | - |
    49  
    50  We have enabled the [in-memory FIFO cache by default](https://github.com/grafana/loki/pull/4519) when no existing external cache is configured. This helps improve Loki's performance, however it will also allow Loki to consume more memory.
    51  
    52  ### v2.4.2 changes to defaults
    53  
    54  Here is a list of limit defaults that have changed in v2.4.2, add in [PR 5077](https://github.com/grafana/loki/pull/5077):
    55  
    56  | config | new default | old default |
    57  | --- | --- | --- |
    58  | parallelise_shardable_queries | true | false |
    59  | split_queries_by_interval | 30m | 0s |
    60  | query_ingesters_within | 3h | 0s |
    61  | max_chunk_age | 2h | 1h |
    62  | max_concurrent | 10 | 20 |
    63  
    64  ## Bug fixes
    65  
    66  ### 2.4.2 bug fixes
    67  2.4.2 fixes these bugs:
    68  
    69  - [PR 4968](https://github.com/grafana/loki/pull/4968) **trevorwhitney**: Fixes a bug in which querying ingesters wrongly returns a ruler,
    70  causing the internal server error `code = Unimplemented`.
    71  - [PR 4875](https://github.com/grafana/loki/pull/4875) **trevorwhitney**: Honor the replication factor specified in the common configuration block when `memberlist` is the consistent hash ring store.
    72  - [PR 4792](https://github.com/grafana/loki/pull/4792) **AndreZiviani**: Corrects the default values of configuration options in the documentation for:
    73      - `scheduler_dns_lookup_period` 
    74      - `min_ready_duration` 
    75      - `final_sleep` 
    76      - `max_transfer_retries` 
    77      - `chunk_retain_period` 
    78      - `chunk_target_size` 
    79      - `batch_size` 
    80      - `timeout` (for Redis requests) 
    81  
    82  ### 2.4.1 bug fixes
    83  
    84  2.4.1 fixes two bugs in the 2.4.0 release:
    85  
    86  * [PR 4687](https://github.com/grafana/loki/pull/4687) **owen-d**: Eliminate a compactor panic when not using a tenant overrides file.
    87  * [PR 4681](https://github.com/grafana/loki/pull/4681) **slim-bean**: Correct the initialization of the `read` target. Incorrect initialization resulted in query gaps after a chunk was flushed and before the querier downloaded new index tables.
    88  
    89  ### 2.4.0 bug fixes
    90  
    91  Here are some of the more important fixes in version 2.4.0:
    92  
    93  * [PR 4598](https://github.com/grafana/loki/pull/4598) **kavirajk**: Fix the IP matcher lexer to differentiate a filter from an identifier.
    94  * [PR 4563](https://github.com/grafana/loki/pull/4563) **cyriltovena**: Fixes the Series function to properly handle sharding.
    95  * [PR 4518](https://github.com/grafana/loki/pull/4518) **slim-bean**: Fixes a bug in which items are returned to a sync.Pool incorrectly.
    96  * [PR 4411](https://github.com/grafana/loki/pull/4411) **slim-bean**: Fixes a frontend bug which caused it to wait for results which would never arrive.
    97  * [PR 4238](https://github.com/grafana/loki/pull/4238) **liguozhong**: Fixes a distributor goroutine leak.
    98  
    99  ## Security fixes
   100  
   101  ### 2.4.0 security fixes
   102  
   103  Version 2.4.0 contains one security-related fix:
   104  
   105  * [PR 4627](https://github.com/grafana/loki/pull/4627) Explicitly define allowed HTTP methods on HTTP endpoints.
   106  
   107      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.
   108