superlocalmemory 2.4.1 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -16,6 +16,16 @@ SuperLocalMemory V2 - Intelligent local memory system for AI coding assistants.
16
16
 
17
17
  ---
18
18
 
19
+ ## [2.4.2] - 2026-02-11
20
+
21
+ **Release Type:** Bug Fix Release
22
+ **Backward Compatible:** Yes
23
+
24
+ ### Fixed
25
+ - **Profile isolation bug in UI dashboard**: Graph nodes and connections were displaying global counts instead of profile-filtered counts. New/empty profiles incorrectly showed data from other profiles. Fixed by adding `JOIN memories` and `WHERE m.profile = ?` filter to graph stats queries in `ui_server.py` (`/api/stats` endpoint, lines 986-990).
26
+
27
+ ---
28
+
19
29
  ## [2.4.1] - 2026-02-11
20
30
 
21
31
  **Release Type:** Hierarchical Clustering & Documentation Release
package/bin/slm CHANGED
@@ -187,13 +187,13 @@ DOCUMENTATION:
187
187
  README: https://github.com/varun369/SuperLocalMemoryV2
188
188
  Docs: ~/.claude-memory/docs/
189
189
 
190
- VERSION: 2.3.0-universal
190
+ VERSION: 2.4.1
191
191
  EOF
192
192
  ;;
193
193
 
194
194
  version|--version|-v)
195
195
  echo "SuperLocalMemory V2 - Universal CLI"
196
- echo "Version: 2.3.0-universal"
196
+ echo "Version: 2.4.1"
197
197
  echo "Database: $SLM_DIR/memory.db"
198
198
  ;;
199
199
 
@@ -46,7 +46,7 @@ Simple Storage → Intelligent Organization → Adaptive Learning
46
46
 
47
47
  ## Universal Integration
48
48
 
49
- **Version 2.3.0-universal** transforms SuperLocalMemory from Claude-Code-only to a universal memory system that works across 16+ IDEs and CLI tools with zero configuration.
49
+ **Version 2.4.1** transforms SuperLocalMemory from Claude-Code-only to a universal memory system that works across 16+ IDEs and CLI tools with zero configuration.
50
50
 
51
51
  ### Three-Tier Access Architecture
52
52
 
@@ -204,7 +204,7 @@ slm graph build # Knowledge graph
204
204
 
205
205
  ## 7-Layer Architecture
206
206
 
207
- SuperLocalMemory V2 uses a hierarchical, additive architecture where each layer builds on the previous without replacing it. Version 2.3.0-universal extended the original 4 core layers with 3 universal access layers.
207
+ SuperLocalMemory V2 uses a hierarchical, additive architecture where each layer builds on the previous without replacing it. Version 2.3.0 introduced universal access across 16+ IDEs, and subsequent releases (through 2.4.1) added profiles, hierarchical clustering, and community summaries.
208
208
 
209
209
  ```
210
210
  ┌─────────────────────────────────────────────────────────────────┐
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Quick reference for all CLI commands**
4
4
 
5
- **Version 2.3.0-universal** - Universal integration across 16+ IDEs and CLI tools
5
+ **Version 2.4.1** - Universal integration across 16+ IDEs and CLI tools
6
6
 
7
7
  SuperLocalMemory V2 offers three access methods:
8
8
  1. **Universal CLI** - Simple `slm` commands (NEW in v2.1.0)
@@ -683,7 +683,7 @@ python3 ~/.claude-memory/mcp_server.py
683
683
  ```
684
684
  ============================================================
685
685
  SuperLocalMemory V2 - MCP Server
686
- Version: 2.3.0-universal
686
+ Version: 2.4.1
687
687
  ============================================================
688
688
 
689
689
  Transport: stdio
