Skip to content

Releases: RunOnFlux/deploy-with-git-frontend

v1.5.9

Choose a tag to compare

@alihm alihm released this 11 Sep 18:39
  • UI improvements

v1.5.8

Choose a tag to compare

@alihm alihm released this 11 Sep 18:12
  • Add ability to change the git repo address

v1.5.7

Choose a tag to compare

@Cabecinha84 Cabecinha84 released this 10 Sep 16:54
c2437ca
  • Marketing pages no longer advertise the free plan or the free trial while both are switched off
  • Comparison tables now read "Free forever, paused for new deploys" instead of promising an open free tier
  • FAQ answers, page intros and meta descriptions say what a new customer pays instead
  • The $0 Offer is dropped from the site-wide JSON-LD, so no rich result shows a free plan
  • index.html and llms.txt updated by hand (they cannot read the offer flags)

v1.5.6

Choose a tag to compare

@Cabecinha84 Cabecinha84 released this 10 Sep 16:45
6c72cb5
  • Switch off the free plan and the free 7-day trial for new registrations: only paying customers can deploy
  • Free plan card shows as currently unavailable and cannot be selected; paid plans drop the free-trial pill
  • Review step no longer offers the trial, and no registration can ask for the trial's expire
  • ?plan=free links and repo configs asking for the free plan are ignored
  • Pricing, marketing pages, FAQ, login modal, CTAs and llms.txt say the offers are currently unavailable
  • Apps already on the free plan are unaffected and keep renewing (appsmonitor)

v1.5.5

Choose a tag to compare

@alihm alihm released this 09 Sep 15:22
  • Add MCP server guide and landing content

v1.5.4

Choose a tag to compare

@Cabecinha84 Cabecinha84 released this 09 Sep 13:55
e7642d2

The metadata says a free trial now

The wizard already offered the 7-day trial; llms.txt — the file written for the models that answer questions about Orbit — still told them paid plans came with a free first month.

The Free plan is unaffected, as everywhere else: it is not a trial, and it stays free for as long as it is your only Orbit app.

v1.5.3

Choose a tag to compare

@Cabecinha84 Cabecinha84 released this 08 Sep 18:22
53521b9

Paid plans start with a free week instead of a free month, and you can turn it down

Standard, Pro and Custom used to be free for a month whenever the customer was new to Flux Cloud and picked a one-month period, whether they wanted it or not. The only way to pay from day one was to buy three months or more.

The offer is now a free 7-day trial, and it is a choice: take it, or skip it and pay immediately at whatever billing period you picked. The trial takes no card, registers the app for exactly seven days, and ends by expiring unless you keep it.

The Free plan is untouched

It is not a trial and never was. It stays free for as long as it is your only Orbit app, registers a normal month, and is renewed month after month for good.

The Free plan stops being charged to people who already use Flux

Two parts of the wizard disagreed about what makes an app free. The plan step already applied the real rule, that the free tier is free while it is your only Orbit app, and offered the $0.99 additional-app plan to anyone who had one. The payment step asked a different question, whether this was your first app on Flux at all, so a customer with any other Flux app was sent to pay for a plan sold as free forever. There is now one answer to that question.

A private Orbit app was also invisible to the service that decides this, because an enterprise app's contents are encrypted, so a second free plan could be handed out to someone the dashboard had already charged for it. Both sides now read the same thing.

Paid updates ask for payment again

Changing an app's resources shows the payment step again. A regression had made that screen skip straight to the deployment tracker, on a screen whose own subtitle asks you to complete payment.

Build note

v1.5.2 carries the same changes but failed to build: the runtime image names every file it takes from src/ one by one, and the new src/config/offer.js was not on that list. Nothing was published under that tag.

v1.5.2

Choose a tag to compare

@Cabecinha84 Cabecinha84 released this 08 Sep 18:19
d8c6ada

Paid plans start with a free week instead of a free month, and you can turn it down

Standard, Pro and Custom used to be free for a month whenever the customer was new to Flux Cloud and picked a one-month period, whether they wanted it or not. The only way to pay from day one was to buy three months or more.

The offer is now a free 7-day trial, and it is a choice: take it, or skip it and pay immediately at whatever billing period you picked. The trial takes no card, registers the app for exactly seven days, and ends by expiring unless you keep it.

