Skip to content

Releases: raytfitzgerald/CrankHog

CrankHog v0.6.1

Choose a tag to compare

@github-actions github-actions released this 11 Oct 20:49

If you upgraded to 0.6.0 and your rides vanished, they are not gone. This
release gets them back, and nothing needs doing by hand.

The rides 0.6.0 left behind

0.6.0 renamed ~/Library/Application Support/FreeGaz to …/CrankHog on first
launch, so every ride, workout, route and setting would come across. It never
did. The app opened on an empty profile and looked, reasonably, like it had
thrown away years of riding.

Nothing was deleted. The old folder sat exactly where it was the whole time —
the code that moves it refuses rather than risk merging two profiles, and that
refusal is what saved it. 0.6.1 does the move properly, on the next launch,
and your history comes back.

Your exported FIT files were never affected: ~/Documents/FreeGaz moved to
~/Documents/CrankHog correctly in 0.6.0.

If you already copied the folder across by hand, 0.6.1 finds the profile where
it expects it and leaves everything alone.

Sir Loin is off the icon

The app icon is the velodrome on its own now: white boards, the four lines, the
blue infield, and nobody on the track. He was on the top straight, which worked
at 1024 px and turned to porridge at the 16 px the Dock and the menu bar
actually use.

He has not gone anywhere else. He still laps the velodrome on Home, still races
you down a route, still trots along the verge getting overtaken.

The Mac icon, the iPhone icon and the phone web app's icons are all drawn from
the same source, so they changed together.

Everything else

No changes to riding, recording, workouts, the builder, routes, FTP tests, FIT
export, Strava, intervals.icu or the coaches.

CrankHog v0.6.0

Choose a tag to compare

@github-actions github-actions released this 11 Oct 20:22

Install 0.6.1 instead. On this version the first launch failed to carry your rides over from FreeGaz and opened on an empty profile. Nothing was deleted — 0.6.1 moves them properly.

FreeGaz is now CrankHog. Same app, same rides, new name — and a hog.

The new name

Everything you see has changed: the wordmark, the app icon, the Mac app itself
(CrankHog.app), the phone app, and the site, now at
crankhog.app.

Your rides are safe and you don't have to do anything. The first time 0.6.0
starts it moves ~/Library/Application Support/FreeGaz to …/CrankHog and
~/Documents/FreeGaz/Rides to ~/Documents/CrankHog/Rides, and carries on.
Under the hood the database keeps its old name on purpose, so every ride,
workout, route and setting comes across untouched.

If you had both versions installed at once, CrankHog leaves the old FreeGaz
folder exactly where it is rather than trying to merge the two, and uses the new
one. Nothing is deleted either way.

If you ride the phone app from a home screen

The web app moved with the name, from raytfitzgerald.github.io/FreeGaz to
raytfitzgerald.github.io/CrankHog.

This is the one thing you have to do by hand. If you added the old address
to your home screen, that icon points at the old path: open the new one and add
it again, then delete the old icon. Your rides are not affected — they are
stored against the site, not the path — but the old icon will not find the app.

Nothing to do if you use the Mac app, the App Store app, or just a browser tab.

Meet Sir Loin

There is a hog now. He is the mascot, he is faster than you, and he has never
been FTP tested.

  • He laps the velodrome on Home, up on the stayers' line, every week.
  • On a week you haven't ridden, he has the whole track to himself, and your
    coach has opinions about that.
  • He races you the whole way down a route. His pace wanders either side of
    your FTP, so the lead changes hands: get clear and he chases, and he is
    quicker when he is cross. He cannot get more than 450 m up the road, because
    past that he stops and waits where you can see him. The gap reads out over
    the road ahead, and he rides into the ride-along whenever you close on him.
  • He turns up every minute or two, doing something about the road. He grinds
    up a wall in the big ring, tucks down a descent and vanishes, pulls a wheelie
    for no reason, sits on your wheel and then gets bored. Push over your FTP and
    he applauds from the verge. Soft pedal and he has a lie down, or holds up a
    sign, or stops for a sandwich. Occasionally he rides into a hedge on purpose.
  • He trots along the verge behind the ride-along, on foot, getting overtaken.
    It is the only time you beat him.
  • He is on the app icon, on the top straight.

With Reduce Motion turned on he stops moving: whatever he is doing still gets
its line, as a quiet status message, and he doesn't trot through the background
at all.

Miles by default

