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.