v1.8.0 (2023-08-14)
- Implement
$group
stage_id
expression by @chilagrow in FerretDB#3138 - Implement
$expr
evaluation query operator by @chilagrow in FerretDB#3163
- Do not return immutable
_id
error fromfindAndModify
for upserting same_id
by @chilagrow in FerretDB#3171
- Cache SQLite tables metadata by @AlekSi in FerretDB#3124
- Use lock for SQLite metadata by @AlekSi in FerretDB#3146
- Bump deps by @AlekSi in FerretDB#3142
- Improve MongoDB/FerretDB error checking in tests by @AlekSi in FerretDB#3143
- Expect some
aggregate
andinsert
tests to fail for SQLite by @AlekSi in FerretDB#3147 - Make administration command integration tests pass for SQLite by @noisersup in FerretDB#3152
- Bump deps, including Go by @AlekSi in FerretDB#3160
- Make aggregate stats integration tests pass for SQLite by @noisersup in FerretDB#3151
- Simplify tests a bit by @AlekSi in FerretDB#3149
- Make
distinct
andexplain
command integration tests pass for SQLite by @noisersup in FerretDB#3159 - Use one implementation for finding path values by @chilagrow in FerretDB#3087
- Make aggregate documents compat tests pass for SQLite by @noisersup in FerretDB#3150
- Make
query
integration tests pass for SQLite by @noisersup in FerretDB#3182 - Make
findAndModify
integration tests pass for SQLite by @noisersup in FerretDB#3173 - Make index integration tests pass for SQLite by @noisersup in FerretDB#3185
- Add tests for
$$ROOT
aggregation expression variable by @chilagrow in FerretDB#3180 - Make
getMore
integration tests pass for SQLite by @noisersup in FerretDB#3174 - Make
update
integration tests pass for SQLite by @noisersup in FerretDB#3184 - Add tests for
$$ROOT
by @chilagrow in FerretDB#3187
All closed issues and pull requests. All commits.
v1.7.0 (2023-07-31)
- Implement
$sum
aggregation standard operator by @chilagrow in FerretDB#3063
- Fix
PLAIN
auth with C# driver by @b1ron in FerretDB#3012
- Add validating max nested document/array depth by @kropidlowsky in FerretDB#2882
- Validate database and collection names for SQLite handler by @noisersup in FerretDB#2868
- Add basic metrics, logging and tracing for SQLite by @AlekSi in FerretDB#3123
- Tweak and document SQLite URI parameters by @AlekSi in FerretDB#3128
- Add blog post for FerretDB v1.6.0 by @Fashander in FerretDB#3058
- Update changelog by @AlekSi in FerretDB#3072
- Update blog post for FerretDB v1.6.0 by @Fashander in FerretDB#3073
- Tweak documentation and blog by @Fashander in FerretDB#2992
- Add blog post on "Community matters: fireside chat with Artem Ervits, CockroachDB" by @Fashander in FerretDB#3066
- Update Blog Post by @Fashander in FerretDB#3086
- Update tags formatting in writing guide by @Fashander in FerretDB#3097
- Add blog post on "Using Mingo with FerretDB" by @Fashander in FerretDB#3074
- Simplify
checkdocs
linter by @AlekSi in FerretDB#3104 - Update MongoDB comparision blog post by @ptrfarkas in FerretDB#3117
- Update MongoDB comparision blog post by @ptrfarkas in FerretDB#3119
- Add blog post on Grafana Monitoring for FerretDB by @Fashander in FerretDB#3106
- Bump deps by @AlekSi in FerretDB#3064
- Mark some tests as failing for SQLite by @AlekSi in FerretDB#3051
- Improve sjson package fuzzing by @quasilyte in FerretDB#3071
- Merges fuzztool into envtool by @Aditya1404Sal in FerretDB#2645
- Do not import
commonerrors
in tests by @AlekSi in FerretDB#3081 - Remove dead code by @AlekSi in FerretDB#3093
- Allow to change SQLite URI in tests by @AlekSi in FerretDB#3092
- Replace test doubles with constants by @noisersup in FerretDB#3024
- Improve
checkdocs
linter by @KrishnaSindhur in FerretDB#3095 - Add daily progress principle to
PROCESS.md
by @rumyantseva in FerretDB#3098 - Support
_id
aggregation operators for$group
stage by @noisersup in FerretDB#3096 - Bump the tools group in /tools with 1 update by @dependabot in FerretDB#3109
- Backport v1.6.1 fixes by @AlekSi in FerretDB#3107
- Support recursive operator calls for
$sum
aggregation accumulator by @noisersup in FerretDB#3116
- @Aditya1404Sal made their first contribution in FerretDB#2645
- @KrishnaSindhur made their first contribution in FerretDB#3095
- @ptrfarkas made their first contribution in FerretDB#3117
All closed issues and pull requests. All commits.
v1.6.1 (2023-07-26)
- Fix pushdown for
find
withfilter
andlimit
by @AlekSi in FerretDB#3114
All closed issues and pull requests. All commits.
v1.6.0 (2023-07-17)
- Implement
killCursors
command by @AlekSi in FerretDB#2939 - Implement
ping
command for SQLite by @noisersup in FerretDB#2965 - Implement
getParameter
method for SQLite by @chilagrow in FerretDB#2985
- Ignore
lsid
field in all commands by @b1ron in FerretDB#3010 - Allow
$set
operator to update_id
by @chilagrow in FerretDB#3009 - Apply pushdown for
limit
by @chilagrow in FerretDB#2993 - Fix
update
with query operator forupsert
option by @chilagrow in FerretDB#3028
- Add integration tests for
maxTimeMS
infind
,aggregate
andgetMore
by @chilagrow in FerretDB#2953 - Remove double decoding in unmarshalSingleValue by @quasilyte in FerretDB#3018
- Ignore
count.fields
argument by @AlekSi in FerretDB#3048
- Add blog post on FerretDB release v1.5.0 by @Fashander in FerretDB#2958
- Mention SQLite in README.md by @AlekSi in FerretDB#2968
- Add blog post about using NoSQLBooster with FerretDB by @Fashander in FerretDB#2962
- Update blog post image by @Fashander in FerretDB#3029
- Add a note about setting the stable API version by @b1ron in FerretDB#3035
- Add blog post on "How to run FerretDB on top of StackGres" by @Fashander in FerretDB#2869
- Fix blog post formatting by @AlekSi in FerretDB#3047
- Update database naming restrictions by @b1ron in FerretDB#3042
- Move
find
andaggregation
cursor integration tests togetMore
by @chilagrow in FerretDB#2952 - Make a copy of the
testing.TB
interface by @AlekSi in FerretDB#2987 - Bump deps by @AlekSi in FerretDB#2998
- Remove Tigris from documentation and builds by @AlekSi in FerretDB#2999
- Remove Tigris code by @AlekSi in FerretDB#3001
- Remove Tigris from tests by @AlekSi in FerretDB#3002
- Crush PNG files to make them smaller by @AlekSi in FerretDB#3020
- Update issue URL by @AlekSi in FerretDB#3021
- Move
testutil.TB
totesttb.TB
by @AlekSi in FerretDB#3022 - Move
logout
tocommoncommands
by @AlekSi in FerretDB#3019 - Make
task all
run only unit tests by @AlekSi in FerretDB#3023 - Update closed issue links by @chilagrow in FerretDB#3027
- Unskip
findAndModify
$set
integration test for_id
by @chilagrow in FerretDB#3025 - Expect
renameCollection
tests failures by @AlekSi in FerretDB#3007 - Fix
killCursors
edge case by @AlekSi in FerretDB#3030 - Fix error checking in backend contracts by @AlekSi in FerretDB#3031
- Bump deps by @AlekSi in FerretDB#3034
- Remove
Type()
interface from aggregation stage by @chilagrow in FerretDB#3045 - Remove fixed issue link and clean up integration test provider setup by @chilagrow in FerretDB#3052
- Prepare v1.6.0 release by @AlekSi in FerretDB#3056
- @quasilyte made their first contribution in FerretDB#3018
All closed issues and pull requests. All commits.
v1.5.0 (2023-07-03)
This release provides beta-level support for the SQLite backend. There is some missing functionality, but it is ready for early adopters.
This release provides improved cursor support, enabling commands like find
and aggregate
to return large data sets much more effectively.
Tigris data users: Please note that this is the last release of FerretDB which includes support for the Tigris backend. Starting from FerretDB v1.6.0, Tigris will not be supported. If you wish to use Tigris, please do not update FerretDB beyond v1.5.0. This and earlier versions of FerretDB with Tigris support will still be available on GitHub.
- Implement
count
for SQLite by @AlekSi in FerretDB#2865 - Enable cursor support for PostgreSQL and SQLite by @AlekSi in FerretDB#2864
- Support
find
singleBatch
and validategetMore
parameters by @chilagrow in FerretDB#2855 - Support cursors for aggregation pipelines by @chilagrow in FerretDB#2861
- Fix collection name starting with dot validation by @noisersup in FerretDB#2912
- Improve validation for
createIndexes
anddropIndexes
by @chilagrow in FerretDB#2884 - Use cursors in
find
command by @AlekSi in FerretDB#2933
- Add blogpost on FerretDB v1.4.0 by @Fashander in FerretDB#2858
- Add blog post on "Meet FerretDB at Percona University in Casablanca and Belgrade" by @Fashander in FerretDB#2870
- Update supported commands by @chilagrow in FerretDB#2876
- Add blog post "FerretDB Demo: Launch and Test a Database in Minutes" by @Fashander in FerretDB#2851
- Fix Github link for Dance repository by @Matthieu68857 in FerretDB#2887
- Add blog post on "How to Configure FerretDB to work on Percona Distribution for PostgreSQL" by @Fashander in FerretDB#2911
- Update incorrect blog post image by @Fashander in FerretDB#2920
- Crush PNG images by @AlekSi in FerretDB#2931
- Add more validation and tests for
$unset
by @chilagrow in FerretDB#2853 - Make it easier to debug GitHub Actions by @AlekSi in FerretDB#2860
- Unify tests for indexes by @AlekSi in FerretDB#2866
- Bump deps by @AlekSi in FerretDB#2875
- Fix fuzzing corpus collection by @AlekSi in FerretDB#2879
- Add basic tests for iterators by @AlekSi in FerretDB#2880
- Implement basic
insert
support for SAP HANA by @polyal in FerretDB#2732 - Update contributing docs by @AlekSi in FerretDB#2828
- Improve
wire
andsjson
fuzzing by @AlekSi in FerretDB#2883 - Add operators support for
$addFields
by @noisersup in FerretDB#2850 - Unskip test that passes now by @AlekSi in FerretDB#2885
- Tweak contributing guidelines by @AlekSi in FerretDB#2886
- Add handler's metrics registration by @AlekSi in FerretDB#2895
- Clean-up some code and comments by @AlekSi in FerretDB#2904
- Fix cancelation signals propagation by @AlekSi in FerretDB#2908
- Bump deps, add permissions monitoring by @AlekSi in FerretDB#2930
- Fix integration tests after bumping deps by @noisersup in FerretDB#2934
- Update benchmark to use cursors by @AlekSi in FerretDB#2932
- Set
minWireVersion
to 0 by @AlekSi in FerretDB#2937 - Test
getMore
integration test using one connection pool by @chilagrow in FerretDB#2878 - Add better metrics for connections by @AlekSi in FerretDB#2938
- Use cursors with iterator in
aggregate
command by @chilagrow in FerretDB#2929 - Implement proper response for
createIndexes
by @rumyantseva in FerretDB#2936 - Re-implement
DELETE
for SQLite backend by @w84thesun in FerretDB#2907 - Validate database names for SQLite handler by @noisersup in FerretDB#2924
- Add
insert
documents type validation by @w84thesun in FerretDB#2946 - Convert SQLite directory to URI by @w84thesun in FerretDB#2922
- Do not break fuzzing initialization by @AlekSi in FerretDB#2951
- @Matthieu68857 made their first contribution in FerretDB#2887
All closed issues and pull requests. All commits.
v1.4.0 (2023-06-19)
- Implement
$type
aggregation operator by @noisersup in FerretDB#2789 - Implement
$unset
aggregation pipeline stage by @shibasisp in FerretDB#2676 - Implement simple
$addFields/$set
aggregation pipeline stages by @shibasisp in FerretDB#2783 - Implement
createIndexes
for unique indexes by @w84thesun in FerretDB#2814
- Add blog post for FerretDB v1.3.0 by @Fashander in FerretDB#2791
- Add
release
tag to release blog post by @AlekSi in FerretDB#2792 - Add textlint rules for en dashes and em dashes by @AlekSi in FerretDB#2823
- Add Blog Post on Document Databases by @Fashander in FerretDB#2204
- Add user documentation about unique index creation by @rumyantseva in FerretDB#2856
- Make
testutil.Logger
easier to use by @AlekSi in FerretDB#2790 - Bump deps by @AlekSi in FerretDB#2798
- Refactor SQLite handler by @AlekSi in FerretDB#2731
- Merge test workflows to fix coverage calculation by @AlekSi in FerretDB#2801
- Improve
testDistinctCompat
by @noisersup in FerretDB#2782 - Use iterator in
$sum
aggregation accumulator by @chilagrow in FerretDB#2799 - Bump Go to 1.20.5 by @AlekSi in FerretDB#2810
- Fix free monitoring tests for MongoDB 6.0.6 by @jeremyphua in FerretDB#2784
- Bump MongoDB to 6.0.6 by @AlekSi in FerretDB#2727
- Bump MongoDB Go driver by @AlekSi in FerretDB#2817
- Implement
envtool tests shard
command by @kropidlowsky in FerretDB#2773 - Check error message in non compat integration tests by @chilagrow in FerretDB#2806
- Shard integration tests by @AlekSi in FerretDB#2820
- Describe current test naming conventions in the contributing guidelines by @rumyantseva in FerretDB#2821
- Add tests for
find
/getMore
batchSize
by @chilagrow in FerretDB#2825 - Add more test cases for index validation by @rumyantseva in FerretDB#2752
- Fix running single test with
task
by @w84thesun in FerretDB#2832 - Refactor
getWholeParamStrict
andGetScaleParam
functions by @w84thesun in FerretDB#2831 - Prevent tests deadlock when backend is down by @AlekSi in FerretDB#2846
- Fix
unimplemented-non-default
tag usages by @w84thesun in FerretDB#2848 - Bump deps by @AlekSi in FerretDB#2849
- Add more tests for
$set
and$addFields
aggregation stages by @chilagrow in FerretDB#2844 - Improve benchmarks by @AlekSi in FerretDB#2833
- Handle
$type
aggregation operator errors properly by @noisersup in FerretDB#2829
- @shibasisp made their first contribution in FerretDB#2676
All closed issues and pull requests. All commits.
v1.3.0 (2023-06-05)
- Implement positional operator in projection by @chilagrow in FerretDB#2688
- Implement
logout
command by @kropidlowsky in FerretDB#2639
- Fix reporting of updates availability by @rumyantseva in FerretDB#2653
- Fix
.deb
and.rpm
package versions by @AlekSi in FerretDB#2725 - Allow query to be type null in
distinct
command by @b1ron in FerretDB#2658 - Fix path collisions for multiple update operators by @noisersup in FerretDB#2713
- Fix
_id
formatting in update error messages by @noisersup in FerretDB#2711
- Add release blog post for FerretDB version 1.2.0 by @Fashander in FerretDB#2686
- Update
$project
in Supported Commands by @Fashander in FerretDB#2710 - Add formatter for markdown tables by @rumyantseva in FerretDB#2693
- Reformat and lint more documentation files by @AlekSi in FerretDB#2740
- Document aggregation operations by @Fashander in FerretDB#2672
- Improve authentication documentation by @chilagrow in FerretDB#2737
- Refactor
gitBinaryMaskParam
function by @w84thesun in FerretDB#2634 - Add
distinct
command errors test by @w84thesun in FerretDB#2687 - Clarify what's left in handling OP_MSG checksum by @rumyantseva in FerretDB#2677
- Return a better error for authentication problems by @AlekSi in FerretDB#2703
- Aggregation operators refactor by @noisersup in FerretDB#2664
- Implement
envtool version
command by @jeremyphua in FerretDB#2714 - Make
go test -list=.
work by @AlekSi in FerretDB#2718 - Include Hana in integration tests by @polyal in FerretDB#2715
- Bump deps by @AlekSi in FerretDB#2702
- Add
logout
test for all backend by @chilagrow in FerretDB#2726 - Fix telemetry reporter logging by @AlekSi in FerretDB#2707
- Add supported aggregations to the
buildInfo
output by @kropidlowsky in FerretDB#2716 - Add aggregation operator tests by @chilagrow in FerretDB#2724
- Add more consistency to table tests' field names by @rumyantseva in FerretDB#2717
- Don't use
sjson.GetTypeOfValue
where it shouldn't be used by @noisersup in FerretDB#2728 - Unify test file names by @w84thesun in FerretDB#2709
- Make
testFindAndModifyCompat
work withcompatTestCaseResultType
by @rumyantseva in FerretDB#2739 - Bump deps by @AlekSi in FerretDB#2745
- Call
ListSpecifications
driver's method in tests to check indexes by @rumyantseva in FerretDB#2746 - Simplify
CountIterator
by @AlekSi in FerretDB#2759 - Check for
nil
values in iterators explicitly by @AlekSi in FerretDB#2758 - Trigger GC to run finalizers by @AlekSi in FerretDB#2771
- Update
golangci-lint
config by @AlekSi in FerretDB#2772 - Remove the need to call
DeepCopy
in some places by @AlekSi in FerretDB#2774 - Clean-up
lazyerrors
, use them in more places by @AlekSi in FerretDB#2770 - Replace document slices with iterators by @noisersup in FerretDB#2730
- Fix
findAndModify
tests for MongoDB 6.0.6 by @chilagrow in FerretDB#2779 - Implement a few command stubs by @AlekSi in FerretDB#2777
- Add more handler tests by @w84thesun in FerretDB#2769
- Remove
findAndModify
integration tests with$
prefixed key for MongoDB 6.0.6 compatibility by @chilagrow in FerretDB#2785
- @jeremyphua made their first contribution in FerretDB#2714
All closed issues and pull requests. All commits.
v1.2.1 (2023-05-24)
- Fix reporting of updates availability by @rumyantseva in FerretDB#2653
- Return a better error for authentication problems by @AlekSi in FerretDB#2703
All closed issues and pull requests. All commits.
v1.2.0 (2023-05-22)
This release includes a highly experimental and unsupported SQLite backend. It will be improved in future releases.
- Fix compatibility with C# driver by @b1ron in FerretDB#2613
- Fix a bug with unset field sorting by @rumyantseva in FerretDB#2638
- Return
int64
values fordbStats
andcollStats
by @AlekSi in FerretDB#2642 - Return command error from
findAndModify
by @chilagrow in FerretDB#2646 - Fix index creation on nested fields by @wqhhust in FerretDB#2637
- Perform
insertMany
in a single transaction by @raeidish in FerretDB#2532 - Relax PostgreSQL connection checks by @AlekSi in FerretDB#2602
- Cleanup
insert
command by @noisersup in FerretDB#2609 - Support dot notation in projection by @chilagrow in FerretDB#2536
- Add FerretDB v1.1.0 release blog post by @Fashander in FerretDB#2594
- Update blog post image for 1.1.0 by @AlekSi in FerretDB#2601
- Add documentation for
.rpm
packages by @AlekSi in FerretDB#2604 - Fix a typo in a blog post by @AlekSi in FerretDB#2611
- Fix typo on RPM package file name by @christiano in FerretDB#2628
- Update documentation formatting by @AlekSi in FerretDB#2640
- Add blog post on "Meteor and FerretDB" by @Fashander in FerretDB#2654
- Bump deps by @AlekSi in FerretDB#2592
- Remove
TODO
comment for closed issue by @adetunjii in FerretDB#2573 - Add experimental integration test flag for pushdown sorting by @noisersup in FerretDB#2595
- Extract handler parameters from corresponding structure by @w84thesun in FerretDB#2513
- Add
shell
subcommands (mkdir
,rmdir
) inenvtool
by @kropidlowsky in FerretDB#2596 - Add basic postcondition checker for errors by @AlekSi in FerretDB#2607
- Add
sqlite
handler stub by @AlekSi in FerretDB#2608 - Make protocol-level crashes easier to understand by @AlekSi in FerretDB#2610
- Simplify
envtool shell
subcommands by @AlekSi in FerretDB#2614 - Cleanup old Docker images by @wqhhust in FerretDB#2533
- Fix exponential backoff minimum duration by @noisersup in FerretDB#2578
- Fix
count
'squery
parameter by @w84thesun in FerretDB#2622 - Add a README.md file for assertions by @b1ron in FerretDB#2569
- Use
ExtractParameters
in handlers by @w84thesun in FerretDB#2620 - Verify
OP_MSG
message checksum by @adetunjii in FerretDB#2540 - Separate codebase for aggregation
$project
and queryprojection
by @chilagrow in FerretDB#2631 - Implement
envtool shell read
subcommand by @wqhhust in FerretDB#2626 - Cleanup projection by @chilagrow in FerretDB#2641
- Add common backend interface prototype by @AlekSi in FerretDB#2619
- Add SQLite handler flags by @AlekSi in FerretDB#2651
- Add tests for aggregation expressions with dots in
$group
aggregation stage by @rumyantseva in FerretDB#2636 - Implement some SQLite backend commands by @AlekSi in FerretDB#2655
- Fix tests to assert correct error by @chilagrow in FerretDB#2546
- Aggregation expression refactor by @noisersup in FerretDB#2644
- Move common commands to
commoncommands
by @AlekSi in FerretDB#2660 - Add basic observability into backend interfaces by @AlekSi in FerretDB#2661
- Implement metadata storage by @w84thesun in FerretDB#2656
- Add
Query
to the common backend interface by @AlekSi in FerretDB#2662 - Implement query request for SQLite backend by @w84thesun in FerretDB#2665
- Add test case for read in envtools by @wqhhust in FerretDB#2657
- Run integration tests for
sqlite
handler by @AlekSi in FerretDB#2666 - Bump deps by @AlekSi in FerretDB#2671
- Create SQLite directory if needed by @AlekSi in FerretDB#2673
- Implement SQLite
update
anddelete
commands by @w84thesun in FerretDB#2674
- @adetunjii made their first contribution in FerretDB#2573
- @christiano made their first contribution in FerretDB#2628
All closed issues and pull requests. All commits.
v1.1.0 (2023-05-09)
- Implement projection fields assignment by @w84thesun in FerretDB#2484
- Implement
$project
pipeline aggregation stage by @w84thesun in FerretDB#2383 - Handle
create
anddrop
commands in Hana handler by @polyal in FerretDB#2458 - Implement
renameCollection
command by @b1ron in FerretDB#2343
- Fix
findAndModify
for$exists
query operator by @chilagrow in FerretDB#2385 - Fix
SchemaStats
to return correct data by @rumyantseva in FerretDB#2426 - Fix
findAndModify
for$set
operator setting_id
by @chilagrow in FerretDB#2507 - Fix
update
for conflicting dot notation paths by @chilagrow in FerretDB#2521 - Fix
$
path errors for sort by @chilagrow in FerretDB#2534 - Fix empty projections panic by @w84thesun in FerretDB#2562
- Fix
runCommand
's inserts of documents without_id
s by @kropidlowsky in FerretDB#2574
- Validate
scale
param fordbStats
andcollStats
correctly by @rumyantseva in FerretDB#2418 - Allow database name contain uppercase characters by @syasyayas in FerretDB#2504
- Add identifying Arch Linux version in
hostInfo
command by @kropidlowsky in FerretDB#2525 - Handle absent
os-release
file by @kropidlowsky in FerretDB#2541 - Improve handling of
os-release
files by @kropidlowsky in FerretDB#2553
- Document test script by @chilagrow in FerretDB#2353
- Use
draft
instead ofunlisted
by @AlekSi in FerretDB#2372 - Make example docker compose file restart on failure by @noisersup in FerretDB#2376
- Document how to get logs by @chilagrow in FerretDB#2355
- Update writing guide by @Fashander in FerretDB#2373
- Add comments to our documentation workflow by @AlekSi in FerretDB#2390
- Add blogpost: Announcing FerretDB 1.0 GA - a truly Open Source MongoDB alternative by @AlekSi in FerretDB#2397
- Update documentation for index options by @AlekSi in FerretDB#2417
- Add query pushdown documentation by @noisersup in FerretDB#2339
- Update README.md to link to SSPL by @cooljeanius in FerretDB#2420
- Improve documentation for Docker by @AlekSi in FerretDB#2396
- Add more detailed PR guides in CONTRIBUTING.md by @AuruTus in FerretDB#2435
- Remove a few double spaces by @AlekSi in FerretDB#2431
- Add image for a future blog post by @AlekSi in FerretDB#2453
- Add blogpost - Using FerretDB with Studio 3T by @AlekSi in FerretDB#2454
- Fix YAML indentation by @AlekSi in FerretDB#2455
- Update blog post on Using FerretDB with Studio3T by @Fashander in FerretDB#2457
- Document
createIndexes
,listIndexes
, anddropIndexes
commands by @Fashander in FerretDB#2488
- Allow setting "package" variable with a testing flag by @AlekSi in FerretDB#2357
- Make it easier to use Docker-related Task targets by @AlekSi in FerretDB#2358
- Do not mark released binaries as dirty by @AlekSi in FerretDB#2371
- Make Docker Compose flags compatible by @AlekSi in FerretDB#2377
- Bump dependencies by @AlekSi in FerretDB#2367
- Fix version.txt generation for git tags by @AlekSi in FerretDB#2388
- Fix types order linter by @AlekSi in FerretDB#2391
- Cleanup deprecated errors by @chilagrow in FerretDB#2411
- Bump deps by @AlekSi in FerretDB#2408
- Use parallel tests consistently by @chilagrow in FerretDB#2409
- Compress CI artifacts by @noisersup in FerretDB#2424
- Use exponential backoff with jitter by @j0holo in FerretDB#2419
- Add Mergify rules for blog posts by @AlekSi in FerretDB#2434
- Migrate to
pgx/v5
by @craigpastro in FerretDB#2439 - Make it harder to misuse iterators by @AlekSi in FerretDB#2428
- Update PR template by @AlekSi in FerretDB#2441
- Rename testing flag by @AlekSi in FerretDB#2437
- Fix compilation on riscv64 by @afiskon in FerretDB#2456
- Cleanup exponential backoff with jitter by @chilagrow in FerretDB#2443
- Add workaround for CockroachDB issue by @AlekSi in FerretDB#2464
- Implement blog posts previews by @noisersup in FerretDB#2433
- Introduce integration benchmarks by @noisersup in FerretDB#2381
- Add tests to findAndModify on
$exists
operator by @chilagrow in FerretDB#2422 - Bump deps by @AlekSi in FerretDB#2479
- Refactor aggregation by @chilagrow in FerretDB#2463
- Tweak documentation by @AlekSi in FerretDB#2452
- Fix query projection for top level fields by @w84thesun in FerretDB#2386
- Handle
envtool
panic on timeout by @syasyayas in FerretDB#2499 - Enable debugging tracing of SQL queries by @craigpastro in FerretDB#2467
- Update blog file names to match with slug by @chilagrow in FerretDB#2497
- Add benchmark for replacing large document by @noisersup in FerretDB#2482
- Add more documentation-related items to definition of done by @rumyantseva in FerretDB#2494
- Return unsupported operator error for
$
projection operator by @w84thesun in FerretDB#2512 - Use
update_available
from Beacon by @chilagrow in FerretDB#2496 - Use iterator in aggregation stages by @chilagrow in FerretDB#2480
- Increase timeout for tests by @rumyantseva in FerretDB#2508
- Add
InsertMany
benchmark by @raeidish in FerretDB#2518 - Add coveralls.io integration by @noisersup in FerretDB#2483
- Add linter for checking blog posts by @raeidish in FerretDB#2459
- Add a YAML formatter by @wqhhust in FerretDB#2485
- Fix
collStats
for Tigris by @rumyantseva in FerretDB#2520 - Small addition to YAML formatter usage by @rumyantseva in FerretDB#2524
- Cleanup of blog post linter for slug by @chilagrow in FerretDB#2526
- Pushdown simplest sorting for
find
command by @noisersup in FerretDB#2506 - Move
handlers/pg/pjson
tohandlers/sjson
by @craigpastro in FerretDB#2531 - Check test database name length in compat test setup by @chilagrow in FerretDB#2527
- Document
not ready
issues label by @AlekSi in FerretDB#2544 - Remove version and name assertions in integration tests by @raeidish in FerretDB#2552
- Add helpers for iterators and generators by @AlekSi in FerretDB#2542
- Do various small cleanups by @AlekSi in FerretDB#2561
- Pushdown simplest sorting for
aggregate
command by @noisersup in FerretDB#2530 - Move handlers parameters to common by @w84thesun in FerretDB#2529
- Use our own Prettier Docker image by @AlekSi in FerretDB#2535
- Improve fuzzing with recorded seed data by @fenogentov in FerretDB#2392
- Add proper CLI to
envtool
-envtool setup
subcommand by @kropidlowsky in FerretDB#2570 - Recover from more errors, close connection less often by @AlekSi in FerretDB#2564
- Tweak issue templates and contributing docs by @AlekSi in FerretDB#2572
- Refactor integration benchmarks by @AlekSi in FerretDB#2537
- Do panic in integration tests if connection can't be established by @rumyantseva in FerretDB#2577
- Small refactoring by @AlekSi in FerretDB#2575
- Merge
no ci
label intonot ready
by @AlekSi in FerretDB#2580
- @cooljeanius made their first contribution in FerretDB#2420
- @j0holo made their first contribution in FerretDB#2419
- @AuruTus made their first contribution in FerretDB#2435
- @craigpastro made their first contribution in FerretDB#2439
- @afiskon made their first contribution in FerretDB#2456
- @syasyayas made their first contribution in FerretDB#2499
- @raeidish made their first contribution in FerretDB#2518
- @polyal made their first contribution in FerretDB#2458
- @wqhhust made their first contribution in FerretDB#2485
All closed issues and pull requests. All commits.
v1.0.0 (2023-04-03)
We are delighted to announce the release of FerretDB 1.0 GA!
- Support
$sum
accumulator of$group
aggregation by @chilagrow in FerretDB#2292 - Implement
createIndexes
command by @rumyantseva in FerretDB#2244 - Add basic
getMore
command by @AlekSi in FerretDB#2309 - Implement
dropIndexes
command by @chilagrow in FerretDB#2313 - Implement
$limit
aggregation pipeline stage by @noisersup in FerretDB#2270 - Add partial support for
collStats
,dbStats
anddataSize
by @AlekSi in FerretDB#2322 - Implement
$skip
aggregation pipeline stage by @w84thesun in FerretDB#2310 - Implement
$unwind
aggregation pipeline stage by @noisersup in FerretDB#2294 - Support
count
andstorageStats
fields in$collStats
aggregation pipeline stage by @rumyantseva in FerretDB#2338
- Fix dot notation negative index errors by @w84thesun in FerretDB#2246
- Apply
skip
beforelimit
by @AlekSi in FerretDB#2351
- Update supported command for
$sum
aggregation operator by @chilagrow in FerretDB#2318 - Add supported shells and GUIs images by @AlekSi in FerretDB#2323
- Publish FerretDB v0.9.4 blog post by @Fashander in FerretDB#2268
- Use dashes instead of underscores or spaces by @AlekSi in FerretDB#2329
- Update documentation sidebar by @Fashander in FerretDB#2347
- Update FerretDB descriptions by @AlekSi in FerretDB#2281
- Improve flags documentation by @AlekSi in FerretDB#2331
- Describe supported fields for
$collStats
aggregation stage by @rumyantseva in FerretDB#2352
- Use iterators for
sort
,limit
,skip
, andprojection
by @AlekSi in FerretDB#2254 - Bump dependencies by @AlekSi in FerretDB#2307
- Improve resource tracking by @AlekSi in FerretDB#2319
- Add tests for
find
's andcount
'sskip
argument by @w84thesun in FerretDB#2325 - Close iterator properly by @AlekSi in FerretDB#2333
- Improve large numbers initialization in test data by @noisersup in FerretDB#2324
- Ignore
unique
index option for now by @AlekSi in FerretDB#2350
All closed issues and pull requests. All commits.
See https://github.com/FerretDB/FerretDB/blob/v1.0.0/CHANGELOG.md.