From 7b8990dd887b76dceb9c4f6a8618c75591ba4bf4 Mon Sep 17 00:00:00 2001 From: Scott Anderson <scott@influxdata.com> Date: Thu, 28 May 2020 16:04:12 -0600 Subject: [PATCH] Flux 0.68 changelog --- content/v2.0/reference/release-notes/flux.md | 127 ++++++++++++++++++- 1 file changed, 121 insertions(+), 6 deletions(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index da2c34673..b9cf597b8 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -16,6 +16,121 @@ Though newer versions of Flux may be available, they will not be included with InfluxDB until the next InfluxDB v2.0 release._ {{% /note %}} +## v0.68.0 [2020-05-28] +This version of Flux introduces an updated type inference system that improves +performance, error messaging, and usability of the +[Flux Language Server Protocol (LSP)](https://github.com/influxdata/flux-lsp). + +## Breaking Changes +- Change signature of `group()` function. + +## Features +- Add [`fieldKeys()`](/v2.0/reference/flux/stdlib/influxdb-v1/fieldkeys/) and + [`measurementFieldKeys()`](/v2.0/reference/flux/stdlib/influxdb-v1/measurementfieldkeys/) + to v1 package. +- Add a context to `plantest.RuleTestCase`. +- Add Snowflake support to SQL package. +- Add `experimental.chain()` function. +- Add semantic nodes for bad statement and bad expression. +- Add [`findColumn()`](/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/findcolumn/) + and [`findRecord()`](/v2.0/reference/flux/stdlib/built-in/transformations/stream-table/findrecord/) functions. +- Return `false` if `contains()` is called with an empty set. +- Add small performance optimizations. +- Add a dynamically linked Valgrind test. +- Add location information to type error messages. +- Add all Linux cross-compilation tools to release Docker image. +- Support remote `buckets()` and `v1.databases()` calls. +- Add support for static linking. +- Add `influxdb` source. +- Add support for `pkg-config`. +- Transform semantic nodes back to AST nodes. +- Handle multi-file packages. +- Make `Eval()` and `EvalAST()` use libflux for parsing and analysis. +- Add `lookuptype` function for stdlib builtins. + +## Bug Fixes +- Reenable Clippy linter rule match single binding. +- Fix bug in object equal method. +- Add builtin formatting. +- Implement TimeBounds for `influxdb.fromRemote`. +- Inject the URL validator into `NewDefaultClient`. +- Fix race condition in the `filter()` function. +- Validate HTTP redirects against private IPs. +- Do not disclose DNS info in HTTP. +- Fix concurrent map write in `filter()` transformation. +- Copy all fields of `WindowProcedureSpec` in `Copy()`. +- Run `go generate` on libflux when `go generate` is run on stdlib. +- `map()` panics when overwriting group column. +- Support execution contexts in the REPL. +- Apply substitution fully when compiling lambda. +- Planner rewrite rules take a context. +- Functions do not panic on null values. +- Fixed logic for merging packages with no package clause. +- Compute function's return type after substitution. +- Resolve member expressions. +- More descriptive error messages. +- Check types of parts when evaluating `StringExpression`. +- Bind appropriate interpreter when evaluating functions. +- Tweak Rust JSON serialization and add tests. +- Pivot will send update watermark and processing time exactly once. +- Calculate diff's watermark using both predecessors. +- Add length check to avoid allocs checking for JSON `null`. +- Make compilers robust to `null` keyword in `extern` field. +- Address issues in `RemoveTrivialFilterRule`. +- Bind appropriate interpreter when evaluating functions. +- Convert `HashMap` in semantic package to `BTreeMap`. +- Use static linking when creating the Valgrind test. +- Update `flatbuffers` dependency. +- Fix JSON serialization of Rust AST. +- Remove unused environment variables. +- Make `merge_packages` allow no package clauses. +- Should not call `CheckKind` when evaluating logical expressions. +- Force the go libflux wrapper to rebuild using `go generate`. +- Adjust `test-bench` config for Circle CI. +- Fix Valgrind test code. +- Let Rust parser parse with file name. +- Remove Algorithm-W to-do list. +- `JoinStr` returns a string, not an empty record. +- Only add visible properties to output of `map()`. +- InfluxDB source would serialize the wrong sign duration literal. +- Remove code in semantic package that depends on Rust/Cgo code. +- Remove component field from API. +- Remove unused notification rule fields from Slack and PagerDuty APIs. +- Array builders must take array types as input. +- Un-skip `map()` tests with null values. +- Remove tests for marshalling semantic graph. +- Run `make generate`. +- Type error in benchmark test. +- Update `TableObject` test. +- Do not call `LocalRange` on nil scope. +- Type assertion error in `length()` tests. +- Update type inference test case with test for `union()`. +- Make non-test CI steps pass. +- Fix semantic check for option reassignment. +- Type inference tests for binary comparison operators. +- Fix typo in builtins. +- Update `holtWinters()` to make `seasonality` optional. +- Type errors in tests. +- Remove default value from notify data as it is required. +- Allow options to be set in scope. +- Replace `ScopeComparer` with `ScopeTransformer`. +- Use `LocalRange` in compile tests. +- Add missing parameter to type of `to()`. +- Get `TableObject` test case to compile. +- Typo in test case. +- Update `TableObjects` to type `Array`. +- Use array type method correctly. +- Schema mutators and miscellaneous to-do items. +- Return proper types for type conversion functions. +- Complete package compiles and passes tests. +- Make stdlib compile. +- Expect monotypes for function values. +- Require successful lookup of stdlib builtins or panic. +- Optimize lookup function using hashmap. +- Include function type when deserializing function expressions. + +--- + ## v0.67.0 [2020-04-28] ### Features @@ -193,7 +308,7 @@ InfluxDB until the next InfluxDB v2.0 release._ ## v0.59.0 [2020-01-14] ### Features -- Add Go/Rust API for getting semantic graph.. +- Add Go/Rust API for getting semantic graph. - Optimize `limit()` transformation. - Optimize `group()` transformation. @@ -251,7 +366,7 @@ InfluxDB until the next InfluxDB v2.0 release._ - Update `experimental.set` builtin type. - Update the type of `influxdb.to` to be a passthrough. - Update `fill` builtin type. -- Remove redundant clones found by a new version of clippy. +- Remove redundant clones found by a new version of Clippy. - Fix durations in Rust semantic graph. - Removes unnecessary rc clone in semantic serializer. - Do not stall forever in flux-config when an error happens with verbose. @@ -266,7 +381,7 @@ InfluxDB until the next InfluxDB v2.0 release._ ## v0.57.0 [2019-12-10] ### Features -- Categorize more flux errors with codes. +- Categorize more Flux errors with codes. - Teach flux-config how to download the sources when using vendor. - Opentracing in query execution runtime. - Reduce memory allocations for operations in values. @@ -292,7 +407,7 @@ InfluxDB until the next InfluxDB v2.0 release._ ### Bug fixes - Properly use a fake version with `flux-config` when no version is present. -- Address clippy lints. +- Address Clippy lints. - Add bytes monotype to Rust semantic module. - Allow underscores (`_`) in type expressions. @@ -408,7 +523,7 @@ InfluxDB until the next InfluxDB v2.0 release._ - Update libflux parser to match the Go parser. - Allow data collected by `prometheus.scrape()` to be used by `histogramQuantile()`. - Remove mock allocator. -- Validate url for `sql.from()`, `sql.to()`, and `socket.from()`. +- Validate URL for `sql.from()`, `sql.to()`, and `socket.from()`. --- @@ -1212,7 +1327,7 @@ In Flux 0.39.0, `holtWinters()` can cause the query engine to panic. - Implement and require builtin statements. - Fix keys to output group key. - Organizes builtin code into Flux packages. -- Change flux command to be a REPL. +`- Change flux command to be a REPL.` ### Features - Implement and require builtin statements.