Skip to content

Memex

v1.0.29 Breaking

This release includes 3 breaking changes for platform teams planning a safe upgrade.

Published 22d Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-assistant ai-companion ai-diary ai-journal assistant-app journal-app
+11 more
journaling journaling-app knowledge-management life-logging local-agent local-first personal-knowledge-management personal-knowledge-management-system pkm privacy skills

Summary

AI summary

Updates 💅 UI/UX Improvements, 🤖 Agent System Optimizations, and 📸 Media Management across a mixed release.

Full changelog

🎭 Role-play & Companion System (Major Refactor)

  • Memory System Overhaul: Replaced the legacy memory logic with a tag-based CRUD management system (CharacterMemoryService).
  • Unified Context Assembly: Introduced CharacterContextAssembler to streamline the construction of character prompts (integrating User Personas, Character Memories, World Info/Lorebook entries, Recent Timelines, Compressed Summaries, and Knowledge Cards).
  • Independent Companion Agent: The Companion Agent is now decoupled from the standard Chat Agent, featuring its own independent model configuration and a dedicated CompanionAgentSkill.
  • Rolling Summarization: Replaced the additive "checkpoint" compression with a new CharacterContextCompressor. It generates a single, story-driven rolling summary that automatically deduplicates structured memories.
  • In-line Action Messages: The Companion Agent can now send narrative/action messages (e.g., leans in closer) via the SendActionMessage tool. These are rendered with centered italics in the UI to distinguish them from dialogue bubbles.
  • Redesigned Chat UI: Implemented an immersive dark theme with frosted glass effects (BackdropFilter), customizable chat backgrounds, and a new PersonaChatInputBar component.
  • SillyTavern Integration:
    • Added TavernCharacterImportService supporting Tavern V2 character card imports from PNG (tEXt/iTXt chunks) and JSON files.
    • New TavernImportScreen with preview, conflict detection, and Lorebook entry importing.
    • Full support for Tavern Macros (e.g., {{user}}, {{char}}, {{time}}, {{date}}).
  • Character Model Extensions: Added support for firstMessage, systemPromptOverride, postHistoryInstructions, mesExample, and chatBackground fields.
  • Enhanced Comment Agent: Now supports system prompt overrides, example messages, and Tavern Macro parsing; existingCommentsContext is now passed as an independent parameter.
  • Data Integrity: Implemented a monotonically increasing counter for Character IDs to prevent ID reuse after deletion.
  • Avatar Management: Migrated avatar storage to relative paths to fix broken links caused by iOS container UUID changes. Introduced the CharacterAvatar component to handle both image files and DiceBear seed-based avatars.

📸 Media Management

  • MediaService: Centralized media file management with standardized naming conventions (YYYYMMDD_uuid_WxH.ext). All media is now pooled in workspace/_<userId>/_System/media/.
  • Unified Avatar Picker: AvatarPicker now serves character configs, user settings, and the personal center, supporting photo gallery selection.
  • Persistent User Profiles: User avatars are now persisted in profile.json and managed via MemexRouter, removing direct dependency on UserStorage.

🔔 Notification System (Action Center)

  • Detail Notifications: Added UserNotifications Drift table (schema v12). CardDetailNotifier now diffs changes in comments/insights to trigger notifications.
  • Enhanced Change Tracking: DataChangeRecord now utilizes before/after snapshots (binlog-style) instead of a single document snapshot.
  • Foreground Auto-dismiss: Opening a card detail view now automatically dismisses corresponding notifications via foreground state registration.

🔍 Settings Search

  • Global Settings Search: Registered 15 key settings with bilingual (EN/CN) keywords.
  • Search Engine: Implemented SettingsSearchService using substring matching and relevance scoring.
  • Quick Access: Added a "capsule" search entry at the top of the Personal Center for one-tap access to settings.

🤖 Agent System Optimizations

  • Default Configuration: AgentConfig.copyWith now supports explicit null values via sentinel objects.
  • Visibility: Added configurableAgentIds to AgentDefinitions, allowing all registered Agents to be automatically displayed in the settings page.
  • Time Context Standardization: Introduced time_context.dart. All Agent prompts now use formatLocalDateTimeWithZone() (including offset and zone name) instead of standard ISO8601 strings.
  • Insight Fixes: Resolved interpolation issues in Insight language prompts.

⚙️ Model Configuration

  • Duplication Support: Added LLMConfig.duplicate() with automatic unique key generation (e.g., _copy_2).
  • Global Defaults: Users can now set any model configuration as the global default.
  • UI Alignment: Unified the deletion confirmation logic and removed redundant code between swipe-to-delete and menu-based deletion.

💅 UI/UX Improvements

  • Flattened Input Bar: Removed nested menus for image uploads; Camera, Gallery, and Microphone buttons are now directly accessible.
  • Processing States: Replaced the thinking emoji with frame-animated icons for Agent "processing" states.
  • Layout Fixes: Aligned microphone button dimensions and fixed Return Key behavior in the home screen input box.

🗄️ Data Layer & Misc

  • Real-time UI Refresh: Added EventBusMessageType.personaChatMessageAdded to trigger immediate UI updates when an Agent sends action messages mid-execution.
  • System Events: Extended CardCommentPostedPayload with a createdAtTs field.
  • Refactor: Decoupled search matching logic into a dedicated query_matcher.dart.
  • Cleanup: Removed unused glados development dependencies.
  • FileSystem: Added getMediaPath() and toRelativePath() utility methods to FileSystemService.

Breaking Changes

  • Legacy memory logic removed; replaced with tag-based CRUD system (CharacterMemoryService).
  • Checkpoint compression replaced by rolling summarization via CharacterContextCompressor.
  • Companion Agent decoupled from standard Chat Agent, requiring independent model configuration and CompanionAgentSkill usage.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Memex

Get notified when new releases ship.

Sign up free

About Memex

All releases →

Related context

Related tools

Beta — feedback welcome: [email protected]