Skip to content

Releases: codecoradev/corin

Corin v0.4.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 07:36
0c26268

What's New in v0.4.0

Major release: 72 commits since v0.3.4, led by a full visual redesign and the first Corin version that treats namespaces as something you manage instead of something you filter by. Recommended pairing: uteke v0.17.0, which ships the namespace APIs this UI uses.

Redesigned interface

  • Editor-grade dark theme (default) in the Linear and Raycast school, plus a calm light theme. Theme switching changes the palette only: typography, spacing, and radius stay identical across themes.
  • Navigation collapsed to three destinations (Home, Memories, Documents) in a 56px collapsible rail. Maintenance moved into Settings.
  • Command palette (Ctrl/Cmd+K) for unified search, navigation, and actions from anywhere.
  • Platform-aware shortcuts: ⌘ on macOS, Ctrl elsewhere. Fixes ⌘B / ⌘N not working on macOS; every shortcut label renders per platform.
  • Committed visual QA journey and codified UI standards; the svelte-check baseline is now 0 errors.

Documents

  • Milkdown (Crepe) WYSIWYG editing, theme-aware, for daily writing. CodeMirror remains for source mode and now follows live dark/light switches.
  • [[memory-link]] autocomplete for cross-referencing memories inside documents.
  • Tree improvements: numbered titles sort 1, 2, 3..., a searchable Parent picker when creating, and scroll-into-view on select.

Namespace management

  • Inline rename and merge, delete with an explicit strategy for the memories inside (refuse, merge into a target, or deprecate), explicit creation, and active/deprecated counts.
  • Actions are gated by uteke server version (>= 0.16.1): on older servers they render disabled with a tooltip instead of failing silently.

Memory provenance and trust

  • Memories are classified Human or Agent. Anything created through a Corin or uteke UI surface is stamped human; agent-written and legacy rows read as Agent. Badges on cards and the detail panel; editing keeps the original author.
  • Pin memories so they float to the top of the browsed list.
  • Memory timeline, cross-entity linking (memory ↔ document refs), and trust feedback.
  • Maintenance tab: type backfill, duplicate review, and JSONL import/export. A global activity heatmap lives on Home.

Graph

  • 300-node seed with Load more up to 800, rebuilt in place from the fetched pool.
  • Readable content labels instead of raw memory UUIDs, hidden by default; hovered and selected nodes always show their label. Legend and fit-view included.

Fixed

  • Memory editor double-insert: the duplicate pre-check ran through a call that inserts, so every save created a second copy and every edit left a stray copy of the edited content. The pre-check is a read-only recall now, and the insert happens exactly once.
  • Desktop clients no longer drop metadata, pinned, and memory_type between the uteke HTTP client and the UI; the web handler no longer serializes absent fields as explicit nulls, which PUT /memory treats as delete-this-field.
  • The command palette can no longer open underneath the memory editor (z 220, global); the detail panel layers above settings correctly and Esc closes one layer at a time.
  • Updater signatures re-enabled (createUpdaterArtifacts): tauri build signs the updater artifacts again and latest.json ships populated, so in-app auto-updates work from this release on.

Full Changelog: v0.3.4...v0.4.0

CorIn v0.3.4

Choose a tag to compare

@github-actions github-actions released this 21 Jul 09:31
e3d1298

What's Changed

Hotfix. Fixes the auto-update manifest that v0.3.3's release pipeline shipped broken.

Fixed

  • Auto-update manifest — v0.3.3's release pipeline shipped latest.json with an empty platforms object, so every "Check for Updates" errored with "None of the fallback platforms were found." The artifact glob (target*/release/...) did not cross directory separators and missed the macOS cross-compile path. Switched to target/**/bundle/... with recursive lookup, so the manifest now ships with populated entries for darwin-aarch64, darwin-x86_64, and windows-x86_64. The manifest job also fails loud if no platforms assemble (#190, #192).

No app code changed from v0.3.3. This release exists to ship a working auto-update manifest. All v0.3.3 features are included: unified search across memories and documents, HTTP-only version gate, uteke server version in Settings, bun tooling.

Full Changelog: v0.3.3...v0.3.4

CorIn v0.3.3

Choose a tag to compare

@github-actions github-actions released this 21 Jul 06:35
c7af618

What's Changed

Patch release. Auto-update now works, search unifies memories with documents, and the version gate is fully HTTP-only.