@@ -15,7 +15,7 @@ python3 ~/.claude-memory/mcp_server.py
15
15
  ```
16
16
  ============================================================
17
17
  SuperLocalMemory V2 - MCP Server
18
- Version: 2.3.0-universal
18
+ Version: 2.4.1
19
19
  ============================================================
20
20
 
21
21
  Transport: stdio
@@ -1,8 +1,8 @@
1
1
  # Universal Integration Guide
2
2
 
3
- **Version:** 2.3.0-universal
3
+ **Version:** 2.4.1
4
4
  **Status:** Production Ready
5
- **Updated:** February 7, 2026
5
+ **Updated:** February 11, 2026
6
6
 
7
7
  ---
8
8
 
@@ -483,6 +483,6 @@ python3 ~/.claude-memory/mcp_server.py --transport http --port 8001
483
483
 
484
484
  **Questions?** Open an issue: https://github.com/varun369/SuperLocalMemoryV2/issues
485
485
 
486
- **Version:** 2.3.0-universal
486
+ **Version:** 2.4.1
487
487
  **Author:** Varun Pratap Bhardwaj
488
488
  **License:** MIT
package/mcp_server.py CHANGED
@@ -711,7 +711,7 @@ if __name__ == "__main__":
711
711
  # Print startup message to stderr (stdout is used for MCP protocol)
712
712
  print("=" * 60, file=sys.stderr)
713
713
  print("SuperLocalMemory V2 - MCP Server", file=sys.stderr)
714
- print("Version: 2.3.0-universal", file=sys.stderr)
714
+ print("Version: 2.4.1", file=sys.stderr)
715
715
  print("=" * 60, file=sys.stderr)
716
716
  print("Created by: Varun Pratap Bhardwaj (Solution Architect)", file=sys.stderr)
717
717
  print("Repository: https://github.com/varun369/SuperLocalMemoryV2", file=sys.stderr)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "superlocalmemory",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "Your AI Finally Remembers You - Local-first intelligent memory system for AI assistants. Works with Claude, Cursor, Windsurf, VS Code/Copilot, Codex, and 16+ AI tools. 100% local, zero cloud dependencies.",
5
5
  "keywords": [
6
6
  "ai-memory",
@@ -242,7 +242,7 @@ class MemoryStoreV2:
242
242
  'project_url': 'https://github.com/varun369/SuperLocalMemoryV2',
243
243
  'license': 'MIT',
244
244
  'attribution_required': 'yes',
245
- 'version': '2.3.0-universal',
245
+ 'version': '2.4.1',
246
246
  'architecture_date': '2026-01-15',
247
247
  'release_date': '2026-02-07',
248
248
  'signature': 'VBPB-SLM-V2-2026-ARCHITECT',
package/ui_server.py CHANGED
@@ -983,10 +983,18 @@ async def get_stats():
983
983
  cursor.execute("SELECT COUNT(DISTINCT cluster_id) as total FROM memories WHERE cluster_id IS NOT NULL AND profile = ?", (active_profile,))
984
984
  total_clusters = cursor.fetchone()['total']
985
985
 
986
- cursor.execute("SELECT COUNT(*) as total FROM graph_nodes")
986
+ cursor.execute("""
987
+ SELECT COUNT(*) as total FROM graph_nodes gn
988
+ JOIN memories m ON gn.memory_id = m.id
989
+ WHERE m.profile = ?
990
+ """, (active_profile,))
987
991
  total_graph_nodes = cursor.fetchone()['total']
988
992
 
989
- cursor.execute("SELECT COUNT(*) as total FROM graph_edges")
993
+ cursor.execute("""
994
+ SELECT COUNT(*) as total FROM graph_edges ge
995
+ JOIN memories m ON ge.source_memory_id = m.id
996
+ WHERE m.profile = ?
997
+ """, (active_profile,))
990
998
  total_graph_edges = cursor.fetchone()['total']
991
999
 
992
1000
  # Category breakdown
@@ -1756,7 +1764,7 @@ if __name__ == "__main__":
1756
1764
  print(f"\n Port {args.port} in use — using {ui_port} instead\n")
1757
1765
 
1758
1766
  print("=" * 70)
1759
- print(" SuperLocalMemory V2.3.0 - FastAPI UI Server")
1767
+ print(" SuperLocalMemory V2.4.1 - FastAPI UI Server")
1760
1768
  print(" Copyright (c) 2026 Varun Pratap Bhardwaj")
1761
1769
  print("=" * 70)
1762
1770
  print(f" Database: {DB_PATH}")