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.