Skip to main content

Version 0.4.0 is here, Wizards! ๐Ÿง™

ยท 3 min read
Robert Goniszewski
Creator of Grimoire

The time has come! The refactored Grimoire is materializing right before your eyes ๐Ÿช„ While the cover might seem familiar, the actual contents have been completely transformed!

Now, the long journey is over and a new chapter can begin. Let's dive into the details!

Refactoring and streamlining effort [DONE]โ€‹

We knew that the project was getting a bit unwieldy, so I decided to take a step back and refactor the codebase. I've been successful in updating and refactoring the codebase, making it more maintainable and easier to work with. This has been a long-term goal of mine, and I'm glad to finally be able to say that it's almost done.

During this transformation phase, the project underwent a comprehensive overhaul, with nearly 6,000 new lines of code additions of much needed changes. However, the true scale of this refactoring effort is the remarkable number of deletions, which doubled the added code. It impacted over 100 files across all the app. Now, this is the real deal!

The impact of these changes will be seen in every layer of the app: swifter UI, faster metadata processing, and a more robust and secure backend. The contributors should be now able to fully focus on new features and quality-of-life improvements, and not having to deal with the limitations and headaches of the old architecture.

Code changes

As part of the refactoring process, I've been working on reducing the project's reliance on PocketBase and moving towards a more independent solution. By leveraging latest technologies such as Drizzle ORM and Bun, Grimoire has evolved into a streamlined, contemporary, and high-performance platform for bookmark management that can be deployed with ease. I'm sure it will pay off in the long run!

Let's migrate with ease!

The last crucial part of the whole process was to ensure that existing users will be able to move their gathered bookmark stashes to the next iteration of the project. And yeah, the Grimoire delivers! You can use our in-built migration tool to import all the data, including stored images. Learn more about it in the migration guide.

The tools is currently in the preview stage, so even though it did get through the review process, you may still encounter some issues. If that's the case, please let me know about it.

For further details on how to update your live instance, please check the updated compose file in our repo under this link.

What's nextโ€‹

Now that the dust has settled, it's time to dive into our backlog and bring to life the features you've been eagerly awaiting. You might have noticed some promising yet unfinished functionalities cough, OpenAI/Ollama integration, cough that are practically begging for our attention. These will undoubtedly be at the top of our list as we embark on the next phase of development.

But that's just the beginning! I'm also exploring exciting new possibilities to enhance your Grimoire experience. From new and shiny bookmark organization improvements to seamless cross-device synchronization, the project has potential to become even better partner for all bookmark hoarders like us. Stay tuned for updates as we transform these ideas into reality, one magical feature at a time!

Contributors are more than welcome!โ€‹

The Grimoire is an open-source project in its early stages of development. Let us work together to make it better!

Bring your ideas, suggestions, and bug reports to the GitHub repository. And if you want to make an impact, take a look at the contributing guidelines.