Releases: Natively-AI-assistant/natively-cluely-ai-assistant
Release list
Natively v2.7.0
Summary
Natively v2.7.0 introduces the next generation of Profile Intelligence Routing, Live Follow-up resolution, eager Code UI expansion, DeepSeek AI integration, and robust performance-tracing tools.
What's New
- Profile Intelligence Router (v2): Advanced domain classification (Coding, System Design, Behavioral, Negotiation) propagating constraints directly to LLM streaming paths.
- DeepSeek AI Support: Native integration of DeepSeek's advanced reasoning models via custom cURL OpenAI-compatible API providers.
- Two New Meeting UI Themes: Beautiful Liquid Glass and Modern Dark themes to completely redefine the real-time overlay visual experience.
- Answer-Type Constraints & Follow-Up Resolver: Context-aware follow-up resolution with strict output formatting layout constraints (short, detailed, bulleted, code-only).
- Eager Code UI Expansion: Growth-holds CSS elements to eagerly size overlays before React code-block mounting to prevent layout shifts.
- PI Latency Tracer (
PiLatencyTracer): Telemetry to track reasoning, validation, and routing latencies to guarantee sub-500ms responsiveness. - Evidence Validator & Live Deadlines: Cross-validates claims made in meetings and displays real-time countdowns for live assessment deadlines.
- Single-Click In-App Updates: Seamless update loops directly inside the desktop application.
Improvements
- HTTP Keep-Alive Dispatcher: Integrated HTTP keep-alive connection pooling via undici agent to speed up API requests.
- WS DNS Cache: Resolved DNS lookup cache thrashing during key-rotation reconnect storms.
- STT Silence Watchdog: Extended silence watchdog reset triggers to Deepgram
SpeechStartedevents to eliminate false-positive probes during fast speech. - Test Coverage: Added a 34-unit test suite (
unit-fixes.test.mjs) to verify server logic.
Fixes
- Audio Stack & TCC Permission Hardening: Hardened credentials management by eliminating racing set-provider IPCs and resolved macOS system audio process tapping/TCC permission gates to guarantee robust capture streams.
- ElevenLabs Failover Audio Gap: Resolved ElevenLabs open -> session_started audio gap on failover/reconnect (C1).
- Mic-Only Billing Bypass: Fixed mic-only billing bypass with active/recent system presence checks (C2).
- Stream-Abort Billing Leak: Fixed stream-abort billing leaks by moving billing triggers to the stream
finallyblock (C3). - Language Regex Prompt Injection: Patched language regex prompt injection security vulnerabilities on
/v1/chat/completions(C4). - Webhook Processing Retries: Implemented webhook processing retries with 3-attempt exponential backoff to prevent transient database-related data loss (C5).
- Fallback-Seconds Double Count: Fixed fallback-seconds double counting on STT reconnect-after-failover (C6).
- Admin Endpoint Sanitization: Sanitized admin endpoint
provider-healthkey leak (H13).
Technical
- Added
undici@^8.2.0dependency to package.json. - Exposed
SILENCE_WATCHDOG_MS,SHADOW_PROBE_TIMEOUT_MS, andMAX_SHADOW_PROBESas test-overridable constants. - Updated
__tests__suites with signature-tolerant assertions.
macOS Installation (Signed Build)
Download the correct architecture .dmg or .zip file for your device (Apple Silicon or Intel).
- For Apple Silicon (M1/M2/M3/M4): Download the
arm64build. - For Intel Macs: Download the
x64build.
Open the downloaded file, drag Natively to your Applications folder, and launch it.
⚠️ Windows Installation (Unsigned Build)
When running the installer on Windows, you might see a "Windows protected your PC" warning from Microsoft Defender SmartScreen saying it prevented an unrecognized app from starting.
Since this is an unsigned build, this is expected. You can safely ignore it by clicking More info and then Run anyway.
\ refer to change.md for detailed changes
Natively 2.6
Summary
Version 2.6.0, the "Massive Integration & Intelligence Update", brings revolutionary workflow capabilities to Natively. This release introduces Phone Link companion support, the specialized TinyPrompts™ engine for local AI, native Codex CLI automation, and advanced stealth features, making Natively the most powerful open-source meeting assistant available.
What's New
- Phone Link Integration: Connect your iOS or Android device to use it as a wireless remote microphone or a companion screen. Keep your meeting notes and AI suggestions on your phone while maintaining a clean desktop for screen sharing.
- TinyPrompts™ Engine: A ground-up redesign of our prompt architecture specifically for "Lower Tier" Small Language Models (SLMs) like Qwen 2.5:4B and Llama 3.2. These prompts are under 800 tokens, use a strict imperative voice, and eliminate XML overhead to ensure high-performance reasoning on local consumer-grade hardware.
- Codex CLI Integration: Native support for the Codex terminal-based automation system. Harness the power of
gpt-5.3-codexfor sandboxed code execution, local workspace tasks, and complex automation directly from the assistant. - Auto-Calendar Sync: Natively now securely connects to Google Calendar and Outlook to automatically prepared context, participant details, and agendas before your calls begin.
- Speaker Identification (Diarization): Advanced real-time speaker tagging automatically identifies and labels individual speakers throughout your meeting transcripts.
- Smart Task Sync: Precision auto-extraction of action items with direct export support for Jira, Linear, and Asana boards.
- Advanced Stealth Mode: Hardened undetectable stealth mode with process name disguising, Activity Monitor evasion, and OS-level event blocking to ensure absolute invisibility.
STT & Reliability Upgrades
- Deepgram SDK v3 & Nova-3: Complete migration to the latest Deepgram engine, resolving persistent 1006 connection loops and EPIPE errors.
- Intelligent Failure Detection: Introduced ElevenLabs "shadow probes" and a new STT silence watchdog that detects and recovers from silent provider failures in real-time.
- Deepgram VAD Integration: Leverages
SpeechStartedevents to eliminate false-positive silence detections during rapid conversations.
Improvements
- macOS Audio Capture: Fixed CoreAudio Tap capture to correctly handle mono/stereo buffers, resolving the "pitched up" system audio bug.
- Streaming Resilience: Added
AbortControllerpropagation and 15s SSE heartbeats to prevent proxy timeouts during long AI reasoning tasks. - Expanded Offline Mode: Now supports 100% offline transcription and note generation using specialized on-device SLMs.
- Language Detection Tuning: Improved batch detection confidence thresholds (0.65 min) to ignore background noise and silence.
- Stealth Evasion: Helper process renaming for improved stealth in Activity Monitor and strict management of
forceUpdatetimeouts during stealth transitions. - UI & Navigation: Added new scroll keybinds for seamless, mouse-free interaction and optimized the horizontal layout for more stable code line rendering.
Fixes
- STT Failover Logic: Fixed cascading failures where session teardown codes were incorrectly counted as health strikes.
- Trial System Persistence: Resolved a bug where the "Start Trial" card would reappear after expiry.
- Memory Optimization: Fixed exponential pre-buffer growth during STT key rotations that previously caused SSL/TLS parameter errors.
- Mic Activation: Prevented the microphone from eagerly activating in settings, which triggered the macOS orange mic indicator unnecessarily.
- Stealth Mode Stability: Fixed a regression where the macOS dock icon would mysteriously reappear after changing a disguise, and resolved macOS
activateevents accidentally breaking stealth mode.
Technical
- New
CodexCliService: Supports multiple sandbox modes (read-only, workspace-write, danger-full-access). - Optimized
tinyPrompts.ts: Imperative, context-efficient prompts designed for 4B-8B parameter local models. - Diarization Pipeline: Real-time speaker mapping and session-scoped identity persistence.
⚠️ macOS Installation (Unsigned Build)
Download the correct architecture .zip or .dmg file for your device (Apple Silicon or Intel).
If you see "App is damaged":
- Move the app to your Applications folder.
- Open Terminal and run:
xattr -cr /Applications/Natively.app
- For .dmg downloads:
- Open Terminal and run:
xattr -cr ~/Downloads/Natively-2.6.0-arm64.dmg # Or for Intel Macs: xattr -cr ~/Downloads/Natively-2.6.0-x64.dmg
- Install the natively.dmg
- Open Terminal and run:
xattr -cr /Applications/Natively.app
- Open Terminal and run:
⚠️ Windows Installation (Unsigned Build)
When running the installer on Windows, you might see a "Windows protected your PC" warning. This is expected for unsigned builds. Click More info and then Run anyway.
Natively 2.5
Summary
This major release introduces the Modes Manager, bringing 7 specialized AI personas to your workflow, alongside Custom Context for deeper profile intelligence, a new 10-Minute Free Trial system, and significant STT stability upgrades.
What's New
- Modes Manager: Tailor Natively to your specific meeting context with 7 specialized personas: General, Sales, Recruiting, Team Meet, Looking for Work, Lecture, and Technical Interview. Each mode features custom system prompts and note templates.
- Custom Context: A new free-form textarea in Profile Intelligence—auto-saved and injected into all AI interactions—allowing you to provide persistent context like sales stats, tech stacks, or personal preferences.
- 10-Minute Free Trial: New users can now explore the full power of Natively, including premium STT and AI features, with a guided 10-minute trial and real-time quota tracking.
- Permissions Guided Setup: A new premium "Permissions Toaster" ensures Mic and Screen Recording permissions are correctly configured on first launch, reducing setup friction.
- Trial Promo Toaster: A subtle, beautifully designed delayed offer that introduces new users to the Pro features via a 10-minute hero countdown.
Improvements
- STT Stability & Resilience: Completely rewrote the STT pipeline to use @deepgram/sdk v3 (Nova-3 model). Implemented a robust "shadow probe" system and smarter exponential backoff to eliminate 1006 connection drops and silent failures.
- Premium Upgrade Redesign: A full "Apple-tier" redesign of the upgrade modal, featuring clear plan tiers (Pro, Max, Ultra, Standard) with premium glass aesthetics and magnetic hover effects.
- Ad Campaign Rework: Optimized the ad engine to be less intrusive, with a 1h cooldown, sequential rotation, and plan-based targeting to avoid redundant offers for high-tier users.
- Diagnostic Logging: Added a new "Forward Log to File" capability (
~/Documents/natively_debug.log) with an in-app toggle and progress bar for easier troubleshooting.
Fixes
- Audio Privacy: Fixed an issue where the microphone could remain active while browsing the settings menu outside of a meeting.
- Screenshot Capture: Resolved a race condition that prevented screenshot listeners from attaching correctly during panel expansion.
- Trial Persistence: Fixed the "Start Trial" card incorrectly reappearing after a trial had already been claimed or expired.
- Branding Consistency: Completed the rebranding transition by replacing legacy "Cluely" references with "Natively" across all user-facing components.
- Pro Gating: Reinforced security gates on Modes and Profile Intelligence features to ensure correct license entitlement.
Technical
- Database Migration: Upgraded SQLite to v14 to support Modes, Reference Files, and Custom Context persistence.
- IPC Enhancements: Expanded the IPC layer with robust extraction for PDF, DOCX, and TXT reference files.
- Webhook Hardening: Refactored Dodo webhook handling with per-endpoint secrets and strict product-id validation to prevent accidental license provisioning.
- Deepgram & ElevenLabs Pools: Implemented multi-key pools with round-robin rotation and per-key health tracking for enterprise-grade reliability.
⚠️ macOS Installation (Unsigned Build)
Download the correct architecture .zip or .dmg file for your device (Apple Silicon or Intel).
If you see "App is damaged":
-
For .zip downloads:
- Move the app to your Applications folder.
- Open Terminal and run:
xattr -cr /Applications/Natively.app
-
For .dmg downloads:
- Open Terminal and run:
xattr -cr ~/Downloads/Natively-2.5.0-arm64.dmg # Or for Intel Macs: xattr -cr ~/Downloads/Natively-2.5.0-x64.dmg
- Install the natively.dmg
- Open Terminal and run:
xattr -cr /Applications/Natively.app
- Open Terminal and run:
⚠️ Windows Installation (Unsigned Build)
When running the installer on Windows, you might see a "Windows protected your PC" warning from Microsoft Defender SmartScreen saying it prevented an unrecognized app from starting.
Since this is an unsigned build, this is expected. You can safely ignore it by clicking More info and then Run anyway.
Refer to changes.md for detailed breakdown of architectural fixes.
v2.4.0
Summary
Release 2.4.0 introduces an expansive 10-Minute Free Trial system, stunning premium UI redesigns for plan selection, and significantly improved screenshot and audio device handling.
What's New
- 10-Minute Free Trial System: Users can now fully audition Natively before purchasing, unlocking STT, AI processing, and web search quotas with seamless onboarding through a new countdown banner and promotional toaster UI.
- Guided Permissions Setup: Added a premium full-glass card experience on launch to smoothly handle Apple TCC permission requests for Microphone and Screen Recording.
- Premium Plan UI Redesign: Fully redesigned the plan selection and upgrade interfaces ("Apple/Tesla compact" look)—featuring glowing cards, hover effect physics, "Most Popular" and "Best Value" badging, and a clear BYOK path.
- Max & Ultra Upgrade Highlights: Pro users now receive beautiful gold/amber-themed dynamic upgrade comparison cards outlining the benefits of Max and Ultra tiers.
- Verbose Diagnostic Logging: Packaged apps now include advanced system logging capabilities—users can export
natively_debug.logright to their documents via a new toast notification.
Improvements
- Custom Provider Integration: Custom / cURL LLM provider configurations are now fully supported for meeting note generation, summarization, and follow-up suggestions—effectively sidestepping knowledge-mode interference.
- Data Privacy & Cleanup: Trial users who downgrade or expire now have their local profile data, resumes, and SQLite cache securely auto-wiped to maintain rigorous privacy policies.
- Advanced Audio Streaming: Upgraded the streaming session architecture to adapt to the new OpenAI Realtime Transcription API payload specifications.
- Ad & Campaign Targeting Engine: Re-engineered the in-app promotional system to intelligently swap visuals and logic strictly according to a user's exact active subscription level (
planDetails), replacing random cycles. - Global Rendering Shortcuts: Re-routed system-wide meeting screenshot calls (Cmd+H / Cmd+Shift+H) to leverage direct renderer interaction for rock-solid captures.
Fixes
- Fixed a notorious background privacy issue where the system microphone would prematurely activate in the Settings page even without an active meeting.
- Resolved race-condition failures preventing taken screenshots from appearing natively inside the active meeting message bar layout.
- Fixed a bug where Profile Intelligence (such as resume analysis, company research, and negotiation hints) incorrectly blocked active Free Trial users.
- Corrected UI quirks during Free Trial initial loading—resolving a bug where trial-started "flashes" occurred upon mounting, and fixing stuck usage counters.
- Bypassed an invalid developer mode assertion preventing screenshot captures from resolving gracefully when app packaging scripts missed permissions.
- Resolved macOS cross-compilation errors (
clang_rt.osxmissing) by preferring the system Command Line Tools resource directory.
Technical
- Bound new ElectronAPI and IPC request handlers to securely coordinate: permission checks (
permissions:check), audio tracking overrides, and local profile data annihilation (trial:wipe-profile-data). - Handled telemetry logic mapping LLM
__trial__headers out of the main desktop API streams, converting them successfully into isolatedx-trial-tokenusage patterns. - Pushed major frontend dependency integrations for dynamic routing updates inside
NativelyInterface.tsxandApp.tsxstate management trees.
⚠️ macOS Installation (Unsigned Build)
Download the correct architecture .zip or .dmg file for your device (Apple Silicon or Intel).
If you see "App is damaged":
-
For .zip downloads:
- Move the app to your Applications folder.
- Open Terminal and run:
xattr -cr /Applications/Natively.app
-
For .dmg downloads:
- Open Terminal and run:
xattr -cr ~/Downloads/Natively-2.4.0-arm64.dmg # Or for Intel Macs: xattr -cr ~/Downloads/Natively-2.4.0-x64.dmg
- Install the natively.dmg
- Open Terminal and run:
xattr -cr /Applications/Natively.app
- Open Terminal and run:
⚠️ Windows Installation (Unsigned Build)
When running the installer on Windows, you might see a "Windows protected your PC" warning from Microsoft Defender SmartScreen saying it prevented an unrecognized app from starting.
Since this is an unsigned build, this is expected. You can safely ignore it by clicking More info and then Run anyway.
Natively 2.3.0
Summary
Major update introducing Auto-Language Detection for STT, a revamped automated email ecosystem, and massive production hardening for the Natively API.
What's New
- Auto-Language Detection feature for seamless on-the-fly language identification and transcription routing
- Three new premium HTML automated email templates for transaction and marketing events
- Complete visual redesign of emails featuring a "Vivid Editorial" theme with soft glass gradients
Improvements
- The interface now accurately remembers the overlay window position and handles multi-monitor environments
- Screenshots are now dynamically compressed via sharp before API transmission to prevent 413 Payload Too Large limits
- Hardcoded Railway URLs were replaced with the primary canonical domain for maximal uptime
Fixes
- Fixed a race condition that could cause double-billing on Deepgram failover reconnects
- Eradicated critical server bugs ranging from ungraceful Railway restarts to Groq rate-limit memory leaks
- Resolved multiple security vulnerabilities including cross-user session theft and input validation flaws
Technical
- Shipped a comprehensive autonomous stress-testing suite simulating 30+ concurrent WebSocket connections
- Replaced Webhook logging arrays with optimized pre-allocated circular buffers to prevent memory exhaustion
⚠️ macOS Installation (Unsigned Build)
Download the correct architecture .zip or .dmg file for your device (Apple Silicon or Intel).
If you see "App is damaged":
-
For .zip downloads:
- Move the app to your Applications folder.
- Open Terminal and run:
xattr -cr /Applications/Natively.app
-
For .dmg downloads:
- Open Terminal and run:
xattr -cr ~/Downloads/Natively-2.0.2-arm64.dmg # Or for Intel Macs: xattr -cr ~/Downloads/Natively-2.0.2-x64.dmg
- Install the natively.dmg
- Open Terminal and run:
xattr -cr /Applications/Natively.app
- Open Terminal and run:
⚠️ Windows Installation (Unsigned Build)
When running the installer on Windows, you might see a "Windows protected your PC" warning from Microsoft Defender SmartScreen saying it prevented an unrecognized app from starting.
Since this is an unsigned build, this is expected. You can safely ignore it by clicking More info and then Run anyway.
\ refer to changes.md for detailed changes
Natively (Latest)
Summary
Major feature release introducing Live Negotiation Coaching, Code Hint mode, Brainstorm mode, an auto-expanding code panel, a full light mode overhaul, and critical stability & stealth improvements across the board.
What's New
- Live Negotiation Coaching — Real-time salary negotiation advisor powered by a state machine that tracks offer phases, extracts amounts, and streams LLM-generated tactical guidance with a 5-second timeout and fallback copy
- Code Hint Mode (⌘6) — Context-aware senior-reviewer hint streamed from screenshots; auto-extracts the problem statement on first press if no prior Solve was run; intelligently ages stale screenshot questions so multi-round interview sessions stay accurate
- Brainstorm Mode (⌘7) — Streams 2–3 spoken, trade-off-aware approaches with brute-force → optimal pivot; integrates with the dynamic Recap/Brainstorm action button configurable per session from the Settings popup
- 4-Phase Interview Teleprompter — Replaced the old solution view with a structured Understand → Brainstorm → Implement → Verify teleprompter with spoken scripts, colour-coded phase cards, and complexity pills
- Auto-Expanding Code Panel — Overlay window smoothly expands to 1.3× width (780 px) when a code block is in view and contracts on scroll; driven by Framer Motion springs with zero re-renders per frame and a 2-call OS window sync strategy
Improvements
- Dynamic Recap/Brainstorm button — Cmd+4 action is now a user-configurable toggle between Recap and Brainstorm modes persisted to settings and broadcast across all windows
- Natively API Promo Toaster redesign — Iridescent animated border (Aurora UI, 6 s loop), breathing glow, SVG grain texture, gradient headlines, and
useReducedMotiongating for accessibility - Full light mode system — Research-backed Professional SaaS palette (#F5F5F5 canvas / #FFFFFF cards / gray-900 text / blue-600 accent); all major components (Launcher, Settings, ModelSelector, JDAwareness, Premium, Profile, and Remote toasters) updated with depth-correct semantic tokens
- Company Intel Beta pill — Added Beta badge and disclaimer text to the dossier results section
- Profile Intelligence settings tab — Reordered navigation so Profile Intelligence appears immediately after Natively API
- Verbose debug logging toggle — Amber-accented terminal icon toggle in General settings; gates all audio pipeline diagnostic logs and STT segment sampling behind the flag
- Microphone device selection — Native Rust resolver honors user-selected microphone with exact-match → case-insensitive fallback → hard error listing available devices; "Default" sentinel check is now case-insensitive
Fixes
- Focus steal eliminated —
showInactive()used throughout toggle, screenshot-restore, cropper, and model-selector paths;setAlwaysOnToponly called when value changes; dock show/hide manages presence without callingfocus() - RAG global search —
embedding_providerSQL filter was incorrectly excluding most meetings; fixed to ensure cross-session retrieval works correctly - Silence timer bar freeze — Changed object-identity check
m === msgtom.id === msg.idin the silence timer callback; spread-reconstructed arrays always invalidated the old reference before the 5-second timer fired - Negotiation tracker cross-session bleed — JD replacement now correctly resets the negotiation tracker;
deleteDocumentsByTypeonly resets on RESUME delete, not JD delete - Log rotation — 10 MB cap with
.log.1rollover prevents unbounded log growth on long-running sessions - Concurrent audio test guard —
_audioTestStartingboolean prevents two concurrent calls from both passing the async permission gate - Fast mode persistence — Settings restoration moved to an unconditional startup path so the "Fast Response Mode" flag survives restarts
- Light/dark theme flash — Theme cached in
localStorageand applied synchronously beforeReactDOM.createRoot;bodybackground changed from hardcoded#000000totransparentto eliminate black flash in light mode - Dark mode regressions — Launcher hero section, Settings rows, About creator pill, MeetingDetails tabs, FeatureSpotlight, and SettingsPopup toggle track all restored to original dark values after light-mode passes
- Code hint auto-screenshot —
generate-code-hintandgenerate-brainstormhandlers now auto-take a fresh screenshot (restoreFocus=false) before reading the queue to prevent stale prior screenshots being sent to the AI
Technical
- CI smoke test — New
build-smoke.ymlworkflow builds renderer + electron main process and assertsdist-electron/electron/main.jsexists - Native build hardening —
build:nativeadded toapp:buildpipeline; macOS defaults to current-arch only (NATIVELY_BUILD_ALL_MAC_ARCHES=1for dual build);verifyArtifacts()throws on missing.nodefiles (fail-fast) electron/tsconfig.jsonoutDir — Corrected to../dist-electron/electron; aligns tsc output withpackage.json"main"field- Screenshot capture refactor — macOS now routes all screenshots through
desktopCapturer; session-basedwithScreenshotCaptureSession()pattern replaces ad-hoc hide/show callbacks;isCapturingguard moved tomain.ts; cropper window now hides (not closes) on macOS to eliminate 1–2 s cold-start reload - Keybind migration —
chat:recap→chat:dynamicAction4rename is handled byID_MIGRATIONSinKeybindManagerso user-customized binds are preserved across the update - VectorSearchWorker — Integer validation (1–65 536) added for
dimbefore table-name interpolation; invalid values post an error and break without executing SQL embedding_provider/embedding_dimensionswritten on summary embed — Prevents summary-only meetings from being silently excluded by provider-switch compatibility checks
⚠️ macOS Installation (Unsigned Build)
Download the correct architecture .zip or .dmg file for your device (Apple Silicon or Intel).
If you see "App is damaged":
-
For .zip downloads:
- Move the app to your Applications folder.
- Open Terminal and run:
xattr -cr /Applications/Natively.app
-
For .dmg downloads:
- Open Terminal and run:
xattr -cr ~/Downloads/Natively-2.2.0-arm64.dmg # Or for Intel Macs: xattr -cr ~/Downloads/Natively-2.2.0-x64.dmg
- Install the natively.dmg
- Open Terminal and run:
xattr -cr /Applications/Natively.app
- Open Terminal and run:
⚠️ Windows Installation (Unsigned Build)
When running the installer on Windows, you might see a "Windows protected your PC" warning from Microsoft Defender SmartScreen saying it prevented an unrecognized app from starting.
Since this is an unsigned build, this is expected. You can safely ignore it by clicking More info and then Run anyway.
Natively (patch update)
Summary
Natively 2.1.0 resolves a critical issue with premium license activations and bumps the app version for a fresh release.
What's New
- Version bumped to 2.1.0 for the latest stable release.
Improvements
- Improved compatibility with Dodo Payments API endpoints.
Fixes
- Fixed a critical issue where valid Dodo Payments license keys failed to activate ("activation failed: status=201, err=unknown error") due to the system improperly handling HTTP
201 Createdresponses. - Ensures all new premium license activations complete the checkout and activation flow smoothly.
Technical
- Rebuilt the Rust native module to correctly parse HTTP 2xx success statuses during activation checks.
- App binary repackaged and resigned for cross-platform distribution.
⚠️ macOS Installation (Unsigned Build)
Download the correct architecture .zip or .dmg file for your device (Apple Silicon or Intel).
If you see "App is damaged":
-
For .zip downloads:
- Move the app to your Applications folder.
- Open Terminal and run:
xattr -cr /Applications/Natively.app
-
For .dmg downloads:
- Open Terminal and run:
xattr -cr ~/Downloads/Natively-2.1.0-arm64.dmg # Or for Intel Macs: xattr -cr ~/Downloads/Natively-2.1.0-x64.dmg
- Install the natively.dmg
- Open Terminal and run:
xattr -cr /Applications/Natively.app
- Open Terminal and run:
⚠️ Windows Installation (Unsigned Build)
When running the installer on Windows, you might see a "Windows protected your PC" warning from Microsoft Defender SmartScreen saying it prevented an unrecognized app from starting.
Since this is an unsigned build, this is expected. You can safely ignore it by clicking More info and then Run anyway.
\ refer to changes.md for detailed changes
Natively v2.1.0-beta.2
Merge pull request #137 from dimasd-angga/fix/screenshot-error-handling
Natively v2.1.0-beta.1
Merge pull request #137 from dimasd-angga/fix/screenshot-error-handling
Natively 2.0.9 (latest)
Summary
Natively 2.0.9 brings the major audio transcription fixes, native module stability improvements, stealth & shortcut hardening, and a wave of under-the-hood quality improvements from merged PRs.
What's New
- Dual-channel STT — system audio and microphone can now connect to the Natively API simultaneously using per-channel session keys (
system/mic), eliminatingconcurrent_session_blockederrors - Screen Recording permission flow — proactive TCC dialog triggered via
desktopCapturer.getSources()before the audio pipeline starts; clear error surfaced when permission isdeniedorrestrictedinstead of silent black frames - Dodo Payments integration — webhook processing with HMAC-SHA256 verification, idempotent replay guard (24 h),
subscription.on_hold/subscription.failedhandling, and correct plan detection via product-ID env vars
Improvements
- LLM resilience — 60 s / 3-retry wrapper for OpenAI and 90 s / 3-retry wrapper for Claude; Natively API falls back to Gemini on failure;
streamChatWithGeminichain now tries Natively first - GoogleSTT proactive restart — pre-emptive stream restart at 4 min 30 s avoids the 5-minute hard-limit gap; improved buffer flush safety
- REST STT upload size — audio resampled to 16 kHz mono before upload, cutting file size ~6× and keeping files under Groq/OpenAI 25 MB limit
- Deepgram reconnect cap — max 10 reconnect attempts to prevent infinite retry loops during outages
- Windows z-order fix —
setAlwaysOnTopre-asserted aftershowInactive()inswitchToOverlay()andshowOverlay()to prevent DWM silently demoting the overlay layer - macOS compositor hide delay — increased from 50 ms to 150 ms so the window is fully removed before screenshot capture, preventing black frames on slower machines
- STT key pre-population — settings panel now correctly restores saved STT provider keys across all providers (Groq, OpenAI, Deepgram, ElevenLabs, Azure, IBM, Soniox)
- Custom provider timeouts — 30 s
AbortControllertimeout added toexecuteCustomProvider()andstreamWithCustom()to prevent indefinite hangs on unresponsive endpoints
Fixes
- Fixed the audio transcription issue — root cause was Deepgram receiving raw PCM without
encoding=linear16in the WebSocket URL, causing immediateupstream_closedwith code 1000 and zero transcription output - Fixed STT over-billing — language/sample-rate reconnects produced short-lived sessions billed as 1 min each; added 30 s minimum threshold for sessions with no Deepgram speech, and changed
Math.ceil→Math.roundfor fairer rounding; duplicate mic-channel billing that doubled every session is now removed - Fixed native module crash —
better-sqlite3rebuilt withelectron-rebuildfor Electron's NMV 130, resolvingNODE_MODULE_VERSION 141 vs 130crashes that broke all DB operations (meetings, RAG, KnowledgeOrchestrator) - Fixed asar stub audio silence —
app.asar.unpackedpath now checked first innativeModuleLoader; added functional smoke-test (getInputDevices()must return an Array) to permanently catch this class of false-pass - Fixed ad-hoc signing order —
codesign --deepon the.appruns first, then.nodebinaries are re-signed with entitlements, preventing--deepfrom stripping the screen-capture entitlement - Fixed keybind registration failure surfacing — when
globalShortcut.register()returnsfalse, akeybinds:registration-failedIPC event is now broadcast to the renderer so the UI can warn the user - Fixed dark mode logo —
force-black-iconCSS class now correctly renders the logo white/faded in dark mode; resolved specificity conflict where opacity was silently overridden - Fixed theme flash on launch — inline
<script>inindex.htmlreadslocalStorageand appliesdata-themesynchronously before the JS bundle loads, eliminating the light/dark flicker on repeat launches - Fixed Natively STT fallback — users with a stored
sttProvider='natively'but no key no longer crash on meeting start; gracefully falls back to GoogleSTT - Fixed
concurrent_session_blockedpermanent lock — removed it from the fatal-error list; server closes the socket andscheduleReconnect()retries correctly after the old session is cleaned up - Integrated several PRs — napi-rs v3 migration for native audio entrypoints, Windows header layout fix, platform-aware shortcut symbols in About section, and various TypeScript type-safety improvements across
electron.d.ts,preload.ts, andipcHandlers.ts
Technical
- Migrated native audio entrypoints to napi-rs v3
ThreadsafeFunctionAPI with err-first(err, arg)callback signatures nativelyapi/server.jscomprehensive rewrite fixing 15 critical bugs (missing imports,ReferenceErrorconstants, session key scoping, HMAC webhook verification, ElevenLabs message normalization, and more)scripts/build-native.js— dynamic Xcode clang version resolution fixes x86_64 cross-compilation linker error on Xcode 16+- Added
NSScreenCaptureUsageDescriptionandNSMicrophoneUsageDescriptiontomac.extendInfofor correct TCC permission dialogs nativelyapi/railway.tomldeployment config added; production smoke-test script (test-prod.sh) included
⚠️ macOS Installation (Unsigned Build)
Download the correct architecture .zip or .dmg file for your device (Apple Silicon or Intel).
If you see "App is damaged":
-
For .zip downloads:
- Move the app to your Applications folder.
- Open Terminal and run:
xattr -cr /Applications/Natively.app
-
For .dmg downloads:
- Open Terminal and run:
xattr -cr ~/Downloads/Natively-2.0.9-arm64.dmg # Or for Intel Macs: xattr -cr ~/Downloads/Natively-2.0.9-x64.dmg
- Install the natively.dmg
- Open Terminal and run:
xattr -cr /Applications/Natively.app
- Open Terminal and run:
⚠️ Windows Installation (Unsigned Build)
When running the installer on Windows, you might see a "Windows protected your PC" warning from Microsoft Defender SmartScreen saying it prevented an unrecognized app from starting.
Since this is an unsigned build, this is expected. You can safely ignore it by clicking More info and then Run anyway.