Skip to content

Commit 62e3ca0

Browse files
committed
chore(release): bump version to v0.11.0-beta.4
1 parent d20eed8 commit 62e3ca0

8 files changed

Lines changed: 29 additions & 58 deletions

File tree

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ on:
66
workflow_dispatch:
77
inputs:
88
version:
9-
description: 'Version to build (e.g., v0.11.0-beta.3)'
9+
description: 'Version to build (e.g., v0.11.0-beta.4)'
1010
required: true
11-
default: 'v0.11.0-beta.3'
11+
default: 'v0.11.0-beta.4'
1212

1313
permissions:
1414
contents: read

README.md

Lines changed: 20 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -7,64 +7,35 @@
77
[![Go Version](https://img.shields.io/github/go-mod/go-version/Cod-e-Codes/marchat?logo=go)](https://go.dev/dl/)
88
[![GitHub all releases](https://img.shields.io/github/downloads/Cod-e-Codes/marchat/total?logo=github)](https://github.com/Cod-e-Codes/marchat/releases)
99
[![Docker Pulls](https://img.shields.io/docker/pulls/codecodesxyz/marchat?logo=docker)](https://hub.docker.com/r/codecodesxyz/marchat)
10-
[![Version](https://img.shields.io/badge/version-v0.11.0--beta.3-blue)](https://github.com/Cod-e-Codes/marchat/releases/tag/v0.11.0-beta.3)
10+
[![Version](https://img.shields.io/badge/version-v0.11.0--beta.4-blue)](https://github.com/Cod-e-Codes/marchat/releases/tag/v0.11.0-beta.4)
1111

1212
A lightweight terminal chat with real-time messaging over WebSockets, optional E2E encryption, and a flexible plugin ecosystem. Built for developers who prefer the command line.
1313

1414
**Quick start:** [QUICKSTART.md](QUICKSTART.md) for a single-page walkthrough (install → server → client → next docs).
1515

1616
## Latest Updates
1717

18-
### v0.11.0-beta.3 (Current)
18+
### v0.11.0-beta.4 (Current)
1919

20-
**Released 2026-04-09.** Changes since **[v0.11.0-beta.2](https://github.com/Cod-e-Codes/marchat/releases/tag/v0.11.0-beta.2)**; compare on GitHub: [`v0.11.0-beta.2...v0.11.0-beta.3`](https://github.com/Cod-e-Codes/marchat/compare/v0.11.0-beta.2...v0.11.0-beta.3). For the commit list (newest-first): **`git log v0.11.0-beta.2..v0.11.0-beta.3 --oneline`** (append **`--reverse`** for oldest-first).
20+
**Released 2026-04-09.** Since **[v0.11.0-beta.3](https://github.com/Cod-e-Codes/marchat/releases/tag/v0.11.0-beta.3)**; compare [`v0.11.0-beta.3...v0.11.0-beta.4`](https://github.com/Cod-e-Codes/marchat/compare/v0.11.0-beta.3...v0.11.0-beta.4). Commits: **`git log v0.11.0-beta.3..v0.11.0-beta.4 --oneline`**.
2121

22-
#### Client and configuration
23-
- **Profiles**: Dedupe display names on load; default **Profile-N** naming when adding profiles.
24-
- **Paths**: **`GetConfigPath`** honors **`MARCHAT_CONFIG_DIR`** (same resolution idea as **`ResolveClientConfigDir()`**).
25-
- **Keystore**: Portable **v3** format (random salt in file header); legacy path-based PBKDF2 salt migrates on unlock; see **ARCHITECTURE.md** / **PROTOCOL.md** (very old clients may need a current build to read migrated files).
26-
- **Keystore location**: **`GetKeystorePath`** prefers the resolved config directory and the standard per-user **`keystore.dat`** before legacy **`./keystore.dat`** in the process working directory, so a stray file in a git clone does not override your real profile key (**README.md** → Client vs server config; **ARCHITECTURE.md**).
27-
- **Hardening**: Broader client UX and crypto-path fixes alongside server send-path hardening (see commit **`5feb098`** on `main`).
22+
- **E2E**: Message edits keep ciphertext and **`is_encrypted`** consistent.
23+
- **Themes**: Deterministic **`:themes`** / **Ctrl+T** order (built-ins then custom keys in `themes.json`); **[THEMES.md](THEMES.md)**.
24+
- **Docs**: Container/SBOM scanners vs **`govulncheck`** and **pgx** CVE metadata (**SECURITY.md**, **README**).
25+
- **Repo**: **`.gitattributes`** LF enforcement and renormalized text files.
2826

29-
#### Server and web admin
30-
- **Startup**: Admin list normalization and startup validation refactored into shared helpers (`cmd/server`, **`config`** validation).
31-
- **Web admin**: Sidebar layout, dark theme, confirmation modals (**`server/admin_web.html`** / related Go).
32-
- **Sessions**: Web admin prefers **`MARCHAT_SESSION_SECRET`** ( **`MARCHAT_JWT_SECRET`** remains a deprecated alias); assorted doc fixes for current behavior.
33-
- **Reliability**: Hardened server send paths and related trust/config boundaries (same wave as client fixes above).
27+
### v0.11.0-beta.3
3428

35-
#### Plugins
36-
- **SDK**: **`plugin/sdk`** **`Message`** carries channel, encryption, and DM context for richer plugin chat integration.
37-
- **Host**: Plugin replies flow through **`ConvertPluginMessage`**; **`StopPlugin`** data race fixed; decode loop exits cleanly on closed pipe (quieter CI logs).
38-
- **Docs**: Plugin message routing, type chaining, and encrypted delivery (**ARCHITECTURE.md** / **PROTOCOL.md** references where applicable).
39-
40-
#### Documentation and demos
41-
- **README**: Five current GIF demos with section headings (replaces older demo assets).
42-
- **E2E narrative**: Docs aligned with the **global ChaCha20-Poly1305** design; unused **X25519** API removed from the tree.
43-
- **Operations**: Troubleshooting and **`-doctor`** / diagnostics text refreshed to match current flags and env behavior.
44-
45-
#### CI, releases, and local build scripts
46-
- **Releases**: **`gh release upload`** for matrix **`.zip`** assets and **`gh release edit`** for the Docker Hub blurb; workflow documentation; shell/Docker sources normalized to LF where needed.
47-
- **CI**: **`database-smoke`** job (Postgres + MySQL) for **`InitDB`** / **`CreateSchema`** / table checks; MySQL DSN uses a **`mysql:`** / **`mysql://`** prefix so driver detection matches SQLite-style paths; expanded server and plugin manager tests.
48-
- **Scripts**: **`build-release.ps1`** includes a **darwin/arm64** build target.
49-
50-
#### Toolchain and security
51-
- **Go 1.25.9** in **`go.mod`**, GitHub Actions, and the **Docker** builder image clears **govulncheck**-listed standard-library issues from **Go 1.25.8** (**crypto/tls**, **crypto/x509**, **archive/tar**, **html/template**, etc.). See **SECURITY.md** for scanner notes: container/SBOM scans often flag dependency **presence** in the image/binary; **`govulncheck ./...`** checks **reachability**. Package-level **pgx** findings (for example **CVE-2026-33815** / **CVE-2026-33816**) may persist while advisory **fixed-version** metadata lags; marchat ships **pgx** v5.9.0+ with related upstream protocol fixes, and default **`govulncheck ./...`** reports no reachable vulnerable call paths.
52-
53-
### Unreleased (main; not in v0.11.0-beta.3 yet)
54-
55-
- **Client themes**: **`:themes`** and **Ctrl+T** use a deterministic order—built-ins `system``patriot``retro``modern`, then custom themes sorted alphabetically by JSON key in `themes.json` ([THEMES.md](THEMES.md)).
29+
**Released 2026-04-09.** [Compare from beta.2](https://github.com/Cod-e-Codes/marchat/compare/v0.11.0-beta.2...v0.11.0-beta.3). Keystore v3 and config/path fixes; web admin refresh; plugin SDK context and host fixes; DB smoke CI; Go 1.25.9; demos, E2E docs, and release asset workflow updates.
5630

5731
### v0.11.0-beta.2
58-
- **Go 1.25.8** across CI, Docker, and docs; **SECURITY.md** updates (supported versions, edwards25519 note)
59-
- **UX**: Terminal-native chrome (reaction/message emoji unchanged); **Alt+M** / **`:msginfo`** toggle message metadata; colorized server banner and client pre-TUI (**`NO_COLOR`** respected)
60-
- **Doctor**: TTY color for text mode; server **`MARCHAT_*`** reflects **`config/.env`**; docs for **`-doctor-json`** / **`NO_COLOR`**
61-
- **Server**: Hardened license cache, username reservation, DB backup SQL; **CI**: static release builds; published releases attach zips with **`gh release upload`** and append the Docker blurb with **`gh release edit`** (avoids Node 20–labeled JS actions); **Termux****linux-arm64** assets
32+
33+
Go 1.25.8 toolchain/docs; **`-doctor`** and env reflection improvements; terminal chrome and **`:msginfo`** metadata; license cache and server hardening; static release zips + **linux-arm64** for Termux.
6234

6335
### Earlier
64-
- **v0.11.0-beta.1**: **[PR #83](https://github.com/Cod-e-Codes/marchat/pull/83)**: SQLite / PostgreSQL / MySQL, durable reactions & read receipts, message-state layer; release **`resolve-version`** + static builds; serialized WS writes; admin TUI & doctor DB checks (see **ARCHITECTURE.md**, **PROTOCOL.md**)
65-
- **v0.10.0-beta.3**: Caddy TLS proxy sample ([**deploy/CADDY-REVERSE-PROXY.md**](deploy/CADDY-REVERSE-PROXY.md)), client WSS/TLS & direct-connect UX, **`config/.env`** precedence docs
66-
- **v0.10.0-beta.2**: **`-doctor`** / **`-doctor-json`**, **`CGO_ENABLED=0`** builds, sqlite bump, Docker entrypoint & volume permissions
67-
- **v0.10.0-beta.1**: Edit/delete/pin/search, reactions, DMs, channels, typing, E2E files, plugins, rate limits, Docker Compose; client modularization
36+
37+
- **v0.11.0-beta.1**: Multi-DB (SQLite / Postgres / MySQL), reactions, read receipts, message state, serialized WS writes, admin TUI ([PR #83](https://github.com/Cod-e-Codes/marchat/pull/83)).
38+
- **v0.10.x**: Core chat features (edit/delete/pin/search, DMs, channels, E2E files, plugins), **`-doctor`**, Docker, Caddy TLS proxy docs ([**deploy/CADDY-REVERSE-PROXY.md**](deploy/CADDY-REVERSE-PROXY.md)), **`config/.env`** precedence.
6839

6940
Full changelog on [GitHub releases](https://github.com/Cod-e-Codes/marchat/releases).
7041

@@ -180,24 +151,24 @@ Tables created by the server (dialect-aware DDL for SQLite, PostgreSQL, and MySQ
180151
**Binary Installation:**
181152
```bash
182153
# Linux (amd64)
183-
wget https://github.com/Cod-e-Codes/marchat/releases/download/v0.11.0-beta.3/marchat-v0.11.0-beta.3-linux-amd64.zip
184-
unzip marchat-v0.11.0-beta.3-linux-amd64.zip && chmod +x marchat-*
154+
wget https://github.com/Cod-e-Codes/marchat/releases/download/v0.11.0-beta.4/marchat-v0.11.0-beta.4-linux-amd64.zip
155+
unzip marchat-v0.11.0-beta.4-linux-amd64.zip && chmod +x marchat-*
185156

186157
# macOS (amd64)
187-
wget https://github.com/Cod-e-Codes/marchat/releases/download/v0.11.0-beta.3/marchat-v0.11.0-beta.3-darwin-amd64.zip
188-
unzip marchat-v0.11.0-beta.3-darwin-amd64.zip && chmod +x marchat-*
158+
wget https://github.com/Cod-e-Codes/marchat/releases/download/v0.11.0-beta.4/marchat-v0.11.0-beta.4-darwin-amd64.zip
159+
unzip marchat-v0.11.0-beta.4-darwin-amd64.zip && chmod +x marchat-*
189160

190161
# Windows - PowerShell
191162
iwr -useb https://raw.githubusercontent.com/Cod-e-Codes/marchat/main/install.ps1 | iex
192163
```
193164

194165
**Docker:**
195166
```bash
196-
docker pull codecodesxyz/marchat:v0.11.0-beta.3
167+
docker pull codecodesxyz/marchat:v0.11.0-beta.4
197168
docker run -d -p 8080:8080 \
198169
-e MARCHAT_ADMIN_KEY=$(openssl rand -hex 32) \
199170
-e MARCHAT_USERS=admin1,admin2 \
200-
codecodesxyz/marchat:v0.11.0-beta.3
171+
codecodesxyz/marchat:v0.11.0-beta.4
201172
```
202173

203174
**Docker Compose (local development):**

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Supported Versions
44

5-
`marchat` is currently at **v0.11.0-beta.3**.
5+
`marchat` is currently at **v0.11.0-beta.4**.
66
All security updates and fixes are applied to the `main` branch.
77

88
| Version | Supported |

build-release.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
# Build script for marchat v0.11.0-beta.3
1+
# Build script for marchat v0.11.0-beta.4
22
# This script builds all platform targets and creates release zips
33

44
$ErrorActionPreference = "Stop"
55

6-
$VERSION = "v0.11.0-beta.3"
6+
$VERSION = "v0.11.0-beta.4"
77
$BUILD_DIR = "build"
88
$RELEASE_DIR = "release"
99

install.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Supports Windows, Linux, macOS, and Android (via PowerShell Core)
55

66
param(
7-
[string]$Version = "v0.11.0-beta.3"
7+
[string]$Version = "v0.11.0-beta.4"
88
)
99

1010
$ErrorActionPreference = "Stop"

install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
set -e # Exit on any error
77

8-
VERSION="v0.11.0-beta.3"
8+
VERSION="v0.11.0-beta.4"
99

1010
# Detect OS and architecture
1111
OS=$(uname | tr '[:upper:]' '[:lower:]')

scripts/build-linux.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set -euo pipefail
88
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
99
cd "$ROOT"
1010

11-
VERSION="v0.11.0-beta.3"
11+
VERSION="v0.11.0-beta.4"
1212
BUILD_TIME="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
1313
GIT_COMMIT="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)"
1414

scripts/build-windows.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
$ErrorActionPreference = "Stop"
44
Set-Location (Split-Path -Parent $PSScriptRoot)
55

6-
$VERSION = "v0.11.0-beta.3"
6+
$VERSION = "v0.11.0-beta.4"
77
$BUILD_TIME = (Get-Date).ToUniversalTime().ToString("o")
88
$GIT_COMMIT = git rev-parse --short HEAD 2>$null
99
if (-not $GIT_COMMIT) { $GIT_COMMIT = "unknown" }

0 commit comments

Comments
 (0)