# Upgrade Guide — v0.12.28

<!-- bump: patch -->

## What Changed

Added a pre-flight `ensureSqliteBindings()` check that runs once at server startup, before TopicMemory or SemanticMemory initialize. If `better-sqlite3`'s native bindings fail to load (the "Could not locate the bindings file" error that happens when Node.js version changes), the server now auto-rebuilds them immediately, so all SQLite subsystems start healthy.

Previously, the auto-rebuild logic was embedded inside the TopicMemory initialization block, which is guarded by `if (telegram)`. Agents without Telegram configured would see SemanticMemory fail with a binding error because the rebuild never ran.

## What to Tell Your User

- **Improved startup reliability**: "Your agent's knowledge graph (SemanticMemory) now starts up cleanly even when the Node.js version has changed. No manual `npm rebuild` needed."

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| Auto-rebuild better-sqlite3 at startup | Automatic — runs before any SQLite subsystem initializes |
