Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion apps/cli/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ url = { workspace = true }
uuid = { workspace = true, features = ["v4"] }

[dev-dependencies]
cli-docs = { path = "../../crates/cli-docs" }
clap_complete = { workspace = true }
cli-docs = { path = "../../crates/cli-docs" }
clio = { version = "0.3", features = ["clap-parse"] }
strum = { workspace = true, features = ["derive"] }
url = { workspace = true }
Expand Down
30 changes: 9 additions & 21 deletions apps/web/content/updates/2026-02-01.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,26 @@ title: "Char Weekly: February 1, 2026"
date: "2026-02-01"
---

This was a big week for Char. We shipped our v1.0.2 stable release, introduced a new Git plugin, and made several quality-of-life improvements.
This week was centered on one stable release: v1.0.2. It brings a much better recording stack, table support in notes, PDF export, and a round of account and settings improvements.

## v1.0.2 stable release

The v1.0.2 stable release brings months of work from our nightly builds into a production-ready release.
v1.0.2 pulls a lot of recent nightly work into stable. The biggest change is **Acoustic Echo Cancellation (AEC)**, which removes the old mic-only tradeoff when recording both microphone and speaker audio. Recordings are also cleaner overall, with separate stereo channels, WAV output, sleep detection, and smoother audio visualization.

**Acoustic Echo Cancellation (AEC)** is the standout feature. Previously, we used heuristics-based mic-only mode to avoid feedback loops when recording both microphone and speaker audio. AEC eliminates that complexity. You can now record both audio sources simultaneously without echo or feedback.
## Notes and attachments

**PDF export** now includes a metadata cover page with the session title, date, and participants. PDFs save directly to your Downloads folder and open automatically.
The editor now supports **tables**, plus search and replace with case sensitivity. Attachments are also handled more cleanly: pasted images are saved as files inside the session folder instead of being embedded inline, and duplicate filenames are renamed automatically.

**Table support** landed in the editor. You can insert and edit tables directly in your notes, useful for meeting minutes with action items or comparison notes.
## Export and transcript tools

Other improvements in v1.0.2 include sleep detection that stops recording when you close your laptop lid, a redesigned settings panel, and improved authentication that persists across app updates.
**PDF export** now adds a metadata cover page with the session title, date, and participants. PDFs save directly to your Downloads folder and open automatically. We also added the ability to regenerate a transcript from an existing audio file, which makes recovery and cleanup easier when you already have a recording.

## Git plugin
## Settings and account improvements

We introduced a new Git plugin built on gix, a pure Rust implementation of Git. The plugin provides core Git operations with a modular architecture. It's not user-facing yet, but it sets up infrastructure for future version control and collaboration features.

## Persistent pinned tabs

Pinned tabs now persist across app restarts. If you pin a session tab, it stays pinned when you reopen the app.

## Smarter notification filtering

We centralized our notification policy with explicit skip conditions. Mic notification filtering now reduces noise by avoiding alerts when the app already knows what's happening.

## Bug fixes

We fixed a startup issue on macOS where a stale single-instance socket could prevent the app from launching. We also fixed timeline sorting to use event start time as a fallback, improved the feedback submission flow with direct log attachment, and made video chat link visibility adapt to editor width.
The settings screen was redesigned, auth now persists across app updates, and Char stays signed in more reliably when the app is backgrounded. There are also a number of quality-of-life fixes across the timeline, metadata panel, PDF export, calendar sync, and feedback flow.

## What's next

We're continuing to polish the experience and work on some features we're not ready to announce yet. If you're on the nightly channel, you'll see these improvements land incrementally. If you're on stable, v1.0.2 is available now.
We're continuing to ship smaller stable releases more frequently. If you're on stable, v1.0.2 is available now.

You can download the latest version from our [changelog](/changelog) or let the app auto-update.
38 changes: 13 additions & 25 deletions apps/web/content/updates/2026-02-08.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,45 +3,33 @@ title: "Char Weekly: February 8, 2026"
date: "2026-02-08"
---

Two stable releases in one week. We shipped v1.0.4 and v1.0.5 back-to-back, bringing a redesigned calendar, backlink mentions, undo delete, and a bunch of quality-of-life improvements.
Three stable releases shipped this week: v1.0.3, v1.0.4, and v1.0.5. The headline items are note recovery, a redesigned calendar, better navigation, and a stronger round of performance fixes.

