diff --git a/Cargo.lock b/Cargo.lock index ea7050b..cc75005 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2732,7 +2732,7 @@ checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" [[package]] name = "itsgoin-cli" -version = "0.5.3" +version = "0.6.0" dependencies = [ "anyhow", "hex", @@ -2744,7 +2744,7 @@ dependencies = [ [[package]] name = "itsgoin-core" -version = "0.5.3" +version = "0.6.0" dependencies = [ "anyhow", "base64 0.22.1", @@ -2767,7 +2767,7 @@ dependencies = [ [[package]] name = "itsgoin-desktop" -version = "0.5.3" +version = "0.6.0" dependencies = [ "anyhow", "base64 0.22.1", diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index d2dc068..b883c40 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "itsgoin-cli" -version = "0.5.3" +version = "0.6.0" edition = "2021" [[bin]] diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 71b3017..a851932 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "itsgoin-core" -version = "0.5.3" +version = "0.6.0" edition = "2021" [dependencies] diff --git a/crates/tauri-app/Cargo.toml b/crates/tauri-app/Cargo.toml index b1af404..8a12bf5 100644 --- a/crates/tauri-app/Cargo.toml +++ b/crates/tauri-app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "itsgoin-desktop" -version = "0.5.3" +version = "0.6.0" edition = "2021" [lib] diff --git a/crates/tauri-app/tauri.conf.json b/crates/tauri-app/tauri.conf.json index b84c910..4537ec4 100644 --- a/crates/tauri-app/tauri.conf.json +++ b/crates/tauri-app/tauri.conf.json @@ -1,6 +1,6 @@ { "productName": "itsgoin", - "version": "0.5.3", + "version": "0.6.0", "identifier": "com.itsgoin.app", "build": { "frontendDist": "../../frontend", diff --git a/deploy.sh b/deploy.sh index b79903c..984dee8 100644 --- a/deploy.sh +++ b/deploy.sh @@ -19,7 +19,7 @@ KEYSTORE="itsgoin.keystore" KS_ALIAS="itsgoin" VERSION=$(grep '"version"' crates/tauri-app/tauri.conf.json | head -1 | sed 's/.*"\([0-9.]*\)".*/\1/') -echo "=== Deploying v${VERSION}-beta ===" +echo "=== Deploying v${VERSION} ===" # Build CLI echo "=== Building CLI ===" @@ -43,7 +43,7 @@ echo "=== APK build complete ===" echo "=== Signing APK ===" UNSIGNED="crates/tauri-app/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk" ALIGNED="itsgoin-aligned.apk" -SIGNED="itsgoin-${VERSION}-beta.apk" +SIGNED="itsgoin-${VERSION}.apk" ZIPALIGN=$(find ~/Android/Sdk/build-tools -name "zipalign" 2>/dev/null | sort -V | tail -1) APKSIGNER=$(find ~/Android/Sdk/build-tools -name "apksigner" 2>/dev/null | sort -V | tail -1) "$ZIPALIGN" -f 4 "$UNSIGNED" "$ALIGNED" @@ -56,7 +56,7 @@ sshpass -p "$SSH_PASS" scp $SSH_OPTS website/*.html website/style.css "$SSH_HOST sleep 5 echo "=== Uploading AppImage ===" -sshpass -p "$SSH_PASS" scp $SSH_OPTS "target/release/bundle/appimage/itsgoin_${VERSION}_amd64.AppImage" "$SSH_HOST:~/public_html/itsgoin_${VERSION}-beta_amd64.AppImage" +sshpass -p "$SSH_PASS" scp $SSH_OPTS "target/release/bundle/appimage/itsgoin_${VERSION}_amd64.AppImage" "$SSH_HOST:~/public_html/itsgoin_${VERSION}_amd64.AppImage" sleep 5 echo "=== Uploading APK ===" @@ -64,7 +64,7 @@ sshpass -p "$SSH_PASS" scp $SSH_OPTS "$SIGNED" "$SSH_HOST:~/public_html/" sleep 5 echo "=== Uploading CLI ===" -sshpass -p "$SSH_PASS" scp $SSH_OPTS target/release/itsgoin "$SSH_HOST:~/public_html/itsgoin-cli-${VERSION}-beta-linux-amd64" +sshpass -p "$SSH_PASS" scp $SSH_OPTS target/release/itsgoin "$SSH_HOST:~/public_html/itsgoin-cli-${VERSION}-linux-amd64" sleep 5 echo "=== Uploading anchor binary ===" @@ -78,4 +78,4 @@ sleep 2 echo "=== Verifying anchor ===" sshpass -p "$SSH_PASS" ssh $SSH_OPTS "$SSH_HOST" 'ps aux | grep "[i]tsgoin.*daemon"' -echo "=== Deploy complete: v${VERSION}-beta ===" +echo "=== Deploy complete: v${VERSION} ===" diff --git a/website/download.html b/website/download.html index f15b207..8105215 100644 --- a/website/download.html +++ b/website/download.html @@ -24,42 +24,38 @@

