Skip to content
← All news

Release · 31 August 2026 4 min read

Racqt 1.5.1 is live — and gained the most under the bonnet

Recurring bookings are fixed in the court calendar, reminders arrive before every booking, and the community feed is for ages 13 and up. But what you can see is only half the story: most of this release is in the foundations — permissions in one place, a date that means the same everywhere, and a chat that keeps writing even without a connection.

Close-up of a tennis net with a green net post on a clay court in the evening, floodlights and trees in the background

Racqt 1.5.1 is live — on the web, on iPhone and on Android. What you can see straight away is written up in the changelog: recurring bookings are fixed in the court calendar, a reminder arrives before every court booking, and you confirm or decline league matches directly in the match card.

This article is about the rest. Because the bigger part of this release is work you can’t see — and that you still notice every day.

New: safe on the go for young members

The community feed is now open to members aged 13 and over. Younger members continue to use everything around their club as usual: training, teams, court booking, club news and chat. This is only about the public social network, not about club life.

On the iPhone, Racqt asks the operating system for the age directly. You don’t have to enter a date of birth for this — Apple only passes on an age range, not a date. The actual decision is then made on our server, so the same rule applies on all devices.

Under the bonnet

One rule, one place

Who may invite a member? Who may block a court? Who may see someone else’s profile? Checks like these were in many places in the backend — each written separately, each slightly different. That’s exactly where the hard-to-pin-down bugs come from: one view allows something, the next forbids it, and nobody knows which is right.

In this release these checks have been consolidated. There’s now one place each for whether someone is a club administrator, whether someone is editing their own data or whether someone owns an entry. The same goes for booking limits: how many bookings someone is entitled to is decided in a single place instead of three. For you this means: the rules apply the same everywhere — in the app, in the portal and in the dashboard.

A date that means the same everywhere

An inconspicuous problem with noticeable consequences: the server calculated day boundaries in UTC, but you live in your time zone. Anyone who logged a meal after ten in the evening saw it on the next day — and the daily streak broke, even though nobody had done anything wrong.

All affected places now calculate with your local date. The entry just before midnight lands on the right day, and the streak continues.

A chat that doesn’t depend on the network

Team and club chat work offline-first: messages live on the device and are synced in the background. Until now, a connection error could still block this process — the chat then stayed empty even though the messages had long since arrived. That’s fixed: a network error is shown, but it no longer stops the chat. And where there really is an error, you see it instead of looking at an empty room.

Emails that no longer keep you waiting

Emails used to be sent in the middle of the request: anyone inviting a member waited until the email was out. Sending is now asynchronous and uses clean templates. Actions that trigger an email now feel done immediately — and if something goes wrong when resetting a password, you see it instead of getting nowhere.

Security nobody should notice

Three things that, ideally, stay invisible:

  • When you sign in, the Android app checks that it’s really talking to a Racqt server. Until now this check only existed on the iPhone — now both apps decide using the same list of allowed addresses.
  • Nine known vulnerabilities in third-party libraries of the web interface are closed, and in the backend we’ve raised several packages to secure minimum versions.
  • We automatically check every build for secrets in the code, vulnerable dependencies and typical vulnerability patterns before it ships.

Tidying up pays off later

Less visible, but in the long run the most important: in the web interface we worked through 349 findings from our code checks — 19 of them affecting security or correctness. In the apps, dead endpoints and duplicate helper functions are gone, the iPhone app consistently uses SwiftUI’s modern state model, and screenshots of all Android views are compared automatically with every change.

That doesn’t change a single button today. It makes sure the next change comes faster and breaks something less often.

Updates without downtime

The web interface runs in two instances side by side. For a new version only one of them is restarted, and only once it answers again does the second follow. An update is therefore no longer a moment when racqt.app is briefly unreachable.

What now?

1.5.1 is already live on the web. The apps for iPhone and Android are now going into review at Apple and Google — as soon as they’re approved, your device will let you know by itself.

As always: almost everything here started as a wish in an email or in a conversation at the court. Please keep writing to us.

Read more.