v0.9.0 Developer Preview
What's Changed
We are pleased to announce our first Developer Preview release!
This release adds an initial implementation of aggregation pipelines. For now, only the $match
and $count
stages are implemented. Additional stages will be implemented in future releases.
This release also pushes more filtering queries to the backend, significantly improving their speed. Again, more will be implemented in future releases.
New Features 🎉
- Support
$mul
field update operator by @chilagrow in #1760 - Support
$push
array update operator by @rumyantseva in #1819 - Support PostgreSQL pushdowns for numbers by @noisersup in #1809
- Pushdown SQL queries with dot notation by @noisersup in #1864
- Initial support for aggregation pipelines by @AlekSi in #1860
Fixed Bugs 🐛
- Fix error types and array handling when dot notation is used with
$set
operator by @rumyantseva in #1795 - Fix
$inc
operator panics for non-existing array index by @chilagrow in #1787 - Fix
$set
operator to apply correct comparison by @chilagrow in #1814
Enhancements 🛠
- Set default
pool_max_conns
to 20 for PostgreSQL by @jkoenig134 in #1852
Documentation 📄
- Blog and documentation configuration improvements by @rumyantseva in #1799
- Fix internal links and images by @Fashander in #1796
- Bump ferretdb/docusaurus-docs from 2.2.0-2 to 2.2.0-3 in /build/deps by @dependabot in #1823
- Tweak documentation about flags by @AlekSi in #1820
- Add blog post about FerretDB v0.8.1 release by @Fashander in #1813
- Add blog post on FerretDB beta release 0.8.0 by @Fashander in #1815
- Add basic documentation writing guide by @AlekSi in #1826
- Update docker deployment documentation by @noisersup in #1817
- Reformat Markdown tables by @AlekSi in #1847
- Reformat blog and documentation setup by @Fashander in #1839
- Clarify what command statistics we gather by @AlekSi in #1861
- Add blog post on "How FerretDB fetches data (About query pushdown)" by @Fashander in #1853
- Add content creation process for documentation and blog by @Fashander in #1859
- Mention that there is no configuration file by @AlekSi in #1879
- Truncate blog post display by @Fashander in #1874
Other Changes 🤖
- Simplify
types.Array
Append
signature by @w84thesun in #1793 - Integrate
explain
into tests by @noisersup in #1790 - Add
package.txt
stub by @AlekSi in #1806 - Remove lazy connection pools by @AlekSi in #1812
- Add Go execution tracing for tests by @AlekSi in #1804
- Retry transaction more times and log retries by @AlekSi in #1818
- Migrate to Tigris
beta.27
by @rumyantseva in #1810 - Remove
ListenerOpts
from anotherListenerOpts
by @AlekSi in #1837 - Update CONTRIBUTING.md for test data tip by @chilagrow in #1832
- Tiny cleanups by @AlekSi in #1849
- Update development documentation by @AlekSi in #1851
- Make proper port visible on blog development server by @noisersup in #1862
- Ensure that we don't import extra dependencies by @AlekSi in #1856
- Extract handler errors into own package by @AlekSi in #1872
- Run query compat tests on same collection by @chilagrow in #1870
- Fix
InTransaction
helper's edge case by @AlekSi in #1881 - Improve insert in Tigris by using single query for multiple documents by @rumyantseva in #1871
- Unify reply code in handlers by @AlekSi in #1883
- Make iterator interface more strict by @AlekSi in #1882
New Contributors
- @jkoenig134 made their first contribution in #1852