Skip to content

Releases: princeofscale/Formly

Formly 1.5.3

Choose a tag to compare

@BATEMAN4 BATEMAN4 released this 28 Jul 20:42
6e04edd

Compare changes

Added

  • The catalog now distinguishes the regions of a muscle that answer to different work: upper, middle and lower chest, the lower back inside "back", the obliques inside "core" and the soleus inside "calves". Analytics reports the week's sets per region while judging under- and over-training on the muscle as a whole, so an athlete who only ever presses flat can finally see it. Existing exercises are re-tagged from what their names already say — an incline press is upper chest — and exercises you created yourself keep the muscle you gave them.
  • A finished workout is now named by the coach: "Chest and triceps" instead of "Barbell Bench Press · Crunches". The name is written in the same reply as the post-workout debrief, so it costs no extra request and no extra AI allowance, and it appears on the dashboard, in history and on the workout itself. Workouts finished before this, and any where the coach could not be reached, keep the exercise list as their name.
  • Height now has a history chart of its own on the Progress screen. Weight and height share the card and swap by tapping either stat; they never share an axis, because a centimetre and a kilogram on one scale draw a body change that did not happen.
  • Notes written against an exercise during a workout now stay with that workout, and appear under the exercise on its page in history. Starting the same exercise in a later session gives you an empty note instead of a remark about a seat height from three weeks ago. Existing notes are kept and attached to the most recent workout that contained the exercise.

Changed

  • The dashboard coach card and the program generator now run on Grok 4.5 through the CheapVibeCode gateway instead of Mistral. The gateway speaks the OpenAI chat-completions protocol, so this is one small client over fetch rather than a second SDK. The post-workout debrief, the coach chat, exercise swaps and exercise suggestions are unchanged and stay on Mistral. Grok 4.5 reasons before it answers: a program takes between 25 and 50 seconds where Mistral took a few, and a request that outlives the function is abandoned at 55 seconds and reported as a failure you can retry rather than as a platform timeout. Requires CVC_API_KEY in the environment.
  • Production now deploys only when a GitHub Release is published. Pushing a vX.Y.Z tag no longer deploys anything on its own: a tag is bookkeeping, a release is a decision, and until now the two were the same gesture. The release workflow additionally refuses a release whose tag is not vX.Y.Z or does not sit on main.
  • Published the missing GitHub Releases for 1.5.0, 1.5.1 and 1.5.2, which existed as tags and as changelog entries but not as releases.
  • Rewrote the privacy policy and the terms of service. Both were carrying prose prose-invert without the Tailwind typography plugin installed, so every heading, list and paragraph in them rendered at browser defaults; both now have a document layout with a contents list, numbered sections and a legal-body stylesheet. The Russian text moves from second-person informal to the register these documents are supposed to be written in, and both documents now describe the friends feed, reactions and comments, direct messages, shareable workout links, the AI coach thread and the daily AI allowance — all of which shipped in 1.5.0 and none of which the policy mentioned.
  • Added a rule to AGENTS.md: a change that touches what data is collected, where it goes, who can see it, or what the operator answers for must update the privacy policy or the terms in the same change.

Fixed

  • A friend is no longer shown as "in the gym" hours after leaving it. Presence was "has an unfinished session started in the last six hours", which is a description of a closed tab as much as of a workout; it is now the athlete's last logged set, and the dot goes out after 45 minutes of nothing.
  • The AI program generator now says what went wrong. Every failure inside it reached the browser as Next.js's own paragraph — "An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included…" — which the screen printed at the athlete verbatim, under a heading saying the program could not be generated and with no indication of whether to wait, retry or change anything. The allowance being spent, the model returning nothing usable, and everything else are now three written messages, and the cause is recorded in the server log where that digest was pointing all along. The route also declares its own function timeout rather than inheriting a platform default, since a seven-day program is the longest single model call in the application.
  • A day the program generator filled entirely with exercises that are not in your library no longer renders as a blank card.
  • Removed the scrollbars from the app. On Profile a lifetime tonnage in the millions pushed the stats card wider than the phone, which put a second scrollbar along the bottom of the page; the number now gives way instead, and the scrollbar chrome is gone throughout. Scrolling by wheel, key and touch is unchanged.
  • Translated the last English fragments on the Progress screen — "kg", "hold" and "30d" on the major-lift cards — and the "TOP" badge in history.
  • The smart reminder no longer reports chest or back as untrained when the week's work went into a region of them.

