github influxdata/flux v0.68.0

latest releases: v0.195.1, v0.195.0, v0.194.5...
4 years ago

v0.68.0 [2020-05-28]

Breaking changes

  • e5b0746 expand the interface for BufferedTable (#2135)
  • a84b0cb interpret months as part of the semantic duration (#2073)
  • 4f1478b update the flux spec to remove duration addition and subtraction (#2014)
  • 01f7fa6 turn duration value into a vector (#2018)
  • 6c18912 convert the flux memory allocator into an arrow allocator (#1862)
  • b852e59 update compiler package to use true scope
  • 04db640 add http and json to prelude
  • 14e0061 implement the scanning components for string expressions (#1674)
  • 074df5a remove mergeKey parameter from the map function
  • 6f7ba55 implement nulls in the compiler runtime
  • 3bbf0cc remove the control package (#1299)
  • f18ea54 copy the table when a table is used multiple times (#1301)
  • 55f6510 make "on" a required parameter to join() (#1274)
  • 928e705 aggregates now accept only a 'column' parameter, columns not used. (#1142)
  • 61d0bb9 fix logical operators precedence (#1098)
  • bcfc535 rename percentile function to quantile (#1107)
  • 2f9947c remove unused statistics from the struct (#1068)
  • f2ede3c support attaching arbitrary query metadata from the executor (#1003)
  • b6959a6 make window() parameters match SPEC (#946)
  • 08f45a8 split FromProcedureSpec into logical and physical specs (#554)
  • a7247c9 implement and require builtin statements
  • 14fee45 fix keys to output group key (#641)
  • a77237f organizes builtin code into Flux packages
  • f006acb change flux command to be a repl
  • 1a572ee add File and Package nodes to the AST
  • e84708d change "label" to "column" for state tracking functions
  • 3d067c8 change signature of group() function (#367)

Features

  • 7a0c6ca add fieldKeys and measurementFieldKeys to v1 package (#2805)
  • 1420a43 add a context to plantest.RuleTestCase (#2799)
  • aff8331 add Snowflake support (#2707)
  • 2b82ae4 add experimental chain function (#2781)
  • 1c35d56 planner Pattern interface supplies a set of ProcedureKind as root (#2774)
  • 493f309 added initial prototype of a table-based flux (#2744)
  • 0cc070d evaluate and store "now" in execution deps for tableFind to use (#2759)
  • d0ec678 static analysis tool for listing entry points to flux (#2767)
  • 509c5a5 pass the context to the rewrite rules in the planner (#2761)
  • 71d583b add epsilon parameter to testing.diff (#2723)
  • df23172 add alignTime function (#2671)
  • 38b8a72 add random access group lookup (#2720)
  • 7ce9cef add semantic nodes for bad statement and bad expression (#2742)
  • cc6b383 add pushbullet endpoint (#2697)
  • c4c18d9 add findColumn and findRecord functions (#2695)
  • 9805b5c add a helper for testing an execute.Source (#2642)
  • d449906 return false if contains is called with an empty set (#2696)
  • a094b59 experimental.join (#2693)
  • 9db2cb3 experimental.join
  • cad003d storing comments in the AST and preserving on format (#2602)
  • 6c04c73 added shapeData function to geo package (#2644)
  • f51445f add small performance optimizations (#2727)
  • 171f5ca expose format to wasm users (#2628)
  • 02fc90c added a dynamically linked valgrind test (#2681)
  • 9427f64 hand transpile elapsed aggregate (#2584)
  • 7e99c7b hand transpile cumulative_sum (#2579)
  • 39861e3 experimental geo package (#2565)
  • fbabc41 initial grammar for flux and a partial grammar for influxql (#2547)
  • 5333f4b influxql-decode-and-series-agg-test (#2564)
  • b12a6fe add experimental/aggregate pkg with rate func (#2541)
  • ca037fe add location information to type error messages (#2639)
  • b2b0ebc add experimental query pkg (#2533)
  • 57f53f2 add all linux cross to release docker image (#2640)
  • 54e4797 create a docker environment for flux release (#2514)
  • 19a6b22 support remote influxdb.buckets and v1.databases calls (#2630)
  • cd337b3 validate no free type variables in prelude/stdlib build
  • 15f13fb add support for static linking (#2616)
  • c9b98f6 add formatter lib (#2376)
  • 9644702 add influxdb source (#2568)
  • b4cbac3 add Go/Rust API for getting semantic graph (#2313)
  • d850334 add support for pkg-config (#2555)
  • 16af583 transform semantic nodes back to ast nodes (#2556)
  • 3974fac optimize limit transformation (#2314)
  • ab5600c optimize group transformation (#2299)
  • 7309c45 serialize semantic graph flatbuffers (#2192)
  • e67ed72 implement onEmpty parameter for filter (#2287)
  • 8fd3eae serialize flux standard library types as part of build process (#2273)
  • b185d74 add type declarations for universe (#2269)
  • a2b4efc methods for type checking package dependencies (#2266)
  • 5f4bc51 add type declarations for strings (#2260)
  • a572ca5 categorize more flux errors with codes (#2267)
  • 9709b53 teach flux-config how to download the sources when using vendor (#2259)
  • 7884839 handle multi-file packages (#2430)
  • 0fe8b11 opentracing in query execution runtime (#1992)
  • 50644ab reduce memory allocations for operations in values (#2258)
  • 8e956e6 translate FlatBuffers semantic graph to Go (#2177)
  • 73bfb2a add types for some universe builtins (#2244)
  • 7b03962 add type declarations for builtins (#2240)
  • cf65e26 add Numeric and Row kind constraints (#2241)
  • 305d139 crate for typing flux standard library
  • 11d5970 serialize type environment
  • e7f569d improve filter performance when filtering on values (#2232)
  • 6eb37d7 Update usage duration test to exclude queue and requeue time (#2223)
  • bfdc8f0 add types for some builtins (#2228)
  • c100fbc make Eval() and EvalAST() use libflux for parsing and analysis (#2412)
  • 81c1b83 expose the optimized pivot (#2202)
  • d3f43a0 add lookuptype func for stdlib builtins (#2333)
  • 760e89d create utility program for building libflux (#2200)
  • b48f026 create a tool that measures performance of calling Rust from Go (#1967)
  • 70b314c inject types in the semantic graph (#2183)
  • 91e6a79 MonoType and PolyType flatbuffer encodings
  • c0b1d33 MonoType and PolyType flatbuffer schemas
  • ceab43b update rust flatbuffers to more closely match rust semantic graph (#2193)
  • 46ad4cd flatbuffers ast to go ast (#2162)
  • c3d432b port immutable walk and fix mutable walk (#2174)
  • c814aa5 define the flatbuffers schema for semantic graph (#2139)
  • 3ddb765 infer imported package types (#2152)
  • 42c5b29 unify and infer function types (#2113)
  • b58d429 add support for safely converting bytes to str… (#2154)
  • cb41c28 add sqlite3 support (#2030)
  • f42dd15 add internal table utility for streaming tables (#2126)
  • f166c46 expose function to analyze from string (#2130)
  • 03eb100 added semantic expression constraints to libflux (#2102)
  • 14b4e3c custom PartialEq for polytypes (#2111)
  • 884586e extensible record unification
  • eabb3fb semantic.Walk (#2060)
  • b177c4d macros for type inference tests
  • 1a4906d let-polymorphism with test example
  • 5c0ea05 generalization, instantiation, and constraint solving
  • 016a8fb type environment
  • abfb759 convert Rust AST to FlatBuffers format (#2078)
  • b59ecea allow lexing and parsing of string polytypes according to polytype grammar rules (#2066)
  • 966b4a7 add month support when adding durations to a time value (#2067)
  • a84b0cb interpret months as part of the semantic duration (#2073)
  • 7ad7e2b Visitor uses Rc for nodes (#2074)
  • bc31f15 add EvalOptions
  • fc9a5bf Implementations for type substitutions and constraints
  • 75a508b integrate libflux parser with the go parsing api (#2048)
  • 7e3a5fb add semantic analysis (#2027)
  • 2880695 updated the duration value to include months and negative flag (#2045)
  • b5a4e3f create a flatbuffers schema for AST (#2029)
  • d48ce13 add initial c binding for parsing an AST (#2019)
  • 5c592d1 create a tool for updating .flux tests in-place
  • 873e0a2 add walk implementation
  • 01f7fa6 turn duration value into a vector (#2018)
  • 658d60b Define initial Flux data types (#1986)
  • 98917da create flux tables from prometheus metrics and add structs to mock package (#1937)
  • 5831d1e add a memory manager to the memory allocator (#1922)
  • e491d31 add an internal function for generating data (#1894)
  • 1683110 switch to using discarding mode for the transformations (#1912)
  • 87d668c group key join on _time
  • 4021ca4 optimize filter to pass through tables when possible (#1909)
  • 05601bc additional arrow builder utilities (#1908)
  • 5e38d5f add a benchmark function to the testing package (#1907)
  • be0c81d add an arrow backed version of the table buffer (#1889)
  • 494ed34 new dependency injection framework (#1879)
  • 64682e7 add planner options to flux lang (#1784)
  • 6c18912 convert the flux memory allocator into an arrow allocator (#1862)
  • 62a6dc9 make flux quantile() behavior match promQL quantile() aggregate (#1864)
  • c744695 replace EnvironmentSecretService with EmptySecret… (#1816)
  • 10be782 source location for rust parser (#1572)
  • f8c83d9 Added Google Bigtable from() (#1819)
  • 78829ad add a function that creates the basic auth authorization header
  • 81a1e1f add measurement filter (#1807)
  • a5fab37 pagerduty endpoint for alerts and notifications.
  • 4b24d47 add stateChanges function
  • aa1f560 add ability to validate URLs before making http.post requests
  • 4aa20f9 evaluate string interpolation (#1752)
  • 9e4b444 implement the secrets.get function (#1756)
  • 06ba4d3 added secret service interface (#1753)
  • 831fcf6 add secrets package that will construct a secret object (#1744)
  • b11d50c added a SecretService interface and a new dependencies package and a basic test of functionality (#1692)
  • 8205edf slack endpoint
  • 681da2f add http endpoint
  • 59c54cc add an alerts.check function
  • b852e59 update compiler package to use true scope
  • 222b98e add the notify function to the influxdb alerts library (#1705)
  • 8c3ff10 add ker and kama to flux (#1658)
  • 3137d2a add an experimental "to" function (#1703)
  • 464be52 add experimental set function to update entire object
  • 04ea46f Triple Exponential Derivative (#1646)
  • 5cec22f add post method implementation
  • 3e49c7b string interpolation
  • 494a8f1 string interpolation
  • be661f4 add json.encode function
  • d674b87 mqtt to() function (#1697)
  • f0f2117 bytes type (#1696)
  • af294bd add objectKeys function
  • fea4b40 Tail function: (#1641)
  • 8e41549 add skeleton http.post function
  • 3107a3f implement deadman
  • 31ec54a time arithmetic functions
  • ce6a85c alerts package - pure Flux
  • c4e1a0f add an experimental group() function with mode "extend" (#1685)
  • 14e0061 implement the scanning components for string expressions (#1674)
  • 6a4995b add cmo from influxql to flux (#1612)
  • 4c44c44 added hourSelection function (#1600)
  • 8ff4a55 added year function to date package (#1647)
  • 8e40320 update selectors to operate on time columns
  • 68d306c Relative Strength Index (#1576)
  • 363ef09 add keepFirst to difference (#1603)
  • 12662e7 DatePart equivalent functions (#1580)
  • 8e2d355 holt winters transformation (#1498)
  • 832ade3 double and triple exponential average in pure flux (#1598)
  • 871c244 allow keep to run regardless of nonexistent columns given. if all columns given are nonexistent, return empty table (#1526)
  • f8122c9 scanner returns positioning (#1547)
  • ac56367 add/subtract duration literal arithmetic (#1592)
  • ca70d06 Add PromQL->Flux transpiler and Flux helper functions (#1419)
  • ce85517 add runtime package (#1591)
  • a57922a add mutable arrow array builders (#1537)
  • 7e5a25e double exponential moving average (#1524)
  • 53af9fa moving average transformation (#1443)
  • c7e4543 created date package (#1479)
  • b574f87 return query and result errors in the multi result encoder (#1525)
  • f3c0c08 add elapsed to flux (#1435)
  • 9e09ee5 added mode() function (#1431)
  • 7392714 modify error usage in places to use the new enriched errors (#1458)
  • bbeda23 added exponentialMovingAverage (#1459)
  • bb00e81 add enriched error interface to flux (#1423)
  • 5d54373 add endtoend tests that show how to mimic pandas functionality in flux. add endtoend tests for string functions in general (#1438)
  • 5fb8fca add full draft of Rust parser (#1418)
  • 51cfc1a add sleep function
  • 4b9aa3f implement more production rules
  • a1fe5c1 ast marshalling (#1362)
  • ae16c5e parse statements
  • 8abc1d9 parse int and float literals
  • 2dfff3f add sql.to() function (#1379)
  • 76a0291 add initial rust implementation of parser
  • 13ebc0c add moving average function (#1430)
  • 86232a8 add custom PostgreSQL type support (#1415)
  • a823678 added MySQL type support (#1339)
  • faa959f add length and substring functionality includin… (#1405)
  • f3e351c add regexp functions from Go to Flux (#1367)
  • 32d5c49 nulls work in table and row functions (#1381)
  • 7af518e add the exists operator to the compiler runtime (#1382)
  • 6f7ba55 implement nulls in the compiler runtime
  • e3923af add nullable kind (#1363)
  • a3368ab support "with" syntax for objects in row functions. (#1303)
  • ebb9215 update SPEC.md (#1361)
  • e54daf4 port several string functions from go string library to flux (#1340)
  • 6e9c97a add exists unary operator (#1345)
  • 2cce6fe support for dynamic queries (#1284)
  • ec37117 support for dynamic queries (#1284)
  • 045e4d4 add stream table index functions (#1174)
  • c613fda construct invalid binary expressions when given multiple expressions (#892)
  • bd26022 Allow choosing sample/population mode in stddev() (#1210)
  • 1f5dd11 Add trim{Suffix,Prefix} functions (#1192)
  • 6fd07a0 add support for conditional exprs to compiler
  • 7bd1ed6 add conditional expression handling to interpreter
  • 1fcdaaa add handling for conditional expressions to type inference (#1184)
  • ac06baf add if/then/else syntax to Flux parser
  • 27bf118 added a WalkIR function that external programs can use to traverse an opSpec structure (#1149)
  • 38c04ce add planner options to compile options (#1146)
  • 862f2bc add example on how to use flux as a library (#849)
  • 462c07a duplicate will now overwrite a column if the as label already exists (#1135)
  • 5f3472e define comparison operators between time types (#999)
  • 6c2246e parse signed duration
  • 19d7fe7 added reduce function and supporting go API for implementation (#1065)
  • a4b78eb fix for recognizing locally scoped objects and arrays in a row function (#1069)
  • f2005ce added a math package and ported all 64 bit go math library functions (#1034)
  • f2ede3c support attaching arbitrary query metadata from the executor (#1003)
  • be4ace7 socket source (#905)
  • 928d3c1 ast match (#959)
  • 9e0ff95 generate ASTs from flux test files for external consumption (#967)
  • bf71577 add compile subcommand that compiles flux to spec (#937)
  • 0f58806 add contains function to check for membership in lists (#954)
  • 556eb67 test keyword
  • dd6fe23 add strings package with functions to trim/change string case (#943)
  • 17a81e4 make duration conversion public (#947)
  • fb6c314 add assertEmpty method and use it with testing.test (#926)
  • 3369fa5 expose literal parsers used within the parser (#922)
  • 288f937 add testing.diff function (#917)
  • 511dda3 execute command (#902)
  • 5227379 checks for option dependencies (#896)
  • 5a035c7 add query success and error metrics (#901)
  • d4cb766 track nested blocks in the parser (#886)
  • 6077efa update aggregateWindow to include createEmpty as parameter to allow for null results. (#893)
  • 55e9d9c add query function count metrics
  • 45388da adds various v1 meta queries helper functions
  • 904e653 add rule to remove filter true nodes
  • 401c3fd checks for variable reassignment and option declarations below package block
  • a7247c9 implement and require builtin statements
  • 17e493c added a new utility library for generating test data (#828)
  • 32c1e00 columns function (#640)
  • 8e28081 add fill function to set a default value for null values in a column. (#818)
  • a77237f organizes builtin code into Flux packages
  • f006acb change flux command to be a repl
  • 2451c02 Refactored the table builder interfaces to support null value creation. (#790)
  • 252a88a aggregates process empty/all-null tables by creating a null row (#692)
  • 0fe4c65 show nulls in REPL as empty string (#778)
  • 859d8f7 add ability to define built in packages
  • 9fb276b treat omitted values with no defaults as nil in csv (#691)
  • 76c4d33 build arrow columns with null values (#638)
  • 9e7b58f converting limit to use arrow arrays (#570)
  • 98de285 TableBuilder interface and ColListTableBuilder implementation support creation of nil values (#636)
  • 7bf6bae embed errors into the ast from the parser (#635)
  • bb08243 add no-points optimization for from() |> keys() (#624)
  • 1a572ee add File and Package nodes to the AST
  • 9f1545b add a function for checking for errors within the AST (#288)
  • bd2060d slice utils (#580)
  • ffed227 parse string literal object keys (#562)
  • 8eb0879 add tests for multi-line and escaped strings
  • e985994 arrow helper method
  • 6ddfc0f converting all aggregates to use arrow arrays (#532)
  • 7d9ce0a add utility methods for converting a slice into an arrow array buffer (#552)
  • e1b8738 plan validation (#487)
  • ec0b938 testing framework no longer checks output, flux… (#485)
  • 73f672d integrate arrow arrays into the table builder (#488)
  • efa0ffa support packages and imports
  • 5d4b05c Option Editor (#387)
  • 1f7f896 rule to chain group operations (#403)
  • 7f2d426 add package and import support to the semantic graph
  • 8357b02 add function assertEquals to transformations (#396)
  • f4cc7af parse import and package statements
  • 6890624 Walk pattern for AST (#386)
  • 4d841b2 AST formatting (#383)
  • 8211239 switch over to the new parser (#352)
  • 3d067c8 change signature of group() function (#367)
  • 46f401b add time literals to the parser
  • 20a45d9 record all position information for nodes generated by the parser
  • 4321972 add controltest.Controller
  • 113decb initial pass at the new parser
  • 405685a Add String method to Token type
  • b39087c scanner now produces file position information
  • e0660e8 copy parser tests to the internal parser package
  • aa70cec initial work on a scanner using ragel
  • 4e49040 introduce the parser package and outward interfaces
  • d06f708 initial token package
  • b3bd680 shutdown method for the controller
  • c45e00c create memory package with a memory allocator
  • ab39f6d add support for string comparison operators
  • 670c75c add Fuzz method for go-fuzz into the parser
  • bb04035 staticarray supports using the allocator for tracking memory usage
  • b5460de add an influxql json decoder as a library
  • f9f3d24 Add aggregateWindow helper function
  • ec90067 log when a panic happens inside of the controller logic
  • 6547c93 array builder interface for constructing an array
  • f423043 add interfaces for reading array data
  • c6b6b2d added GroupKeyBuilder for constructing a new group key
  • 2c557f1 Add histogram function for computing bucket based histograms
  • 1647952 implement query.ResultIterator for influxql.Response
  • 703e089 Created mapped/unmapped versions of append table and updated functions that use it (#751)
  • 7e24cce make it possible to configure the default memory limit for queries
  • 3fb58d2 add uniform query endpoint for sources
  • f35739a Add histogramQuantile function
  • 2875fb1 add pivot() builtin procedure
  • 6e20ca2 log panics with their stacktraces within the query executor
  • 9e6ece8 Add Grow() functions to the table builder interface (#549)
  • 487d00c Use DBRPMappings in 1.x read path
  • 8f06d0b add task options
  • eda0b90 Add query statistics
  • 1a0ba27 split compile into two functions to allow Eval access
  • 3b1dcd0 catch panics when executing a query in the controller
  • 16c921d Add group-by time + offset support (#384)
  • 0814d02 Add support for using bucketID in from
  • b80955a implement all of the basic aggregates and selectors
  • fd0c3f0 support for windowing
  • 28805e3 add additional error details for a few unimplemented errors
  • 5207a46 support for windowing
  • 40b09f2 allow window to ignore the global boundaries of the query
  • eb043ae support for group by
  • adc5108 modify the encoder to allow more flexibility from the transpiler
  • 4e4f79a switch to using the grpc client
  • 2086c77 Change Encode interface to return bytes written
  • 7825679 expose default database and retention policy for transpiler
  • 588affd add organization lookup to storage dependencies
  • 517f3d3 transpile using buckets instead of the database
  • 89cca73 implement filter conditions for tags in the transpiler
  • 03c5736 support multiple select statements
  • 6c3f4f0 first batch of tests ready for review (#56)
  • febd01e encode influxql json results correctly
  • 88b2ec0 test framework improvements to help generate output (#51)
  • 5f02d1c Add offset to limit functions
  • 3118db3 Add mergeKey argument to map
  • 06cf1fb perform error handling in the transpiler and the query service
  • fb571cc use yield name to specify the statement id
  • 0de6708 enforce fixed ordering on results iterator (#39)

Bug fixes

  • fe525d5 reenable clippy linter rule match single binding (#2870)
  • a89cd9b fix bug in object equal method (#2859)
  • 205d23a add builtin formatting (#2858)
  • 3c615fc implement TimeBounds for influxdb.fromRemote (#2849)
  • 11ca79c inject the url validator into NewDefaultClient (#2845)
  • be8c67e fix race condition in the filter function (#2838)
  • f7d2737 validate http redirects against private ips (#2839)
  • 091ea47 do not disclose dns info in http (#2840)
  • 528f07c fix concurrent map write in filter transformation (#2802)
  • b42d417 copy all fields of WindowProcedureSpec in Copy() (#2792)
  • bc7d9e1 run go generate on libflux when go generate is run on stdlib (#2778)
  • 5da31c6 map panics when overwriting group column
  • 95b342d support execution contexts in the repl (#2776)
  • f3f49c9 system.time() should check context for override
  • 4472bcd merge conflicts
  • 715af76 apply substitution fully when compiling lambda (#2770)
  • 051d1dc add bounds to alignTime tests (#2750)
  • e5a33b9 planner rewrite rules take a context
  • 57c72c1 merge conflicts
  • 0477445 functions do not panic on null values
  • 3d63799 use RandomAccessGroupLookup in testing.diff (#2721)
  • 1b9f122 address deleted state GroupLookup (#2726)
  • 8391213 add test case for errors when AST is bad (#2705)
  • d9dae40 reduce memory usage during CI testing (#2699)
  • f0e55a6 fixed logic for merging packages with no package clause (#2736)
  • 298f935 reimplement stateChanges function (#2675)
  • 833eea1 compute function's return type after substitution
  • 2ae1516 resolve member expressions
  • 9e674ae remove the set -x in the xcc script (#2659)
  • 914d665 more descriptive error messages
  • b784eac publishes flux as a public npm package (#2633)
  • 63d3afa check types of parts when evaluating StringExpression (#2691)
  • e595e10 bind appropriate interpreter when evaluating functions
  • 5dfc7e1 pivot message passing (#2624)
  • a504947 add response reader as dependency to tune response size (#2598)
  • b12408f tweak Rust JSON serialization and add tests (#2686)
  • 783ebb2 pivot will send update watermark and processing time exactly once (#2683)
  • b19f708 calculate diff's watermark using both predecessors
  • 69b26b9 handle unfinished option statement without panic (#2605)
  • 0c440ad add length check to avoid allocs checking for JSON "null" (#2679)
  • af0074d simplify libflux C API and resolve memory leaks (#2603)
  • 889f84e make compilers robust to "null" keyword in extern field (#2678)
  • a25212d don't construct a compiler.compilerScope with a nil value.Scope as base (#2583)
  • 339e4c3 address issues in RemoveTrivialFilterRule (#2674)
  • 175378a bind appropriate interpreter when evaluating functions
  • 5e2c399 influxql-decode to handle the case without tag set
  • 92f5401 convert HashMap in semantic package to BTreeMap (#2667)
  • ea60da3 use static linking when creating the valgrind test (#2663)
  • 155f799 update flatbuffers dependency (#2665)
  • 005cb78 properly categorize parse errors as "invalid" (#2569)
  • 2b6c146 fix JSON serialization of Rust AST (#2660)
  • 8ae30c1 fail gracefully when tableFind does not have an execution context (#2558)
  • 80cbc00 remove unused env variables (#2645)
  • af180b9 deserialize the default vector if array elements are null (#2544)
  • 14867dc allow array and row types to be equatable (#2543)
  • 92f8754 derivative works properly across multiple buffers (#2502)
  • e434d51 free type variable found in tripleExponentialDerivative
  • 0b4cb4d make merge_packages allow no package clauses (#2631)
  • d216ed5 should not call CheckKind when evaluating logical expressions
  • f851aa6 update type of window function
  • d62f7ad force the go libflux wrapper to rebuild using go generate (#2625)
  • bef3228 freshen row types using deterministic property order
  • d1c3353 libflux json deserialization uses type properly (#2436)
  • c526959 adjust test-bench config for circle ci (#2620)
  • f6d79c9 expose the builtin polytypes when analyzing a stdlib package (#2420)
  • ab325af fix valgrind test code (#2618)
  • 20c84bd deserialize call expressions when arguments are missing (#2421)
  • f4dc04f let rust parser parse with file name (#2464)
  • 3c44623 handled malformed data as well as eof (#2413)
  • cc82e3f allow uint to be subtractable (#2385)
  • b0e7a22 link both libflux and liblibstd for flux-config (#2401)
  • a32c9c0 link libstd into the lib directory instead of libflux (#2400)
  • 3f48ebf flux-config correctly copies stdlib when using a module (#2399)
  • 4827c2b add 169.254/16 range to URL validator (#2394)
  • a4df2d9 remove algow todos (#2590)
  • 2b44627 uuid security (#2391)
  • 55c479a handle invalid string literals (#2388)
  • f888f21 joinStr returns a string, not an empty record
  • 1733d0c only add visible properties to output of map
  • 6b88cae remove 'tags' line from local tags (#2383)
  • e5ed64d influxdb source would serialize the wrong sign duration literal (#2578)
  • 50e0e3b ast json serialization glitches (#2352)
  • 1dbc141 remove code in semantic package that depends on rust/cgo code (#2554)
  • 0faef25 better messaging for malformed csv (#2351)
  • 41961a1 skip stdlib symlink was removed erroneously (#2337)
  • f889929 ensure stdlib directory is created (#2335)
  • 1c7cc9f correctly skip the stdlib symlink in libflux (#2332)
  • 472f5d5 remove component field from api
  • ee6ae8b ensure that stdlib is present when building with flux-config (#2329)
  • 5416e8e remove unused notification rule fields from slack and pagerduty apis
  • 0cbfe8f expose tracing flag (#2281)
  • 049f01e array builders must take array types as input
  • 747e65e update count builtin type (#2309)
  • e0488cc update experimental.set builtin type (#2310)
  • 72e19cd update the type of influxdb.to to be a passthrough (#2311)
  • e00e8ff update fill builtin type (#2308)
  • 381ef07 unskip map tests with null values
  • b0076b3 remove redundant clones found by a new version of clippy (#2302)
  • d42f870 fix durations in rust semantic graph (#2297)
  • b78cdeb remove tests for marshalling semantic graph
  • d3317e8 run make generate
  • 0d3f174 removes unnecessary rc clone in semantic serializer (#2295)
  • 9e06bfa type error in benchmark test
  • c2c3c01 update TableObject test
  • 4956ae3 do not call LocalRange on nil scope
  • f2104bb do not stall forever in flux-config when an error happens with verbose (#2286)
  • b66e808 type assertion error in length tests
  • 2c4a5fb update function block return statements to produce a stmt and not an expression (#2272)
  • f7ad7ff fix token location for scan_with_regex (#2274)
  • aef59dd cache environment variable for performance (#2280)
  • a46babe fix a couple errors in builtin types (#2279)
  • 74c3c08 update type inference test case - add one for union (#2472)
  • 20859ed make non-test CI steps pass (#2480)
  • 2ca77ab fix semantic check for option reassignment (#2477)
  • 3d2fd73 annotate variable assignment with polytype (not monotype) (#2276)
  • 56b5b92 type inference tests for binary comparison operators
  • 7cecfdf fix typo in builtins (#2467)
  • fcc9f80 update holtWinters type to make seasonality optional. (#2465)
  • cba81bb type errors in tests
  • 39674fd remove default value from notify data as it is required (#2461)
  • 40ed786 allow options to be set in scope (#2457)
  • a16404d replace ScopeComparer with ScopeTransformer (#2447)
  • 58c0335 enable strict mode by default (#2236)
  • 9d17e65 use LocalRange in compile tests
  • 592a0bb add missing parameter to type of "to()" (#2438)
  • 77b6717 get TableObject test case to compile
  • ad365b4 Address even more clippy lints (#2237)
  • 1370079 typo in test case
  • 78e7b01 update TableObjects to type Array
  • 45f60a1 properly use a fake version with flux-config when no version is present (#2238)
  • ca2f4bf use array type method correctly
  • 471f7a8 schema mutators and miscellaneous todos
  • c75a15e Address more clippy lints (#2225)
  • 73b0f9d return proper types for type conversion functions
  • bbf547d Address some clippy lints (#2224)
  • b6f2b8c complete package compiles and passes tests
  • 6d640fb make stdlib compile
  • e8e22dc misc stdlib fixes (#2406)
  • bb649ae expect monotypes for function values
  • 5812e98 require successful lookup of stdlib builtins or panic (#2395)
  • a0ee026 add bytes monotype to Rust semantic module (#2213)
  • 21340be optimize lookup function using hashmap (#2390)
  • 4cc0db2 allow "_" in type expressions (#2210)
  • 6448221 include function type when deserializing fn exprs (#2370)
  • a93e72d update semantic graph FlatBuffers schema for identifiers (#2199)
  • 0979031 ignore order when comparing record types (#2169)
  • ea2fd6b operands for <= and >= are Comparable AND Equatable
  • e815e9f constrain unary expressions to be same type as operand
  • c6b53d6 do not constrain type variables with empty kinds (#2112)
  • 9b38efd Update usage tests to filter on _field (#2110)
  • 0f5cf89 record labels are scoped and fields are ordered
  • 189a315 parse row variables
  • 651e689 update make release to confirm remote and local are in sync (#2098)
  • b4545f2 make walk_rc public (#2100)
  • 8c6858c type variable constraints
  • d461493 apply sub to both sides of constraint before unifying
  • 6bfd94b instantiate quantified vars, not free vars
  • 5a551f9 correctly lex µs (#2059)
  • 3c18d81 add annotated errors to the execute package where it effects normal usage (#2052)
  • c07e66a make keep/drop throw an error if merging tables with different schemas (#2017)
  • c65c247 reorder variables in the allocator for atomic operations (#2043)
  • aa7aeb5 update libflux parser to match the go parser (#2049)
  • bf01e4e allow data collected by experimental.prometheus.scrape() to be used by histogramQuantile (#1991)
  • fc79ed8 remove mock allocator. (#1988)
  • a46c855 validate url for sql.from/sql.to/socket.from (#1962)
  • 158724c make data param required for monitor.check (#1949)
  • 166f2ee return the EOF error when reading metadata (#1946)
  • 006251d add back missing import
  • a59d621 fix broken links in SPEC
  • 77c058f return error from cache
  • f6fa52a update the universe package to use flux errors throughout (#1920)
  • a833187 parse escape chars in string interp expression
  • 635f9bf parse escape chars in string interp expressions
  • c5c2321 improve csv error message for serialized Flux error
  • be7015e have the interpreter return annotated flux errors (#1918)
  • 36b0e1c sql does not leak connections anymore (#1900)
  • 695b056 fix some of the memory leaks within the standard library (#1878)
  • 3ad207e Topic setting (#1895)
  • 780ffd7 passing context to WalkIR (#1893)
  • ca3623b make join reject input tables lacking "on" columns
  • 44659a9 introduce ParenExpression (#1848)
  • 6830c8e make fmt runs cargo fmt on rust dirs (#1858)
  • 74a671b hex.Dump -> hex.EncodeToString
  • 03897f1 integrate the promql transpiler into flux
  • 80ba307 make 'to' use url validator (#1853)
  • 9435fa8 add filesystem to default test dependencies (#1851)
  • d71430b add a filesystem service (#1849)
  • e428965 do a pointer comparison for table objects instead of a deep compare (#1843)
  • 956bf11 push the tag before running goreleaser (#1823)
  • e35a585 additional opentracing spans for debugging query flow (#1835)
  • 3db6181 push error for bad string expression (#1836)
  • 6ab2f0e ensure http.post respects the context (#1832)
  • 3a4ef63 remove token parameter from pagerduty endpoint (#1825)
  • 745ffaa add severity level formatting helper function (#1817)
  • d3091b4 sleep function now gets canceled when the context is canceled (#1809)
  • bf652d8 categorize the undefined identifier as an invalid status code (#1818)
  • a41865f panic from CheckKind in memberEvaluator (#1815)
  • 8e09794 changed the default http client to be more robust (#1798)
  • 5063823 race condition in looking up types in map
  • f797e71 support bool equality expressions (#1787)
  • d9662a5 calculating a type variable's free type variables
  • 03f332a do not generate fresh type variables for member expressions
  • 315540e array instantiation
  • 842695a make reset() check for non-nil data before calling Release() (#1757)
  • 75c1f1b add test case for notify function
  • 690f856 add missing math import to test case
  • 76e51f3 make packages aware of options
  • a73b496 resolved holt-winters panic (#1742)
  • 90bd165 use non-pointer receiver for interpreter.function
  • e4404c4 avoid wrapping table errors in the csv encoder (#1731)
  • c6fb976 remove some now irrelevant TODOs
  • 9b0fd76 mode() now properly considers nulls when calculating the mode (#1655)
  • 04db640 add http and json to prelude
  • 7cd93c0 rename all Flux test files to use _test.flux
  • ad5a08b update object to use Invalid type instead of nil monotypes
  • b8a1694 make it so the alerts package can be defined in pure Flux
  • ba45c4b Close connection after sql.to() (#1656)
  • f8692e2 fixed two small copy/paste errors (#1663)
  • 2018df6 fixed InfluxDB test errors (#1587)
  • 8df5638 add range to tests to pass in influxdb (#1586)
  • 9da5504 function resolver now keeps track of local assignments that may be evaluated at runtime (#1562)
  • 5ccad47 make type conversions work when converting null types (#1568)
  • 5e6ee7c date tests missing range calls (#1569)
  • b25312b add helper methods for comparing entire result sets
  • e0ac86e map will not panic when a record is null (#1494)
  • 68f4f4e fixed InfluxDB test errors (#1587)
  • d5dc30f fix the mutable arrays when reserving after the initial allocation (#1561)
  • 19a12bc add range call to some e2e tests
  • e32343d add range to tests to pass in influxdb (#1586)
  • 1c2b06b throw appropriate error for division and mod with zero (#1559)
  • 52bf9ec allow converting a duration to a duration (#1584)
  • 6af7627 fix implementation of replaceAll from strings (#1476)
  • 356dc22 catch integer overflow and underflow for literals (#1570)
  • 00b4a21 alter missing parameter error message to be more illuminating (#1515)
  • cf047ea fix difference so that it returns err instead o… (#1470)
  • aea0374 correct moving average behavior with chunking (#1511)
  • f3282ac Added end to end tests for conversion funcitons (#1457)
  • 11ba585 mode displays multiple modes for multi-modal data (#1518)
  • ba828d5 make row map fn error if return type is not object (#1460)
  • 9cd843d added power operator (#1490)
  • d063dd5 fix the example for covariance (#1488)
  • d608bfe the query was not compiling because math.mMax requires float values, and 0 is not understood to be a float value. (#1485)
  • 0e9231f miscounted allocations in the ColListTableBuilder (#1451)
  • c0b9768 suport formatting "with"
  • ea30f95 readd mergeKey parameter to map in deprecated state
  • ed61d34 parse float types with PostgreSQL (#1417) (#1426)
  • 834281b diff should track memory allocations when it copies the table (#1029)
  • 074df5a remove mergeKey parameter from the map function
  • 1823aa4 modulo operation added (#1475)
  • 7174615 parse float types with PostgreSQL (#1417)
  • 6982ed0 use strings.Replace instead of strings.ReplaceAll for compatibility (#1409)
  • 065b06e copy table will report if it is empty correctly (#1396)
  • f2d41e9 add range to map_extension_with.flux (#1389)
  • 6247429 row function resets records map with each call to prepare (#1388)
  • adb8655 fix joinStr, including adding an EndToEnd Test (#1386)
  • 19e2bf8 fix string_trimLeft and string_trimRight so that they pass in influxdb (#1369)
  • 1226e29 add length check for empty tables in fill (#1355)
  • b2dcd41 identify memory limit exceeded errors in dispatcher (#1333)
  • c58529c changelog generator now handles merge commits better (#1319)
  • 8ce17b2 return count of errors when checking AST (#1312)
  • c12e7f0 do not call done after calling the function (#1308)
  • f18ea54 copy the table when a table is used multiple times (#1301)
  • 32fb2fb properly use RefCount to reference count tables (#1216)
  • 55f6510 make "on" a required parameter to join() (#1274)
  • 12638ec remove the race condition within the (*Query).Done method (#1277)
  • 3a467e7 fix table functions test (#1272)
  • 499bb7e add column parameter to median
  • f570556 modify median to work with aggregateWindow (#1263)
  • 172fd34 pivot now uses the correct column type when filling nulls (#1254)
  • 4c69794 add error handling for property list (#1175)
  • 02ebc15 return the error from the context in the executor (#1228)
  • 57759cc fix request results labels to count runtime errors
  • 3e19f89 an error when joining could result in two calls to finish (#1225)
  • 461cb44 preallocate data when constructing a new string array (#1220)
  • 2dafcef make executor respect memory limit from caller (#1213)
  • 21fa4a5 fix reducer so that it resets the reduce value to the neutral element value for each new group key, and report an error when two reducers write to the same destination group key. (#1202)
  • c418612 enforce memory and concurrency limits in controller
  • d9a162a format conditional expression (#1188)
  • 3de1bf8 tagKeys should include a call to distinct (#1185)
  • 8c818b1 format right child with good parens (#1166)
  • 7505a46 make staticcheck pass (#1177)
  • 4a438e2 rename json tag so go vet passes (#1176)
  • 424cb2f the controller pump could reference a nil pointer (#1154)
  • c268989 create a DependenciesAwareProgram so controller can assign dependencies (#1148)
  • eacb4d4 make Program.Start start execution synchronously (#1143)
  • ff804ed read the metadata channel in a separate goroutine (#1131)
  • 644ab21 Remove dead code in controller so staticcheck passes (#1105)
  • c42b770 Allow flux unit tests to pass (#1103)
  • 90ce58c require a github token to perform a release (#1150)
  • eb409af change example name to make go vet pass (#1151)
  • 828398a make csv.from return decode error (#1141)
  • 3b21028 omit space between unary operator and operand (#1124)
  • f05887b format AST preserving operator precedence (#1078)
  • 61d0bb9 fix logical operators precedence (#1098)
  • 53068de handle when a non-call expression is parsed as the pipe destination (#1093)
  • cb7da82 Add error message to Compile methods for empty Spec (#1092)
  • 23fd448 columns in percentile signature and more strict param checking (#1082)
  • 6df26f2 report the error received when parsing a bad regex literal (#1079)
  • 2f9947c remove unused statistics from the struct (#1068)
  • cf76e47 make read-like access patterns for objects thread-safe (#1064)
  • 976b3f9 test union.flux correctly uses sort (#1031)
  • c98996b pivot orders rowKey and columnKey by the input parameters, rather than the table column order (#1028)
  • 0d6c280 deterministic sorting of input tables in join
  • d43baf6 group key comparison works regardless of column ordering
  • 16950c4 fix test to pass in influxdb (#1024)
  • 5ea9eee write table and result name in each row of csv output (#1014)
  • 92bf63c make time() function accept any format that parser accepts (#1019)
  • 222374b return errors when evaluating functions (#1018)
  • 8a418db prevent a deadlock in the array expression parser (#1013)
  • af24bbe add AST compiler to mappings
  • efbe18b make ASTCompiler marshalable (#1011)
  • 5266963 fix a controller test to be less flaky (#1008)
  • ce3ef48 from must send deep table copies to its downstream transformations
  • 703c47e add locks to make diff threadsafe (#996)
  • dbb5820 change loadStorage and loadMem to be options so that they are modifiable (#977)
  • 148857c generate skipped tests; skip in test driver (#970)
  • 5397d25 raw query test case (#962)
  • 3219298 refactor the controller to remove data races (#939)
  • b620e9e member expressions using a string literal use the incorrect end bracket (#949)
  • b58fd25 skip lambda evaluation when referencing nulls (#862)
  • 40de12c options editor should use ast.Expression (#927)
  • e818db8 fix decoder bug where a default table id is given when none is required. (#916)
  • 392cd4f add close to SourceIterator (#904)
  • 0b10ca9 multiplicative operators are above additive operators in precedence (#907)
  • 73e28c9 fix panic when copying lambda (#899)
  • b1bdb9a only print a package's public exports
  • 24707ba cannot access imports of imports
  • b54fec4 check for schema collision when appending columns to a table (#878)
  • 04bf675 process test helper had bad logic to check for errors (#877)
  • 3609862 handle rune errors correctly when decoding an illegal token (#884)
  • 5bbc905 copy packages for importer copy
  • faeaf1f fixes various UX issues
  • 7d1d851 object polytype
  • 3003866 fix edge case panic in assertEquals (#872)
  • 3c4cf5d check for equality in time columns correctly (#865)
  • 417db85 fix bug where assertEquals did not check tables without a match in both streams. (#823)
  • 13782bb clear return for each repl command
  • 0c6799f move a test file into the testing/testdata folder (#856)
  • 6e939e8 count nulls in the count aggregate (#834)
  • 14fee45 fix keys to output group key (#641)
  • 9625821 adding test for type mismatch in group (#827)
  • 6eab5a7 nest extern blocks for each level in scope
  • 8975f7b memory leak in limit when slicing (#793)
  • 9f21810 prettier formatting for package (#782)
  • 081d5d5 change Package.Path to be json omitempty
  • 2ead3ed remove unneeded use of memory allocator (#633)
  • 015a0cf allow the memory allocator to be nil for arrow arrays (#610)
  • 9c4371a fix several bugs in copy methods add tests
  • fbe1436 fix a flaky test in the controller shutdown (#612)
  • 6bf2405 embed plan.DefaultCost in input and output functions (#585)
  • 1f2941f side effect statements are now copied between related interpreter scopes (#576)
  • 8baaec7 do not panic with unbalanced parenthesis (#483)
  • b8c5a0e respect positive timeout for toHTTP
  • 7b07782 Cancel all queries after timeout elapses. (#478)
  • e84708d change "label" to "column" for state tracking functions
  • cee28c0 makefile for generating the scanner after clean was incorrect (#482)
  • 027aeb3 return the source attribute in the location correctly (#475)
  • 88e6579 make controller return planner failures (#446)
  • f5c6aa7 collision between external and fresh type vars
  • a4b2653 fmt for import and package (#402)
  • c0f28ac add import/package nodes to ast.Walk
  • c05ec64 improve panic message when the wrong column type is used (#395)
  • a4ab632 check nil results when computing stats (#394)
  • 3a6d9d3 suppress group push down for _time and _value (#393)
  • 983a88e terminal output functions must produce results
  • 06e8164 fix race in interpreter.doCall
  • eb94879 fix ast.Walk for Assignemnt rename
  • 76bca47 Improve error message for missing object properties
  • 45975b5 add unary logical expression to the parser (#372)
  • 92145af variable declarator node needs to duplicate the location information (#371)
  • 93bbf9f add missing comparison operators (#369)
  • 13f7dc2 fix the ident statement to use expression suffix (#370)
  • 960e813 operator precedence for unary expressions and postfix expressions
  • 3a5cd9c lookup element type of array during allocation
  • fc21ba7 keywords are case sensitive in flux so fixing these end to end tests
  • d2ba6b5 ensure the scanner state machine is initialized correctly
  • e1e123a do not panic when literals fail to parse
  • 126348f do not panic when the right hand side is not a call expression
  • 8e3ee83 ensure the new parser does not panic on unexpected input
  • 5c93d84 run go generate on the scanner
  • ca30bed regular expression escape sequences in the scanner
  • 17d95ec regex scanning would produce the wrong tokens
  • 483d7a8 add arrow token to the scanner and rename the pipe tokens
  • 0cc72d0 switch the scanner interface for the parser
  • b90ed2b controller statistics should not panic
  • d61c48a return error in covariance when a column doesn't exist
  • e978d32 better error message when one of the range bounds is not set
  • 1368fef revert the change to query result iterator
  • d6cc35b fix when a query is requeued multiple times
  • f849513 Fix buckets funciton signature
  • 5e8d72f csv decoder data race
  • ab9815a handle errors everywhere in functions and things that use the table builder
  • cc0a209 simplify and fix a problem in the keys function
  • cc71c45 to_http will return any errors that happen during execution
  • 1335e4d don't panic when accessing property on non-object
  • 907ed5d don't panic on constant division by zero
  • 32ab4f3 Change join rename order
  • 83d785b Add better strings for repl values
  • e5a8657 Update repl to use ResultIterator
  • ea79b7b decode the error annotation in the csv format
  • e301c43 Update duration spec to account for end of month
  • 196b619 Fix group by panic when missing a column
  • 974a296 Fixes data race on object type
  • d4f3d7d report query statistics correctly
  • 52dde0e Fixes panic in query from sharing builtin decls
  • a85ca50 Add end to end test for histogramQuantile
  • 775385f Fix missing builtins in REPL
  • 68847db disable the join behavior in the transpiler
  • 19a7799 Fixes #697 data race in execute test
  • 40844a1 Use metadata based gRPC tracing
  • 0b20806 fix the queueing metric
  • 6822d24 finish the parent span once
  • 60140f5 remove a deadlock
  • 9bfe442 finish the parent span if compiling or queueing fails
  • 2b8116d Update query services to use Request type
  • f184bbb More specific error messages for aggregate errors
  • 13472c6 include default parameters in the range spec
  • f939d28 Properly check aggregate type
  • e496f6e fix passing down the bucket id in the from call
  • 36d04b4 Explicilty handle overflow of currentTime is storage source
  • 9be382e Fix deadlock in query stats
  • 39c2d95 Panic in query/controller on Statistics
  • b6a53a7 Update REPL to correctly compile Spec with now option
  • eddc350 influxql transpiler should set the now time
  • ea303fd cancel the enqueue of a query if the context finishes
  • cdb915b Fix tests that are failing because of the rename
  • 330abad Update Godoc parameter name
  • 0c14323 Fix panic in controller if planning errors
  • 48a555a Update Spec.md link
  • 52f1671 race condition when attempting to plan a query in the controller
  • 886d91d discard finished queries from the priority queue
  • f37e10b Include function name in error
  • 02eb5cb have the transpiler use the _time column for the time
  • 587f0a4 transpiler should not panic when a function is used with a non-variable
  • 4fc1b95 fix a broken test that didn't get updated with the bucket change
  • 5e63883 Fix panic when there are multiple storage hosts
  • b51c3cc use Lock to avoid data race
  • cbe9a49 ensure the join happens deterministically
  • f6353ee messed up a transpiler unit test
  • 96a416b Fix default group mode
  • 1294544 Use t.Run to give tests clear names
  • a314903 add group spec back to the transpiler
  • ee9d0f8 Fix EOF causing error
  • 6e22dfe the csv decoder should return false from More() if an error happens
  • ca2a438 Tables are sorted by Partition Key
  • af29255 Fix window asignment bug
  • 8f65e74 Encode result iterator errors
  • 1264497 keep the http response body open until the result has been read
  • 50ab64b Utilize improvements storage RPC API
  • 1b5b180 Add Empty to blocks
  • dcd965a Update formatted sort order of cols
  • 1a752e7 Add _stop, _start to partition key
  • 6404228 update CSV encoders/decoders for final SPEC

Don't miss a new flux release

NewReleases is sending notifications on new releases.