## Calendar redesign

The calendar got a complete overhaul. There's now a full calendar interface with a week view, event popovers, and improved navigation controls. You can see your week at a glance and jump directly into upcoming sessions without scrolling through day view.

We also added the ability to unignore calendar events directly from the sidebar timeline via context menu. If you previously dismissed an event and changed your mind, you can restore it without digging through settings.

## Backlink mentions
## Notes and navigation

You can now mention notes, people, and companies inline using backlink mentions. Each mention displays a type badge--person, company, or note--so you can see what you're linking to at a glance. This creates a connected knowledge graph across your sessions.
This week added a lot of everyday note-management polish. You can now open notes from a dedicated `Cmd+O` command, keep pinned tabs across restarts, undo deletes with a five-second restore window, and jump back into recently opened notes from the same command palette. Backlink mentions for notes, people, and companies also landed in stable.

## Undo delete

Deleted notes now show a dissolving animation with a 5-second countdown timer. Hover to pause the countdown and reveal a "Restore" button, or press Cmd+Z to instantly restore. You won't lose work to an accidental delete.

## Hold-to-quit
## Calendar redesign

We redesigned the Cmd+Q behavior, inspired by Chrome. Instead of immediately hiding the app, you now hold Cmd+Q to quit with a visual overlay showing the progress. This replaces the previous Cmd+Shift+Q shortcut and prevents accidental quits.
The calendar got its biggest update of the week. There's now a full calendar view with a week layout, event popovers, improved navigation, and a context menu for unignoring events directly from the sidebar timeline. We also fixed recurring event duplication and added a manual timezone override for the timeline.

## In-meeting reminder
## Quit behavior and notifications

There's a new experimental notification that alerts you when another app has been using your microphone for 3+ minutes while Char isn't listening. If you forgot to start recording, this nudge will catch it. It's opt-in in the lab settings and still early, but we think it'll be useful.
We changed `Cmd+Q` to a hold-to-quit interaction so accidental quits are much less likely. On the notification side, the experimental in-meeting reminder is now available in lab settings and can alert you when another app has been using your microphone for a while but Char is not recording.

## Performance and stability

Under the hood, we fixed memory leaks from actor subscriptions and timer accumulation, and resolved high CPU usage caused by a MutationObserver watching the entire document tree. We also upgraded to Tauri 2.10.1 and updated several core dependencies including cpal 0.17 for audio handling.
We fixed memory leaks from actor subscriptions and timer cleanup, resolved high CPU usage caused by an overly broad DOM observer, and shipped a Tauri 2.10.1 upgrade. We also fixed duplicate tabs when reopening a note and cleaned up a few markdown and UI regressions.

## Other improvements

- Cmd+Shift+N hotkey to create a new note and start listening in one action
- Recently opened notes now appear in the Open Note dialog (Cmd+O) for quick access
- Manual timezone override in Settings for sidebar timeline display
- Fallback support for local AI models without tool calling (e.g., Gemma via LM Studio)
- Fix for "invalid Refresh Token: Already Used" authentication error
- Fix for opening a note now switching to an existing tab instead of creating a duplicate
- `Cmd+Shift+N` now creates a new note and starts listening in one action
- Dropdown keyboard navigation is better across settings and selectors
- LM Studio errors now point to setup docs instead of failing silently
- Shortcut and tooltip labeling are more consistent across the app

## What's next

We're working on the next round of features. If you're on the nightly channel, you'll see improvements landing daily. If you're on stable, v1.0.5 is available now.
We're continuing to tighten the core note-taking workflow and calendar experience. If you're on stable, v1.0.5 is available now.

You can download the latest version from our [changelog](/changelog) or let the app auto-update.
53 changes: 11 additions & 42 deletions apps/web/content/updates/2026-02-15.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,59 +3,28 @@ title: "Char Weekly: February 15, 2026"
date: "2026-02-15"
---

This was a big week. Hyprnote is now Char. Alongside the rebrand, we shipped v1.0.6 and v1.0.7 stable with a completely new search engine, two new speech-to-text providers, and a revamped chat experience — plus a bunch of reliability improvements under the hood.
Two stable releases went out this week: v1.0.6 and v1.0.7. Search is faster, chat is back in experimental form, Mistral transcription support landed, and live transcription is much more resilient when providers fail.

## Hyprnote is now Char
## Search and chat

