Tue 23 December 2025

2️⃣ Years of Sane C++ Libraries

SC

A look back at the second year of the Sane C++ Libraries project, highlighting a massive dependency cleanup, the "No Allocations" guarantee, single-file libraries, and much more.

Another year has passed, and it's time to celebrate the second anniversary of Sane C++ Libraries https://github.com/pagghiu/SaneCppLibraries!
The journey continues toward the goal of providing simple, modern, and dependency-free C++ platform abstraction libraries for macOS, Windows, and Linux.

The core principles remain the same:

✅ Fast compile times
✅ Bloat free
✅ Simple and readable code
✅ Easy to integrate
⛔️ No C++ Standard Library / Exceptions / RTTI
⛔️ No third party build dependencies (prefer OS API)

This second year was defined by a relentless focus on architectural purity, developer experience, and delivering on the project's core promises in a tangible way.

The Great Cleanup

The "No Allocations" Guarantee

The single most important achievement of this year was a massive dependency cleanup that culminated in making them single-file libraries with clean dependencies.

Isn't this final clean internal dependency graph super cool? 😎

A powerful guarantee for most of the libraries has been gained too:
No dynamic memory allocations.

As the official README.md now states:

  • All libraries do not dynamically allocate memory (excluding Memory and Containers)
  • All libraries are designed to work inside user-provided memory buffers.
  • All libraries return error codes when running out of such memory buffers.
  • Third-party container classes, including std:: ones, are supported (see InteropSTL for an example).
  • Memory and Containers are fully optional and just provided for convenience.

This was a multi-month effort that involved:

Now, if you use a library that doesn't depend on Memory (directly or indirectly), you have a compile-time guarantee that it performs no heap allocations.

The Year in Review

A Look Back at The Updates

Beyond the architectural overhaul, the year was packed with new features and improvements.

🟨 Async Evolution

Async all the things

The async ecosystem has been refined consistently throughout the year:

🧠 Memory Management Revolution (February-March)

Do not allocate as if your life depends on it!

The foundation for the "No Allocations" guarantee was laid early in the year.

🛠️ Tooling and Developer Experience

A major theme this year was making the libraries easier to use and develop.

Community, Content & Growth

The project is still a solo development effort for the most part, but this year saw a few contributions!
A special thank you to Francesco "cozis" Cozzuto for his useful contributions and bug reports.

Growth on GitHub has been slow and steady.
While there's no exponential explosion in stars, the project continues to find its audience, making me happy 😃.

Star History Chart

In terms of content, my focus this year shifted heavily from producing YouTube videos to implementing the architectural changes described above. I may come back to making videos at some point, once I'm more satisfied with the status of the libraries, but the priority for now remains on the code.

Looking Ahead to Year Three

With the architecture in a much cleaner state, the plan for the third year is to build on this solid foundation.

It's been a marathon of a year focused on deep, foundational work.
Thank you to everyone who has followed along, starred the repository, or used the libraries.

The journey is far from over!

See you soon! 🎊👋🏼