prometheus/web/ui/module/codemirror-promql/CHANGELOG.md

6.4 KiB

0.19.0 / 2021-12-20

  • [Enhancement]: Add a negative autocompletion boost to some trigonometric functions that can overlap with other more popular PromQL functions.
  • [BugFix]: Improve checking of whether a PrometheusConfig object was passed to newCompleteStrategy().

0.18.0 / 2021-10-20

  • [Feature]: Allow overriding the API prefix used to contact a remote Prometheus.
  • [Feature]: Add linter and autocompletion support for trigonometric functions (like sin, cos)
  • [BreakingChange]: The lib is now exposed under the dist folder. When importing codemirror-promql, it means you will need to add dist in the import. For example import { newCompleteStrategy } from 'codemirror-promql/cjs/complete'; becomes import { newCompleteStrategy } from 'codemirror-promql/dist/cjs/complete';
  • [BreakingChange]: lezer-promql has been migrated into codemirror-promql in the grammar folder
  • [BreakingChange]: Support last version of Codemirror.next (v0.19.0).

0.17.0 / 2021-08-10

  • [Feature]: Support present_over_time
  • [Feature]: HTTP method used to contact Prometheus is now configurable.

0.16.0 / 2021-05-20

  • [Feature]: Support partial PromQL language called MetricName. Can be used to autocomplete only the metric name. (#142)
  • [Feature]: Autocomplete NaN and Inf (#141)
  • [Enhancement]: Fetch series using the HTTP POST method (#139)
  • [Enhancement]: Upgrade lezer-promql that fixed the parsing of metric names starting with Inf/NaN like infra (#142)
  • [BreakingChange]: The constant promQLLanguage has been changed to be a function. It takes a LanguageType as a parameter (#142)

0.15.0 / 2021-04-13

  • [Feature]: Provide a way to inject an initial metric list for the autocompletion (#134)
  • [Enhancement]: Autocomplete metrics/function/aggregation when the editor is empty (#133)
  • [Enhancement]: Improve the documentation to reflect what the lib is providing. (#134)
  • [Change]: Export the essential interface in the root index of the lib. (#132)
  • [Change]: Downgrade the NodeJS version required (from 14 to 12) (#112)
  • [BreakingChange]: Support CommonJS module. (#130)

Note that this requires to change the import path if you are using something not exported by the root index of lib. For example: import { labelMatchersToString } from 'codemirror-promql/parser/matcher'; becomes import { labelMatchersToString } from 'codemirror-promql/esm/parser/matcher'; or import { labelMatchersToString } from 'codemirror-promql/cjs/parser/matcher';

0.14.1 / 2021-04-07

  • [Enhancement]: Provide getter and setter to easily manipulate the different objects exposed by the lib
  • [BugFix]: fix the autocompletion of the labels after a comma (in a label matcher list or in a grouping label list)

0.14.0 / 2021-03-26

  • [Feature]: Through the update of lezer-promql support negative offset
  • [Enhancement]: Add snippet to ease the usage of the aggregation topk, bottomk and count_value
  • [Enhancement]: Autocomplete the 2nd hard of subquery time selector

0.13.0 / 2021-03-22

  • [Feature]: Linter and Autocompletion support 3 new PromQL functions: clamp , last_over_time, sgn
  • [Feature]: Linter and Autocompletion support the @ expression.
  • [Enhancement]: Signature of CompleteStrategy.promQL has been updated to support the type Promise<null>
  • [BreakingChange]: Support last version of Codemirror.next (v0.18.0)
  • [BreakingChange]: Remove the function enricher

0.12.0 / 2021-01-12

  • [Enhancement]: Improve the parsing of BinExpr thanks to the changes provided by lezer-promql (v0.15.0)
  • [BreakingChange]: Support the new version of codemirror v0.17.x

0.11.0 / 2020-12-08

  • [Feature]: Add the completion of the keyword bool. (#89)
  • [Feature]: Add a function enricher that can be used to enrich the completion with a custom one.
  • [Feature]: Add a LRU caching system. (#71)
  • [Feature]: You can now configure the maximum number of metrics in Prometheus for which metadata is fetched.
  • [Feature]: Allow the possibility to inject a custom CompleteStrategy. (#83)
  • [Feature]: Provide the Matchers in the PrometheusClient for the method labelValues and series. (#84)
  • [Feature]: Add the method metricName in the PrometheusClient that supports a prefix of the metric searched. (#84)
  • [Enhancement]: Caching mechanism and PrometheusClient are splitted. (#71)
  • [Enhancement]: Optimize the code of the PrometheusClient when no cache is used.
  • [Enhancement]: General improvement of the code thanks to Codemirror.next v0.14.0 (for the new tree management) and v0.15.0 (for the new tags/highlight management)
  • [Enhancement]: Improve the code coverage of the parser concerning the parsing of the function / aggregation.
  • [BugFix]: In certain case, the linter didn't ignore the comments. (#78)
  • [BreakingChange]: Use an object instead of a map when querying the metrics metadata.
  • [BreakingChange]: Support last version of Codemirror.next (v0.15.0).
  • [BreakingChange]: Change the way the completion configuration is structured.

0.10.2 / 2020-10-18

  • [BugFix]: Fixed missing autocompletion of binary operators after aggregations

0.10.1 / 2020-10-16

  • [Enhancement]: Caching of series label names and values for autocompletion is now optimized to be much faster
  • [BugFix]: Fixed incorrect linter errors around binary operator arguments not separated from the operator by a space

0.10.0 / 2020-10-14

  • [Enhancement]: The Linter is now checking operation many-to-many, one-to-one, many-to-one and one-to-many
  • [Enhancement]: The autocompletion is now showing the type of the metric if the type is same for every possible definition of the same metric
  • [Enhancement]: The autocompletion is supporting the completion of the duration
  • [Enhancement]: Descriptions have been added for the snippet, the binary operator modifier and the aggregation operator modifier
  • [Enhancement]: Coverage of the code has been increased (a lot).
  • [BreakingChange]: Removing LSP support