Releases: go-kivik/kivik
Releases · go-kivik/kivik
v4.3.2
What's Changed
- x/mango: Fix evaluation of
$exists: false
always failing by @skaggmannen in #1044 - x/mango: Split JSON keys more intelligently by @flimzy in #1045
- x/sqlite: Update core kivik dep, and dedupe SplitKeys function by @flimzy in #1046
- Release 4.3.2 to fix $exists in x/mango by @flimzy in #1047
New Contributors
- @skaggmannen made their first contribution in #1044
Full Changelog: v4.3.1...v4.3.2
v4.3.1
What's Changed
- Filter function support by @flimzy in #1025
- Refactor emit function to never panic by @flimzy in #1026
- Move JS functions into a separate package by @flimzy in #1027
- x/sqlite: Support filter=_view for Changes feed by @flimzy in #1028
- Add SQLite to integration test suite list by @flimzy in #1029
- Add a bunch of t.Helper to kt pkg by @flimzy in #1030
- Fix typos by @deining in #1032
- x/sqlite: Handle DB not found errors by @flimzy in #1034
- Fix typos in comments, tests, and docs by @alexandear in #1036
- x/sqlite: Return errors for unimplemented methods by @flimzy in #1037
- Remove the outdated build constraint
// +build
by @alexandear in #1035 - x/sqlite: Improve DestroyDB to remove all tables by @flimzy in #1038
- x/sqlite: Only report most recent rev for each doc in changes feed by @flimzy in #1039
- Move DB cleanup to t.Cleanup by @flimzy in #1040
- fix(couchdb): use url.PathEscape in DBExists for consistency with other DB* methods by @dominicbarnes in #1041
- Bump version to 4.3.1 to include bugfix for path escaping with DBExis… by @flimzy in #1042
New Contributors
- @deining made their first contribution in #1032
- @alexandear made their first contribution in #1036
- @dominicbarnes made their first contribution in #1041
Full Changelog: v4.3.0...v4.3.1
v4.3.0
What's Changed
- Add Go 1.23-compatible range iterators as an experiment by @flimzy in #1020
- Bump 1.23 to rc2 by @flimzy in #1021
- Add PouchDB 9 to test matrix by @flimzy in #1022
- x/sqlite: Changes to Changes feed by @flimzy in #1024
- Bump version to 4.3.0 by @flimzy in #1023
Full Changelog: v4.2.4...v4.3.0
v4.2.4
What's Changed
- More _stats support by @flimzy in #962
- Protect collator with a mutex by @flimzy in #967
- Standardize use of options methods by @flimzy in #968
- Merge query methods by @flimzy in #969
- Improve views support by @flimzy in #970
- Slight progress merging query methods by @flimzy in #971
- More merging of query methods by @flimzy in #972
- reduce=true for all docs view by @flimzy in #973
- Support proper collation for default views by @flimzy in #974
- Update example to show current behavior of key handling by @flimzy in #976
- Improve view options, part 1 by @flimzy in #977
- Add rest of options to viewOptions struct by @flimzy in #979
- Add service logs to output by @flimzy in #978
- Various view improvements by @flimzy in #980
- Update todo list by @flimzy in #981
- Query/View progress by @flimzy in #982
- Add support for view options: include_design & local_seq by @flimzy in #983
- Start adding tests specifically around the reduceRows method by @flimzy in #984
- All docs attachments by @flimzy in #985
- Views attachments by @flimzy in #986
- Add GopherJS 1.19 to test suite by @flimzy in #965
- A re-implementation of reduce functionality, which should allow for proper caching of intermediate results by @flimzy in #987
- Reduce iterator by @flimzy in #988
- Move some things from internal to int for import by x/sqlite to DRY by @flimzy in #989
- Use top-level
int
package instead of localinternal
package for DRY by @flimzy in #990 - Switch to new reduce lib by @flimzy in #991
- Reduce cache by @flimzy in #992
- Add CreateDoc feature by @flimzy in #993
- Disallow certain options for reduce by @flimzy in #994
- Support group_level=0 in reduce pkg by @flimzy in #995
- Allow reducing in batches by @flimzy in #996
- Start using reduce cache by @flimzy in #997
- More cache use, and flesh out some options for reduced views by @flimzy in #998
- Finish fleshing out options for reduce and group queries by @flimzy in #999
- More work on caching reduce results by @flimzy in #1000
- Detect conflicting key options by @flimzy in #1001
- A couple more tests for caching logic by @flimzy in #1002
- Add support for specifying collation in ddocs by @flimzy in #1004
- Optionally log queries in tests by @flimzy in #1005
- Add support for $or, and some cleanups by @flimzy in #1006
- Remove reduce cache support by @flimzy in #1007
- Add common collate package by @flimzy in #1009
- Complete (I think) AST parsing for mango queries by @flimzy in #1008
- Update x/sqlite to use new common collate pkg by @flimzy in #1010
- Add matching support to mango2 pkg by @flimzy in #1011
- Replace old mango implementation with the new, complete one by @flimzy in #1012
- Minimal _find support for sqlite backend by @flimzy in #1013
- Merge Find() options into query by @flimzy in #1016
- Find() is now basically complete, except for index support by @flimzy in #1017
- Add support for Go 1.23 by @flimzy in #1018
- Bump version for Go 1.23 by @flimzy in #1019
Full Changelog: v4.2.3...v4.2.4
v4.2.3
What's Changed
- Take 2 at a separate Go mod for x/sqlite by @flimzy in #949
- More query support by @flimzy in #947
- Add collation support by @flimzy in #946
- Begin adding reduce support by @flimzy in #954
- More reduce progress by @flimzy in #956
- Supports group=true by @flimzy in #957
- Extract reduce logic to separate function by @flimzy in #959
- group_level now works by @flimzy in #958
- Bare _stats functionality by @flimzy in #960
- Remove todo note after verification by @flimzy in #961
- Stop running live replication tests in GopherJS, since they're mysteriously broken by @flimzy in #964
- Fix bug 929 by @flimzy in #963
- Bump patch version by @flimzy in #966
Full Changelog: v4.2.2...v4.2.3
v4.2.2
What's Changed
- Add basic _all_docs support to server by @flimzy in #872
- multi-query _all_docs & POST _all_docs by @flimzy in #873
- Other views by @flimzy in #874
- Begin work on sqlite backend by @flimzy in #875
- Add Go 1.22 to build matrix by @flimzy in #877
- Update linter by @flimzy in #878
- More progress on sqlite backend by @flimzy in #876
- Beginning Get support in sqlite driver by @flimzy in #879
- Compound revs in db store by @flimzy in #880
- SQLite progress by @flimzy in #881
- More SQLite progress by @flimzy in #882
- Improve handling of special fields by @flimzy in #883
- Begin support for new_edits=false & _revisions by @flimzy in #884
- Handle _revisions + _rev + query param conflicts properly by @flimzy in #885
- More _revisions support by @flimzy in #886
- Finish Get() by @flimzy in #887
- Begin adding attachments support by @flimzy in #888
- Delete losing leaf properly by @flimzy in #889
- More sqlite progress by @flimzy in #890
- Convert tests to use testy.Table by @flimzy in #891
- Simplify a SQL query with a view by @flimzy in #892
- Refactor mergeIntoDoc to be more efficient, and deterministic by @flimzy in #893
- more _all_docs options by @flimzy in #894
- mergeIntoDoc improvements by @flimzy in #895
- Emulate CreateDoc if not implemented by backend by @flimzy in #896
- Begin PutAttachment support by @flimzy in #897
- Beginning of delete attachment support by @flimzy in #898
- Get attachment by @flimzy in #899
- Fix nil pointer dereference in example by @flimzy in #902
- Update readme by @flimzy in #901
- Refactor tests to not require hardcoded revs as much by @flimzy in #903
- Improve rev tests & stop storing literal _deleted key in doc JSON by @flimzy in #904
- Return actual attachment data by @flimzy in #905
- Use tx for get attachments by @flimzy in #906
- Use text/template to standardize sql query templates by @flimzy in #907
- Update README to say 4.x is stable by @flimzy in #909
- Make it possible to keep test databases by @flimzy in #910
- Improvements to GetAttachment, Delete and DeleteAttachment by @flimzy in #911
- More get attachment work by @flimzy in #912
- Simplify check functions by @flimzy in #913
- Test DRY by @flimzy in #914
- Attachments FK refactor by @flimzy in #915
- add isLeafRev function by @flimzy in #916
- Improve rev calculation by @flimzy in #917
- simplify attachment checks in tests by @flimzy in #918
- Delete attachments progress by @flimzy in #919
- Add attachments helpers for tests by @flimzy in #920
- Fix a PUT bug, and consistently handle updates to non-winning leaf revs by @flimzy in #921
- Cache prepared statements by @flimzy in #922
- Basic Changes feed support by @flimzy in #923
- Add limit and skip support for _all_docs view by @flimzy in #928
- Replicating attachments by @flimzy in #927
- Switch to matrix for main Go tests by @flimzy in #926
- More changes features by @flimzy in #924
- More changes improvements by @flimzy in #930
- Add include_docs support to changes feed by @flimzy in #931
- Basic purge support & more stub methods by @flimzy in #932
- Add _revs_diff support to sqlite backend by @flimzy in #935
- More changes feed progress by @flimzy in #933
- Sqlite open revs by @flimzy in #939
- Longpoll changes feed with attachments by @flimzy in #936
- Re-calculate revision for Put by @flimzy in #940
- Get meta by @flimzy in #941
- Start support for design docs by @flimzy in #942
- x/sqlite: Add support for LocalDocs and DesignDocs methods by @flimzy in #943
- Beginning support for querying views by @flimzy in #944
- Bump github.com/google/go-cmp to v0.6.0 by @flimzy in #948
- Bump goreleaser version by @flimzy in #951
- Tag a new maintenence release v4.2.2 by @flimzy in #950
Full Changelog: v4.2.1...v4.2.2
v4.2.1
v4.2.0
What's Changed
- Add AllDBsStats and DBsStats to server/fsdb by @flimzy in #856
- Server & fsdb security by @flimzy in #857
- Add middleware security layer for database access in server by @flimzy in #858
- More server endpoints by @flimzy in #859
- Document current DBUpdates behavior by @flimzy in #863
- Support normal mode & other parameters for DBUpdates by @flimzy in #865
- Add last_seq support for db updates by @flimzy in #861
- Update server to support normal & continuous _db_events by @flimzy in #866
- Tag v4.2.0 by @flimzy in #868
Full Changelog: v4.1.0...v4.2.0
v4.1.0
What's Changed
- Update linter by @flimzy in #838
- Add rudimentary server mode for use in kivik cli tool by @flimzy in #837
- Move server package into x dir for now by @flimzy in #839
- Import proxydb by @flimzy in #840
- Import kivikd by @flimzy in #841
- Add Basic Auth support to server mode by @flimzy in #842
- Begin adding permissions checks by @flimzy in #845
- Add cookie auth support to server by @flimzy in #844
- Add _up endpoint by @flimzy in #846
- Add server config support with basic default implementation by @flimzy in #847
- Add _uuids to server by @flimzy in #848
- Add _active_tasks to server by @flimzy in #849
- Improve isolation of server tests, and allow overriding the driver/dsn by @flimzy in #850
- Add some doc and db endpoints by @flimzy in #851
- Bump CouchDB 3.3.2 to 3.3.3 for tests by @flimzy in #852
- Configure docker-compose to start CouchDB for tests by @flimzy in #853
- Add support for GET /_dbs_info by @flimzy in #854
- Release 4.1.0 by @flimzy in #855
Full Changelog: v4.0.1...v4.1.0
v4.0.1
What's Changed
- Unpromote iterator methods by @flimzy in #604
- Update issue template by @flimzy in #605
- Remove baseRS type by @flimzy in #606
- Better row-specific error reporting by @flimzy in #607
- Driver cleanup by @flimzy in #609
- Fix single-item mode for empty result sets by @flimzy in #610
- Refactor some tests by @flimzy in #614
- Refactor TestGet by @flimzy in #615
- Change client.Close() semantics a bit by @flimzy in #613
- Remove context argument to Close() methods by @flimzy in #617
- Change DB.Close() to block until all queries are done by @flimzy in #618
- Update broken link by @flimzy in #620
- Defer errors for all iterators by @flimzy in #619
- Update BulkDocs to no longer return an iterator by @flimzy in #623
- Pass rev as options to driver instances by @flimzy in #624
- Don't try to assing rev to nil map by @flimzy in #625
- Fix GopherJS 1.18 test suite by @flimzy in #626
- Close pending queries when iterators error immediately by @flimzy in #627
- Fix BulkGet closing on error by @flimzy in #628
- Fix Query closing on error by @flimzy in #629
- Fix closing RevsDiff iterator by @flimzy in #630
- run tests against CouchDB 3.3.2 by @flimzy in #631
- Update readme example not to pass context in DB by @kitanoyoru in #634
- Consume response body from Get() result by @flimzy in #635
- Update to Go 1.21 and golangci-lint 1.54.0 by @flimzy in #636
- Convert ResultSet from interface to concrete struct type by @flimzy in #637
- Remove errRS type, and merge its functionality into the new ResultSet struct by @flimzy in #638
- Split underlying resultsets into two types: basic and full by @flimzy in #639
- Update README with *ResultSet changes by @flimzy in #640
- Remove unused errors package by @flimzy in #641
- Reintegrate kiviktest package by @flimzy in #643
- Clean up some debugging output by @flimzy in #649
- Add support for result-set returning Get() method by @flimzy in #650
- Extend driver.Rows with Rev and Attachments fields by @flimzy in #651
- Reintegrate couchdb driver into this repo by @flimzy in #642
- Use POST for changes feed to support large lists of doc_ids by @flimzy in #663
- Run GopherJS tests against 1.18 as in the pouchdb repo by @flimzy in #665
- Reintegrate pouchdb repo into this one by @flimzy in #664
- Make Security/SetSecurity optional for a backend by @flimzy in #670
- Remove legacy support for the github.com/pkg/errors.causer interface by @flimzy in #671
- Mention repo merge in changes section of README by @flimzy in #672
- Update CouchDB driver to use RowsGetter interface instead of OldGetter by @flimzy in #674
- Refactor how revisions are parsed for Get() responses by @flimzy in #675
- Modify ExtractRev to take a general io.ReadCloser, not just a *http.Response by @flimzy in #676
- Stop using ioutil by @flimzy in #678
- Reintegrate mock driver by @flimzy in #680
- Remove some obsolete and unused test suites by @flimzy in #681
- Update dependencies by @flimzy in #683
- Bump testy dep by @flimzy in #684
- Run tests against GopherJS 1.17 by @flimzy in #685
- Remove some unnecessary blank identifiers by @flimzy in #686
- Extract doc processing for the Get() method by @flimzy in #689
- Standardize some variable naming by @flimzy in #688
- Convert options to function arguments by @flimzy in #679
- Rename kivik.Options to kivik.Params, and make it a functional option by @flimzy in #690
- GoDoc updates for top-level package by @flimzy in #691
- Remove SetTransport auth method by @flimzy in #700
- Merge driver.DBCloser into driver.DB interface by @flimzy in #702
- Use empty string to indicate CouchDB 1.x config node by @flimzy in #703
- Remove unused vendor constants by @flimzy in #704
- Unexport couchdb.BulkGetError type by @flimzy in #705
- Add Duration() function to ease handling of duration-based query parameters by @flimzy in #707
- Convert authentication to options by @flimzy in #708
- Remove legacy options from mockdb by @flimzy in #710
- Remove an unused options instance by @flimzy in #712
- Allow multiple options in mockdb expectations by @flimzy in #711
- Use Node.js 18 for GopherJS tests by @flimzy in #687
- Use kivik.Option in kt by @flimzy in #714
- Add optional fields for Cloudant _security documents by @flimzy in #717
- Clarify use of some Replication methods by @flimzy in #718
- Move Error type to internal package by @flimzy in #721
- Unexport the params type, and add a Params() function by @flimzy in #719
- Remove curlError type by @flimzy in #722
- Use io.Seeker method to determine attachment size when possible by @flimzy in #723
- Fix import ordering by @flimzy in #724
- Remove unused file by @flimzy in #725
- Fix timing tests by @flimzy in #727
- Fix 2 bugs in readRev: by @flimzy in #728
- Add open_revs support by @flimzy in #677
- Shuffle tests by @flimzy in #729
- Switch mock driver to the new Get interface by @flimzy in #732
- Switch to new Getter for pouchdb driver by @flimzy in #733
- Complete plumbing of the Cloudant-specific security fields by @flimzy in #734
- Rename version by @flimzy in #735
- Auto-create tags and releases when kivik.Version constant is updated by @flimzy in #736
- Restore attachments iterator support to Get() by @flimzy in #737
- Don't return invalid attachments iterators by @flimzy in #738
- Tweak codecov config by @flimzy in #742
- Reintegrate the fsdb driver by @flimzy in #741
- Enforce license header with golangci-lint by @flimzy in #747
- Reintegrate Memorydb driver by @flimzy in #746
- Bump PouchDB tests to latest CouchDB by @flimzy in #752
- Integrate xkivik repo into this one by @flimzy in #749
- Use t.Cleanup in place of a defer by @flimzy in #754
- Convert replication callback to a functional option by @flimzy in #755
- Allow rc in Go version for tests by @flimzy in #757
- golang:rc images are no longer produced, so stop testing them by @flimzy in #758
- Convert copySecurity to functional option by @flimzy in #759
- Extract rows type and tests to separate files by @flimzy in #760
- Make ResultSet.Rev() work on single-results by @flimzy in #761
- Switch other backends to use new getter interface by @flimzy in #764
- Add tests for single call to Attachmen...