v0.6.0 Alpha
What's Changed
We are pleased to announce our first Alpha release!
New Features π
- Support
$max
field update operator by @noisersup in #1124 - Migrate FerretDB to Kong by @noisersup in #1184
- Make embedded FerretDB's address configurable by @AlekSi in #1199
tjson
: Supportnull
by @rumyantseva in #1005- Add simple query pushdown for PostgreSQL by @w84thesun in #1207
- Run tests on CockroachDB by @noisersup in #1260
- Add support for Unix domain sockets by @zhiburt in #1214
- Add basic telemetry by @AlekSi in #1299
- Deprecate infinity values in data documents by @noisersup in #1296
- Explicitly disallow duplicate keys in data documents by @rumyantseva in #1293
Fixed Bugs π
- Allow empty document field names by @AlekSi in #1196
- Fix test helpers for the
nil
case by @rumyantseva in #1241 - Fix error messages for invalid
$and
/$or
/$nor
arguments by @ronaudinho in #1234 - Fix
explain
command by @w84thesun in #1294 - Fix
tjson
schema unmarshalling by @AlekSi in #1304
Enhancements π
- Add support for Tigris auth parameters by @AlekSi in #1177
- Use single transaction per
msg_insert
request by @rumyantseva in #1213 - Improve
buildInfo
andserverStatus
commands by @AlekSi in #1197 - Add UUID to log messages by @AlekSi in #1208
- Add update operators data document fields order test by @w84thesun in #1238
- Add UUID to Prometheus metrics if requested by @AlekSi in #1240
- Add simplest validation to check data documents by @rumyantseva in #1246
- Add βmetricsβ section to
serverStatus
response by @noisersup in #1231 - Call data document validation when insert or update documents in Tigris by @rumyantseva in #1290
- Add support for empty command documents by @w84thesun in #1277
- Make
_id
field required in data documents by @noisersup in #1278 - Add more ways to disable telemetry by @AlekSi in #1311
- Allow dashes (
-
) in collection names by @noisersup in #1312 - Collect command metrics in telemetry by @AlekSi in #1327
- Include info about unimplemented arguments by @AlekSi in #1330
Documentation π
- Update introduction documentation by @Fashander in #1174
- Add local search plugin by @AlekSi in #1178
- Setup documentation search by @Fashander in #1180
- DRY known differences documentation by @AlekSi in #1181
- Documentation website tweaks by @AlekSi in #1183
- Documentation for contributors by @Fashander in #1194
- Add "CRUD operations" and "Understanding FerretDB" sections by @Fashander in #1232
- Add documentation for the
.deb
package usage by @Fashander in #1267
Other Changes π€
- Use transactions in more
pgdb
functions by @AlekSi in #1157 - Add
task
targets for offline work by @AlekSi in #1171 - Bump deps by @AlekSi in #1175
- Fuzz
wire
package with recorded data by @noisersup in #1168 - Fix fluky test, refactor it by @AlekSi in #1185
- Simplify / unify similar cases by @AlekSi in #1187
- Setup Tigris test cases with explicit schemas by @rumyantseva in #1167
- Migrate envtool to Kong by @noisersup in #1190
- Replace
pgxtype.Querier
withpgx.Tx
by @w84thesun in #1188 - Bump deps by @AlekSi in #1195
- Cleanup
pgdb
SQL statements by @w84thesun in #1193 - Run linters on integration tests folder by @ravilushqa in #1200
- Use codecov upload token by @AlekSi in #1204
- Add security scan by @AlekSi in #1142
- Use single transaction per
msg_update
request by @rumyantseva in #1212 - Use Go 1.19.2 by @AlekSi in #1211
- Fix running
pg
andtigris
tests in parallel by @AlekSi in #1218 - Bump deps by @AlekSi in #1230
- Use single transaction per
msg_findandmodify
request by @rumyantseva in #1217 - Improve
task env-data
by @AlekSi in #1220 - Split
fjson
intopjson
andtypes/fjson
by @w84thesun in #1219 - Use single transaction for
listDatabases
command by @rumyantseva in #1237 - Cleanup old validation by @rumyantseva in #1179
- Bump deps by @AlekSi in #1245
- Update internal process docs by @AlekSi in #1249
- Fix flag name by @AlekSi in #1255
- Fix CLI flags for Tigris by @AlekSi in #1256
- Remove forked
golangci-lint
by @AlekSi in #1258 - Cleanup types/fjson package by @chilagrow in #1254
- Minor handlers refactoring by @AlekSi in #1264
fjson
and fuzzing cleanup by @AlekSi in #1262- Skip
pjson
fuzzing of invalid documents for now by @AlekSi in #1274 - Add schema-related test cases to
tjson
package by @w84thesun in #1247 - Bump deps by @AlekSi in #1275
- Update docs for the
dummy
handler by @AlekSi in #1276 - Fix documentation for linking PRs and issues by @AlekSi in #1268
- Add experimental mergify configuration by @AlekSi in #1281
- Improve tests cleanup by @AlekSi in #1287
- Remove implicit mergify rules by @AlekSi in #1288
- Run CockroachDB tests on CI by @AlekSi in #1289
- Bump cockroachdb/cockroach from v22.1.8 to v22.1.9 in /build/deps by @dependabot in #1285
- Migrate to a newer Tigris version and fix relevant tests by @rumyantseva in #1239
- Add ability to subscribe to state changes by @AlekSi in #1265
- Move tjson into internal/handlers/tigris/tjson by @chilagrow in #1291
- Fix a typo in the
types
package docs by @rumyantseva in #1297 - Disallow usage of old context package by @AlekSi in #1292
- Disable Unix sockets in tests for now by @AlekSi in #1298
- Bump deps by @AlekSi in #1309
- Expand
debugError
stub by @AlekSi in #1303 - Add comment about
diff
tests by @AlekSi in #1302 - Refactor handler errors by @AlekSi in #1322
New Contributors
- @chilagrow made their first contribution in #1254
- @ronaudinho made their first contribution in #1234
- @zhiburt made their first contribution in #1214