The Free plan is untouched

It is not a trial and never was. It stays free for as long as it is your only Orbit app, registers a normal month, and is renewed month after month for good.

The Free plan stops being charged to people who already use Flux

Two parts of the wizard disagreed about what makes an app free. The plan step already applied the real rule, that the free tier is free while it is your only Orbit app, and offered the $0.99 additional-app plan to anyone who had one. The payment step asked a different question, whether this was your first app on Flux at all, so a customer with any other Flux app was sent to pay for a plan sold as free forever. There is now one answer to that question.

A private Orbit app was also invisible to the service that decides this, because an enterprise app's contents are encrypted, so a second free plan could be handed out to someone the dashboard had already charged for it. Both sides now read the same thing.

Paid updates ask for payment again

Changing an app's resources shows the payment step again. A regression had made that screen skip straight to the deployment tracker, on a screen whose own subtitle asks you to complete payment.

v1.5.1

Choose a tag to compare

@Cabecinha84 Cabecinha84 released this 08 Sep 14:24
76cad4a

Fixes a site that has not started since v1.5.0 — and, it turns out, since v1.4.21 before it. Anyone running either of those versions should move to this one.

What was wrong

Every container exited on its first line of work, unable to find a file it imports. "Add replicated persistent folders" added a new module and an import of it, but the runtime image is assembled from a list of files named one by one — deliberately, since everything else in the source tree is client code already compiled into the bundle — and the new module was never added to that list. So the image was built without a file it needs.

Running the published images side by side confirmed it rather than inferring it: v1.4.20 comes up healthy, v1.4.21 and v1.5.0 both exit immediately with the identical error, and v1.4.21 is the first release containing the change that introduced it.

Why nothing caught it

The build succeeded. So did the push, and the release. The failure only appeared where it costs the site — and with a hand-maintained list of files, the next import added to a file already on that list would have done exactly the same thing again.

So the build now does the same work the container does on its first line: it resolves the whole set of modules the server reaches, and fails if one of them is not in the image. A missing file now costs minutes of build time instead of taking the site down. Proved in both directions — the build passes with the file listed, and fails with a named error when it is removed again.

Verified end to end: an image built from this release comes up healthy and serves the landing page, the marketing pages, the login page and the health check, with unknown paths still answering 404.

v1.5.0

Choose a tag to compare

@Cabecinha84 Cabecinha84 released this 08 Sep 13:09
42417df

Needs FluxOS v8.18.0, released on 2026-09-08. Unchanged against a node that does not have it yet.

The container log pane no longer loses lines

It asked for the last 200 lines every sixty seconds and replaced its view with them. Anything the app wrote beyond 200 in that minute was never shown to anyone, could not be fetched afterwards, and left nothing on screen to say it had happened — and a build, a crash loop or a noisy first boot writes far more than that in a minute, which is exactly when somebody is reading.

The node is now asked for everything since the position it last handed back, and the pane appends. Where lines genuinely are missing it says so rather than skipping the gap, and the two reasons are different things: the node discarded the file holding them and they are gone for everyone; or they still exist and the node declined to walk back that far. Against a node that has not been updated yet, none of this changes anything — it keeps behaving exactly as it did.

The pane also has a ceiling now. It appends where every poll used to replace, so without one a busy app left on that tab would grow the view without limit until it slowed and then stopped responding.

Dead code that had been reported for a while

The linter reported 116 problems, most of them because it was reading generated build output and because it cannot see JSX — so real findings sat in the noise. It reports none now, and what was underneath is fixed:

A focus flag on the deploy form was written on every focus and blur and read by nothing, costing two renders per interaction. A loading flag on the app info card did the same around every status fetch. A login callback was handed to four landing sections and called by none of them — they navigate to the login page themselves — which read as a wired-up flow that was not one. Three more computed values had no reader at all.

Two pages also had effects that read a redirect target they had not declared, so a link arriving with a different destination could be redirected to the previous one.

Line endings

Two files were stored with Windows line endings — one of them a 230-line source file — which turns any one-line edit to them into a whole-file diff. Both are repaired, and a .gitattributes now stops it happening again.

🤖 Generated with Claude Code

https://claude.ai/code/session_017E24aPR6bJBQsFtHQQ83sH