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
8 changes: 7 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,10 @@
# VITE_FORCE_UPDATE_DEV_MODE=false

# Update endpoint for testing (optional)
# VITE_UPDATE_ENDPOINT=http://localhost:8080/latest.json
# VITE_UPDATE_ENDPOINT=http://localhost:8080/latest.json

# Tauri updater signing configuration
# Path to your private key for signing updates
# TAURI_SIGNING_PRIVATE_KEY=/path/to/your/private.key
# Password for your private key (if applicable)
# TAURI_SIGNING_PRIVATE_KEY_PASSWORD='your_password_here'
69 changes: 47 additions & 22 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,54 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### 0.2.1 (2025-04-17)
## 0.3.1 (2025-04-20)

### Features

* build(deps-dev): bump typescript from 5.6.3 to 5.8.3 by @dependabot in https://github.com/devbyray/circle-camera/pull/4
* Fix/release action by @devbyray in https://github.com/devbyray/circle-camera/pull/21
* Fix/release pipeline by @devbyray in https://github.com/devbyray/circle-camera/pull/22
* Docs/v0.3.1 update by @devbyray in https://github.com/devbyray/circle-camera/pull/23
* Feature/improve update and signing by @devbyray in https://github.com/devbyray/circle-camera/pull/24

**Full Changelog**: https://github.com/devbyray/circle-camera/compare/v0.3.0...v0.3.1

## 0.3.0 (2025-04-18)

### Features

* update download section with version 0.2.0 and new DMG link by @devbyray in https://github.com/devbyray/circle-camera/pull/9

* Docs/update v0.2.0 download by @devbyray in https://github.com/devbyray/circle-camera/pull/10
* Devbyray/issue6 by @devbyray in https://github.com/devbyray/circle-camera/pull/14
* Fix release action by @devbyray in https://github.com/devbyray/circle-camera/pull/16
* Devbyray/issue15 by @devbyray in https://github.com/devbyray/circle-camera/pull/17
* Fix/ts build error by @devbyray in https://github.com/devbyray/circle-camera/pull/18
* Merge branch 'main' into fix/fix-build-pipeline by @devbyray in https://github.com/devbyray/circle-camera/pull/19
* Fix/fix build pipeline by @devbyray in https://github.com/devbyray/circle-camera/pull/20

**Full Changelog**: https://github.com/devbyray/circle-camera/compare/0.2.0...v0.3.0

## 0.2.0-windows-pre (2025-04-14)

### Features

