Releases: fcoury/oxide
v0.1.7 🌈
We now have a shell to interact with OxideDB, very similar to MongoDB's own mongosh
.
Just use the shell
subcommand and you're gonna get a REPL much like the one below:
We also now allow matching on implicit arrays, meaning that a.b.c = 1
would match documents like { a: { b: [{ c: 1 }, { d: 2 }] } }
, something we didn't do before.
Changes 🎉
v0.1.6 🌈
New Discord server! Join us here - https://discord.gg/f7RwsbWEVh
This release includes a lot of new features, mainly driven by attempting to run a Meteor application. The whole discussion started on this thread:
Thanks @wreiske for reporting the issues you were finding and allowing me to fix the issues found on this use case.
Changes 🎉
- Match arrays when searching for nested fields @fcoury (#69)
- Add support for
$addToSet
on updates @fcoury (#65) - Add
count
command @fcoury (#63) - Allow creating indexes on nested fields using
parent.child
notation @fcoury (#61) - Adds $regex operator support @fcoury (#55)
Bugfixes 🐛
v0.1.5 🌈
Super excited to have new people starring the project. To celebrate, this release has a lot of improvements and added support for MongoDB commands.
Highlights are:
- On the Aggregation Pipeline, we highly improved support for the
$project
stage (check issue #37 for more information) - Also on the Aggregation Pipeline the new stages
$count
,$skip
and$limit
are now supported - The very complex
findAndModify
command landed with initial support (missing details are being tracked on issue #52)
Please let me know on Discussions section if you have any thoughts about the project!
Changes
- Adds findAndModify command @fcoury (#51)
- feat: added $limit and $skip aggregation pipeline stages @fcoury (#48)
- feat: implements $count aggregation pipeline stage @fcoury (#47)
- feat: improves coverage of the $project specs @fcoury (#43)
- Spelling @jsoref (#41)
- Fixes parsing date values ('$d') @fcoury (#42)
- Improved error handling and propagation @fcoury (#40)
v0.1.4 🌈
Introducing a fresh Web interface for playing with your databases without a need for a client:
This web interface was also published on our new domain, so you can play with the project without installing anything:
Click here to play with the project
And finally I recorded a 10 minutes video with an overview of OxideDB:
Oh, did I say we also added Docker support? 😄
Changes 🎉
- feat: Web UI documentation and final tweaks @fcoury (#39)
- feat: added Dockerfile @fcoury (#38)
- Adds a web interface as a separate subcommand @fcoury (#14)
Bugfixes 🐛
- fix: returns excluded fields as _jsonb on $project stage @fcoury
Enjoy!
v0.1.3 🌈
v0.1.2
Changes
There was a lot of progress in this release, mostly getting the server to be able to run my own application.
We added a lot of new commands, fixed some protocol bugs and paved the way to better and less brittle testing.
New Features
- Server now handles large documents, basically the server loop was optimized a lot
- Support for indexes!
- Added support for
$in
,$nin
and$exists
operators - New commands added:
create
listIndexes
dropDatabase
update
including Replacement Documents,$set
and$inc
operations along withupsert
andmulti
support (phew!)delete
command
Bug Fixes
- Small problem with the date deserializer
- Numeric comparisons were failing, we now implemented Type Bracketing -
https://www.mongodb.com/docs/manual/reference/method/db.collection.find/#std-label-type-bracketing
Enhancements
- A lot of improvements on how we handle existing operations
v0.1.1
Changes
This release highlight is making Studio 3T work nicely with our server:
This very popular client uses some specific version of the OP_MSG opcode that was a bit trickier to implement, but it's now completed.
Starting on this release, we'll also try to start providing Windows executables if our crates play nice.
New Features
- Supports
OP_MSG
op-codes withkind=1
section. This is used by some client apps, like Studio 3T.
Bug Fixes
- Proper fallback to environment variable
DATABASE_URL
when an.env
file is absent and the--postgres-url
parameter is not passed - Binds to
127.0.0.1
by default (as opposed tolocalhost
that was failing on some machines)
Enhancements
- Small overhaul on the message parsing, making it more intuitive
- Removed crate
local-ip-address
that was causing the build to fail on Windows - Better error notifications when required configuration is not provided when starting the server
- Improved initial README documentation for quick start
Other changes
- Improvements on the testing infrastructure, allowing execution of integration tests straight from hexdumps (from Wireshark for instance)
v0.1.0
Initial Relase 🎉
This is the initial release with binaries for Linux and macOS ARM and Intel. Windows is likely coming later.
Features
- Initial translation layer from MongoDB Wire Protocol to MongoDB Query JSON and finally to PostgreSQL SQL Statements
- Basic support for insert and find commands
Full Changelog: https://github.com/fcoury/oxide/commits/v0.1.0