You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+13-11Lines changed: 13 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,17 +4,19 @@ Narrative notes by release. Per-file binaries and assets: [GitHub releases](http
4
4
5
5
## Unreleased
6
6
7
-
On **`main`** only; not part of **[v1.0.0](https://github.com/Cod-e-Codes/marchat/releases/tag/v1.0.0)** or its published binaries. Will ship in the next tagged release. Compare [`v1.0.0...main`](https://github.com/Cod-e-Codes/marchat/compare/v1.0.0...main). Commits since the tag: **`git log v1.0.0..HEAD --oneline`**.
8
-
9
-
-**Packaging**: Sync **v1.0.0** zip SHA256 values in **PACKAGING.md**, **AUR**, Homebrew, Scoop, winget, and Chocolatey templates with hashes from published release assets.
10
-
-**CI**: Downstream **AUR** publish job clones the packaging checkout over HTTPS instead of SSH.
11
-
-**Toolchain / dependencies**: Go 1.25.10 in **go.mod**, CI, Docker, and docs; **golang.org/x/crypto** v0.51.0 and **golang.org/x/term** v0.43.0.
12
-
-**Dependencies**: **github.com/jackc/pgx/v5** to 5.9.2; **modernc.org/sqlite** to 1.50.0; **github.com/go-sql-driver/mysql** to 1.10.0.
13
-
-**Docs**: Changelog as the narrative hub; clearer onboarding via **QUICKSTART** and **docs/README**; refreshed coverage and LoC in **TESTING** and **README**; **CONTRIBUTING** and **PLUGIN_ECOSYSTEM** edits; call out **winget** and **Chocolatey** listings; link optional graphical clients from **README** and **PROTOCOL**; optional plugin discovery points at the **marchat-plugins** repository.
14
-
-**Server**: Add `channel` column to the message schema for improved multi-channel flexibility; persist message channels so history replays into the correct channel. Persist direct messages with `recipient` metadata; reconnect history replays DMs only to sender and recipient. Typing with non-empty `recipient` uses the same DM delivery path as chat DMs.
15
-
-**Client**: Scope transcript and typing state by active channel view so switching channels shows only that channel's history and typing activity. DM thread sidebar (unread, hide/reappear), `dm_state.json` under the client config directory, footer shows the active DM peer, commands `:dm` / `:dm off` / `:dms` / `:dmhide`, transcript filtering per active DM thread. **Fix:** handle `:dmhide` / `:dms` before `:dm` so they are not mistaken for `:dm hide...` / `:dm s...` (prefix collision). **Typing:** while in DM compose mode, typing uses optional `recipient` on the wire; the server delivers only to that DM pair; the reference TUI hides DM-scoped typing unless that DM thread is open (no leak into global chat), and hides channel/global typing while a DM thread is open (no leak from general chat into the DM view).
16
-
-**Diagnostics**: Client `-doctor` reports `dm_state.json` and E2E key source; server `-doctor` includes a DM history privacy note.
17
-
-**Docs (DM and protocol)**: **ARCHITECTURE**, **PROTOCOL** (typing `recipient` and DM delivery), **README**, **TESTING**, and **CONTRIBUTING** updated for persistent DMs, typing scope, and doctor output. Install snippets and release badges still reference **v1.0.0** until the next release is cut.
7
+
On **`main`** only; not part of **[v1.1.0](https://github.com/Cod-e-Codes/marchat/releases/tag/v1.1.0)** or its published binaries until you tag and publish. Compare [`v1.1.0...main`](https://github.com/Cod-e-Codes/marchat/compare/v1.1.0...main). Commits since the tag: **`git log v1.1.0..HEAD --oneline`**.
-**Server**: **`messages.channel`** column (default **`general`**) with startup migration; channel messages persist and replay on the correct channel. Direct messages store **`recipient`**; reconnect history includes DM rows only for sender and recipient. **`TypingMessage`** with non-empty **`recipient`** uses the same DM delivery path as chat DMs.
14
+
-**Client**: Transcript and typing scoped to the active channel; DM thread sidebar (unread, hide, reappear), **`dm_state.json`** under the client config directory, footer shows the active DM peer, commands **`:dm`** / **`:dm off`** / **`:dms`** / **`:dmhide`**. **Fix:****`:dmhide`** and **`:dms`** handled before **`:dm`** (prefix collision). **Typing:** DM compose sends optional **`recipient`** on the wire; reference TUI hides DM-scoped typing unless that thread is open and hides channel typing while a DM thread is open.
15
+
-**Diagnostics**: Client **`-doctor`** reports **`dm_state.json`** and E2E key source; server **`-doctor`** includes a DM history note.
16
+
-**Docs / protocol**: **ARCHITECTURE**, **PROTOCOL**, **README**, **TESTING**, **CONTRIBUTING**, **QUICKSTART**, **PLUGIN_ECOSYSTEM**, **docs/README** for DMs, typing **`recipient`**, and doctor output; optional graphical clients and **marchat-plugins** discovery where relevant.
17
+
-**Toolchain / dependencies**: Go **1.25.10** in **go.mod**, CI, **Dockerfile**; **golang.org/x/crypto** v0.51.0, **golang.org/x/term** v0.43.0; **github.com/jackc/pgx/v5** v5.9.2, **modernc.org/sqlite** v1.50.0, **github.com/go-sql-driver/mysql** v1.10.0.
18
+
-**CI**: Downstream **AUR** publish clones **aur.archlinux.org** over HTTPS before SSH push.
19
+
-**Packaging**: Version strings and URLs for **v1.1.0** in **install.ps1**, **install.sh**, **build-release.ps1**, **scripts/build-*.ps1/sh**, **README**, **SECURITY.md**, **.github/workflows/release.yml**, and **packaging/** (Homebrew, Scoop, winget **1.1.0** manifest set, Chocolatey, AUR). **SHA256** fields are **placeholders** (`000000...`) until replaced from published release zips (**PACKAGING.md**, **packaging/ci/render-release-manifests.sh**). Regenerate **packaging/aur/.SRCINFO** on Arch after final **PKGBUILD** checksums (**`makepkg --printsrcinfo`**).
Copy file name to clipboardExpand all lines: PACKAGING.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,7 +58,7 @@ Published tap: [homebrew-marchat](https://github.com/Cod-e-Codes/homebrew-marcha
58
58
59
59
Upstream is [microsoft/winget-pkgs](https://github.com/microsoft/winget-pkgs). Maintainers use a fork, add `manifests/c/Cod-e-Codes/Marchat/<PackageVersion>/`, run `winget validate` on that folder, and open a PR. Package identifier: `Cod-e-Codes.Marchat`. The installer is a zip with `NestedInstallerType: portable` and two `PortableCommandAlias` entries for client and server. Microsoft may prompt first-time contributors to accept the CLA on the PR; follow the bot instructions there.
60
60
61
-
Example template path in this repo: `packaging/winget/manifests/c/Cod-e-Codes/Marchat/1.0.0/` (duplicate the folder layout for new versions).
61
+
Example template path in this repo: `packaging/winget/manifests/c/Cod-e-Codes/Marchat/1.1.0/` (duplicate the folder layout for new versions). Older **`1.0.0/`** manifests may remain for reference; the current release templates target **v1.1.0** until the next bump.
62
62
63
63
**Checksums vs GitHub release timing:** Portable zip manifests embed SHA256. After you publish a release and the five platform zips exist on GitHub, run [`packaging/ci/render-release-manifests.sh`](packaging/ci/render-release-manifests.sh) with `RELEASE_TAG` set and copy `packaging-out/` into `packaging/` (and into your tap, bucket, winget fork, or AUR clone as needed) so local `winget validate`, `brew audit`, and `choco pack` match real bytes. The committed templates may carry placeholder hashes until that sync step.
[](https://github.com/Cod-e-Codes/marchat/releases)
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
@@ -37,7 +37,7 @@ Both clients follow the same wire format documented in [PROTOCOL.md](PROTOCOL.md
**`main` branch:** may include changes not yet in that tag (for example items under **Unreleased** in [CHANGELOG.md](CHANGELOG.md)). Feature descriptions elsewhere in this README match the tree you build from source; compare your binary’s `-doctor` / `-version` output to the release page when in doubt.
43
43
@@ -153,12 +153,12 @@ Tables created by the server (dialect-aware DDL for SQLite, PostgreSQL, and MySQ
0 commit comments