We've rebranded. All external-facing content, the website, GitHub repo links, and deeplink schemes have been updated to reflect the new Char name. The website banner now reads "Hyprnote is now Char", and char.com redirects are live. If you have existing bookmarks or links, they'll continue to work. You can read more about the reasoning in [our dedicated blog post](/blog/hyprnote-is-now-char).
Search now uses **Tantivy**, which makes indexing faster and results more accurate. The search bar also collapses to an icon by default and expands when you need it, and advanced filters now let you narrow by note type and date range.

## Search, powered by Tantivy
Chat also returned as an experimental feature. It now gets richer session context, and search results inside chat include the surrounding session context too, which makes the responses more useful.

We replaced our search infrastructure with Tantivy, a Rust-native full-text search engine. Indexing is noticeably faster and search results are more accurate when you're looking across your sessions.
## AI and transcription

The search UI also got a refresh. The search bar now collapses to an icon by default and expands on click, giving you more screen real estate. Advanced filters let you narrow results by meeting notes, people, and organizations. Date presets like "Today", "This week", and "This month" are available too.
`Mistral` is now available as a transcription provider, and summary generation can auto-run after transcript upload or batch transcription completes. We also made live transcription failures non-fatal, so the recorder keeps running and the session drops into a degraded mode instead of crashing outright.

## New transcription providers
## Notes, calendar, and onboarding

Two new speech-to-text providers landed this week. Mistral is now available as a transcription provider, and we added a DashScope adapter for Alibaba's Qwen3-ASR model with real-time speech recognition support. You can optimize for cost, quality, or language support depending on your needs.
You can now right-click in the main area to create notes and tabs, bulk-delete sessions from the timeline with undo, and see event descriptions in session metadata chips. The onboarding flow also moved into the main app window, which makes first-run setup feel much more integrated.

We also added a configurable mic active threshold for detection, so you can tune how long the microphone must be active before triggering notifications.
## Settings and fixes

## Chat gets a major overhaul

Chat is back as an experimental feature, rebuilt from the ground up. The old feedback modal is gone. You now report bugs and suggest features directly through chat. Under the hood, chat uses MCP (Model Context Protocol) tools that can create GitHub issues, add comments, and search existing issues on your behalf.

Chat can open as a full tab alongside your session tabs, and slash commands give you quick access to common actions. Chat now receives richer session context, so responses are more relevant to what you're working on. Search results within chat include full session context too.

## Resilient transcription

Live transcription failures are no longer fatal. If the transcription provider goes down mid-session, the recorder keeps running and the session enters a degraded mode instead of crashing. A visual indicator in the transcript view shows when transcription is operating in degraded mode.

We also replaced the old ractor-based supervisor with a custom SessionActor that gives us finer-grained, per-actor-type supervision and better fault recovery.

## Multi-session operations

You can now select multiple sessions in the timeline and delete them in bulk. The familiar undo toast from single-session delete extends to multi-select as well — hover to pause the countdown, press Cmd+Z to restore. Cleaning up old sessions is much faster this way.

## Calendar and events

Calendar event sync is more reliable, especially for timeline and notification interactions. Event descriptions now show up in session metadata chips, so you can see the meeting agenda at a glance without opening the calendar.

## UI and experience

- Onboarding has been moved from a separate window into the main app flow, making it feel more integrated
- macOS dock right-click menu now shows "New Note" for quick access
- Context menus are available for creating new notes and tabs via right-click
- Tab bar blur visibility and width have been polished
- Settings UI has been simplified with cleaner labels, timezone selector, and week start configuration
- Auto-focus on the title input when no title is set, so you can start typing immediately

## Documentation

We published comprehensive data handling transparency documentation, giving you a clear picture of how Char processes and stores your data. We also added onboarding guides for Cursor and Claude Code in the developer handbook.
Settings got another pass with cleaner labels, better week-start and timezone controls, and a dynamic channel selector on the update download button. We also fixed a long list of stability issues around auth sessions, calendar timeline behavior, exports, and audio device handling.

## What's next

The Char rebrand is just the beginning. We're continuing to expand transcription provider support and polish the chat experience. If you're on the nightly channel, you'll see improvements landing daily. If you're on stable, v1.0.7 is available now.
We're continuing to improve search, transcription reliability, and the chat experience. If you're on stable, v1.0.7 is available now.

As always, you can download the latest version from our [changelog](/changelog) or let the app auto-update.
Loading
Loading