All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
This version contains 93 contribution from 8 contributors. There are 93 files changed, 4,495 insertions, and 5,392 deletions.
- Wrap errors (#1271, #1258, #1274, #1270, #1273, #1272, #1260, #1259, #1256, #1257, #1261, #1262, #1263, #1265)
- Remove unused code (#1286)
- Remove input definition, add install-stringer to Makefile (#1284)
- Remove /id and /hosts endpoints. Add local ID to /status (#1238)
- Remove API.URI (#1255)
- Assorted docs fixes (#1281, #1269)
- Update PQL syntax in bench subcommand (#1279)
- Update help menu in WebUI (#1278)
- Fix dead lock (#1268)
- Make sure gossipMemberSet.Logger is set during server setup (#1266)
- Make sure ~ is expanded in NewServer; BroadcastReceiver uses temp path (#1242)
- Avoid creating a slice of nil timestamps on Import() (#1234)
- Fixup internal client (#1253)
This version contains 188 contribution from 12 contributors. There are 141 files changed, 17,832 insertions, and 7,503 deletions.
Please see special upgrading instructions for this release.
- Add ability to dynamically resize clusters (#982, #946, #929, #927, #917, #913, #912, #908)
- Update docs to include cluster-resize config and instructions (#1088)
- Add support for lists of gossip seeds for redundancy (#1133)
- Add HTTP Handler validation (#1140, #1121)
- Add validation around node-remove conditions (#1138)
- broadcast.SendSync field creation and deletion to all nodes (#1132)
- Spread recalculate caches to all nodes. Fixes #1069 (#1109)
- Add QueryResult.Type to protobuf message to distiguish results at the client (#1064)
- Modify
pilosa import
to support string rows/columns (#1063) - Add some statsd calls to HolderSyncer (#1048)
- Add support for memberlist gossip configuration via pilosa.Config (#1014)
- Add local and cluster IDs (#1013, #1245)
- Add HolderCleaner and view.DeleteFragment (#985)
- Add set-coordinator endpoint (#963)
- Implement Min/Max BSI queries (#1191)
- Log time/version to startup log (#1246)
- Documentation improvements (#1135, #1154, #1091, #1108, #1087, #1086, #1026, #1022, #1007, #981, #901, #972, #1215, #1213, #1224, #1250)
- Put Statik behind an interface (#1163)
- Refactor diagnostics, inject gopsutil dependency (#1166)
- Use boolean instead of address to configure coordinator (#1158)
- Put GCNotify behind an interface (#1148)
- Replace custom assembly bit functions with standard go (#797)
- Improve roaring tests (#1115)
- Change configuration cluster.type (string) to cluster.disabled (bool) (#1099)
- Use NodeID instead of URI for node identification (#1077)
- Change gossip config from DefaultLocalConfig to DefaultWANConfig (#1032)
- Use binary search in runAdd (#1027)
- Use HTTP handler for gossip SendSync (#1001)
- Group the write operations in syncBlock by MaxWritesPerRequest (#950)
- Refactor HTTPClient handling (#991)
- Remove FrameSchema. Move Fields to the Frame struct (#907)
- Refactor pilosa/server (#1220)
- Clean up flipBitmap and add tests (#1223)
- Move pilosa.Config to pilosa/server.Config (#1216)
- Vendor github.com/golang/groupcache/lru (#1221)
- Remove the Gossip stutter from memberlist-related config options (#1171)
- Remove old GossipPort and GossipSeed config options (#1142)
- Remove cluster type
http
from docs (#1130) - Remove holder.Peek, combine with HasData, move server logic (#1226)
- Remove PATCH frame endpoint (#1222)
- Remove Index.MergeSchemas() method (#1219)
- Remove references to Input Definition from the docs (#1212)
- Remove Index.TimeQuantum (#1209)
- Remove SecurityManager. Implement api restrictions in api package. (#1207)
- Handle the scheme correctly in config.Bind (#1143)
- Prevent excessive sendSync (createView) messages. (#1139)
- Fix a shift logic bug in bitmapZeroRange (#1110)
- Fix node id validation on set-coordinator (#1102)
- Avoid overflow bug in differenceRunArray (#1105)
- Fix bug in NewServerCluster where each host was its own coordinator (#1101)
- Fix count/bitmap mismatch bug (#1084)
- Fix edge case with Range() calls outside field Min/Max. Fixes #876. (#979)
- Bind the handler to all interfaces (0.0.0.0) in Dockerfile. Fixes #977. (#980)
- Fix nil client bug in monitorAntiEntropy (and test) (#1233)
- Fix crash due to server.diagnostics.server not set (#1229)
- Fix some cluster race conditions (#1228)
- Deprecate RangeEnabled option (#1205)
- Add benchmark for various container usage patterns (#1017)
This version contains 1 contribution from 2 contributors. There are 4 files changed, 1,153 insertions, and 618 deletions.
- Bug fixes and improved test coverage in roaring (#1118)
This version contains 1 contribution from 1 contributors. There are 2 files changed, 84 insertions, and 4 deletions.
- Fix a shift logic bug in bitmapZeroRange (#1111)
This version contains 2 contributions from 2 contributors. There are 3 files changed, 171 insertions, and 6 deletions.
- Fix overflow bug in differenceRunArray #1106
- Fix bug where count and bitmap queries could return different numbers #1083
This version contains 1 contribution from 1 contributor. There is 1 file changed, 1 insertion, and 0 deletions.
- Bind Docker container on all interfaces (#1061)
This version contains 4 contributions from 3 contributors. There are 17 files changed, 974 insertions, and 221 deletions.
- Group the write operations in syncBlock by MaxWritesPerRequest (#1038)
- Change gossip config from memberlist.DefaultLocalConfig to memberlist.DefaultWANConfig (#1033)
- Change AttrBlock handler calls to support protobuf instead of json (#1046)
- Use RLock instead of Lock in a few places (#1042)
This version contains 1 contribution from 1 contributor. There are 2 files changed, 59 insertions, and 42 deletions.
- Protect against accessing pointers to memory which was unmapped (#1000)
This version contains 1 contribution from 1 contributor. There are 15 files changed, 127 insertions, and 98 deletions.
- Modify initialization of HTTP client so only one instance is created (#994)
This version contains 2 contributions from 2 contributors. There are 4 files changed, 27 insertions, and 14 deletions.
- Fix CountOpenFiles() fatal crash (#969)
- Fix version check when local is greater than pilosa.com (#968)
0.8.0 - 2017-11-15
This version contains 31 contributions from 8 contributors. There are 84 files changed, 3,732 insertions, and 1,428 deletions.
- Diagnostics (#895)
- Add docker-build make target for repeatable Docker-based builds (#933)
- Add documentation on importing field values; fixes #924 (#938)
- Add flag documentation and tests, remove "plugins.path" (#942)
- Add TLS support (#867)
- Add TLS cluster how to (#898)
- Add support for gossip encryption (#889)
- Add Recalculate Caches endpoint (#881)
- Add search-friendly documentation for BSI range query syntax (#955)
- Remove unneeded Gopkg.toml constraints and update all dependencies (#943)
- Remove row and column labels in webUI (#884)
- Internal Client refactoring (#892)
- Remove column/row labels for input definition (#945)
- Update dependencies and Go version (#878)
- Skip permissions test when run as root. Fixes #940 (#941)
- Address "connection reset" issues in client (#934)
- Fix field value import: Use signed int and respect field minimum (#919)
- Constrain BoltDB to version rather than specific revision (#887)
- Fix bug in environment variable format (#882)
- Fix overflow in differenceRunBitmap (#949)
- Use FieldNotNull to improve efficiency of BETWEEN queries (#874)
This version contains 1 contribution from 1 contributor. There is 1 file changed, 16 insertions, and 1 deletion.
- Bump HTTP client's MaxIdleConns and MaxIdleConnsPerHost (#920)
This version contains 3 contributions from 3 contributors. There are 14 files changed, 221 insertions, and 52 deletions.
- Update dependencies and Go version (#878)
- Leverage not-null field to make BETWEEN queries more efficient (#874)
0.7.0 - 2017-10-03
This version contains 59 contributions from 9 contributors. There are 61 files changed, 5207 insertions, and 1054 deletions.
- Add HTTP API for fields (#811, #856)
- Add HTTP API for delete views (#785)
- Modify import endpoint to handle BSI field values (#840)
- Add field Range() support to Executor (#791)
- Support PQL Range() queries for fields (#755)
- Add Sum() field query (#778)
- Add documentation for BSI (#861)
- Add BETWEEN for Range queries (#847)
- Add Xor support for PQL (#789)
- Enable auto-creating the schema on imports (#837)
- Update client library docs (#831)
- Handle SIGTERM signal (#830)
- Add cluster config example to docs (#806)
- Add ability to exclude attributes and bits in Bitmap queries (#783)
- Fix panic when iterating over an empty run container (#860)
- Fix row id zero bug (#814)
- Fix cache invalidation bug (#795)
- Set container.n in differenceRunRun (#794)
- Fix infinite loop in bitmap-to-array conversion (#779)
- Fix CountRange bug (#773)
- Remove support for row/column labels (#839)
- Refactor differenceRunArray (#859)
- Update fragment.FieldSum to use roaring IntersectionCount() (#841)
- Add roaring optimizations (#842)
- Convert lock to read lock (#848)
- Reduce Lock calls in executor (#846)
- Implement container.flipBitmap() to improve differenceRunBitmap() (#849)
- Reuse container storage on UnmarshalBinary to improve memory utilization (#820)
- Improve WriteTo performance (#812)
0.6.0 - 2017-08-11
This version contains 14 contributions from 5 contributors. There are 28 files changed, 4,936 insertions, and 692 deletions.
- Add Run-length Encoding (#758)
- Make gossip the default broadcast type (#750)
0.5.0 - 2017-08-02
This version contains 65 contributions from 8 contributors (including 1 volunteer contributor). There are 79 files changed, 7,972 insertions, and 2,800 deletions.
- Set open file limit during Pilosa startup (#748)
- Add Input Definition (#646)
- Add cache type: None (#745)
- Add panic recovery in top level HTTP handler (#741)
- Count open file handles as a StatsD metric (#636)
- Add coverage tools to Makefile (#635)
- Add Holder test coverage (#629)
- Add runtime memory metrics (#600)
- Add sorting flag to import command (#606)
- Add PQL support for field values (WIP) (#721)
- Set and retrieve field values (WIP) (#702)
- Add BSI range-encoding schema support (WIP) (#670)
- Move InternalPort config option to top-level (#747)
- Switch from glide to dep for dependency management (#744)
- Remove QueryRequest.Quantum since it is no longer used (#699)
- Refactor test utilities into importable package (#675)
0.4.0 - 2017-06-08
This version contains 53 contributions from 13 contributors (including 4 volunteer contributors). There are 96 files changed, 6373 insertions, and 770 deletions.
Note that data files created in Pilosa < 0.4.0 are not compatible with Pilosa 0.4.0 as a result of #520.
- Support metric reporting through StatsD protocol (#468, #568, #580)
- Improve test coverage for ctl package (#586)
- Add support for bit flip (negate) in roaring (#592)
- Add xor support to roaring (#571)
- Improve WebUI autocomplete (#560)
- Add syntax hints tooltip to WebUI (#537)
- Implement 'config' CLI command (#541)
- Move docs into repo (#563)
- Add inverse TopN() support (#551)
- Add various Makefile updates (#540)
- Provide details on Glide checksum mismatch (#546)
- Add Docker multi-stage build (#535)
- Support inverse Range() queries (#533)
- Support colon commands in WebUI (#529, #510)
- Increase default partition count from 16 to 256 (BREAKING CHANGE) (#520)
- Validate unknown query params (#578)
- Validate configuration file (#573)
- Change default cache type to ranked (#524)
- Add max-writes-per-requests limit (#525)
- Add "make test" to PHONY section of Makefile (#605)
- Fix failing tests when IPv6 is disabled (#594)
- Add minor docs fix, indent in JSON (#599)
- Fix BroadcastHandler handle missing index error (#597)
- Add WebUI fixes (#589)
- Fix support for 32-bit Linux (#549, #565)
- Fix 3 separate bugs in bitmapCountRange (#559)
- Add client support for MaxInverseSliceByIndex (#555)
- Fix bug in
handleGetSliceMax
(#554) - Default to
standard
view in export command (#548) - Fix vet issues with the assembly code in Roaring (#528)
- Prevent row labels that match the column label (#503)
- Fix roaring test: TestBitmap_Quick_Array1 (#507)
- Don't try to create inverse views on Import() when inverseEnabled is false (#462)