tl;dr
The Road to 1.0.0
Hey everyone!
I've been busy chipping away at Heave, and I'm thrilled to share some exciting news with you all.
Tested and Documented
I've recently merged a massive amount of automatic tests to ensure that the Catalog
is working exactly as intended. This means you can be confident that the core of the library is solid and reliable.
On top of that, I've gone through and added exhaustive documentation to all publicly visible functions and structs. My goal is to make Heave as easy to use as possible, and that starts with clear and comprehensive documentation.
Robust and Reliable
One of my biggest priorities has been to make Heave incredibly robust. I'm happy to announce that the library no longer panics! All errors are now handled gracefully, so you can integrate Heave into your projects without worrying about unexpected crashes. I've also put a lot of effort into ensuring that the in-memory state is always coherent with the data in the database.
Database-Level Filtering
I'm also excited to announce that I've added the ability to filter directly at the database level. This is a huge performance improvement, as it allows you to efficiently query your data without having to load everything into memory first.
The Final Stretch: Concurrency
With all of these improvements, I'm very, very close to a 1.0.0
release! I'm considering publishing an alpha version soon to get some early feedback.
The last major feature I want to tackle is concurrency. It's not a simple task, but it's definitely doable. The good news is that adding concurrency support shouldn't introduce any breaking changes, so it could potentially be released in a 1.1.0
version. However, I'd really love to have it included in the 1.0.0
release to make it as feature-complete as possible.
I'm still pondering the best approach, so stay tuned for more updates. I'm incredibly excited about the future of Heave, and I can't wait to get it into your hands!
tags: #rust, #database, #project:heave