release v1.4.2

This commit is contained in:
Bohdan Triapitsyn
2026-01-03 14:53:19 +02:00
parent b9fb36f585
commit b97399a5af
9 changed files with 11 additions and 10 deletions
+3
View File
@@ -4,12 +4,15 @@ All notable changes to this project will be documented in this file.
## [Unreleased] ## [Unreleased]
## [1.4.2] - 2026-01-02
- Added timeline dialog (`/timeline` command or Cmd/Ctrl+T) for navigating, reverting, and forking from any point in the conversation (thanks to @aptdnfapt). - Added timeline dialog (`/timeline` command or Cmd/Ctrl+T) for navigating, reverting, and forking from any point in the conversation (thanks to @aptdnfapt).
- Added `/undo` and `/redo` commands for reverting and restoring messages in a session (thanks to @aptdnfapt). - Added `/undo` and `/redo` commands for reverting and restoring messages in a session (thanks to @aptdnfapt).
- Added fork button on user messages to create a new session from any point (thanks to @aptdnfapt). - Added fork button on user messages to create a new session from any point (thanks to @aptdnfapt).
- Desktop app: keyboard shortcuts now use Cmd on macOS and Ctrl on web/other platforms (thanks to @sakhnyuk). - Desktop app: keyboard shortcuts now use Cmd on macOS and Ctrl on web/other platforms (thanks to @sakhnyuk).
- Migrated to OpenCode SDK v2 with improved API types and streaming. - Migrated to OpenCode SDK v2 with improved API types and streaming.
## [1.4.1] - 2026-01-02 ## [1.4.1] - 2026-01-02
- Added the ability to select the same model multiple times in multi-agent runs for response comparison. - Added the ability to select the same model multiple times in multi-agent runs for response comparison.
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "openchamber-monorepo", "name": "openchamber-monorepo",
"version": "1.4.1", "version": "1.4.2",
"description": "OpenChamber monorepo workspace for web, ui, and desktop runtimes", "description": "OpenChamber monorepo workspace for web, ui, and desktop runtimes",
"private": true, "private": true,
"type": "module", "type": "module",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@openchamber/desktop", "name": "@openchamber/desktop",
"version": "1.4.1", "version": "1.4.2",
"private": true, "private": true,
"type": "module", "type": "module",
"desktopPrerequisites": [ "desktopPrerequisites": [
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "openchamber-desktop" name = "openchamber-desktop"
version = "1.4.1" version = "1.4.2"
edition = "2021" edition = "2021"
publish = false publish = false
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"$schema": "../node_modules/@tauri-apps/cli/schema.json", "$schema": "../node_modules/@tauri-apps/cli/schema.json",
"productName": "OpenChamber", "productName": "OpenChamber",
"version": "1.4.1", "version": "1.4.2",
"identifier": "ai.opencode.openchamber", "identifier": "ai.opencode.openchamber",
"build": { "build": {
"beforeDevCommand": "bun run dev", "beforeDevCommand": "bun run dev",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@openchamber/ui", "name": "@openchamber/ui",
"version": "1.4.1", "version": "1.4.2",
"private": true, "private": true,
"type": "module", "type": "module",
"main": "src/main.tsx", "main": "src/main.tsx",
@@ -6,11 +6,9 @@ import {
DialogHeader, DialogHeader,
DialogTitle, DialogTitle,
} from '@/components/ui/dialog'; } from '@/components/ui/dialog';
import { Button } from '@/components/ui/button';
import { Input } from '@/components/ui/input'; import { Input } from '@/components/ui/input';
import { useSessionStore } from '@/stores/useSessionStore'; import { useSessionStore } from '@/stores/useSessionStore';
import { useMessageStore } from '@/stores/messageStore'; import { useMessageStore } from '@/stores/messageStore';
import { cn } from '@/lib/utils';
import { RiLoader4Line, RiSearchLine, RiTimeLine, RiGitBranchLine, RiArrowGoBackLine } from '@remixicon/react'; import { RiLoader4Line, RiSearchLine, RiTimeLine, RiGitBranchLine, RiArrowGoBackLine } from '@remixicon/react';
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
import type { Part } from '@opencode-ai/sdk/v2'; import type { Part } from '@opencode-ai/sdk/v2';
@@ -110,7 +108,7 @@ export const TimelineDialog: React.FC<TimelineDialogProps> = ({ open, onOpenChan
{searchQuery ? 'No messages found' : 'No messages in this session yet'} {searchQuery ? 'No messages found' : 'No messages in this session yet'}
</div> </div>
) : ( ) : (
filteredMessages.map((message, index) => { filteredMessages.map((message) => {
const preview = getMessagePreview(message.parts); const preview = getMessagePreview(message.parts);
const timestamp = message.info.time.created; const timestamp = message.info.time.created;
const relativeTime = formatRelativeTime(timestamp); const relativeTime = formatRelativeTime(timestamp);
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "openchamber", "name": "openchamber",
"displayName": "OpenChamber", "displayName": "OpenChamber",
"description": "AI coding assistant powered by OpenCode", "description": "AI coding assistant powered by OpenCode",
"version": "1.4.1", "version": "1.4.2",
"publisher": "fedaykindev", "publisher": "fedaykindev",
"private": true, "private": true,
"repository": { "repository": {
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@openchamber/web", "name": "@openchamber/web",
"version": "1.4.1", "version": "1.4.2",
"private": false, "private": false,
"type": "module", "type": "module",
"main": "./server/index.js", "main": "./server/index.js",