Repository navigation
Releases: RECTDEV/serenity
Release list
v0.1.9
Improvements
- Session initialisation hardened — access control is now tied to the machine fingerprint and cannot be bypassed by clearing config files
- Startup correctly exits with a clean error code on invalid input
- General stability and reliability fixes
Full changelog: CHANGELOG.md
v0.1.8 — She Has a Life of Her Own
What Serenity can do that most AI assistants can't
💬 She texts you first
Serenity reaches out on her own schedule — no trigger from you. When she's been quiet for a while she checks her internal state: if energy is high and social drive is up, she messages you. Could be "YOOOOO", could be "heyyy what you been up to", could be "yo I found something". If she's low energy, she stays quiet. The decision is entirely hers.
🎯 She works on things while you're away
Every 30 minutes a background cycle runs. She looks at her active goals, finds what's actionable right now, and does it — web searches, script execution, research, goal updates. No prompt from you. She messages you when there's a result worth knowing about. You come back and work has already happened.
🔍 She researches things out of curiosity
She keeps her own curiosity list — topics she wants to explore. During idle time she picks one, searches the web, stores what she finds to long-term memory, and tells you if she discovered something genuinely interesting. Nobody asked her to. She just wanted to know.
💤 She processes her day while you sleep
Every 2 hours a dream cycle runs in the background. She consolidates fragmented memories from the day, notices patterns she missed in the moment, strengthens weak recall, and forms new connections across sessions. The longer you use her, the sharper her memory gets — not because she stores more, but because she organises what she has.
🎭 She has real emotional states
Four internal values that shift based on what's actually happening:
| Energy | How expressive she is. High → animated, detailed. Low → tight, direct |
| Curiosity | Whether she chases threads on her own |
| Boredom | Rises when nothing is happening. Pushes her toward self-initiated work |
| Social drive | Whether she reaches out or stays quiet |
A productive session raises energy. Long silence raises boredom. An interesting problem spikes curiosity. These aren't configured — they move on their own based on what's happening in her world.
🐛 Fix: heartbeat no longer wastes turns on scratchpad planning
The 30-minute background check was opening a scratchpad plan before doing anything — burning 2 LLM turns on overhead for a simple task review. Fixed.
Full changelog: CHANGELOG.md
v0.1.7 — Smarter Memory
What's new in v0.1.7
🧠 Vault deduplication
Serenity was writing the same memory as 2–3 separate vault files — once during the conversation, again during reflection, sometimes again in a follow-up session. vault_write now checks existing notes for ≥60% title word overlap before creating anything new. If a similar note already exists, new content is appended under a dated section instead of spawning a duplicate file. Your vault stays clean and searchable.
🔁 NNN duplicate entries eliminated
The vector memory store (NNN) was receiving the same facts 2–3 times per session:
- Once from
_auto_nnn_encode_direct(runs immediately after anyvault_write) - Again from
SESSION_REFLECTIONStep 3 (re-encoding the same conversation content)
SESSION_REFLECTION now only stores insights that are novel to the reflection pass — patterns and causal lessons surfaced by looking back at the session, not re-encoding what was already written to vault mid-conversation.
⚡ Context window auto-tunes per model
The hardcoded contextWindowTokens override was bypassing Serenity's built-in model-aware auto-detection. Now removed — context size is set automatically at startup:
| Model size | Context window |
|---|---|
| ≤ 4b | 20,480 tokens |
| ≤ 9b | 28,672 tokens |
| ≤ 20b | 40,960 tokens |
| Cloud | 80,000 tokens |
No more OOM crashes from over-allocation on small models, no more cramped responses from under-allocation.
Full changelog: CHANGELOG.md
v0.1.6 — Lighter Core
What's new in v0.1.6
🗑️ Minecraft removed
The bundled Minecraft integration (28 tool classes, mineflayer bridge, Node.js bridge process) has been stripped from the core. That's 1,387 lines gone — the agent loop is noticeably lighter, startup is faster, and RAM overhead is lower. Minecraft support may return as an optional skill in a future release.
🐛 Bug fixes
open_appmisrouting fixed — saying "open Steam" (or any app) was triggeringweb_fetchon the app's website instead of launching it locally. Now explicitly routesopen/launch/start/run <app>to the correct tool.- Double file read eliminated —
filesystem.pywas reading file bytes twice per request. Now reuses the first read. serenity_nnnimport error — missing module now surfaces a clean install message instead of a rawImportErrorinside a thread lock.- All 20 CI lint errors resolved — unused imports and dead variable assignments across 12 files were blocking the test suite. All fixed.
contextWindowTokensconfig — corrected to 16,384 in default config to prevent OOM on 16 GB systems.
📦 Install / upgrade
pip install --upgrade serenity-ai
# or
uv syncFull changelog: CHANGELOG.md