Download ItsGoin

-

Available for Android and Linux. Free and open source.

+

Available for Android, Linux, and Windows. Free and open source.

-

Stable Release

-

Version 0.5.3 — April 19, 2026

-

Multi-identity, export/import, fast startup, pagination, SAF support, AppImage video, and more. Recommended for daily use.

+
+ Network fork: v0.6 is a hard fork from v0.5. Older versions cannot connect to the v0.6 network. If you were on v0.5.3, upgrade to stay reachable. Export your identity from v0.5.3 (Settings → Export) and import it on first launch of v0.6. +
+ +

v0.6.0 — April 21, 2026

+

The privacy architecture overhaul. Network identity is decoupled from posting identity — peers cannot correlate network traffic to a posting identity, and users can hold multiple simultaneous posting identities (personas) on one device.

-

Coming in Beta (0.6.x)

-

The next beta introduces a major privacy architecture overhaul:

-
@@ -116,6 +112,18 @@

Changelog

+
v0.6.0 — April 21, 2026
+
    +
  • Network fork from v0.5. The network protocol has changed enough that v0.5 and v0.6 cannot interoperate. Upgrade if you want to stay reachable.
  • +
  • CDN-only encrypted-post propagation. Direct PostPush for encrypted posts is removed; encrypted DMs look identical on the wire to any other encrypted post.
  • +
  • Flat per-file holder sets replace upstream/downstream trees. Each file tracks up to 5 most-recent peers it was exchanged with. Engagement diffs, manifest pushes, and delete notices all route through this holder set uniformly.
  • +
  • Merged pull with recipient-match. Pull queries contain a uniform list of NodeIds (follows + your own); server matches on post author OR wrapped-key recipient. Non-follower DMs now reach you via a normal pull cycle — no sender→recipient traffic signal.
  • +
  • Posting-key / network-key split. Content is signed with a dedicated posting key; the network endpoint uses a separate network key. Peers can no longer correlate posting identity to network traffic.
  • +
  • Multi-persona support. Hold multiple posting keys on one device; each peer sees distinct authors. Settings → Personas to create/manage; compose box picks which persona posts each item; feed has filter pills per persona.
  • +
  • pkarr default lookup suppressed. clear_address_lookup() + mDNS only; no implicit DNS publishing.
  • +
  • Schema: four legacy tables dropped (post_upstream, post_downstream, blob_upstream, blob_downstream); replaced with file_holders. One-way migration seeds the new table from the old ones on first launch. Also adds post_recipients index for merged pull, and posting_identities table for multi-persona.
  • +
+
v0.5.3-beta — April 19, 2026
  • Feed pagination — Cursor-based pagination (20 posts/page) with pre-fetch and infinite scroll. Batched engagement queries (3 SQL queries instead of 4 per post). Media loads only for visible posts via IntersectionObserver.