Skip to content

Commit

Permalink
Prepare v1.5.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
AlekSi committed Jul 3, 2023
1 parent 7fbc583 commit f939bd2
Show file tree
Hide file tree
Showing 5 changed files with 88 additions and 23 deletions.
80 changes: 78 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,82 @@

<!-- markdownlint-disable MD024 MD034 -->

## [v1.5.0](https://github.com/FerretDB/FerretDB/releases/tag/v1.5.0) (2023-07-03)

### What's Changed

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.

### New Features 🎉

- Implement `count` for SQLite by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2865
- Enable cursor support for PostgreSQL and SQLite by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2864

### Enhancements 🛠

- Support `find` `singleBatch` and validate `getMore` parameters by @chilagrow in https://github.com/FerretDB/FerretDB/pull/2855
- Support cursors for aggregation pipelines by @chilagrow in https://github.com/FerretDB/FerretDB/pull/2861
- Fix collection name starting with dot validation by @noisersup in https://github.com/FerretDB/FerretDB/pull/2912
- Improve validation for `createIndexes` and `dropIndexes` by @chilagrow in https://github.com/FerretDB/FerretDB/pull/2884
- Use cursors in `find` command by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2933

### Documentation 📄

- Add blogpost on FerretDB v1.4.0 by @Fashander in https://github.com/FerretDB/FerretDB/pull/2858
- Add blog post on "Meet FerretDB at Percona University in Casablanca and Belgrade" by @Fashander in https://github.com/FerretDB/FerretDB/pull/2870
- Update supported commands by @chilagrow in https://github.com/FerretDB/FerretDB/pull/2876
- Add blog post "FerretDB Demo: Launch and Test a Database in Minutes" by @Fashander in https://github.com/FerretDB/FerretDB/pull/2851
- Fix Github link for Dance repository by @Matthieu68857 in https://github.com/FerretDB/FerretDB/pull/2887
- Add blog post on "How to Configure FerretDB to work on Percona Distribution for PostgreSQL" by @Fashander in https://github.com/FerretDB/FerretDB/pull/2911
- Update incorrect blog post image by @Fashander in https://github.com/FerretDB/FerretDB/pull/2920
- Crush PNG images by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2931

### Other Changes 🤖

- Add more validation and tests for `$unset` by @chilagrow in https://github.com/FerretDB/FerretDB/pull/2853
- Make it easier to debug GitHub Actions by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2860
- Unify tests for indexes by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2866
- Bump deps by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2875
- Fix fuzzing corpus collection by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2879
- Add basic tests for iterators by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2880
- Implement basic `insert` support for SAP HANA by @polyal in https://github.com/FerretDB/FerretDB/pull/2732
- Update contributing docs by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2828
- Improve `wire` and `sjson` fuzzing by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2883
- Add operators support for `$addFields` by @noisersup in https://github.com/FerretDB/FerretDB/pull/2850
- Unskip test that passes now by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2885
- Tweak contributing guidelines by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2886
- Add handler's metrics registration by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2895
- Clean-up some code and comments by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2904
- Fix cancelation signals propagation by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2908
- Bump deps, add permissions monitoring by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2930
- Fix integration tests after bumping deps by @noisersup in https://github.com/FerretDB/FerretDB/pull/2934
- Update benchmark to use cursors by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2932
- Set `minWireVersion` to 0 by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2937
- Test `getMore` integration test using one connection pool by @chilagrow in https://github.com/FerretDB/FerretDB/pull/2878
- Add better metrics for connections by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2938
- Use cursors with iterator in `aggregate` command by @chilagrow in https://github.com/FerretDB/FerretDB/pull/2929
- Implement proper response for `createIndexes` by @rumyantseva in https://github.com/FerretDB/FerretDB/pull/2936
- Re-implement `DELETE` for SQLite backend by @w84thesun in https://github.com/FerretDB/FerretDB/pull/2907
- Validate database names for SQLite handler by @noisersup in https://github.com/FerretDB/FerretDB/pull/2924
- Add `insert` documents type validation by @w84thesun in https://github.com/FerretDB/FerretDB/pull/2946
- Convert SQLite directory to URI by @w84thesun in https://github.com/FerretDB/FerretDB/pull/2922
- Do not break fuzzing initialization by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2951

### New Contributors

- @Matthieu68857 made their first contribution in https://github.com/FerretDB/FerretDB/pull/2887

