Changelog
Relevant source files
The following files were used as context for generating this wiki page:
The Changelog within the OpenLive (Nudge) project serves as a record of transitions, design shifts, and release milestones. It documents the evolution of the application from its initial state as a focused hackathon project to a refined learning assistant. The project maintains a philosophy of directness and minimal abstraction, which is reflected in how changes are tracked and implemented.
While the project does not maintain a traditional standalone CHANGELOG.md file in the provided context, change history is inherently managed through Git tags and automated release workflows. Significant product evolutions, such as the transition from "hackathon-style" UI to a "keynote-style" interface, are detailed in the codebase's rendering logic.
Release Process and Versioning
Releases in OpenLive are driven by Git tags rather than manual version bumps in metadata files. When a maintainer pushes a tag (e.g., v0.1.8), the Continuous Integration (CI) system automatically triggers the build and publication process.
Automated Release Workflow
The CI system handles the compilation, signing, and notarization of installers for both macOS and Windows.
The automated release process ensures that the versioning is consistent across all platforms without manual intervention.
Sources: RELEASING.md:5-11, apps/desktop/electron-builder.yml:7-12
Platform-Specific Artifacts
The build process generates distinct artifacts for different operating systems:
| Platform | Target Formats | Architectures |
|---|---|---|
| macOS | DMG, ZIP | Universal (Apple Silicon + Intel) |
| Windows | NSIS Installer | x64 |
Sources: apps/desktop/electron-builder.yml:31-38, apps/desktop/electron-builder.yml:68-71
Product Evolution and Interface Changes
The project documented a major shift in design philosophy and user experience, moving away from "hackathon-style" elements toward a more professional "keynote" feel. This transition involved several core UI/UX changes.
Experience Quality Refinement
The following table summarizes the specific changes made to the product's visual and navigation system:
| Feature | Old Implementation | New Implementation (Current) |
|---|---|---|
| Navigation | Continuous scrolling | Single-scene navigation |
| Visual Style | Dark, blurry, hackathon-style | Bright keynote layout with disciplined spacing |
| Motion | Unstable/Implicit | Stable motion timing with progress indicators |
| Surfaces | High-contrast/Blurry | Light surfaces and crisp typography |
Sources: website/src/renderer.js:156-161
Architectural Component Organization
As the project evolved, the directory structure was solidified to separate the voice engine, the desktop shell, and the agent services.
| Directory | Component Responsibility |
|---|---|
apps/desktop | Electron shell, local servers, and auto-update logic. |
apps/web | Next.js UI and on-device voice engine. |
services/agent | WebSocket handling and model tools. |
packages/harness | Adapters for model providers (Anthropic/OpenAI). |
Sources: CONTRIBUTING.md:27-33
Technical Debt and Logic Guards
Changelog updates often include internal logic adjustments to improve stability. Recent changes in the voice processing engine introduced specific "junk" filters and thought-detection logic to handle AI hallucinations.
Voice Stability logic
Recent updates to the voiceText module included:
- Junk Filtering: Dropping silence artifacts (e.g., "thank you for watching") while keeping short real answers (e.g., "bye", "okay").
- Mid-thought Detection: Ensuring the agent keeps listening if a user trails off on filler words like "at" or "the".
- Markdown Scrubbing: Removing provider-specific control tokens (like MiniMax leaks) and markdown symbols from spoken text to ensure clean TTS (Text-to-Speech) output.
Sources: apps/web/src/lib/live/voiceText.test.ts:7-40
Multi-Step Tool Refinement
The tool delegation logic was updated to prevent "dead air" during long-running tasks. A "narration" feature was introduced to speak natural lines (e.g., "Still searching for...") while a worker subagent performs web lookups.
Sources: services/agent/src/live/worker.ts:16-30
Conclusion
The changelog for OpenLive is a record of continuous refinement, moving from a rapid prototype to a stable, cross-platform learning tool. By leveraging automated CI workflows for platform-specific releases and implementing rigorous guards in the voice processing logic, the project ensures that each version remains technically accurate and professionally polished. Significance is placed on minimizing latency and maximizing the "quiet" nature of the assistant through iterative UI and logic improvements.