Formly 1.5.2

Choose a tag to compare

@BATEMAN4 BATEMAN4 released this 27 Jul 17:54
f2b3e81

Highlights

  • Added a "Warmup" switch on the set you are about to log: the set is still written down, but stays out of volume, records and everything the AI coach reads. Marking one offline survives the sync.
  • Fixed the equipment picker in "Add your own exercise", which showed exerciseLibrary.equipment… in every cell when opened from inside a workout.
  • Fixed the AI program generator on longer splits, and stopped it shipping the entire ~700-exercise catalog to the model on every generation.
  • Fixed the weekday running over the save-as-template button, and the delete button showing through the "Effort" cell of a logged set.

See changelog.md for the complete release notes.

Formly 1.5.1

Choose a tag to compare

@BATEMAN4 BATEMAN4 released this 27 Jul 17:54
455eb0a

Highlights

  • The AI program generator now accepts a note in your own words and builds the split around it.
  • A generated program now rests on what you have actually been training: weekly working sets per muscle, volume landmarks, and top lifts over the last fourteen days.
  • Warm-up sets typed in by hand no longer count as working sets for the AI coach; a ramp is recognised by its shape, so back-off and drop sets still count in full.
  • The coach no longer calls a high set count overtraining on its own, and progression suggestions no longer stall on warm-up reps.

See changelog.md for the complete release notes.

Formly 1.5.0

Choose a tag to compare

@BATEMAN4 BATEMAN4 released this 27 Jul 17:53
82ee208

Highlights

  • Added a failure screen, shareable workout links, a unified friends activity feed with reactions and comments, friend blocking, an AI coach thread, 1:1 direct messages, per-profile time zones, and ten missing gym machines.
  • Moved onboarding, warm-up insertion, workout completion, body-metric logging, and template saves into atomic PostgreSQL functions.
  • Fixed the offline fallback, offline queue blocking, reminder duplication, rest-timer notifications, and push on Edge for Windows.
  • Hardened AI quota consumption, Web Push endpoints, error reporting, and privileged RPC access; added CI checks that apply every migration to an empty database and upgrade a 1.1.0 database holding real rows.

See changelog.md for the complete release notes.

Formly 1.1.0

Choose a tag to compare

@princeofscale princeofscale released this 23 Jul 13:07

Highlights

  • Restored direct access to Analytics and added searchable, exercise-specific progress views.
  • Added body-weight and height history plus a weekly friends leaderboard.
  • Switched records, PRs, friend feeds, strength tiers, and coaching context from estimated 1RM to the heaviest weight actually lifted.
  • Redesigned workout history details and improved the mobile quick-access layout and scrolling performance.
  • Removed sleep tracking, goals, achievements, and per-set estimated-1RM UI.
  • Upgraded Next.js to 16.2.11 to resolve nine published security advisories.

See changelog.md for the complete release notes.

Formly 1.0.2

Choose a tag to compare

@princeofscale princeofscale released this 22 Jul 18:38

Highlights

  • Cut the largest authenticated route payload by 51.7% (506,953 → 244,994 bytes).
  • Reduced total compiled client JavaScript by 21.8%.
  • Added a localized Analytics pulse for strength, volume, and muscle balance.
  • Replaced Recharts with accessible server-rendered SVG charts and removed 34 transitive packages.
  • Deferred the progress-photo Supabase client and exercise catalog until they are actually needed.

See changelog.md for the complete release notes.

Formly 1.0.1

Choose a tag to compare

@princeofscale princeofscale released this 22 Jul 11:53

Full Changelog: v1.0.0...v1.0.1

Formly 1.0.0

Choose a tag to compare

@princeofscale princeofscale released this 22 Jul 11:12

Первый стабильный релиз Formly.\n\nОсновное: полный трекинг тренировок и прогресса, AI-рекомендации, офлайн-режим, PWA и push-уведомления, русская база упражнений, новый бренд, оптимизированный экран входа, Vercel Analytics и Speed Insights.\n\nПолный список изменений: changelog.md