Skip to content

Commit 94446f2

Browse files
committed
Bump to v1.0.0, fix first-release notes flow, reorder site feature rows
- Bump app and Cask version to 1.0.0 - release.sh: allow first public release (no prior v* tag) instead of erroring; generate full-history notes when no prior tag exists - site: convert row 2 from hero card to 3-feature card (Watch folder, Custom sort rules, Multiple watch folders) matching row 1 format; move those three out of feature grid, leaving 7 features in the grid Made-with: Cursor
1 parent 9fbf177 commit 94446f2

4 files changed

Lines changed: 49 additions & 38 deletions

File tree

‎Binky.xcodeproj/project.pbxproj‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,7 @@
612612
CODE_SIGN_ENTITLEMENTS = Binky/Binky.entitlements;
613613
CODE_SIGN_STYLE = Automatic;
614614
COMBINE_HIDPI_IMAGES = YES;
615-
CURRENT_PROJECT_VERSION = 2.7.13;
615+
CURRENT_PROJECT_VERSION = 1.0.0;
616616
DEAD_CODE_STRIPPING = YES;
617617
DEVELOPMENT_TEAM = "";
618618
ENABLE_HARDENED_RUNTIME = NO;
@@ -625,7 +625,7 @@
625625
"$(inherited)",
626626
"@executable_path/../Frameworks",
627627
);
628-
MARKETING_VERSION = 2.7.13;
628+
MARKETING_VERSION = 1.0.0;
629629
PRODUCT_BUNDLE_IDENTIFIER = com.binky.app;
630630
PRODUCT_NAME = "$(TARGET_NAME)";
631631
SWIFT_EMIT_LOC_STRINGS = YES;
@@ -642,7 +642,7 @@
642642
CODE_SIGN_ENTITLEMENTS = Binky/Binky.entitlements;
643643
CODE_SIGN_STYLE = Automatic;
644644
COMBINE_HIDPI_IMAGES = YES;
645-
CURRENT_PROJECT_VERSION = 2.7.13;
645+
CURRENT_PROJECT_VERSION = 1.0.0;
646646
DEAD_CODE_STRIPPING = YES;
647647
DEVELOPMENT_TEAM = "";
648648
ENABLE_HARDENED_RUNTIME = NO;
@@ -655,7 +655,7 @@
655655
"$(inherited)",
656656
"@executable_path/../Frameworks",
657657
);
658-
MARKETING_VERSION = 2.7.13;
658+
MARKETING_VERSION = 1.0.0;
659659
PRODUCT_BUNDLE_IDENTIFIER = com.binky.app;
660660
PRODUCT_NAME = "$(TARGET_NAME)";
661661
SWIFT_EMIT_LOC_STRINGS = YES;

‎Casks/binky.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
cask "binky" do
2-
version "2.7.13"
2+
version "1.0.0"
33
# Refresh this checksum when publishing `Binky-{version}.zip` via `./release.sh`
44
# (a local ad-hoc build can produce a different hash than the signed release artifact).
55
sha256 "3d361184727bd7c2a3d192e1a843bc66057956a3d7ab43fe4fe0d6b7b117886f"

‎release.sh‎

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
# 4. Creates the DMG (+ zip for in-app updater), then updates Casks/binky.rb (version + sha256 of the zip) for Homebrew
1313
# 5. Commits, tags, pushes, and publishes the GitHub release
1414
#
15-
# Release notes are built from `git log $PREV_GIT_TAG..HEAD` (subjects only, chronological),
16-
# excluding the “Bump to v$VERSION” commit, so what ships on GitHub matches the repo. Edit the
17-
# release on GitHub afterward if you want prose or grouping; the list is the source of truth.
15+
# Release notes: if a previous `v*` tag exists, notes use `git log $PREV_GIT_TAG..HEAD` (subjects
16+
# only, chronological), excluding the “Bump to v$VERSION” commit. With **no** prior tag (first
17+
# public release), notes list the full repo history the same way. Edit the release on GitHub
18+
# afterward if you want prose or grouping.
1819
#
1920
# Commit all app/source changes before running: the tag must point at a tree that includes the full
2021
# app, not only version-string files.
@@ -115,8 +116,7 @@ fi
115116

116117
PREV_GIT_TAG=$(git tag -l 'v*' --sort=-version:refname | head -1 || true)
117118
if [ -z "$PREV_GIT_TAG" ]; then
118-
echo "✗ No previous v* tags found. Create at least one release tag first, or edit release.sh for your case."
119-
exit 1
119+
echo "→ No previous v* tags (treating this as first public release for release notes)."
120120
fi
121121