Added

  • Unified search across memories and documents — a new "Memories | All" scope toggle in the search bar. "All" runs unified recall (search_type=all, requires uteke 0.9.0+) and returns a mixed list of memory and document hits, each badged. Document hits open in the Documents view (#184, #185).

Fixed

  • Auto-update works again — every release since v0.2.0 was missing the latest.json manifest (tauri-action#1098), so the in-app updater errored out. The release pipeline now generates and uploads the manifest directly. Each platform build exports its .sig signature, and a final job assembles the Tauri v2 manifest (#187).

Changed

  • Version detection is fully HTTP-only — the gate no longer probes the uteke CLI. It reads the connected server's /health version field for both local and remote servers, completing the HTTP-first direction that fixed the Windows #171 bug in v0.3.2 (#183).
  • Uteke server version shown in Settings — the health line in Connections now displays the server version, e.g. Healthy · uteke v0.9.0 · 12ms (#186).
  • Tooling switched to buntauri.conf.json build hooks and the release runner use bun instead of npm (#186, #187).

Full Changelog: v0.3.2...v0.3.3

CorIn v0.3.2

Choose a tag to compare

@github-actions github-actions released this 20 Jul 09:50
bdcb58d

What's Changed

🔧 Fixed

  • Windows: Documents tab always showed "uteke CLI not found" — the version gate probed uteke --version via the CLI, and binary discovery did not handle the .exe extension or PATHEXT. The gate is now HTTP-first: it reads the connected server's GET /health version field (works on every platform, no CLI lookup needed). The CLI fallback path is also fixed — find_in_path / find_uteke_cli / find_uteke_serve now try every PATHEXT extension on Windows (#171, #180).
  • Uteke 0.8.x room-document compatroom_document() now prefers POST /room/summary-document (canonical since uteke #735) and falls back to the legacy POST /room/document on HTTP 404, so CorIn works against both released uteke 0.8.0 and newer (#178).

🔄 Changed

  • Version gate is now HTTP-firstresolve_uteke_version reads the connected uteke-serve's self-reported version via /health for local servers too (previously remote-only), aligning the gate with CorIn's HTTP-only architecture (#180).

📦 Dependencies

  • vite 6.4.3 → 8.1.5 and @sveltejs/vite-plugin-svelte 5.1.1 → 7.2.0 (#179)
  • tokio 1.52.3 → 1.53.0, serde 1.0.228 → 1.0.229, thiserror 2.0.18 → 2.0.19, toml 1.1.2 → 1.1.3, tauri-plugin-dialog 2.7.1 → 2.7.2
  • @codemirror/language 6.12.3 → 6.12.4, dompurify 3.4.11 → 3.4.12, marked 18.0.5 → 18.0.6
  • actions/setup-node 6 → 7

Full Changelog: v0.3.1...v0.3.2

CorIn v0.3.1

Choose a tag to compare

@github-actions github-actions released this 09 Jul 17:17
407ca02

CorIn v0.3.1

Stable patch release — document-tree fixes and UX improvements.

Requires uteke ≥ 0.7.1 (run uteke upgrade). The app now prompts to upgrade if an older server is detected.

Added

  • Document tree UX overhaul — full hierarchy view with folder/file icons, recursive tree, slide transitions (#157)
  • Clickable breadcrumbs — every ancestor crumb navigates to its parent/sub-doc; resolves the materialized path client-side with no extra requests (#161)

Fixed

  • Document tree only showed ~5 docsdoc_list now defaults limit to 1000 (#159)
  • Folders couldn't be expanded/collapsed — Svelte 5 reactivity bug fixed via immutable state updates (#160)
  • Delete failed with 400 Bad Request — require uteke ≥ 0.7.1; version gate rejects 0.7.0 with an upgrade prompt (#159)
  • False "uteke upgrade required" for remote users — version gate now probes the remote server via GET /health instead of the local CLI (#159)
  • View scroll reset + document namespace/version gate (#154)

Changed

  • Removed the Participants tab from Rooms (#158)

Install

Download the asset for your platform below. Available via auto-update from v0.3.0.

Full changelog: see CHANGELOG.md.

CorIn v0.3.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 10:27
52b7e0a

What's New in v0.3.0

📄 Documents Page Overhaul

  • 3-mode toggle: Edit / Split / Preview with live markdown rendering (marked + DOMPurify)
  • Tree sidebar with auto-expand, Lucide icons, and slide transitions
  • Internal document links navigate in-app; external links open in system browser
  • Save flow with /doc/update + fallback to /doc/create (upsert) for older uteke servers
  • Word count, reading time, Ctrl+S save shortcut, delete confirmation
  • Export .md via native OS save dialog
  • Success/error notification bars

🎨 Design System — Shared Component Library

  • 11 reusable components in src/lib/ui/ (Button, IconButton, Card, Badge, Input, Modal, ConfirmDialog, Spinner, EmptyState, Notification)
  • Toast notification system with reactive toastStore
  • 31 unit tests (Button, Badge, Spinner, EmptyState, toastStore)

✨ Animation System

  • 8 shared transition presets: fadeQuick, fadeUp, slideDown, modalScale, dialogPop, backdropFade, expandSlide, slideInRight
  • View cross-fades, tree slide-expand, chevron rotate, card hover lift, skeleton shimmer

🎯 Tailwind CSS v4

  • CSS-first config (no tailwind.config.js)
  • Catppuccin Mocha palette mapped to @theme → Tailwind utilities
  • Backward compatible with existing CSS variables

🔧 Component Refactoring

  • Shared utils: format.ts (29 tests) + markdown.ts
  • SettingsModal split: 828 → 233 lines (AgentsSection + UpdatesSection extracted)
  • RoomsView, GraphView, DocumentsView refactored to use shared utils

🔄 Dynamic Version + Auto-Update

  • App version display reads from @tauri-apps/api/app (no more hardcoded strings)
  • Auto-check for updates on Settings open (silent, 3s delay)
  • One-click download + install via Tauri updater plugin

✅ Testing Infrastructure

  • Vitest + @testing-library/svelte + jest-dom
  • 60 tests passing — auto-cleanup DOM after each test

Fixed

  • UtekeDoc.title deserialization failure on /doc/create
  • Layout collapse (height: 100% inside overflow-y: auto → 0px)
  • Nested <button> in document tree (invalid HTML, clicks swallowed)
  • External links not opening browser in Tauri webview
  • Namespaces page not filling full viewport height

📦 Downloads

Platform File
🪟 Windows CorIn-0.3.0_x64-setup.exe
🍎 macOS (Intel) CorIn-0.3.0_x64.dmg
🍎 macOS (Apple Silicon) CorIn-0.3.0_aarch64.dmg
🐧 Linux (deb) CorIn-0.3.0_amd64.deb
🐧 Linux (rpm) CorIn-0.3.0-1.x86_64.rpm

🚀 Quick Start

# Download the latest installer for your platform from the assets above.
# CorIn auto-updates — future versions will be delivered silently.

# Requires uteke-serve running for semantic search & documents
uteke-serve --port 8767

Full changelog: https://github.com/codecoradev/corin/blob/main/CHANGELOG.md

CorIn v0.2.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 02:32

What's Changed

Major release. Remote connection manager, performance overhaul, and room management UI.

Added

  • Connection manager — connect to multiple Uteke instances with trait-based adapter architecture. Config resolution priority: DB primary, then env var, then TOML, then default. Local-vs-remote detection skips local auto-start for remote URLs. Settings UI with cards, add form, test, set primary, delete (#37, #77-#82).
  • Runtime reconnect + status pollingreconnect_connection rebuilds the live client without restarting the app. disconnect_connection drops the client but preserves the row. set_primary_connection live-swaps the active backend. Health polling keeps status badges fresh (primary every 15s, all every 60s) (#83).
  • Connection edit form — pencil edit button per card. Token field intentionally blank since the backend never returns stored tokens; leaving blank keeps the existing token, typing replaces it. Editing the primary connection live-rebuilds the client immediately.
  • Namespace filter — multi-select dropdown with 3-state checkbox (all / none / partial). Reusable NamespaceFilter component shared by Graph and Memories views. Per-namespace fan-out: null = all, [] = none, explicit list for selection (#93).
  • Room management UI — create room form with keyboard shortcuts, 3-tab detail panel (Timeline, Summary, Participants), chronological timeline with relative timestamps, participant grouping by namespace, delete with confirmation dialog (#74).
  • Security hardening — db file perms set to 0600 on startup, auth token wiped to NULL before row deletion, tokens masked in logs.

Changed

  • Performance overhaul — killed 21-way namespace fan-out: dashboard recent now uses a single cross-namespace /recall seed. Added short-TTL in-process cache (namespaces 30s, stats 60s) with no external infra. Generic offset pager replaces fixed-page navigation. NamespacesView loads counts on demand instead of sequential 500-item fetches.
  • uteke-core v0.6.4 — pinned to crates.io with default-features = false (ONNX gate). Resolves CI build failures on all platforms. No longer uses git branch pin.

Full Changelog: v0.1.1...v0.2.0