tl;dr:

I've added a massive number of tests, and the entire test suite is now green! The in-memory catalog now accurately reflects the state of the database after you save your changes. I've replaced `panic!`s with proper error handling, so the library is much more robust and won't crash on data conversion errors.

This week in Heave (2025.10.17)

Hey everyone,

It’s been a really productive week, and I'm super excited to share the progress I've made. I’ve been focused on hardening the library's foundation, and the results are something to be proud of.

The first thing I want to shout about is that all automated tests are green! I went on a bit of a testing spree, adding coverage for almost every part of the catalog and the underlying sqlite module. From basic get and delete functions to more complex persistence and data loading logic, I now have a solid safety net. This is a huge milestone for us, as it gives us the confidence to build new features without accidentally breaking things.

Another massive win for stability is that the library no longer panics on data conversion errors. Previously, if you tried to map an attribute to the wrong type, the program would just crash. That’s not a great experience! I've ripped out the old panic! calls and replaced them with proper error handling by using TryFrom<Value>. Now, instead of a crash, you’ll get a manageable error that you can handle gracefully in your own code.

Finally, I’ve made a key improvement to how the in-memory catalog works. The insert function has been upgraded to an upsert, which lets you create or update entities seamlessly. More importantly, the catalog's in-memory state is now perfectly coherent with the database after you persist your changes. This means what you see in your code is what you have in your database—no more guesswork or stale state.

I've updated the README to reflect these changes and added a small disclaimer for early adopters. I am still moving fast, so expect some bumps along the way, but I're committed to making this library as reliable as possible.

These changes represent a big step forward in maturity and stability. Thanks for following along


Chore

Doc

Feat

Fix

Review

Test


tags: #rust, #devlog, #project:heave