122122
# ── 3. Build ──────────────────────────────────────────────────────────────────
@@ -173,14 +173,22 @@ echo "→ Tagging and publishing release…"
173173
git tag "v$VERSION"
174174
git push origin "v$VERSION"
175175

176-
echo "→ Composing release notes from git ($PREV_GIT_TAG..HEAD, excluding version bump)…"
176+
if [ -n "$PREV_GIT_TAG" ]; then
177+
echo "→ Composing release notes from git ($PREV_GIT_TAG..HEAD, excluding version bump)…"
178+
else
179+
echo "→ Composing release notes from git (full history, excluding version bump)…"
180+
fi
177181
NOTES_FILE=$(mktemp)
178182
{
179183
echo "## Binky $VERSION"
180184
echo ""
181-
echo "Changes since **$PREV_GIT_TAG** (commit subjects from this repo):"
185+
if [ -n "$PREV_GIT_TAG" ]; then
186+
echo "Changes since **$PREV_GIT_TAG** (commit subjects from this repo):"
187+
else
188+
echo "First public release — commit subjects from this repo (chronological):"
189+
fi
182190
echo ""
183-
if git rev-parse "$PREV_GIT_TAG" >/dev/null 2>&1; then
191+
if [ -n "$PREV_GIT_TAG" ] && git rev-parse "$PREV_GIT_TAG" >/dev/null 2>&1; then
184192
LIST=$(git log --no-merges "$PREV_GIT_TAG"..HEAD --pretty=format:'%s' --reverse | grep -vFx "Bump to v$VERSION" || true)
185193
if [ -n "$LIST" ]; then
186194
echo "$LIST" | while IFS= read -r subject; do
@@ -189,8 +197,17 @@ NOTES_FILE=$(mktemp)
189197
else
190198
echo "- *(No commits listed besides the version bump — describe this release manually on GitHub if needed.)*"
191199
fi
192-
else
200+
elif [ -n "$PREV_GIT_TAG" ]; then
193201
echo "- **Warning:** git tag \`$PREV_GIT_TAG\` not found locally. Run \`git fetch --tags\` or edit release notes on GitHub."
202+
else
203+
LIST=$(git log --no-merges --pretty=format:'%s' --reverse | grep -vFx "Bump to v$VERSION" || true)
204+
if [ -n "$LIST" ]; then
205+
echo "$LIST" | while IFS= read -r subject; do
206+
[ -n "$subject" ] && echo "- $subject"
207+
done
208+
else
209+
echo "- *(No commit subjects found — describe this release manually on GitHub if needed.)*"
210+
fi
194211
fi
195212
echo ""
196213
echo "## Install"

‎site/index.html‎

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1748,16 +1748,26 @@ <h3>Stable-file gate</h3>
17481748
</div>
17491749
</div>
17501750

1751-
<!-- Row 2: Watch folder (hero) -->
1751+
<!-- Row 2: Profiles + watch folder -->
17521752
<div class="ss-row is-rev">
1753-
<div class="ss-card is-hero">
1754-
<div class="ss-hero-eyebrow">
1755-
<svg class="ss-hero-eyebrow-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z" /><path fill-rule="evenodd" d="M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z" clip-rule="evenodd" /></svg>
1756-
Watch folder
1753+
<div class="ss-card">
1754+
<div class="ss-card-features">
1755+
<div class="ss-card-feature">
1756+
<svg class="feature-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/><path fill-rule="evenodd" d="M1.323 11.447C2.811 6.976 7.028 3.75 12.001 3.75c4.97 0 9.185 3.223 10.675 7.69.12.362.12.752 0 1.113-1.487 4.471-5.705 7.697-10.677 7.697-4.97 0-9.186-3.223-10.675-7.69a1.762 1.762 0 0 1 0-1.113ZM17.25 12a5.25 5.25 0 1 1-10.5 0 5.25 5.25 0 0 1 10.5 0Z" clip-rule="evenodd"/></svg>
1757+
<h3>Watch folder</h3>
1758+
<p>New files show up, Binky notices, routes when they're done writing. Optional always-on; your call.</p>
1759+
</div>
1760+
<div class="ss-card-feature">
1761+
<svg class="feature-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M3.792 2.938A49.069 49.069 0 0 1 12 2.25c2.797 0 5.54.236 8.209.688a1.857 1.857 0 0 1 1.541 1.836v1.044a3 3 0 0 1-.879 2.121l-6.182 6.182a1.5 1.5 0 0 0-.439 1.061v2.927a3 3 0 0 1-1.658 2.684l-1.757.878A.75.75 0 0 1 9.75 21v-5.818a1.5 1.5 0 0 0-.44-1.06L3.13 7.938a3 3 0 0 1-.879-2.121V4.774c0-.897.64-1.683 1.542-1.836Z" clip-rule="evenodd"/></svg>
1762+
<h3>Custom sort rules</h3>
1763+
<p>Match by name, kind, size, or extension. Rename on the way, tag in Finder. Your rules run first.</p>
1764+
</div>
1765+
<div class="ss-card-feature">
1766+
<svg class="feature-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M19.5 21a3 3 0 0 0 3-3v-4.5a3 3 0 0 0-3-3h-15a3 3 0 0 0-3 3V18a3 3 0 0 0 3 3h15ZM1.5 10.146V6a3 3 0 0 1 3-3h5.379a2.25 2.25 0 0 1 1.59.659l2.122 2.121c.14.141.331.22.53.22H19.5a3 3 0 0 1 3 3v1.146A4.483 4.483 0 0 0 19.5 9h-15a4.483 4.483 0 0 0-3 1.146Z"/></svg>
1767+
<h3>Multiple watch folders</h3>
1768+
<p>Downloads is the obvious one. Add Desktop, screenshots folder, or wherever else the mess piles up.</p>
1769+
</div>
17571770
</div>
1758-
<h3 class="ss-card-hero-title">Quiets the mess right down</h3>
1759-
<p class="ss-card-hero-text">New files show up, Binky notices, then routes when they're done writing. Optional always-on; your call.</p>
1760-
<p class="ss-card-hero-text">Profiles set destination folders and Finder tags. Cloud-synced paths work once the file is fully on disk. <a href="#faq-watch-inbox">FAQ →</a></p>
17611771
</div>
17621772
<img src="screenshots/profiles.webp" alt="Binky profiles panel showing destination rules and watch folder settings" class="ss-screenshot" loading="lazy" />
17631773
</div>
@@ -1766,22 +1776,6 @@ <h3 class="ss-card-hero-title">Quiets the mess right down</h3>
17661776

17671777
<section class="features" id="features">
17681778

1769-
<div class="feature">
1770-
<svg class="feature-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
1771-
<path d="M19.5 21a3 3 0 0 0 3-3v-4.5a3 3 0 0 0-3-3h-15a3 3 0 0 0-3 3V18a3 3 0 0 0 3 3h15ZM1.5 10.146V6a3 3 0 0 1 3-3h5.379a2.25 2.25 0 0 1 1.59.659l2.122 2.121c.14.141.331.22.53.22H19.5a3 3 0 0 1 3 3v1.146A4.483 4.483 0 0 0 19.5 9h-15a4.483 4.483 0 0 0-3 1.146Z"/>
1772-
</svg>
1773-
<h3>Multiple watch folders</h3>
1774-
<p>Downloads is the obvious one. Add Desktop, screenshots folder, or wherever else the mess piles up.</p>
1775-
</div>
1776-
1777-
<div class="feature">
1778-
<svg class="feature-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
1779-
<path fill-rule="evenodd" d="M3.792 2.938A49.069 49.069 0 0 1 12 2.25c2.797 0 5.54.236 8.209.688a1.857 1.857 0 0 1 1.541 1.836v1.044a3 3 0 0 1-.879 2.121l-6.182 6.182a1.5 1.5 0 0 0-.439 1.061v2.927a3 3 0 0 1-1.658 2.684l-1.757.878A.75.75 0 0 1 9.75 21v-5.818a1.5 1.5 0 0 0-.44-1.06L3.13 7.938a3 3 0 0 1-.879-2.121V4.774c0-.897.64-1.683 1.542-1.836Z" clip-rule="evenodd"/>
1780-
</svg>
1781-
<h3>Custom sort rules</h3>
1782-
<p>Send client files to client folders. Screenshots to a screenshots folder. Receipts to receipts. Match by name, kind, size, or extension; rename on the way; tag in Finder. Your rules run first.</p>
1783-
</div>
1784-
17851779
<div class="feature">
17861780
<svg class="feature-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true">
17871781
<path fill-rule="evenodd" d="M10.5 3.75a6.75 6.75 0 1 0 0 13.5 6.75 6.75 0 0 0 0-13.5ZM2.25 10.5a8.25 8.25 0 1 1 14.59 5.28l4.69 4.69a.75.75 0 1 1-1.06 1.06l-4.69-4.69A8.25 8.25 0 0 1 2.25 10.5Z" clip-rule="evenodd"/>

0 commit comments

Comments
 (0)