FeatureBaseDB/featurebase
A crazy fast analytical database, built on bitmaps. Perfect for ML applications. Learn more at: http://docs.featurebase.com/. Start a Docker instance: https://hub.docker.com/r/featurebasedb/featurebase
๐ฆ License
- FeatureBase is released under the Apache 2.0 Open Source license.
๐ฆ Support
- Join the Discord community: https://discord.com/invite/featurefirstai
- Documentation: https://docs.featurebase.com/
- Cookbooks (including SQL bulk inserts): https://github.com/FeatureBaseDB/featurebase-examples
- Would you rather use [Docker](https://github.com/FeatureBaseDB/featurebase-examples/tree/main/docker-simple)?
๐ฆ Release
- This release contains AMD and ARM FeatureBase binaries for macOS (darwin) and Linux.
- The tarball for each architecture includes a directory for FeatureBase and an IDK directory for consumers for CSV, Github, Kafka and SQL.
๐ Resolved Bugs
- FB-2065 Selecting from View defined using CURRENT_TIMESTAMP in where clause will throw error
- FB-2090 No error for misconfigured fields
- *NOTE*: The tickets/labels above and below are for our reference to Jira issues and do not correspond to issues on Github.
๐ฆ Task
- FB-1689 Add an _exists bitmap for non-BSI fields.
- FB-2015 Grafana: Ability to Use Native Time Filter
- FB-2093 CREATE/etc USER, GRANT/REVOKE
- FB-2027, FB-2036, FB-2039, FB-2040, FB-2041, FB-2045, FB-2046, FB-2049, FB-2054, FB-2055, FB-2056 and FB-2074 Add SQL3 tests
๐ฆ Issues
- Dashboard UI still isn't showing metrics on imports
- Delete can delete records it probably shouldn't
๐ฆ Comments
- Keep in mind we don't support all SQL statements, yet.
๐ฆ License
- FeatureBase is released under the Apache 2.0 Open Source license.
๐ฆ Support
- Join the Discord community: https://discord.com/invite/featurefirstai
- Documentation: https://docs.featurebase.com/
- Cookbooks (including SQL bulk inserts): https://github.com/FeatureBaseDB/featurebase-examples
- Would you rather use [Docker](https://github.com/FeatureBaseDB/featurebase-examples/tree/main/docker-simple)?
๐ฆ Release
- This release contains AMD and ARM FeatureBase binaries for macOS (darwin) and Linux.
- The tarball for each architecture includes a directory for FeatureBase and an IDK directory for consumers for CSV, Github, Kafka and SQL.
๐ Resolved Bugs
- FB-1915 Large ID type data inserted with incorrect values
- FB-1916 Large INT type data inserted with incorrect values
- FB-2057 Gracefully handle divide by zero in SQL
- FB-2062 ORDER BY failing with larger data sets
- FB-2061 Internal error triggered by SQL with grouping and Complex Conditions
- SUP-308 Avg() returns incorrect result when selection returns zero rows
- *NOTE*: The tickets/labels above and below are for our reference to Jira issues and do not correspond to issues on Github.
๐ฆ Task
- FB-1843 / FB-1846 Kafka Avro Delete Consumer Functionality (delete full records, delete by value)
- FB-1893 Date/Time scalar function - datetimeadd
- FB-1894 Date/Time scalar function - datetimediff
- FB-1895 Date/Time scalar function - datetimefromparts
- FB-1896 Date/Time scalar function - datetimename
- FB-1897 Date/Time scalar function - datetimepart
- FB-1961 Date/Time scalar function - date_trunc
- FB-1952 Kakfa Bulk Insert Tooling
๐ฆ Issues
- Dashboard UI still isn't showing metrics on imports
- Delete can delete records it probably shouldn't
๐ฆ Comments
- Keep in mind we don't support all SQL statements, yet.
๐ฆ License
- FeatureBase is released under the Apache 2.0 Open Source license.
๐ฆ Support
- Join the Discord community: https://discord.com/invite/featurefirstai
- Documentation: https://docs.featurebase.com/
- Cookbooks (including SQL bulk inserts): https://github.com/FeatureBaseDB/featurebase-examples
- Would you rather use [Docker](https://github.com/FeatureBaseDB/featurebase-examples/tree/main/docker-simple)?
๐ฆ Video
- Video is forthcoming.
๐ฆ Release
- This release contains AMD and ARM FeatureBase binaries for macOS (darwin) and Linux.
- The tarball for each architecture includes a directory for FeatureBase and an IDK directory for consumers for CSV, Github, Kafka and SQL.
๐ฆ Highlights
- The SQL3 feature flag has been removed, and the SQL3 is now the default. We've added new functions such as time quantum and aggregate functions.
- *NOTE*: We use "SQL3" to refer to the new SQL support for FeatureBase. "SQL3" does not refer to a particular flavor of SQL.
๐ Resolved Bugs
- FB-1887 fb_exec_requests query group by not working
- FB-1909 Bug in backup and backup_tar field key translation
- FB-1912 Restore uses an obnoxious amount of memory
- FB-1954 Weird capitalization column misrepresentation bug (Nope, not capitalization)
- FB-1963 Featurebase server error printed despite successful query
- FB-1968 Timestamp in bulk import not handling seconds properly
- FB-1974 SQL3: Select count fails when run against table with no _id
- FB-1980 Test timeout observed in CI
- + 4 more
๐ฆ Task
- FB-1558 Implement semantics to support inserts into time quantum fields
- FB-1654 Implement select on a timequantum nested table
- FB-1658 Factor out AggregateFunctionType
- FB-1852 SQL3 w/ Grafana Plugin
- FB-1955 Support aggregates on top of results/expression of other functions (i.e. AVG(len(col)))
- FB-1975 Clean up version check code. Add options for where to store the UUID and where to check for version.
- FB-1996 Limit memory allowed while creating backup
- FB-2013 Remove SQL3 feature flag
๐ Active Bugs
- None
๐ฆ Issues
- Dashboard UI still isn't showing metrics on imports (previously a bug, but we're kicking around getting rid of the current dashboard, so we moved it here)
- Delete can delete records it probably shouldn't (this is limited to pending inserts and is a hard problem with filtering we're advertising here while we investigate)
๐ฆ Comments
- The previously required flag for enabling full SQL support is no longer required and this message will be removed on the next release.
- Keep in mind we don't support all SQL statements, yet.
๐ฆ License
- FeatureBase is released under the Apache 2.0 Open Source license.
๐ฆ Support
- Join the Discord community: https://discord.com/invite/featurefirstai
- Documentation: https://docs.featurebase.com/
- Cookbooks (including SQL bulk inserts): https://github.com/FeatureBaseDB/featurebase-examples
- Would you rather use [Docker](https://github.com/FeatureBaseDB/featurebase-examples/tree/main/docker-simple)?
๐ฆ Video
- Upon further review, this release was a short sprint, so we'll save our video editing skills for the next release!
๐ฆ Release
- This release contains AMD and ARM FeatureBase binaries for macOS (darwin) and Linux.
- The tarball for each architecture includes a directory for FeatureBase and an IDK directory for consumers for CSV, Github, Kafka and SQL.
๐ฆ Highlights
- This release further enhances our SQL support by adding FORMAT, STR and other SQL string functions. In addition, release includes bug fixes for various functions.
๐ Resolved Bugs (previously labeled Fixes)
- FB-1790 Resolved a Protobuf Error which prevented connecting Grafana to FeatureBase
- FB-1811 SQL3 CLI - NDJSON, BULK INSERT parsing errors
- FB-1903 fb_performance_counters cannot be queried on multi-node databases
- FB-1935 SQL AVG() Returns Incorrect Results
- FB-1938 SHOW COLUMNS internal data type and data type matching
- FB-1939 SQL3 > BETWEEN statement errors
- FB-1940 SELECT... WHERE <not equal to> returns same data as <equal to>
- FB-1951 INSERT INTO with timestamp does not respect temporal reality
- + 7 more
โจ Task (previously labeled Features)
- FB-1817 Implement FORMAT() function for SQL3
- FB-1862 Implement STR() function for SQL3
- FB-1899 Add ability to 'handle' bulk insert where server does not direct access to source
- FB-1907 Docs Review - SQL Consumer Overhaul
๐ Active Bugs
- FB-1933 Bug in backup and backup_tar field key translation
- FB-1968 Timestamp in bulk import not handling seconds properly
๐ฆ Issues
- Pending SQL GA, requires using flags to enable new SQL support (--sql.endpoint-enabled)
- Dashboard UI still isn't showing metrics on imports (previously a bug, but we're kicking around getting rid of the current dashboard, so we moved it here)
- Delete can delete records it probably shouldn't (this is limited to pending inserts and is a hard problem with filtering we're advertising here while we investigate)
๐ฆ Comments
- ```
- ./featurebase server --sql.endpoint-enabled
- ```
- Keep in mind we don't support all SQL statements, yet.
๐ฆ License
- FeatureBase is released under the Apache 2.0 Open Source license.
๐ฆ Support
- Join the Discord community: https://discord.com/invite/featurefirstai
- Documentation: https://docs.featurebase.com/
- Examples: https://github.com/FeatureBaseDB/featurebase-examples
- Would you rather use [Docker](https://github.com/FeatureBaseDB/featurebase-examples/tree/main/docker-simple)?
๐ฆ Video
- This release marks the first and ongoing bi-weekly sprint reviews we'll be publishing to YouTube.
- [](https://www.youtube.com/watch?v=ffwEpees9vE)]
๐ฆ Release
- This release contains AMD and ARM FeatureBase binaries for macOS (darwin) and Linux.
- The tarball for each architecture includes the consumers for CSV, Github, Kafka and SQL.
- Notes are provided for guidance but are not yet inclusive of all features, fixes, issues and bugs. We're working on rectifying this.
โจ Features
- Implements REPLICATE() for SQL
- String value support for Arrow (dataframes)
- Implements string method CHARINDEX() for SQL
๐ Fixes
- SQL MIN() and MAX() don't work for timestamps*
- < and > operators don't work for timestamps*
- memory issues on bulk insert*
- ! โ Bit-wise NOT operator doesn't work as expected*
- Large INT type data inserted with incorrect values*
- Restore uses an obnoxious amount of memory*
- *previously not reported as a bugs, but they are fixed so there's that. ๐ช
๐ฆ Issues
- Pending SQL GA, requires using flags to enable new SQL support (--sql.endpoint-enabled)
- Dashboard UI still isn't showing metrics on imports (previously a bug, but we're kicking around getting rid of the current dashboard, so standby)
- Delete can delete records it probably shouldn't (this is limited to pending inserts and is a hard problem with filtering we're advertising here while we investigate)
๐ Bugs
- SQL AVG() Returns Incorrect Results (for fields of type ID)
- Bug in backup and backup_tar field key translation (cluster mode ONLY)
- --offset-mode flag doesn't change behavior
๐ฆ Comments
- Moving forward, all work to FeatureBase will occur on this repository. ๐
- ```
- ./featurebase server --sql.endpoint-enabled
- ```
- Keep in mind we don't support all SQL statements, yet.
๐ฆ Support
- Join the Discord community: https://discord.com/invite/featurefirstai
- Documentation: https://docs.featurebase.com/
- Would you rather use [Docker](https://github.com/FeatureBaseDB/featurebase-examples/tree/main/docker-simple)?
๐ฆ Release
- This release contains AMD and ARM FeatureBase binaries for macOS (darwin) and Linux.
- The tarball for each architecture includes the consumers for CSV, Github, Kafka and SQL.
โจ Features
- Implements SUBSTRING(), SPACE(), REPLACEALL(), UPPER(), TRIM(), RTRIM() and LTRIM() for string manipulation
- Implements DISTINCT() - note this was previously supported in the older SQL implementation and then stopped working in later builds with --sql-endpoint-enabled set.
- Implements DELETE() ๐
๐ Fixes
- Fixed Community UI to point to old SQL backend if newer SQL endpoint is not available
- UI: select * query erases history
- SQL CLI - NDJSON, BULK INSERT parsing errors
๐ฆ Issues
- requires using flags to enable new SQL support (--sql.endpoint-enabled)
๐ Bugs
- Delete can delete records it probably shouldn't.
- Dashboard UI isn't showing metrics on imports
๐ฆ Comments
- This release should be the last release that uses cherry picking from our private repo. We are planning on moving all commits to the public repo moving forward.
- Keep in mind we don't quite support all SQL statements, yet.
๐ฆ Release
- This release contains AMD and ARM FeatureBase binaries for macOS (darwin) and Linux.
- The tarball for each architecture includes the consumers for CSV, Github, Kafka and SQL.
๐ฆ Support
- Join the Discord community: https://discord.com/invite/featurefirstai
- Documentation: https://docs.featurebase.com/
- Would you rather use [Docker](https://github.com/FeatureBaseDB/featurebase-examples/tree/main/docker-simple)?
โจ Features
- SQL support now in the UI
๐ Fixes
- help contains two holder command references (this is a new command that starts and exits the server)
- DDL statements on tables with hyphens on their names fail with a tokenizer error. (do not use '-' in names)
- Syntax errors may be triggered by running TOP and DISTINCT
- Top(x) Does Not Work with Additional Expression Clauses (WHERE, GROUP BY, etc.)
- SQL - Multiple Group By Columns Can Cause DB Health Issues
- SQL support not in the UI
- errors with ingesting CSV files with headers
- Bulk JSON imports
- + 2 more
๐ฆ Issues
- requires using flags to enable revamped SQL support (--sql.endpoint-enabled)
๐ Bugs
- UI: select * query erases history
- "IS" SQL Argument returns incorrect error
- SQL3 CLI - NDJSON, BULK INSERT parsing errors
๐ฆ Version Comments
- Previous community version numbers were unfortunately chosen, including v1.0.0-community, v1.3.0-community, etc. Moving forward, the community release will follow the binary release versions.
- This should allow the [homebrew](https://formulae.brew.sh/formula/pilosa) recipe to be reactivated.
๐ฆ Release
- This release contains AMD and ARM FeatureBase binaries for macOS (darwin) and Linux.
- The tarball for each architecture includes the consumers for CSV, Github, Kafka and SQL.
- NOTE: The UI does not support SQL3 in this version. Please use the APIs or CLI instead.
๐ฆ Support
- Join the Discord community: https://discord.com/invite/featurefirstai
- Documentation: https://docs.featurebase.com/
- Would you rather use [Docker](https://github.com/FeatureBaseDB/featurebase-examples/tree/main/docker-example)?
โจ Features
- SQL3 support
- inserts via SQL3
๐ Fixes
- Grafana issues
๐ Bugs
- help contains two holder command references (this is a new command that starts and exits the server)
- DDL statements on tables with hyphens on their names fail with a tokenizer error. (do not use '-' in names)
- Syntax errors may be triggered by running TOP and DISTINCT
- Top(x) Does Not Work with Additional Expression Clauses (WHERE, GROUP BY, etc.)
- SQL3 - Multiple Group By Columns Can Cause DB Health Issues
- "IS" SQL Argument returns incorrect error
๐ฆ Issues
- UI does not support SQL3 in this release (in progress)
- requires using flags to enable SQL3
๐ฆ Highlights
- This release contains new SQL language support that can be enabled
- using the `sql.endpoint-enabled=true` configuration option. This
- feature includes a new command line interface (`featurebase cli`), a
- new API endpoint (POST `/sql`), and greatly expanded SQL language
- support (SHOW TABLES/COLUMNS, CREATE/ALTER TABLE, SELECT, INSERT
- etc.). Documentation on this feature can be found in the Reference
- section at docs.featurebase.com. This release also removes support
- for Postgres Wire Protocol. ** NOTE: This feature should be considered
- + 1 more
๐ Bug
- Grafana: Replace empty variables to All()
- Kafka consumer stops reading messages from topic.
- Timestamp fields not supporting range queries
- UI - fix reported security issues
โจ Features
- Restore previous backup/restore via stdout functionality
- release of new SQL language support in preview.
This is v1.0 of the community release of Featurebase. It is built from commit da9b57bd456b472f8b3147ee65b5b02922ef0e47.
๐ Fixed
- Add logic that clears fragment.rowCache after importValue ([#2084](https://github.com/pilosa/pilosa/pull/2084))
โจ Added
- Update "Getting Started" documentation ([#2028](https://github.com/pilosa/pilosa/pull/2028))
- Add ability to disable tracing and use nopTracer ([#2029](https://github.com/pilosa/pilosa/pull/2029))
- Add test for no containers ([#2016](https://github.com/pilosa/pilosa/pull/2016))
- Add naive implementations of Roaring and fuzz test ([#2023](https://github.com/pilosa/pilosa/pull/2023))
- Add fuzzing code and readme.md to explain the fuzzer ([#2004](https://github.com/pilosa/pilosa/pull/2004))
- Add MinRow and MaxRow calls ([#1983](https://github.com/pilosa/pilosa/pull/1983))
- Add Prometheus stats backend ([#1992](https://github.com/pilosa/pilosa/pull/1992))
- Add extra tracing spans and metadata ([#1939](https://github.com/pilosa/pilosa/pull/1939))
- + 2 more
๐ Changed
- Update CircleCI build with Go 1.13 and run enterprise tests ([#2064](https://github.com/pilosa/pilosa/pull/2064))
- Update Alpine to 3.9.4 in Dockerfile ([#2001](https://github.com/pilosa/pilosa/pull/2001))
- Add Prometheus tests, refactor http stats as middleware, minor fixes ([#1994](https://github.com/pilosa/pilosa/pull/1994))
- Add confirmation logic to catch false nodeLeave events ([#1993](https://github.com/pilosa/pilosa/pull/1993))
- Improve TopN() errors ([#1978](https://github.com/pilosa/pilosa/pull/1978))
- Make integer fields unbounded by using sign+magnitude representation ([#1902](https://github.com/pilosa/pilosa/pull/1902))
- Simplify contributing instructions by removing weird upstream thing ([#1966](https://github.com/pilosa/pilosa/pull/1966))
๐ Fixed
- Default BSI base value to min, max, or 0 depending on the min/max range ([#2050](https://github.com/pilosa/pilosa/pull/2050))
- Add worker pool for query processing ([#2034](https://github.com/pilosa/pilosa/pull/2034))
- Move Range deprecation message to higher level ([#2033](https://github.com/pilosa/pilosa/pull/2033))
- Use lock in view.deleteFragment while altering fragments ([#2026](https://github.com/pilosa/pilosa/pull/2026))
- Fix malformed offset bug in readOffsets and readWithRuns ([#2021](https://github.com/pilosa/pilosa/pull/2021))
- Fix various container iteration bugs in Roaring ([#2019](https://github.com/pilosa/pilosa/pull/2019))
- Fix malformed bitmap handling ([#2017](https://github.com/pilosa/pilosa/pull/2017))
- Fix fuzzer errors in roaring ([#2012](https://github.com/pilosa/pilosa/pull/2012))
- + 8 more
โก Performance
- Address some startup speed and performance issues ([#1988](https://github.com/pilosa/pilosa/pull/1988))
- Add a worker pool for importRoaring jobs ([#2048](https://github.com/pilosa/pilosa/pull/2048))
- Use UnionInPlace for computing time rows which involve multiple views ([#2041](https://github.com/pilosa/pilosa/pull/2041))
- Improve ingest performance with snapshot queue and unmarshaling improvements ([#2024](https://github.com/pilosa/pilosa/pull/2024))
- Improve row cache ([#1974](https://github.com/pilosa/pilosa/pull/1974))
๐๏ธ Removed
- Remove extraneous stat tags to improve prometheus performance ([#1996](https://github.com/pilosa/pilosa/pull/1996))
๐ Fixed
- Remove shard validation to fix bug where some nodes weren't loading their fragments. #1951 ([#1964](https://github.com/pilosa/pilosa/pull/1964))
โจ Added
- Add license headers and CI check ([#1940](https://github.com/pilosa/pilosa/pull/1940))
- Add support to modify shard width at build time ([#1921](https://github.com/pilosa/pilosa/pull/1921))
- Add 'bench' Makefile target and run fewer concurrency level benchmarks ([#1915](https://github.com/pilosa/pilosa/pull/1915))
- Add server stats to /info endpoint ([#1859](https://github.com/pilosa/pilosa/pull/1859))
- Implement config options for block profile rate and mutex fraction ([#1910](https://github.com/pilosa/pilosa/pull/1910))
- Implement global open file counter using syswrap (to scale past system open file limits) ([#1906](https://github.com/pilosa/pilosa/pull/1906))
- Implement global mmap counter with fallback (to scale past system mmap limits) ([#1903](https://github.com/pilosa/pilosa/pull/1903))
- Add shard width to index info in schema (allows client to get shard width at run time) ([#1881](https://github.com/pilosa/pilosa/pull/1881))
- + 8 more
๐ Fixed
- Update to latest memberlist fork with race fixes ([#1944](https://github.com/pilosa/pilosa/pull/1944))
- Return original error instead of cause in handler ([#1943](https://github.com/pilosa/pilosa/pull/1943))
- Validate (and panic) on duplicate PQL arguments ([#1938](https://github.com/pilosa/pilosa/pull/1938))
- Add correct content type to query responses Fixes #1873 ([#1936](https://github.com/pilosa/pilosa/pull/1936))
- Address race condition by getting cluster nodes with lock ([#1931](https://github.com/pilosa/pilosa/pull/1931))
- Make sure to unmap containers before modifying ([#1876](https://github.com/pilosa/pilosa/pull/1876))
- Avoid probable race when creating fragments ([#1863](https://github.com/pilosa/pilosa/pull/1863))
- Improve help strings for metrics options ([#1887](https://github.com/pilosa/pilosa/pull/1887))
- + 10 more
๐ Changed
- Switch to GolangCI lint ([#1924](https://github.com/pilosa/pilosa/pull/1924))
- Return empty result set when query empty ([#1937](https://github.com/pilosa/pilosa/pull/1937))
- Add Go 1.12 to CircleCI ([#1909](https://github.com/pilosa/pilosa/pull/1909))
- Ignore fragment files from shards node doesn't own ([#1900](https://github.com/pilosa/pilosa/pull/1900))
- Go module support. Use Modules instead of dep for dependencies ([#1616](https://github.com/pilosa/pilosa/pull/1616))
- Merge Range() into Row() call. ([#1804](https://github.com/pilosa/pilosa/pull/1804))
- Add from/to range arguments to Rows() call ([#1851](https://github.com/pilosa/pilosa/pull/1851))
- Fixes Store call error messages, Rows doesn't need field argument ([#1830](https://github.com/pilosa/pilosa/pull/1830))
โก Performance
- BTree performance improvements ([#1916](https://github.com/pilosa/pilosa/pull/1916))
- Make Containers smaller, especially when they have small contents ([#1901](https://github.com/pilosa/pilosa/pull/1901))
- Address UnionInPlace performance regressions ([#1897](https://github.com/pilosa/pilosa/pull/1897))
- Small write path for import-roaring. Makes small imports faster ([#1892](https://github.com/pilosa/pilosa/pull/1892))
- Small write path for imports ([#1871](https://github.com/pilosa/pilosa/pull/1871))
- Remove copy for pilosa roaring files ([#1865](https://github.com/pilosa/pilosa/pull/1865))
- Disable anti-entropy if not using replication [performance] ([#1814](https://github.com/pilosa/pilosa/pull/1814))
- Group Byโskip 0 counts as early as possible ([#1803](https://github.com/pilosa/pilosa/pull/1803))
โจ Added
- Cancel queries on Context.Done() ([#1773](https://github.com/pilosa/pilosa/pull/1773))
- Union In Place ([#1766](https://github.com/pilosa/pilosa/pull/1766), [#1774](https://github.com/pilosa/pilosa/pull/1774))
- Import benchmarking ([#1771](https://github.com/pilosa/pilosa/pull/1771))
- Add GroupBy() Filter ([#1753](https://github.com/pilosa/pilosa/pull/1753))
- Add /internal/translate/keys endpoint ([#1751](https://github.com/pilosa/pilosa/pull/1751))
- CircleCI: Add race detector to parallel build, default to Go 1.11. ([#1756](https://github.com/pilosa/pilosa/pull/1756))
- Add distributed tracing. ([#1684](https://github.com/pilosa/pilosa/pull/1684))
- Add NoStandardView field option ([#1733](https://github.com/pilosa/pilosa/pull/1733))
- + 20 more
๐ Changed
- Convert the anti-entropy logic to use `ImportRoaring` instead of `QueryNode` ([#1780](https://github.com/pilosa/pilosa/pull/1780))
- Simplify `require-*` logic in Makefile ([#1755](https://github.com/pilosa/pilosa/pull/1755))
- Cleanup logging ([#1748](https://github.com/pilosa/pilosa/pull/1748))
- Remove TravisCI, add CircleCI shield ([#1740](https://github.com/pilosa/pilosa/pull/1740))
- Upgrade Peg dependency and regenerate grammar ([#1725](https://github.com/pilosa/pilosa/pull/1725))
- Upgrade to protoc 3.6.1 (also updated protoc-gen-gofast) ([#1724](https://github.com/pilosa/pilosa/pull/1724))
- Move column attrs logic to executor ([#1677](https://github.com/pilosa/pilosa/pull/1677))
- Shrink container bit count to int32 ([#1664](https://github.com/pilosa/pilosa/pull/1664))
โก Performance
- Remove bounds check ([#1619](https://github.com/pilosa/pilosa/pull/1619))
- Improve benchmarking and performance ([#1741](https://github.com/pilosa/pilosa/pull/1741))
๐ Fixed
- Ensure internal client closes all response bodies ([#1795](https://github.com/pilosa/pilosa/pull/1795))
- Allow translate log entry buffer to grow ([#1787](https://github.com/pilosa/pilosa/pull/1787))
- Add Gopkg.lock as a dependency for vendor target ([#1790](https://github.com/pilosa/pilosa/pull/1790))
- Cluster resize fix ([#1785](https://github.com/pilosa/pilosa/pull/1785))
- Attempt to fix deadlock by releasing view lock before broadcasting ([#1782](https://github.com/pilosa/pilosa/pull/1782))
- Fix bug where cluster goes into RESIZING instead of NORMAL ([#1777](https://github.com/pilosa/pilosa/pull/1777))
- Propogate updates to node details (not just additions and deletions) ([#1769](https://github.com/pilosa/pilosa/pull/1769))
- Fix arm64 support ([#1764](https://github.com/pilosa/pilosa/pull/1764))
- + 26 more
โจ Added
- Add CircleCI ([#1610](https://github.com/pilosa/pilosa/pull/1610))
- Add key translation to exports ([#1608](https://github.com/pilosa/pilosa/pull/1608))
- Support importing key values ([#1599](https://github.com/pilosa/pilosa/pull/1599), [#1601](https://github.com/pilosa/pilosa/pull/1601))
- Treat coordinator as primary translate store ([#1582](https://github.com/pilosa/pilosa/pull/1582))
- Add DEGRADED cluster state and handle gossip NodeLeave events correctly ([#1584](https://github.com/pilosa/pilosa/pull/1584))
- Add linters to gometalinter and fix related issues ([#1544](https://github.com/pilosa/pilosa/pull/1544), [#1543](https://github.com/pilosa/pilosa/pull/1543), [#1540](https://github.com/pilosa/pilosa/pull/1540), [#1539](https://github.com/pilosa/pilosa/pull/1539), [#1537](https://github.com/pilosa/pilosa/pull/1537), [#1536](https://github.com/pilosa/pilosa/pull/1536), [#1535](https://github.com/pilosa/pilosa/pull/1535), [#1534](https://github.com/pilosa/pilosa/pull/1534), [#1530](https://github.com/pilosa/pilosa/pull/1530), [#1529](https://github.com/pilosa/pilosa/pull/1529), [#1528](https://github.com/pilosa/pilosa/pull/1528), [#1526](https://github.com/pilosa/pilosa/pull/1526), [#1527](https://github.com/pilosa/pilosa/pull/1527))
- Add mutex field type ([#1524](https://github.com/pilosa/pilosa/pull/1524))
- Fragment rows() and rowsForColumn() ([#1532](https://github.com/pilosa/pilosa/pull/1532))
๐ Fixed
- Fix race on replicationClosing channel ([#1607](https://github.com/pilosa/pilosa/pull/1607))
- Prevent anti-entropy and cluster resize from running simultaneously ([#1586](https://github.com/pilosa/pilosa/pull/1586))
- Require a valid port that isn't greater than 65,535 ([#1603](https://github.com/pilosa/pilosa/pull/1603))
- Add view parameter to sync logic for syncing time fields ([#1602](https://github.com/pilosa/pilosa/pull/1602))
- Fix translator in cluster environment ([#1552](https://github.com/pilosa/pilosa/pull/1552))
- Use string prefix instead of equality so json error message will pass on all Go versions ([#1558](https://github.com/pilosa/pilosa/pull/1558))
๐ Fixed
- Fix documentation ([#1503](https://github.com/pilosa/pilosa/pull/1503), [#1495](https://github.com/pilosa/pilosa/pull/1495), [#1551](https://github.com/pilosa/pilosa/pull/1551))
- Fix places where empty IndexOptions were being used ([#1547](https://github.com/pilosa/pilosa/pull/1547))
- Fix translator syncing bug in cluster environments ([#1552](https://github.com/pilosa/pilosa/pull/1552))
- Fix race condition in translate_test ([#1541](https://github.com/pilosa/pilosa/pull/1541))
- Add IndexOptions to IndexInfo json response ([#1547](https://github.com/pilosa/pilosa/pull/1547))
- Add proper locking to cluster code to prevent races ([#1533](https://github.com/pilosa/pilosa/pull/1533))
- Re-export erroneously unexported func Row.Intersect ([#1502](https://github.com/pilosa/pilosa/pull/1502))
- Update parser to handle row keys on SetRowAttrs() ([#1555](https://github.com/pilosa/pilosa/pull/1555))
๐ Fixed
- Use `dep ensure -vendor-only` for build repeatability ([#1491](https://github.com/pilosa/pilosa/pull/1491))
- Make sure time range views are calculated correctly across months ([#1485](https://github.com/pilosa/pilosa/pull/1485))
- Fix up error handling, add a configurable timeout to http handler closing ([#1486](https://github.com/pilosa/pilosa/pull/1486))
- Add gossip Closer ([#1483](https://github.com/pilosa/pilosa/pull/1483))
- Update docs references to WebUI naming (console) and installation ([#1493](https://github.com/pilosa/pilosa/pull/1493))
โจ Added
- ID-Key Translation ([#1337](https://github.com/pilosa/pilosa/pull/1337))
- Add CORS support to handler ([#1327](https://github.com/pilosa/pilosa/pull/1327))
๐ Changed
- HTTP handler updates ([#1408](https://github.com/pilosa/pilosa/pull/1408), [#1399](https://github.com/pilosa/pilosa/pull/1399), [#1441](https://github.com/pilosa/pilosa/pull/1441), [#1375](https://github.com/pilosa/pilosa/pull/1375), [#1433](https://github.com/pilosa/pilosa/pull/1433), [#1444](https://github.com/pilosa/pilosa/pull/1444), [#1388](https://github.com/pilosa/pilosa/pull/1388), [#1309](https://github.com/pilosa/pilosa/pull/1309), [#1302](https://github.com/pilosa/pilosa/pull/1302), [#1304](https://github.com/pilosa/pilosa/pull/1304), [#1465](https://github.com/pilosa/pilosa/pull/1465), [#1466](https://github.com/pilosa/pilosa/pull/1466))
- Refactor/improve tests ([#1437](https://github.com/pilosa/pilosa/pull/1437), [#1434](https://github.com/pilosa/pilosa/pull/1434), [#1435](https://github.com/pilosa/pilosa/pull/1435), [#1425](https://github.com/pilosa/pilosa/pull/1425), [#1418](https://github.com/pilosa/pilosa/pull/1418), [#1419](https://github.com/pilosa/pilosa/pull/1419), [#1413](https://github.com/pilosa/pilosa/pull/1413), [#1394](https://github.com/pilosa/pilosa/pull/1394), [#1387](https://github.com/pilosa/pilosa/pull/1387), [#1386](https://github.com/pilosa/pilosa/pull/1386), [#1378](https://github.com/pilosa/pilosa/pull/1378), [#1364](https://github.com/pilosa/pilosa/pull/1364), [#1348](https://github.com/pilosa/pilosa/pull/1348), [#1340](https://github.com/pilosa/pilosa/pull/1340), [#1297](https://github.com/pilosa/pilosa/pull/1297))
- Simplify inter-node communication ([#1428](https://github.com/pilosa/pilosa/pull/1428), [#1427](https://github.com/pilosa/pilosa/pull/1427), [#1412](https://github.com/pilosa/pilosa/pull/1412), [#1398](https://github.com/pilosa/pilosa/pull/1398), [#1391](https://github.com/pilosa/pilosa/pull/1391), [#1389](https://github.com/pilosa/pilosa/pull/1389))
- Make gossip's interface to Pilosa the API struct ([#1452](https://github.com/pilosa/pilosa/pull/1452))
- Rename slice to shard ([#1426](https://github.com/pilosa/pilosa/pull/1426))
- Clearbit for time fields ([#1424](https://github.com/pilosa/pilosa/pull/1424))
- Update docs ([#1390](https://github.com/pilosa/pilosa/pull/1390), [#1329](https://github.com/pilosa/pilosa/pull/1329), [#1305](https://github.com/pilosa/pilosa/pull/1305), [#1296](https://github.com/pilosa/pilosa/pull/1296), [#1461](https://github.com/pilosa/pilosa/pull/1461))
- Simplify server setup ([#1417](https://github.com/pilosa/pilosa/pull/1417), [#1393](https://github.com/pilosa/pilosa/pull/1393),[#1451](https://github.com/pilosa/pilosa/pull/1451))
- + 8 more
๐๏ธ Removed
- Rename (unexport) many items to reduce public API footprint prior to 1.0 release ([#1470](https://github.com/pilosa/pilosa/pull/1470), [#1458](https://github.com/pilosa/pilosa/pull/1458), [#1450](https://github.com/pilosa/pilosa/pull/1450), [#1449](https://github.com/pilosa/pilosa/pull/1449), [#1448](https://github.com/pilosa/pilosa/pull/1448), [#1447](https://github.com/pilosa/pilosa/pull/1447), [#1446](https://github.com/pilosa/pilosa/pull/1446), [#1438](https://github.com/pilosa/pilosa/pull/1438), [#1443](https://github.com/pilosa/pilosa/pull/1443), [#1440](https://github.com/pilosa/pilosa/pull/1440), [#1439](https://github.com/pilosa/pilosa/pull/1439), [#1409](https://github.com/pilosa/pilosa/pull/1409), [#1392](https://github.com/pilosa/pilosa/pull/1392), [#1374](https://github.com/pilosa/pilosa/pull/1374), [#1372](https://github.com/pilosa/pilosa/pull/1372), [#1369](https://github.com/pilosa/pilosa/pull/1369), [#1367](https://github.com/pilosa/pilosa/pull/1367), [#1366](https://github.com/pilosa/pilosa/pull/1366), [#1351](https://github.com/pilosa/pilosa/pull/1351), [#1420](https://github.com/pilosa/pilosa/pull/1420), [#1416](https://github.com/pilosa/pilosa/pull/1416), [#1397](https://github.com/pilosa/pilosa/pull/1397))
- Remove dead code ([#1432](https://github.com/pilosa/pilosa/pull/1432), [#1457](https://github.com/pilosa/pilosa/pull/1457), [#1421](https://github.com/pilosa/pilosa/pull/1421), [#1411](https://github.com/pilosa/pilosa/pull/1411), [#1377](https://github.com/pilosa/pilosa/pull/1377), [#1393](https://github.com/pilosa/pilosa/pull/1393), [#1462](https://github.com/pilosa/pilosa/pull/1462))
- Remove view argument from Field.SetBit and Field.ClearBit ([#1396](https://github.com/pilosa/pilosa/pull/1396))
- Remove WebUI (now contained in a separate package) ([#1363](https://github.com/pilosa/pilosa/pull/1363))
- Remove bench command ([#1347](https://github.com/pilosa/pilosa/pull/1347))
- Remove "view" from API, handler, docs ([#1346](https://github.com/pilosa/pilosa/pull/1346))
- Remove backup/restore stuff ([#1339](https://github.com/pilosa/pilosa/pull/1339), [#1341](https://github.com/pilosa/pilosa/pull/1341))
- Remove inverse frame functionality ([#1335](https://github.com/pilosa/pilosa/pull/1335))
- + 2 more
๐ Fixed
- Fix a few data races ([#1423](https://github.com/pilosa/pilosa/pull/1423))
- Fix for crash while removing containers ([#1401](https://github.com/pilosa/pilosa/pull/1401))
- Allow dashes in frame names ([#1415](https://github.com/pilosa/pilosa/pull/1415))
- Fix generate-config command, use single toml lib ([#1350](https://github.com/pilosa/pilosa/pull/1350))
โจ Added
- Add Docker cluster/swarm tutorials ([#1296](https://github.com/pilosa/pilosa/pull/1296), [#1305](https://github.com/pilosa/pilosa/pull/1305))
๐ Fixed
- Use errors.Cause in handler so that we return correct status codes ([#1304](https://github.com/pilosa/pilosa/pull/1304), [#1309](https://github.com/pilosa/pilosa/pull/1309))
- Close HTTP handler gracefully ([#1310](https://github.com/pilosa/pilosa/pull/1310))
- Use lazy assignment for VERSION_ID so enterprise flag is set appropriately ([#1308](https://github.com/pilosa/pilosa/pull/1308))
- Adjust cluster state tests so they aren't so dependent upon a sleep ([#1306](https://github.com/pilosa/pilosa/pull/1306))
- Makefile enterprise build fixes ([#1301](https://github.com/pilosa/pilosa/pull/1301))
- Re-add unintentionally removed check-clean ([#1295](https://github.com/pilosa/pilosa/pull/1295))
- Fix syntax error and add i386 enterprise build ([#1293](https://github.com/pilosa/pilosa/pull/1293))
โจ Added
- Add B+Tree containers (Enterprise Edition) ([#1285](https://github.com/pilosa/pilosa/pull/1285))
- Add /info endpoint ([#1236](https://github.com/pilosa/pilosa/pull/1236))
๐ Changed
- Wrap errors ([#1271](https://github.com/pilosa/pilosa/pull/1271), [#1258](https://github.com/pilosa/pilosa/pull/1258), [#1274](https://github.com/pilosa/pilosa/pull/1274), [#1270](https://github.com/pilosa/pilosa/pull/1270), [#1273](https://github.com/pilosa/pilosa/pull/1273), [#1272](https://github.com/pilosa/pilosa/pull/1272), [#1260](https://github.com/pilosa/pilosa/pull/1260), [#1259](https://github.com/pilosa/pilosa/pull/1259), [#1256](https://github.com/pilosa/pilosa/pull/1256), [#1257](https://github.com/pilosa/pilosa/pull/1257), [#1261](https://github.com/pilosa/pilosa/pull/1261), [#1262](https://github.com/pilosa/pilosa/pull/1262), [#1263](https://github.com/pilosa/pilosa/pull/1263), [#1265](https://github.com/pilosa/pilosa/pull/1265))
๐๏ธ Removed
- Remove unused code ([#1286](https://github.com/pilosa/pilosa/pull/1286))
- Remove input definition, add install-stringer to Makefile ([#1284](https://github.com/pilosa/pilosa/pull/1284))
- Remove /id and /hosts endpoints. Add local ID to /status ([#1238](https://github.com/pilosa/pilosa/pull/1238))
- Remove API.URI ([#1255](https://github.com/pilosa/pilosa/pull/1255))
๐ Fixed
- Assorted docs fixes ([#1281](https://github.com/pilosa/pilosa/pull/1281), [#1269](https://github.com/pilosa/pilosa/pull/1269))
- Update PQL syntax in bench subcommand ([#1279](https://github.com/pilosa/pilosa/pull/1279))
- Update help menu in WebUI ([#1278](https://github.com/pilosa/pilosa/pull/1278))
- Fix dead lock ([#1268](https://github.com/pilosa/pilosa/pull/1268))
- Make sure gossipMemberSet.Logger is set during server setup ([#1266](https://github.com/pilosa/pilosa/pull/1266))
- Make sure ~ is expanded in NewServer; BroadcastReceiver uses temp path ([#1242](https://github.com/pilosa/pilosa/pull/1242))
- Avoid creating a slice of nil timestamps on Import() ([#1234](https://github.com/pilosa/pilosa/pull/1234))
- Fixup internal client ([#1253](https://github.com/pilosa/pilosa/pull/1253))
โจ Added
- Add ability to dynamically resize clusters ([#982](https://github.com/pilosa/pilosa/pull/982), [#946](https://github.com/pilosa/pilosa/pull/946), [#929](https://github.com/pilosa/pilosa/pull/929), [#927](https://github.com/pilosa/pilosa/pull/927), [#917](https://github.com/pilosa/pilosa/pull/917), [#913](https://github.com/pilosa/pilosa/pull/913), [#912](https://github.com/pilosa/pilosa/pull/912), [#908](https://github.com/pilosa/pilosa/pull/908))
- Update docs to include cluster-resize config and instructions ([#1088](https://github.com/pilosa/pilosa/pull/1088))
- Add support for lists of gossip seeds for redundancy ([#1133](https://github.com/pilosa/pilosa/pull/1133))
- Add HTTP Handler validation ([#1140](https://github.com/pilosa/pilosa/pull/1140), [#1121](https://github.com/pilosa/pilosa/pull/1121))
- Add validation around node-remove conditions ([#1138](https://github.com/pilosa/pilosa/pull/1138))
- broadcast.SendSync field creation and deletion to all nodes ([#1132](https://github.com/pilosa/pilosa/pull/1132))
- Spread recalculate caches to all nodes. Fixes #1069 ([#1109](https://github.com/pilosa/pilosa/pull/1109))
- Add QueryResult.Type to protobuf message to distiguish results at the client ([#1064](https://github.com/pilosa/pilosa/pull/1064))
- + 9 more
๐ Changed
- Put Statik behind an interface ([#1163](https://github.com/pilosa/pilosa/pull/1163))
- Refactor diagnostics, inject gopsutil dependency ([#1166](https://github.com/pilosa/pilosa/pull/1166))
- Use boolean instead of address to configure coordinator ([#1158](https://github.com/pilosa/pilosa/pull/1158))
- Put GCNotify behind an interface ([#1148](https://github.com/pilosa/pilosa/pull/1148))
- Replace custom assembly bit functions with standard go ([#797](https://github.com/pilosa/pilosa/pull/797))
- Improve roaring tests ([#1115](https://github.com/pilosa/pilosa/pull/1115))
- Change configuration cluster.type (string) to cluster.disabled (bool) ([#1099](https://github.com/pilosa/pilosa/pull/1099))
- Use NodeID instead of URI for node identification ([#1077](https://github.com/pilosa/pilosa/pull/1077))
- + 10 more
๐๏ธ Removed
- Remove the Gossip stutter from memberlist-related config options ([#1171](https://github.com/pilosa/pilosa/pull/1171))
- Remove old GossipPort and GossipSeed config options ([#1142](https://github.com/pilosa/pilosa/pull/1142))
- Remove cluster type `http` from docs ([#1130](https://github.com/pilosa/pilosa/pull/1130))
- Remove holder.Peek, combine with HasData, move server logic ([#1226](https://github.com/pilosa/pilosa/pull/1226))
- Remove PATCH frame endpoint ([#1222](https://github.com/pilosa/pilosa/pull/1222))
- Remove Index.MergeSchemas() method ([#1219](https://github.com/pilosa/pilosa/pull/1219))
- Remove references to Input Definition from the docs ([#1212](https://github.com/pilosa/pilosa/pull/1212))
- Remove Index.TimeQuantum ([#1209](https://github.com/pilosa/pilosa/pull/1209))
- + 1 more
๐ Fixed
- Handle the scheme correctly in config.Bind ([#1143](https://github.com/pilosa/pilosa/pull/1143))
- Prevent excessive sendSync (createView) messages. ([#1139](https://github.com/pilosa/pilosa/pull/1139))
- Fix a shift logic bug in bitmapZeroRange ([#1110](https://github.com/pilosa/pilosa/pull/1110))
- Fix node id validation on set-coordinator ([#1102](https://github.com/pilosa/pilosa/pull/1102))
- Avoid overflow bug in differenceRunArray ([#1105](https://github.com/pilosa/pilosa/pull/1105))
- Fix bug in NewServerCluster where each host was its own coordinator ([#1101](https://github.com/pilosa/pilosa/pull/1101))
- Fix count/bitmap mismatch bug ([#1084](https://github.com/pilosa/pilosa/pull/1084))
- Fix edge case with Range() calls outside field Min/Max. Fixes #876. ([#979](https://github.com/pilosa/pilosa/pull/979))
- + 4 more
๐๏ธ Deprecated
- Deprecate RangeEnabled option ([#1205](https://github.com/pilosa/pilosa/pull/1205))
โก Performance
- Add benchmark for various container usage patterns ([#1017](https://github.com/pilosa/pilosa/pull/1017))
๐ Fixed
- Bug fixes and improved test coverage in roaring ([#1118](https://github.com/pilosa/pilosa/pull/1118))
๐ Fixed
- Fix a shift logic bug in bitmapZeroRange ([#1111](https://github.com/pilosa/pilosa/pull/1111))
๐ Fixed
- Fix overflow bug in differenceRunArray [#1106](https://github.com/pilosa/pilosa/pull/1106)
- Fix bug where count and bitmap queries could return different numbers [#1083](https://github.com/pilosa/pilosa/pull/1083)
๐ Fixed
- Bind Docker container on all interfaces ([#1061](https://github.com/pilosa/pilosa/pull/1061))
๐ Fixed
- Group the write operations in syncBlock by MaxWritesPerRequest ([#1038](https://github.com/pilosa/pilosa/pull/1038))
- Change gossip config from memberlist.DefaultLocalConfig to memberlist.DefaultWANConfig ([#1033](https://github.com/pilosa/pilosa/pull/1033))
โก Performance
- Change AttrBlock handler calls to support protobuf instead of json ([#1046](https://github.com/pilosa/pilosa/pull/1046))
- Use RLock instead of Lock in a few places ([#1042](https://github.com/pilosa/pilosa/pull/1042))
๐ Fixed
- Protect against accessing pointers to memory which was unmapped ([#1000](https://github.com/pilosa/pilosa/pull/1000))
๐ Fixed
- Modify initialization of HTTP client so only one instance is created ([#994](https://github.com/pilosa/pilosa/pull/994))
๐ Fixed
- Fix CountOpenFiles() fatal crash ([#969](https://github.com/pilosa/pilosa/pull/969))
- Fix version check when local is greater than pilosa.com ([#968](https://github.com/pilosa/pilosa/pull/968))