* [#6](https://github.com/devbyray/circle-camera/issues/6) add .env.example for environment variable configuration and update .gitignore to include .env file ([8df4497](https://github.com/devbyray/circle-camera/commit/8df44971c15c050f6125d3c5854ff60e3a94bb80))
* [#6](https://github.com/devbyray/circle-camera/issues/6) add GitHub Actions workflow for automated build and release process ([f4f1fff](https://github.com/devbyray/circle-camera/commit/f4f1fff2e1215ff31ec079d0f397f23a6662a474))
* [#6](https://github.com/devbyray/circle-camera/issues/6) add update overlay component and integrate update handling in WebcamContainer ([dd57510](https://github.com/devbyray/circle-camera/commit/dd57510c819fc39f2a47011ce29038bc5add3dcb))
* [#6](https://github.com/devbyray/circle-camera/issues/6) enhance UpdateChecker component with simulated update version generation and improved TypeScript typing ([ea18f34](https://github.com/devbyray/circle-camera/commit/ea18f340551b9bc0252be39f541bdf6a697415a8))
* [#6](https://github.com/devbyray/circle-camera/issues/6) implemented basic update meganism with Tauri ([5e32c82](https://github.com/devbyray/circle-camera/commit/5e32c82de3674d7002ba18921ede229e68d2b84f))
* add window drag functionality and close command integration ([5b47e1e](https://github.com/devbyray/circle-camera/commit/5b47e1e5b1a28cd3371b41f68cb8cdd9484eb5e4))
* enhance documentation and setup instructions for Windows and MacOS; add Product Hunt links and recommendations ([d934943](https://github.com/devbyray/circle-camera/commit/d934943acf5bff6251dfb79d8f1db53a00b4d20c))
* enhance GitHub Actions workflow with Rust toolchain installation and caching for PNPM ([a301773](https://github.com/devbyray/circle-camera/commit/a301773cb6b6df010d41c904d75b4812ff553191))
* enhance window drag functionality and update permissions in configuration ([ee8bec2](https://github.com/devbyray/circle-camera/commit/ee8bec2dd24e707ea8a01d98220497ce65326d89))
* initialize Circle Camera Tauri application with camera access ([bf3e2cf](https://github.com/devbyray/circle-camera/commit/bf3e2cfcaed5bc9bf966fc01d3a74508ceb584a4))
* initialize Circle Camera Tauri application with camera functionality ([f46adb5](https://github.com/devbyray/circle-camera/commit/f46adb57e8eafeb646af097ba2394ea24e696da5))
* remove Windows build steps and assets from release workflow as Windows is not officially supported ([5123e92](https://github.com/devbyray/circle-camera/commit/5123e9247a032e440eda2878967ab6505fcfcc9c))
* update .gitignore to include installers directory and enhance README with installation and development instructions ([6e2c996](https://github.com/devbyray/circle-camera/commit/6e2c9965651d965be47e4fbc36b348147ff8cf85))
* update download section with version 0.2.0 and new DMG link ([#9](https://github.com/devbyray/circle-camera/issues/9)) ([433bd74](https://github.com/devbyray/circle-camera/commit/433bd74afa60cf26e53cf4e48462ccbaeb0e7c85))
* update license to EUPL and add Vercel analytics integration ([#1](https://github.com/devbyray/circle-camera/issues/1)) ([ce24ab0](https://github.com/devbyray/circle-camera/commit/ce24ab055054c266d6e6cf8fe0e7b693537e1052))


### Bug Fixes

* [#6](https://github.com/devbyray/circle-camera/issues/6) dynamically determine development mode for update simulation ([5c9837a](https://github.com/devbyray/circle-camera/commit/5c9837ac4f057c74438f40717a14f8669ed3d54e))
* correct image path in features documentation ([5ee911d](https://github.com/devbyray/circle-camera/commit/5ee911d46b75b4eb924da1eda8f7cd4990cf4f5f))
* update download section with version 0.2.0 and new DMG link by @devbyray in https://github.com/devbyray/circle-camera/pull/9

* Docs/update v0.2.0 download by @devbyray in https://github.com/devbyray/circle-camera/pull/10

**Full Changelog**: https://github.com/devbyray/circle-camera/compare/0.2.0...0.2.0-windows-pre

## 0.2.0 (2025-04-10)

### Features

* update license to EUPL and add Vercel analytics integration by @devbyray in https://github.com/devbyray/circle-camera/pull/1

* Feature/2 themingbranding options by @devbyray in https://github.com/devbyray/circle-camera/pull/8

**Full Changelog**: https://github.com/devbyray/circle-camera/compare/0.1.0...0.2.0

## 0.1.0 (2025-04-07)

**Full Changelog**: https://github.com/devbyray/circle-camera/commits/0.1.0
127 changes: 127 additions & 0 deletions scripts/update-changelog.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
#!/bin/bash

# Script to update CHANGELOG.md with the latest GitHub releases
# Usage: ./scripts/update-changelog.sh

set -e

# Repository information
REPO_OWNER="devbyray"
REPO_NAME="circle-camera"

# File paths
CHANGELOG_FILE="CHANGELOG.md"
TEMP_FILE="/tmp/changelog_temp.md"

echo "Fetching latest releases from GitHub..."

# Get all releases from GitHub in a more detailed format that's easier to parse
LATEST_RELEASES=$(gh release list --repo ${REPO_OWNER}/${REPO_NAME} --limit 10 --json tagName,publishedAt,name,isLatest)

if [ $? -ne 0 ]; then
echo "Error: Failed to fetch releases from GitHub. Make sure you're authenticated with 'gh auth login'."
exit 1
fi

# Create the header of the CHANGELOG
cat > $TEMP_FILE << EOF
# Changelog

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

EOF

# Sort releases by publishedAt in descending order (newest first)
echo "$LATEST_RELEASES" | jq 'sort_by(.publishedAt) | reverse' > /tmp/sorted_releases.json

# Process each release from the sorted JSON output
cat /tmp/sorted_releases.json | jq -c '.[]' | while read -r release; do
# Extract tag name and published date from the JSON
TAG=$(echo $release | jq -r '.tagName')
PUBLISHED_AT=$(echo $release | jq -r '.publishedAt')

# Format the date to a more readable format (YYYY-MM-DD)
DATE=$(date -u -j -f "%Y-%m-%dT%H:%M:%SZ" "$PUBLISHED_AT" "+%Y-%m-%d" 2>/dev/null || echo "$PUBLISHED_AT")

# Extract version number without the 'v' prefix for the CHANGELOG if it exists
VERSION=${TAG#v}

if [ -n "$TAG" ]; then
echo "Processing release $VERSION (tag: $TAG) from $DATE"

# Write version header to temp file
echo "## $VERSION ($DATE)" >> $TEMP_FILE
echo -e "\n" >> $TEMP_FILE

# Get detailed release information including body content
RELEASE_BODY=$(gh release view "$TAG" --repo ${REPO_OWNER}/${REPO_NAME} --json body -q '.body')

if [ $? -ne 0 ] || [ -z "$RELEASE_BODY" ] || [ "$RELEASE_BODY" == "null" ]; then
echo "No release notes found for $TAG" >&2
continue
fi

# Process features section
if [[ "$RELEASE_BODY" == *"### Features"* ]] || [[ "$RELEASE_BODY" == *"feat:"* ]] || [[ "$RELEASE_BODY" == *"Features"* ]]; then
echo "### Features" >> $TEMP_FILE
echo -e "\n" >> $TEMP_FILE

# Try different patterns to extract feature content
if [[ "$RELEASE_BODY" == *"### Features"* ]]; then
# Extract content between ### Features and the next heading
FEATURES=$(echo "$RELEASE_BODY" | sed -n '/### Features/,/^###/p' | sed '1d;/^###/d')
echo "$FEATURES" >> $TEMP_FILE
elif [[ "$RELEASE_BODY" == *"feat:"* ]]; then
# Extract lines containing feat:
echo "$RELEASE_BODY" | grep -E '^\* feat:|^- feat:' | sed 's/^\* feat:/*/g' | sed 's/^- feat:/*/g' >> $TEMP_FILE
fi

echo -e "\n" >> $TEMP_FILE
fi

# Process bug fixes section
if [[ "$RELEASE_BODY" == *"### Bug Fixes"* ]] || [[ "$RELEASE_BODY" == *"fix:"* ]] || [[ "$RELEASE_BODY" == *"Bug Fixes"* ]]; then
echo "### Bug Fixes" >> $TEMP_FILE
echo -e "\n" >> $TEMP_FILE

# Try different patterns to extract bugfix content
if [[ "$RELEASE_BODY" == *"### Bug Fixes"* ]]; then
# Extract content between ### Bug Fixes and the next heading
BUGFIXES=$(echo "$RELEASE_BODY" | sed -n '/### Bug Fixes/,/^###/p' | sed '1d;/^###/d')
echo "$BUGFIXES" >> $TEMP_FILE
elif [[ "$RELEASE_BODY" == *"fix:"* ]]; then
# Extract lines containing fix:
echo "$RELEASE_BODY" | grep -E '^\* fix:|^- fix:' | sed 's/^\* fix:/*/g' | sed 's/^- fix:/*/g' >> $TEMP_FILE
fi

echo -e "\n" >> $TEMP_FILE
fi

# Check for pull requests in the body that don't already include feature or bugfix markers
if [[ "$RELEASE_BODY" == *"by @"* ]]; then
# Extract pull request lines that aren't already captured in Features or Bug Fixes sections
PR_CONTENT=$(echo "$RELEASE_BODY" | grep "by @" | grep -v "Full Changelog" | grep -v "feat:" | grep -v "fix:")
if [ -n "$PR_CONTENT" ]; then
echo "$PR_CONTENT" >> $TEMP_FILE
echo -e "\n" >> $TEMP_FILE
fi
fi

# Check for changelog URL
if [[ "$RELEASE_BODY" == *"Full Changelog"* ]]; then
# Extract the full changelog line
CHANGELOG_URL=$(echo "$RELEASE_BODY" | grep "Full Changelog")
echo "$CHANGELOG_URL" >> $TEMP_FILE
echo -e "\n" >> $TEMP_FILE
fi
fi
done

# Remove duplicate empty lines
cat $TEMP_FILE | sed '/^$/N;/^\n$/D' > "${TEMP_FILE}.clean"
mv "${TEMP_FILE}.clean" $TEMP_FILE

# Replace original CHANGELOG with new one
mv $TEMP_FILE $CHANGELOG_FILE

echo "CHANGELOG.md has been updated with the latest releases."