Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .github/workflows/release-admin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,15 @@ jobs:
echo "admin-frontend/sapot-admin/package.json ($SRC) != tag ($VERSION). Run ./scripts/release.sh before tagging." >&2
exit 1
fi
- name: Extract notes from the annotated tag
- name: Generate release notes
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
run: |
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
if [[ -n "${GEMINI_API_KEY:-}" ]]; then
scripts/generate_release_notes.sh "$GITHUB_REF_NAME" notes.md
else
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
fi
[ -s notes.md ] || { echo "notes.md is empty — is '$GITHUB_REF_NAME' an annotated tag?" >&2; exit 1; }
- name: Create GitHub release
env:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/release-bundle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ jobs:
fetch-depth: 0

- name: Validate tag and release metadata
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
run: |
git fetch --no-tags origin \
"+refs/tags/$GITHUB_REF_NAME:refs/tags/$GITHUB_REF_NAME" \
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/release-gsm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,15 @@ jobs:
echo "GSM-arduino-actual-code.ino FIRMWARE_VERSION ($FW_SRC) != tag ($VERSION). Run ./scripts/release.sh before tagging." >&2
exit 1
fi
- name: Extract notes from the annotated tag
- name: Generate release notes
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
run: |
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
if [[ -n "${GEMINI_API_KEY:-}" ]]; then
scripts/generate_release_notes.sh "$GITHUB_REF_NAME" notes.md
else
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
fi
[ -s notes.md ] || { echo "notes.md is empty — is '$GITHUB_REF_NAME' an annotated tag?" >&2; exit 1; }
- name: Create GitHub release
env:
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/release-mobile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,15 @@ jobs:
echo "package.json version ($PKG) != tag ($VERSION). Run ./scripts/release.sh before tagging." >&2
exit 1
fi
- name: Extract notes from the annotated tag
- name: Generate release notes
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
run: |
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
if [[ -n "${GEMINI_API_KEY:-}" ]]; then
scripts/generate_release_notes.sh "$GITHUB_REF_NAME" notes.md
else
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
fi
[ -s notes.md ] || { echo "notes.md is empty — is '$GITHUB_REF_NAME' an annotated tag?" >&2; exit 1; }
- name: Create GitHub release
env:
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/release-portal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,15 @@ jobs:
echo "captive-portal/VERSION ($SRC) != tag ($VERSION). Run ./scripts/release.sh before tagging." >&2
exit 1
fi
- name: Extract notes from the annotated tag
- name: Generate release notes
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
run: |
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
if [[ -n "${GEMINI_API_KEY:-}" ]]; then
scripts/generate_release_notes.sh "$GITHUB_REF_NAME" notes.md
else
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
fi
[ -s notes.md ] || { echo "notes.md is empty — is '$GITHUB_REF_NAME' an annotated tag?" >&2; exit 1; }
- name: Create GitHub release
env:
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/release-server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,15 @@ jobs:
echo "app/version.py ($SRC) != tag ($VERSION). Run ./scripts/release.sh before tagging." >&2
exit 1
fi
- name: Extract notes from the annotated tag
- name: Generate release notes
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
run: |
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
if [[ -n "${GEMINI_API_KEY:-}" ]]; then
scripts/generate_release_notes.sh "$GITHUB_REF_NAME" notes.md
else
git tag -l --format='%(contents)' "$GITHUB_REF_NAME" > notes.md
fi
[ -s notes.md ] || { echo "notes.md is empty — is '$GITHUB_REF_NAME' an annotated tag?" >&2; exit 1; }
- name: Create GitHub release
env:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ captive-portal/config.js
.bundle-build.*
dist/
docs/superpowers/
/scripts/generate_release_notes.sh
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,31 @@ git-cliff --tag-pattern '^mobile/v' --include-path 'mobile-app/**' -o CHANGELOG.

---

## bundle/v0.2.0 — 2026-08-18

**Features**

- **GSM port management:** Added scripts to update the Arduino serial port and automatically restart the GSM API.

---

## mobile/v0.11.0 — 2026-08-18

**Fixes**

- Safely clear user state on logout (#382). Resolves a crash that occurred when background components or UI views attempted to read the user ID of a logged-out user. A new `hasUser` safety guard was added across all chat, map, and debug views, and the UserStore now correctly clears all internal state upon logout.

---

## bundle/v0.1.0 — 2026-08-18

**Features**

- **GSM auto-detection (install):** Automatically detects connected GSM Arduino ports and presents an interactive selection menu during installation (`install.sh`), replacing the manual boolean prompt. The selected port is automatically synchronized to `gsm-arduino.env` and `gsm-fastapi.env`.
- **GSM upgrade prompt (upgrade):** Added an interactive prompt to `upgrade.sh` to auto-detect the GSM Arduino port if upgrading from bundle versions older than 0.0.8 and GSM hardware isn't already configured.

---

## server/v0.0.2-beta.1 — 2026-06-26

First tagged server release. All commits represent the initial release of the server component.
Expand Down
6 changes: 5 additions & 1 deletion scripts/validate_bundle_release_ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ version=${tag#bundle/v}
if [[ "$version" != *-* ]]; then
git merge-base --is-ancestor "$tag_commit" "$main_ref" || { echo "Stable bundle tags must point to a commit on main." >&2; exit 1; }
fi
git for-each-ref --format='%(contents)' "refs/tags/$tag" > "$notes_file"
if [[ -n "${GEMINI_API_KEY:-}" ]]; then
scripts/generate_release_notes.sh "$tag" "$notes_file"
else
git for-each-ref --format='%(contents)' "refs/tags/$tag" > "$notes_file"
fi
[[ -s "$notes_file" ]] || { echo "Release notes are empty. Use an annotated bundle tag." >&2; exit 1; }
printf '%s\n' "$tag_commit"
Loading