[All closed issues and pull requests](https://github.com/FerretDB/FerretDB/milestone/45?closed=1).
[All commits](https://github.com/FerretDB/FerretDB/compare/v1.4.0...v1.5.0).

## [v1.4.0](https://github.com/FerretDB/FerretDB/releases/tag/v1.4.0) (2023-06-19)

### New Features 🎉
Expand Down Expand Up @@ -46,7 +122,7 @@
- Improve benchmarks by @AlekSi in https://github.com/FerretDB/FerretDB/pull/2833
- Handle `$type` aggregation operator errors properly by @noisersup in https://github.com/FerretDB/FerretDB/pull/2829

## New Contributors
### New Contributors

- @shibasisp made their first contribution in https://github.com/FerretDB/FerretDB/pull/2676

Expand Down Expand Up @@ -113,7 +189,7 @@
- Add more handler tests by @w84thesun in https://github.com/FerretDB/FerretDB/pull/2769
- Remove `findAndModify` integration tests with `$` prefixed key for MongoDB 6.0.6 compatibility by @chilagrow in https://github.com/FerretDB/FerretDB/pull/2785

## New Contributors
### New Contributors

- @jeremyphua made their first contribution in https://github.com/FerretDB/FerretDB/pull/2714

Expand Down
2 changes: 1 addition & 1 deletion internal/handlers/registry/sqlite.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import (
// init registers "sqlite" handler.
func init() {
registry["sqlite"] = func(opts *NewHandlerOpts) (handlers.Interface, error) {
opts.Logger.Warn("SQLite handler is in alpha. It is not supported yet.")
opts.Logger.Warn("SQLite handler is in beta.")

handlerOpts := &sqlite.NewOpts{
URI: opts.SQLiteURL,
Expand Down
2 changes: 1 addition & 1 deletion internal/handlers/registry/tigris.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (
// init registers "tigris" handler for Tigris when "ferretdb_tigris" build tag is provided.
func init() {
registry["tigris"] = func(opts *NewHandlerOpts) (handlers.Interface, error) {
opts.Logger.Warn("Tigris handler is in beta.")
opts.Logger.Warn("This is the last release with Tigris support.")

handlerOpts := &tigris.NewOpts{
AuthParams: tigris.AuthParams{
Expand Down
16 changes: 6 additions & 10 deletions website/docs/configuration/flags.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,14 @@ Some default values are overridden in [our Docker image](quickstart-guide/docker
| ------------------ | ------------------------------- | ------------------------- | ------------------------------------ |
| `--postgresql-url` | PostgreSQL URL for 'pg' handler | `FERRETDB_POSTGRESQL_URL` | `postgres://127.0.0.1:5432/ferretdb` |

<!-- SQLite backend flags should be there once it is out of alpha -->
### SQLite (beta)

### Tigris (beta)
[SQLite backend](../understanding-ferretdb.md#sqlite-beta) can be enabled by
`--handler=sqlite` flag or `FERRETDB_HANDLER=sqlite` environment variable.

[Tigris backend](../understanding-ferretdb.md#tigris-beta) can be enabled by
`--handler=tigris` flag or `FERRETDB_HANDLER=tigris` environment variable.

| Flag | Description | Environment Variable | Default Value |
| ------------------------ | ------------------------------- | ------------------------------- | ---------------- |
| `--tigris-url` | Tigris URL for 'tigris' handler | `FERRETDB_TIGRIS_URL` | `127.0.0.1:8081` |
| `--tigris-client-id` | Tigris Client ID | `FERRETDB_TIGRIS_CLIENT_ID` | |
| `--tigris-client-secret` | Tigris Client secret | `FERRETDB_TIGRIS_CLIENT_SECRET` | |
| Flag | Description | Environment Variable | Default Value |
| -------------- | ------------------------------------------- | --------------------- | ------------- |
| `--sqlite-url` | SQLite URI (directory) for 'sqlite' handler | `FERRETDB_SQLITE_URL` | `file:data/` |

## Miscellaneous

Expand Down
11 changes: 2 additions & 9 deletions website/docs/understanding-ferretdb.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ Before inserting data into a document, you do not need to declare a schema.
That makes it ideal for applications and workloads requiring flexible schemas, such as blogs, chat apps, and video games.

:::note
For Tigris, FerretDB requires you to declare a JSON schema in [Tigris format](https://docs.tigrisdata.com/overview/schema).
Get more information on the key differences [here](diff.md).
:::

Expand Down Expand Up @@ -168,15 +167,9 @@ MongoDB documents are mapped to rows with a single [JSONB](https://www.postgresq
Those mappings might change as we work on improving compatibility and performance,
but no breaking changes will be introduced without a major version bump.

### SQLite (alpha)
### SQLite (beta)

We are [working on](https://github.com/FerretDB/FerretDB/issues/2387) SQLite backend.
It is not officially supported yet.

### Tigris (beta)

We also support the [Tigris](https://www.tigrisdata.com) backend on a beta level.
Read more [here](https://www.tigrisdata.com/docs/concepts/mongodb-compatibility/).
We also support the [SQLite](https://www.sqlite.org/) backend on a beta level.

### SAP HANA (alpha)

Expand Down

0 comments on commit f939bd2

Please sign in to comment.