Releases: Fre0Grella/getsetmix
v1.2.0
v1.2.0 (2026-06-16)
Chores
- Trigger release pipeline (
06f9ad1)
Continuous Integration
- Automate semantic versioning and enforce Conventional Commits (
345c1de)
Releases are now driven by Conventional Commits on main instead of manual tags. python-semantic-release reads the commit history and bumps the version (fix -> patch, feat -> minor, breaking -> major), tags vX.Y.Z, creates the GitHub Release, and builds the executables + versioned images in one run.
- pyproject.toml: python-semantic-release config; single version source in app/init.py (version), wired into FastAPI - release.yml: consolidated version -> executables -> versioned images, no PAT needed (self-contained run; release commit carries [skip ci]) - docker-publish.yml: now main-only (latest/main/sha); versioned tags moved to release.yml - commitlint.yml + commitlint.config.js + .pre-commit-config.yaml: make Conventional Commits mandatory in CI and locally (commit-msg hook) - docs + test for the version wiring
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Sign semantic-release commits to satisfy signed-commit protection (
281a846)
main has branch protection requiring verified signatures, which rejected the release bot's unsigned version-bump push. Configure python-semantic-release to SSH-sign its commit using a signing key on the owner account, supplied via the SSH_SIGNING_PRIVATE_KEY / SSH_SIGNING_PUBLIC_KEY repo secrets. Setup steps added to the README.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Features
- Share to GetSetMix from YouTube/SoundCloud via PWA share target (
1496657)
Make GetSetMix installable as a PWA with a Web Share Target so a track can be shared straight from the YouTube/SoundCloud Android share sheet: the link is fetched and lands staged in the existing review/download UI.
- main.py: serve /manifest.webmanifest, /sw.js, and the /share landing
- manifest + minimal (no-cache) service worker; 192/512 maskable icons
generated by scripts/fix_icon.py - app.js: register SW, consumeShare() extracts the first URL from the shared
text and reuses the paste flow; new row scrolls into view and flashes - k8s: TLS Ingress example (HTTPS is required for PWA install)
- docs + tests for the new routes
Android only -- iOS Safari has no Web Share Target API.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Detailed Changes: v1.1.1...v1.2.0
v1.1.1
Standalone local app mode builds — no Python required.
ffmpeg must be on your PATH (winget install ffmpeg / brew install ffmpeg / apt install ffmpeg).
Run the binary and the UI opens at http://127.0.0.1:8765 (data is kept in ~/.getsetmix).
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Standalone local app mode builds — no Python required.
ffmpeg must be on your PATH (winget install ffmpeg / brew install ffmpeg / apt install ffmpeg).
Run the binary and the UI opens at http://127.0.0.1:8765 (data is kept in ~/.getsetmix).
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Standalone local app mode builds — no Python required.
ffmpeg must be on your PATH (winget install ffmpeg / brew install ffmpeg / apt install ffmpeg).
Run the binary and the UI opens at http://127.0.0.1:8765 (data is kept in ~/.getsetmix).
What's Changed
- feat: Add staging UI and development mode by @Fre0Grella in #8
New Contributors
- @Fre0Grella made their first contribution in #8
Full Changelog: https://github.com/Fre0Grella/getsetmix/commits/v1.0.0