New installs now start in miles, feet and pounds. If you already use
CrankHog, nothing changes
— whatever you had stays, including if you never
opened the Units setting at all. Change it any time in Settings → Units,
and speed and weight can still each differ from the rest (miles and kilograms,
if that's you).

Somewhere to ride

The ride-along now rides through country instead of across a blank panel: hills
on the horizon, trees and telegraph poles, a barn, birds, and a field of hogs
who are not interested in your ride. Each layer drifts at its own distance, so
the road has depth, and it all speeds up and slows down with you.

A distance board goes past every kilometre — or mile, if that's your setting —
counting the ride's own distance.

Reduce Motion holds the lot still.

CrankHog on your iPhone

There is a real iPhone app now, on the App Store, and it drives the trainer.
No browser can speak Bluetooth on iOS, so this one is a native shell around the
same app, talking to your trainer and strap over CoreBluetooth directly.
Remembered devices reconnect by themselves.

Rides record and export the same way they do on the Mac. FIT files land in
Files → On My iPhone → CrankHog, backups and workouts go out through the
share sheet, and the screen stays awake while you ride.

It is iPhone-only for this first release, and it ships the eight character
coaches rather than all ten: App Review takes a dim view of caricatures built
from photographs of real politicians, so The Donald and Bibi stay on the Mac
and the web. If you restore a backup that was set to one of them, the app quietly
falls back to a coach it has.

Try it without a trainer

Devices → Try demo mode connects a simulated trainer and heart-rate strap,
so you can ride the whole app with nothing clipped in — useful on a train, and
useful for anyone who wants a look before buying hardware. It is also on the
ride screen, next to Connect devices. Rides recorded in demo mode are flagged
simulated, exactly like the Mac's simulator, so they never upload and never
count towards your fitness.

It stays on until you turn it off from the same card.

Journeys roll downhill again

With journeys on, a missing power reading freewheels the way a real road does:
you roll to a stop on the flat and pick up speed on a descent, instead of
stopping dead. Pausing the ride still holds the dot still and reads zero.

Everything else

No changes to recording, workouts, the builder, FTP tests, FIT export, Strava
or intervals.icu.

FreeGaz v0.5.1

FreeGaz v0.5.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 22:10
305a4c6

Signed and notarized for Apple Silicon Macs. On 0.5.0, FreeGaz updates itself: it installs the next time you quit, or straight away from Restart to update in the sidebar. Coming from 0.4.0 or earlier, download it from freegaz.app and drag it over the old one.

Contribute to the developer's bike fund

FreeGaz is free and always will be. If it saved you a subscription, you can now put a little toward the developer's next bike, through Venmo or Buy Me a Coffee:

  • In the sidebar, a small Bike fund link under Report a bug (on a phone, it's in More).
  • In Settings → About, a Bike fund row.

Each button opens the tip page in your browser. It's entirely optional, and it unlocks nothing.

Still to confirm on real hardware

This is the first full in-app update (0.5.0 → 0.5.1). Pairing and auto-reconnect with a KICKR and HR strap, Strava OAuth with your own app, and the music shortcuts on the signed build. Power pedals, CORE, Moxy and the Headwind are tested against simulators only. If something's off, use Report a bug.

FreeGaz v0.5.0

FreeGaz v0.5.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 21:21
bf8bd84

Signed and notarized for Apple Silicon Macs. Open the DMG, drag FreeGaz to Applications, and click Open at the usual "downloaded from the Internet" prompt.

FreeGaz now updates itself

This is the last version you'll need to download by hand. From here on, FreeGaz keeps itself up to date:

  • It checks GitHub's releases a little after launch and every six hours, and downloads a new version in the background.
  • Nothing restarts on its own. The update installs the next time you quit, or straight away from Restart to update in the sidebar. That notice is hidden during a ride.
  • Settings → About → Updates shows the status and has Check for updates. There's also a switch to turn automatic updates off, and one for pre-releases (every 0.x release is one).
  • The check only asks GitHub which release is newest. It sends nothing about you or your rides.

Coming from 0.4.0 or earlier? Download this version from freegaz.app and drag it over the old one. Your rides and settings stay. Coming from 0.3.0 or earlier, macOS also asks once more for Bluetooth and for "FreeGaz Safe Storage" in the keychain; choose Always Allow.

Still to confirm on real hardware

Pairing and auto-reconnect with a KICKR and HR strap, Strava OAuth with your own app, and the music shortcuts on the signed build. The first full in-app update will be 0.5.0 → 0.5.1. Power pedals, CORE, Moxy and the Headwind are tested against simulators only. If something's off, use Report a bug.

FreeGaz v0.4.0

FreeGaz v0.4.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Oct 20:38
1364d7c

Signed and notarized for Apple Silicon Macs. This is the first release signed with a Developer ID and notarized by Apple. Open the DMG, drag FreeGaz to Applications, and click Open at the usual "downloaded from the Internet" prompt. There's no Privacy & Security step any more.

Coming from 0.3.0 or earlier? The app now has a new code identity, so macOS asks once more for Bluetooth, and once to let FreeGaz read "FreeGaz Safe Storage" in your keychain. Choose Always Allow. Your rides, settings and saved keys carry over.

What's new since 0.3.0

Journeys

  • Go somewhere. Turn on Journeys (Settings → Journeys) and every free ride or workout happens somewhere real. Get dropped at a famous start, or take on a trip that lasts weeks: Land's End to John o' Groats, the Danube, the Pacific Coast, Route 66, coast to coast, Tokyo to Hiroshima. Each ride carries on where the last one stopped.
  • Your watts move you along the real road through the same physics as route rides, hills included. No power, no progress.
  • A mini map on the ride screen, with today's trail, the whole journey, towns and summits. It's drawn on the Mac, with no map tiles.
  • Strava draws the map. Journey and route rides write GPS into the FIT file, and stay virtual rides.

Workouts

  • Eight rude workouts under the Fun filter, where the power chart is the joke: The Bird, Both Barrels, Mount Stupid, Stairway to Hell, Shit Show, Sawtooth Motherfucker, Market Crash and Liar Liar. The cues swear, bleeped to match your profanity setting.
  • New workout tiles: interval time left, power with its target and range, cadence with its target, and heart rate.
  • Import into plan on the Training plan tab files workouts straight into the plan, in file-name order.

Strava

  • Ride moments. Every ride saves two pictures next to its FIT file: your hardest 30 seconds, and a coach line in its speech bubble. Copy one and paste it into the Strava post.
  • The saved-ride card says why a ride wasn't sent to Strava (too short, auto-upload off, not connected, no FIT file).

On your phone

Fixes

  • ERG holds the target from a standing start. The spiral-of-death guard tripped at the start of every ride and didn't give the load back until 70 rpm. It now arms once you're pedalling, trips below 45 rpm for 4 s and recovers at 55 rpm for 3 s.
  • A journey ride with no power reading no longer shows speed or distance, and a paused ride shows 0 speed.
  • intervals.icu .txt imports take the file's name, no longer "Untitled workout".
  • E2E test runs no longer write FIT files into your real Rides folder.

Still to confirm on real hardware

Pairing and auto-reconnect with a KICKR and HR strap on the signed build, Strava OAuth with your own app, and the music shortcuts under the hardened runtime. Power pedals, CORE, Moxy and the Headwind are tested against simulators only. If something's off, use Report a bug.

FreeGaz v0.3.0

FreeGaz v0.3.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 22:32
237add7

Ad-hoc signed, un-notarized build for Apple Silicon Macs. On first launch, right-click FreeGaz.app → Open, or run xattr -dr com.apple.quarantine /Applications/FreeGaz.app (see the README's Install section).

What's new since 0.2.0

Riding

  • Pick a ride. A big Ride button tops the sidebar, and the Ride tab asks what kind of ride: for time, free ride, route or workout, with the trainer and heart-rate status up front.
  • Ride for time. 20 to 90 minutes (or any length), the trainer holding a steady wattage or your own pace, with an optional ease in and out.
  • The ride-along. Your coach bikes next to you on a little road, pacing at your target, and says their lines in a speech bubble. Fold it or turn it off; mute the coach from the ride screen.

Coaching

  • Profanity in three levels: Clean, Mild and Unhinged (with 188 new unhinged lines). Spice 5 is now called Feral.
  • Cartoon faces for the eight character coaches.
  • The coach chat answers in character, at your spice and profanity levels. Grok (xAI) joins Claude, OpenAI and Ollama.

Home, history and workouts

  • Home is a velodrome: this week's rides lap the track, your coach shouts from the infield, and before your first ride of the week a rival coach does laps instead.
  • Your name and photo put your own face on your rider.
  • Fitness overview: a plain-English read of your fitness, with Ask the coach.
  • History calendar: a month at a time, alongside the list.
  • Workouts in three tabs: FreeGaz workouts, Custom workouts and a numbered, reorderable Training plan. The builder files new workouts in either.
  • Speed and weight units of their own (km/h or mph, kg or lb).
  • Report a bug from the sidebar opens a pre-filled GitHub issue.

Fixes

  • Settings changes no longer reset other settings (Light mode flipping back to System).
  • Body & heart numbers (and FTP) can be edited again, and quick edits no longer overwrite each other.
  • Pause-and-resume within a second no longer stops recording; a double click on Start no longer starts two rides.
  • A failed save offers the ride for recovery straight away; the journal writes its last records before closing; recovered rides keep their HR zones.
  • Rides started after the Mac slept are dated correctly.
  • Very long route or workout names no longer make a ride unsaveable.
  • The ride detail page copes with incomplete ride records.

Still to confirm on real hardware

Pairing and auto-reconnect with a KICKR and HR strap, ERG and SIM feel, Strava OAuth with your own app, and the macOS permission prompts on the installed DMG. Power pedals, CORE, Moxy and the Headwind are tested against simulators only. If something's off, use Report a bug.

FreeGaz v0.2.0

FreeGaz v0.2.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 18:31
134fe15

Ad-hoc signed, un-notarized build for Apple Silicon Macs. The README's Install section has the one-time Gatekeeper step, and its 'What has been verified' section lists what still needs real hardware.

FreeGaz v0.1.0

FreeGaz v0.1.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Sep 21:08

Ad-hoc signed, un-notarized build for Apple Silicon Macs. The README's Install section has the one-time Gatekeeper step, and its 'What has been verified' section lists what still needs real hardware.