|
7 | 7 | [](https://go.dev/dl/) |
8 | 8 | [](https://github.com/Cod-e-Codes/marchat/releases) |
9 | 9 | [](https://hub.docker.com/r/codecodesxyz/marchat) |
10 | | -[](https://github.com/Cod-e-Codes/marchat/releases/tag/v0.11.0-beta.4) |
| 10 | +[](https://github.com/Cod-e-Codes/marchat/releases/tag/v0.11.0-beta.5) |
11 | 11 |
|
12 | 12 | 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. |
13 | 13 |
|
14 | 14 | **Quick start:** [QUICKSTART.md](QUICKSTART.md) for a single-page walkthrough (install → server → client → next docs). |
15 | 15 |
|
16 | 16 | ## Latest Updates |
17 | 17 |
|
18 | | -### v0.11.0-beta.4 (Current) |
| 18 | +### v0.11.0-beta.5 (Current) |
19 | 19 |
|
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`**. |
| 20 | +**Released 2026-04-10.** Since **[v0.11.0-beta.4](https://github.com/Cod-e-Codes/marchat/releases/tag/v0.11.0-beta.4)**; compare [`v0.11.0-beta.4...v0.11.0-beta.5`](https://github.com/Cod-e-Codes/marchat/compare/v0.11.0-beta.4...v0.11.0-beta.5). Commits: **`git log v0.11.0-beta.4..v0.11.0-beta.5 --oneline`**. |
21 | 21 |
|
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. |
| 22 | +- **Server**: RFC 6455 WebSocket close frames on handshake errors; hub stays off plugin IPC with bounded, best-effort, at-most-once plugin chat fan-out. |
| 23 | +- **Client**: Experimental env-driven **exthook** and **`-doctor`** integration. |
| 24 | +- **Plugin SDK**: **`RunStdio`** / **`HandlePluginRequest`** stdio loop; echo sample uses the SDK; docs and **README** plugin examples aligned (**GetConfig**, **Marshal**); **`plugin/sdk/cov`** gitignored; CI runs nested plugin modules (**fmt**, **govulncheck**). |
| 25 | +- **Tests / CI**: Server loadverify benches and rate-limit coverage; **`-doctor`** tests serialize **`os.Environ`** hook; Dependabot Node 20 note in **`.github/dependabot.yml`**. |
| 26 | +- **Docs**: **TESTING** bench section; refreshed metrics, coverage, and LoC; hook example lives under **`_example_hook`**; prose uses ASCII hyphens where edited. |
| 27 | +- **Deps**: **`golang.org/x/crypto`**, **`golang.org/x/term`**, **`modernc.org/sqlite`**. |
| 28 | + |
| 29 | +### v0.11.0-beta.4 |
| 30 | + |
| 31 | +**Released 2026-04-09.** [Compare from beta.3](https://github.com/Cod-e-Codes/marchat/compare/v0.11.0-beta.3...v0.11.0-beta.4). E2E edit consistency; deterministic theme cycle; security scanner vs **govulncheck** docs; **`.gitattributes`** LF normalization. |
26 | 32 |
|
27 | 33 | ### v0.11.0-beta.3 |
28 | 34 |
|
@@ -151,24 +157,24 @@ Tables created by the server (dialect-aware DDL for SQLite, PostgreSQL, and MySQ |
151 | 157 | **Binary Installation:** |
152 | 158 | ```bash |
153 | 159 | # Linux (amd64) |
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-* |
| 160 | +wget https://github.com/Cod-e-Codes/marchat/releases/download/v0.11.0-beta.5/marchat-v0.11.0-beta.5-linux-amd64.zip |
| 161 | +unzip marchat-v0.11.0-beta.5-linux-amd64.zip && chmod +x marchat-* |
156 | 162 |
|
157 | 163 | # macOS (amd64) |
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-* |
| 164 | +wget https://github.com/Cod-e-Codes/marchat/releases/download/v0.11.0-beta.5/marchat-v0.11.0-beta.5-darwin-amd64.zip |
| 165 | +unzip marchat-v0.11.0-beta.5-darwin-amd64.zip && chmod +x marchat-* |
160 | 166 |
|
161 | 167 | # Windows - PowerShell |
162 | 168 | iwr -useb https://raw.githubusercontent.com/Cod-e-Codes/marchat/main/install.ps1 | iex |
163 | 169 | ``` |
164 | 170 |
|
165 | 171 | **Docker:** |
166 | 172 | ```bash |
167 | | -docker pull codecodesxyz/marchat:v0.11.0-beta.4 |
| 173 | +docker pull codecodesxyz/marchat:v0.11.0-beta.5 |
168 | 174 | docker run -d -p 8080:8080 \ |
169 | 175 | -e MARCHAT_ADMIN_KEY=$(openssl rand -hex 32) \ |
170 | 176 | -e MARCHAT_USERS=admin1,admin2 \ |
171 | | - codecodesxyz/marchat:v0.11.0-beta.4 |
| 177 | + codecodesxyz/marchat:v0.11.0-beta.5 |
172 | 178 | ``` |
173 | 179 |
|
174 | 180 | **Docker Compose (local development):** |
|
0 commit comments