Jeder Schritt seit Tag eins.
escapers wächst in kleinen Schritten. Hier stehen sie alle — neue Funktionen, Verbesserungen und behobene Fehler, nach Bereich sortiert.
Front-End3
- BehobenRoom covers stay put, photos load sharp, descriptions keep their paragraphs
A new cover now cleanly replaces the old one, the main photo loads at full resolution on large screens, and line breaks in descriptions show up as written.
- BehobenFareHarbor rooms show free slots again, at the right time
Rooms booked through FareHarbor list their open times again, and the times now match the venue's local clock.
- NeuOperators connect their booking account while setting up a room
Choose your booking system, connect your account right there and pick the matching offer from a list instead of copying IDs.
Front-End3
- NeuNew community page with toplists, fresh reviews and a live mini-game feed
See who plays, reviews and puzzles the most, which rooms the community plays right now and which mini-games were just played, all under “Community”.
- VerbessertTables can be sorted by clicking a column
Comparison, price, team-event and provider tables sort by any column; a third click restores the original order.
- NeuTERPECA awards from 2018 to 2025 on every room
Room pages show each jury year and rank history, room cards carry the award badge, the best list filters by year, tier and country, and search can show only awarded rooms.
Core1
- SicherheitHiding your online status now also hides when you were last active
With the option switched on, your last-active time is no longer stored or visible to anyone.
Front-End2
- BehobenThe dark map shows clean tiles again
Every tile of the dark map carried an "API KEY REQUIRED" watermark stamped across it. It is gone, on the map page and anywhere else a map appears.
- BehobenProviders can keep adding rooms to online-only locations
A location whose only offer was a box or an online room lost its management row entirely.
Anbieterverwaltung1
- NeuAdd your own venue straight from the provider directory
Signed-in operators can now create their business on the providers page and manage it right away, locations and rooms included. If the venue is already listed, the dialog offers to take over the existing entry instead of creating a duplicate.
Front-End11
- NeuA second online escape room, and this one fights back
Two to four people against an assistance system that shows each of them something different. One of those views is a forgery — and only the group can tell which.
- VerbessertLink previews now show the room, not our logo
Send someone the link to Room Zero or Last Instance and the preview shows the vault door or the cold aisle.
- BehobenA page no longer fails when one style file does not arrive
Until now a single missing stylesheet replaced the whole page with an error screen; the page now loads and only that bit of styling is missing.
- NeuRaum Null now closes each act with its own time and badge
The clock stops the moment an act falls, you see what that act alone cost you, and the room only moves on when someone opens the next one. The switch panel now needs a chain of contact pairs that nobody knows alone, and each device only takes input from the role holding it.
- BehobenThe dashboard no longer tells you things it cannot know
It said "no points yet" over 4,000 points, "log where you have been" to someone with 300 rooms, and "nothing to do, honestly" when the data had simply failed to load. Cards now tell loading, empty and broken apart, and offer another try instead of a verdict about you.
- Behoben"12 more entries" on your round now opens those entries
The link used to lead to room search, where none of them were. It unfolds the card instead, and the friends view points at your friends list.
- VerbessertThe ranking lists every member now, not only those with points
Everyone who has not scored yet shares one starting place instead of being left out — and the number above the list finally says how many members the site has.
- BehobenThe up and down arrows in the ranking finally move
They had been blank since the list opened: the weekly snapshot they compare against was wiped seconds after it was taken.
- NeuOne person works each shared device in Raum Null while the others watch it live
The wire board and the tally sheets now have a single pair of hands, and everyone else sees the picture move as it happens — so the person holding the rules has to say them out loud instead of everyone quietly doing the same thing alone.
- VerbessertThe dashboard has something to say when you are all caught up
Instead of "nothing to do" it now points at the milestone you are closest to, or at a room that has been waiting on your wishlist. Friends who switched their activity log off no longer show up in your feed, and the page loads with four fewer requests.
- BehobenThe occasion comparison pages load again
Pages like the team-building and bachelor-party comparisons stopped rendering the moment their data arrived. They come up normally now.
Front-End3
- NeuRoom Zero, our own online escape room, is open to everyone
Three acts for one to four players — share a six-character code, take one of four roles, and piece together what none of you can see alone.
- VerbessertNachbild swaps fewer symbols per display case
Two, three and four instead of three, four and five — the chain you have to keep in your head is shorter, and one slip no longer wipes out the hits before it.
- VerbessertSchattenriss has thumb-sized direction keys
The four arrow buttons now fill the width of the cabinet, so dodging the searchlight is about the puzzle and not about hitting a small key.
Front-End4
- BehobenThe ranking shows the city from your profile, and "go to my row" lands on it
It used to show the city you had played most and jump somewhere near your place instead of to it.
- NeuYour Escape year now marks every day you supported Escapers
Each Ko-fi tip or membership payment appears as a heart on its own day — amounts stay in your own calendar only.
- VerbessertThe dashboard tile became a shelf with all seven mini-games
It used to offer one game; the other six were only reachable through your awards list.
- BehobenEvery mini-game can be won again, and winning finally awards the medal
Four of the seven were impossible to finish, and the others never said why a clean run missed the award — now they tell you.
Front-End19
- BehobenText fields in the online escape room are readable in light mode again
Inputs and chips inside a device drew light text on a light background, so search boxes looked empty.
- VerbessertFree rooms now say "Free" instead of showing 0 €
Rooms that cost nothing are labelled as free everywhere, and the price calculator steps aside for them.
- VerbessertCity pages now list every escape room, not just twelve
The full A-to-Z list sits under the room cards, and the provider list finally matches the number the page names.
- VerbessertProvider pickers now show the city, so same-named venues can be told apart
Searching for a provider to claim, transfer or upgrade also matches its short link, and each result lists its cities and how many locations it has.
- VerbessertThe room and country counts are the real ones now
Landing page, country picker and the platform map read their figures straight from the database instead of quoting numbers typed in months ago.
- NeuA puzzle on our printed flyer now unlocks an award
Solve the letter grid on the back of an escapers flyer, enter the word, and the Paper Key is yours.
- BehobenAchievement pages survive a reload again
Opening or sharing the link to an achievement used to end in a server error; only clicking through from inside the site worked.
- NeuA third mini-game, and a page that finally lists them all
In Rohrpost you have to work out what your own levers do — by pulling them, while the next canister is already falling. All the games now live at /minispiele.
- NeuA fourth mini-game where one number means two things
In Sprungwerk the number on a bolt tells you both how much work it still needs and how far the pulse travels next — so every strike is your progress and your steering at once.
- NeuA fifth mini-game, this one for your memory
In Nachbild a beam of light opens three of nine compartments — and behind the closed ones, things quietly get swapped.
- NeuA sixth mini-game — Schattenriss
The searchlight opens the seals and catches you in the same instant. Push the crates so the light reaches a seal while you stay in the shadow. Every game now takes the space bar without clicking into it first and has a restart button, and Ausbruch no longer rewards you for failing.
- VerbessertEvery mini-game now explains itself
A short guide sits above each game: what you are playing for, what to press, the one rule you would never guess, and what the award actually requires.
- VerbessertThe mini-game guides now tell you what to do
Each game opens with its goal, three numbered steps in the order you perform them, and the one rule you would never guess — instead of four paragraphs describing the machine.
- BehobenAusbruch confirms the last lock of a level
The fourth ring closed without the display ever showing it, and the losing message counted locks from zero. Ausbruch also announces its state to screen readers now, and Rohrpost highlights the path a canister will actually take after you pull a lever mid-fall.
- SicherheitAusbruch now proves its award instead of claiming it
The server sets the ring targets, the browser only reports when it pressed which ring, and the server replays the run. Space now works on every game's button again, and Zeitschloss no longer loses a finished round to a dropped connection.
- VerbessertThe award conditions now say what they really require
Every mini-game's condition was checked against what the server actually grants the badge for. Six of seven said something different — Zeitschloss in particular read like luck when it is pure deduction.
- NeuMembers can compare their standing in a ranking
Points for rooms played, reviews written, contributions accepted and badges earned - and the full calculation is open on the page.
- VerbessertOne-time supporters now count — on the goal bar and in their profile
A one-time tip counts towards this month's goal, and everyone on the one-time supporter wall wears the Ko-fi coin next to their name.
- NeuThe leaderboard now shows your name, not just your handle
Anyone who doesn't hide their real name now appears with it, and operator accounts carry a visible label.
Front-End1
- VerbessertRelease notes for everyone
The changelog stayed internal while its entries were still raw notes. Every version since day one is now readable, and the version number in the footer links straight to it.
Front-End3
- BehobenSearch engines now see the right title, description and preview image
The home page carried the sign-in headline as its search result title, admin-managed meta texts were served in German on every language version, and the preview image pointed at the small logo while claiming banner dimensions.
- VerbessertComparison and best-of lists expose their entries as linkable items
ItemList entries now carry the room URL, so search engines can connect them to the detail pages.
- NeuHonest snippets, per-language fallback pages and groundwork for detail-page snapshots
Meta templates no longer promise reviews the site cannot show, prefixed URLs without a snapshot are served a page in their own language instead of the German one, and the server keeps the main entry pages reachable once snapshot folders exist.
Front-End4
- BehobenThe activity card now shows what everyone is playing
Under “Everywhere”, the activity card only ever pulled reviews and new members — so it could look days out of date while someone was logging rooms in the very same hour. It now carries the same events as the friends feed: rooms played, wishlist entries, reviews and awards.
- NeuRate your rooms without leaving the dashboard
“33 rooms are waiting for your verdict” used to offer nothing but a jump to your logbook. One of those rooms now sits in the card itself: five stars, an optional sentence, done. Arrows skip to the next room if you would rather rate a different one, and the next one slides in as soon as you save.
- NeuRaum Null: our own online escape room
Cooperative, in the browser, two to four players on separate computers. Act 1 is playable with eight devices — picking a lock, a cipher wheel, a laser corridor, a cable board, an archive, a logic grid, a keypad and a key rack.
- BehobenCity links on the comparison pages led to an error page
Vienna, Zurich, Delft and Paris pointed at an address that only exists for German cities. Every city link is now built in the one place that knows both cases.
Core1
- BehobenThe button in our emails keeps its shape in Outlook
Outlook drew a fixed 280×50 box instead of the HTML, so a label that did not fit was cut off top and bottom — and across seven languages there is no width that fits. The fixed box is gone; the button grows with its label.
Front-End2
- VerbessertThe footer fills its whole width again
The brand and the call for providers used to sit alone on the left, leaving a hole between them and the link columns, and empty space on the right. Both now share one column, and the three link columns spread across the rest of the row.
- VerbessertThe showcase page saves by itself
Podium, conquest map, favourite genres, awards and the activity calendar are stored a moment after you change them — the save button is gone. A line at the bottom tells you whether a change is still on its way or already saved, and switching to another page does not lose the last one.
Core2
- NeuSystem emails speak all seven languages
Sign-up confirmations, password resets and invitations arrive in the language you use the site in. The templates had been multilingual for weeks — nothing ever recorded which language a person wanted, so every email resolved to German.
- BehobenA deployment no longer breaks a page you already have open
Files replaced by a new build used to disappear from the server the same minute, so a browser still holding the previous version asked for parts that were already gone. Replaced files now get a grace period, and a page that runs into it anyway reloads itself once.
Front-End3
- VerbessertThe kind of game is on the picture, not buried in the details
Whether something is an on-site room, an at-home box or an online game now sits on the gallery image — for a box together with how it reaches you ("shipped nationwide"), because that decides whether the offer reaches you at all.
- BehobenLanguage pages were redirected to the German version
Measured live in all six languages: /pl/blog answered with a redirect to the German /blog, and /en/escape-room-prices with one to an address that does not exist. It hit exactly the pages the language prefixes were built for.
- NeuThe dashboard is a logbook with signposts
Instead of a wall of numbers: what happened since your last visit, one clear next step, your inbox, rooms near your door, your escape year, trophies, the logbook, what your circle is playing, teams — and the little escape game. Four counts that were silently cut off above a thousand entries were fixed on the way.
Faster pages, clearer game types
Most of this release is about weight: the stylesheet, the fonts and the images that every page carries. Alongside that, the three kinds of escape game — on site, at-home box, online — now have a clear place in search, on the map and in the blog.
Front-End9
- VerbessertIndoor or outdoor is a real answer again
Rooms could be marked indoor, outdoor or "both". Of 10,558 active rooms exactly three used "both" — and none of them was a classic escape room. All three were at-home boxes, where the question does not apply: a box is played wherever you unpack it. "Both" is gone, so the filter now means what it says.
- NeuAt-home boxes: the host can come to you
Until now a box reached you in one of two ways — you picked it up, or it was shipped. Five providers do a third thing: they come to you with the material, set it up and sometimes run the game. That is now its own delivery option instead of an empty field.
- NeuAI-generated images are labelled
Room pictures created with AI now carry a small marker, so you can tell a photograph of a real room from a generated image.
- NeuThe three kinds of escape game, explained in the blog
A new block in blog posts lays out how on-site rooms, at-home boxes and online games differ, and where each of them shows up on escapers. Links inside a post now also keep you in the language you are reading.
- VerbessertSearch starts with all three kinds of game
Opening the search no longer leaves out two thirds of the catalogue: on-site rooms, boxes and online games all appear, each in its own section. RoomMatch still starts with on-site games, because its questions build on a place and a date.
- VerbessertThe map shows the AI label as well
Cover images marked as AI-generated now carry the label on the map and in the RoomMatch map view, not just on tiles and detail pages. Images uploaded from now on are never marked automatically — whoever uploads one knows where it came from.
- BehobenFriends see played rooms on private profiles
A private profile reported "0 rooms played" to friends and to admins, although the page was built to let them through. They now see the real list.
- VerbessertOne tap between light and dark
The theme button switches straight between light and dark instead of cycling through a third "automatic" step. Your first visit still follows your system setting.
- NeuRoom pages show free slots per day, and how many people played
Pick a date and the page lists the times the operator still has open — only where the booking system can actually be asked, because an empty calendar would otherwise read as "nothing free" when it means "we do not know". Next to it: how many people played the room, put it on their wishlist or made it a favourite.
Anbieterverwaltung2
- VerbessertProvider pages show every kind of game
At-home boxes and online games now appear on a provider page next to the classic on-site rooms.
- VerbessertLocation owners count as verified operators
Claiming a single venue deliberately leaves your account role alone — which left a confirmed owner in front of a locked door: no provider chat, no permission to place links, "user" on their profile, while they were already running the venue. The price editor in the room form had the same gap. Both now ask whether you own this location instead of which role you carry.
Daten & Import1
- VerbessertGenre, scare level and difficulty need evidence too
The three fields that steer the filters can now be corrected through the same narrow review door as the rest — but only with a source URL and a literal quote from the provider's website. An assessment is not enough here: a wrong value pushes a room out of search entirely.
Core6
- SchnellerPages carry a quarter of the stylesheet they used to
The main stylesheet went from 1.4 MB to 332 KB (129 to 43 KB over the wire). It held 16,356 rules with 11,733 different class names — the home page used 304 of them. Icon and text fonts dropped from 254 KB to 78 KB and are now requested right away instead of after the stylesheet is parsed. The download is smaller; more importantly, there is far less for a phone to work through before the first paint.
- SchnellerImages arrive in the size they are shown in
Every picture used to be delivered at its original size: a 299 KB room photo for a 380 px tile, a 307 KB provider logo for a 44 px chip, city pictures up to 598 KB in the grid on the home page. Images are now scaled to the space they occupy and served as WebP. The German home page went from 2,402 to 765 KB of images, the Polish one from 6,960 to 752 KB.
- SchnellerNo more blank moment while the page starts
Content appeared, disappeared for about 380 ms and came back. The app was holding everything behind a loading screen until the session check returned — for every visitor, including the vast majority who are not signed in and never have a session to check. It now waits only when there actually is one.
- BehobenLanguage prefixes only where a translation exists
Pages that exist in a single language — rooms, providers, cities, blog posts — also answered under every language prefix. Each of them now redirects to its one address, so search engines see one page instead of seven near-identical ones. The interface language you chose is kept.
- BehobenPage titles no longer end mid-sentence
Rooms without a location produced titles like "Escape Room in " — the preposition stayed behind when the city was empty. It now disappears together with the placeholder. 45 indexed pages were affected.
- SchnellerPrerender snapshots no longer depend on the bundle
Snapshots now reference two unhashed files instead of hashed asset names, so they survive any deploy. A push is build and upload again, roughly two minutes instead of eleven; snapshots refresh nightly at 04:10 UTC or on demand.
Front-End1
- VerbessertBoxes and online games ask their own questions
The kind of game was one filter among others, but it changes the vocabulary rather than narrowing a set: "with an actor" is not a narrower question for an at-home box, it is no question at all. Search, RoomMatch and provider pages now show only the filters that mean something — and for a box the location question becomes a delivery or pick-up question instead of vanishing.
Front-End1
- NeuComparison pages: prices, rankings and the numbers behind them
A layer above the city pages — escape room prices, a comparison, a best-of list, the numbers, five occasion pages and a page explaining how they are put together. The cut is the language, not the country: everything you can play in German, across fifteen countries.
Front-End4
- VerbessertThe spam check stays out of the way
The bot check on forms only shows itself when it actually needs you to confirm something.
- VerbessertPrices follow the group you searched for
RoomMatch showed "28 € per person" while the search ran for three people. Result cards now use the group size the results were found with, and the calculator appears whenever there is something to adjust — a flat 135 € is 67.50 each for two people and 11.25 for twelve.
- BehobenSwitching language keeps you on the same page
Country and city addresses carry the country name as well as the path segment, and only the prefix was swapped: /en/escape-rooms/united-kingdom/canterbury turned into an address the German site does not know, so the switch landed on an error page. Both parts are translated now, in every direction.
- VerbessertThe search runs when you ask it to
Opening the search no longer fires off a query with filters nobody picked, and no longer asks for your location before you have done anything. Shared links and restored searches still run by themselves — there, someone did ask.
Anbieterverwaltung1
- VerbessertProvider administration has its own menu entry
It used to sit in the avatar menu, behind a click that looks like account settings. It is now in the main bar, visible to providers only.
Daten & Import1
- VerbessertPrices and currencies need a quote, not a guess
The currency defaulted to euros no matter the country: 464 rooms outside the eurozone, 41 of them showing visibly wrong amounts. Price and currency now go through the same narrow review door as the rest of the data — a source URL and a literal quote from the operator, or the field stays empty.
Core1
- BehobenA page that fails to load is no longer reported as missing
A hiccup while loading data made pages such as /en/escape-rooms/germany/stuttgart answer with the "page not found" screen, including the instruction to search engines to leave them out. A reading error is now told apart from a page that genuinely does not exist, and it is retried before anything is given up.
City pages worldwide, in every language
Every city with escape rooms now has a page in all seven languages, the pages outside Germany load correctly, and homepages without a home market show the whole platform.
Front-End9
- BehobenCity pages under a country loaded again
Addresses with three parts — a country page with a city, such as /laender/polen/wroclaw — answered with a server error instead of the page. Every one of them works now.
- NeuHomepages outside a home market show the whole platform
The Spanish and English homepages listed German cities under "popular cities" while the numbers above them already counted every country. They now show the biggest cities worldwide, and the daily spotlight picks from everywhere.
- Neu109 more German city pages
Every German city with escape rooms has its own page now. Berlin and Brandenburg were missing entirely.
- NeuGerman city pages in every language
City pages used to exist in German only. They are now reachable in all seven languages, and each version points to the others.
- BehobenCity pages without a photo returned an error
A city with no picture on file answered with an error instead of simply showing the page without one.
- NeuCity pages are linked from the homepage and the region pages
The new pages were reachable by search engines but not by clicking. Popular cities on the homepage and the city lists on every region page now link straight to them.
- BehobenProvider pages on small screens
The buttons at the top of a provider page stacked into a staircase on phones.
- BehobenDaily spotlight on phones
The staggered tile heights are a desktop effect; on a narrow screen they left a gap.
- NeuPrices now say what they actually cover
A price used to be a bare number with a guessed unit — around 1,900 rooms were labelled wrong. A room now carries a real price model: one price per booking, a price per person, a base price that includes a few people with a surcharge for each extra one, or a table per group size — each with an optional evening and weekend window.
Core4
- BehobenGreek cities had no page at all
Athens, Piraeus, Corfu and eight more cities could not be turned into a web address, so they never got a page. Greek, Cyrillic and other scripts are now transliterated.
- BehobenRooms were split across two spellings of the same city
Wroclaw carried 47 rooms under one spelling and 19 under another; Sofia and five other cities had the same problem. Each city now counts all of its rooms.
- VerbessertPages are pre-rendered again
Search engines and messenger link previews receive the finished page instead of an empty shell. The snapshots are rebuilt with every deployment, so they can no longer fall behind.
- VerbessertEvery German city knows its region
Six cities were missing a federal state and appeared on no region page; two more were filed under the wrong one. Their locations were resolved from their own coordinates.
Seven languages, 22 countries
escapers now speaks seven languages at seven addresses, and every country and city with escape rooms has its own page in the local language.
Front-End9
- NeuRelease notes
Every update now gets a dated entry here, so you can see what changed and when.
- BehobenSpotlight on narrow screens
The last tile of the daily spotlight no longer collapses on small phones.
- SicherheitAccount permissions hardened
Closed a path that allowed a signed-in account to raise its own permissions.
- BehobenA broken part no longer breaks the page
If one part of the page fails to load, the rest keeps working instead of going blank.
- VerbessertWe notice which country you are browsing from
Used only to offer you the right market — never to change what a page shows. Detected from your time zone, so no IP address is processed.
- NeuEvery language has its own address
The site is available at /en, /fr, /es, /nl, /pl and /cs. Share a link and it stays in the language you were reading. Search engines can now find all seven versions instead of only the German one.
- NeuCountry pages
Every country with escape rooms has its own page in its own language — /laender/polen, /pl/escape-roomy/polska, /en/escape-rooms/poland — listing all cities and providers.
- BehobenRoom list on country pages
The room list stayed empty on country pages.
- NeuCity pages worldwide and a homepage per market
Cities outside Germany now have their own page in the local language. The homepage at /pl, /fr, /nl and /cs shows that country: its cities, its numbers and its featured rooms instead of the global ones.
Core4
- VerbessertSharper profile pictures from Facebook
Signing in with Facebook now imports your picture at a higher resolution.
- BehobenPassword managers on the sign-in form
Autofill from a password manager reaches the sign-in button again.
- VerbessertBetter link previews
Pages shared to WhatsApp, Facebook or Slack now show the right title and description in every language.
- BehobenGerman cities kept their addresses
German city pages stay exactly where they were, unchanged.
Public launch
escapers is out in the open: search engines are allowed in, the prerelease gate is gone, and the whole site got a serious diet before the doors opened.
Front-End3
- SchnellerUnused CSS and four icon families removed
- VerbessertLink previews finally show the right image
Open Graph tags and the share image are part of the served HTML, so platforms that do not run JavaScript still get a proper preview.
- VerbessertA privacy policy that crawlers can read
One URL for everyone, served as static HTML — no user-agent sniffing, no blank page for clients without JavaScript.
Core9
- Neuescapers is public
The staging password is gone and search engines are allowed in: indexing is switched on, robots.txt permits crawling and the sitemap lists 12,889 URLs.
- BehobenFixed the site-wide noindex
Every public page shipped "noindex" for a few hours after launch. The SEO configuration row was not publicly readable, and a filtered row comes back from the API as an empty success — so the frontend fell back to its defaults, where indexing is off.
- SchnellerNoticeably faster first load
Dead bundle weight removed, routes and the map are loaded on demand, and the requests a page needs are bundled instead of fired one by one.
- SchnellerLanguage files split into public and admin at build time
2,187 of 5,405 translation keys are only ever used behind /admin but were shipped to every visitor. The public language chunk dropped from 90.5 kB to 56.4 kB gzipped — per visitor and per language.
- NeuSign in with Facebook
Facebook joins Google and Discord. The Meta app is through review and live.
- NeuChange your email address yourself
The account settings can now swap your login address, confirmed from both the old and the new one.
- Verbessertrobots.txt and sitemap.xml come from the webroot
Both used to redirect to an edge function. Now they are plain files, which removes a redirect and a cold start from every crawl.
- SicherheitMap tiles are proxied through our own server
The tile services no longer see visitor IP addresses. Tiles are cached on our side, as the OpenStreetMap tile usage policy requires, and upstream cache headers are honoured.
- BehobenPassword reset links are recognised reliably
A reset link occasionally logged the visitor straight in instead of opening the form to set a new password.
Launch readiness
The last week before go-live went into data you can trust — addresses, coordinates and every account-security corner we could still tighten.
Front-End1
- NeuDaily spotlight on the homepage
Three rooms and two providers, picked for the whole day rather than per page view — the same selection for every visitor, a new one tomorrow.
Anbieterverwaltung2
- NeuGeocoding a single address from the admin area
Safe by design: it writes coordinates only when the result is unambiguous.
- NeuMedia kit for providers
Logo, badge and embed code in one place, ready to put on your own website.
Daten & Import5
- NeuAddress and coordinate repair, in verified batches
Coordinates are only corrected when a second, independent source agrees: the provider website, an official register or a strict geocoding pass. Everything else stays untouched rather than guessed.
- VerbessertMalformed street data repaired
- VerbessertMissing address fields completed while geocoding
Postcode, city and street are filled in from the geocoding answer instead of staying empty.
- VerbessertDuplicate address candidates resolved
Two matching hits for one location no longer end in a coin flip.
- VerbessertAddress repairs extended to Austria and Switzerland
Core5
- NeuChange your password in the account area
- SicherheitUsername handling hardened
Names are canonicalised before they are stored, and a change cools down before the next one is allowed.
- SicherheitProfile pictures are hosted by us
Avatars from Google, Discord and Facebook are imported once into our own storage instead of being loaded from the provider on every page view.
- SicherheitRoom deletion is reserved for site admins
- SicherheitSite logs hardened
The 404 and browser-error logs accept bounded, de-duplicated entries only — a broken page can no longer flood the table.
Profiles, claims and a faster map
Your profile learned to show what you actually did, the map got roughly ten times lighter, and owners can finally be sorted out in the admin area.
Front-End6
- NeuActivity showcase with a year calendar
The fifth showcase for your profile: one square per day, so a year of playing is visible at a glance. The old map showcase is now the conquest map.
- VerbessertPlay dates stay in sync between you and your team
A date entered once shows up on both sides, with clear rules about which side it came from.
- VerbessertThe claim button is visible to guests
It now explains that an account is needed instead of hiding the action entirely.
- VerbessertArchived team chats stay readable
Leaving a team no longer takes its chat history with it.
- VerbessertColour tokens instead of hex values
The sign-in and invitation pages follow the automatic light and dark theme, including the logo.
- BehobenActivity calendar: full width, no stray scrollbar
The today outline was also being clipped at the right edge.
Anbieterverwaltung5
- NeuReviews on provider pages
- NeuClaims can be created in the admin area
Useful when an owner gets in touch by phone or email instead of using the form.
- VerbessertOwner filter for provider, location and room lists
Answers "what is actually claimed" without exporting anything.
- VerbessertClaims are auto-approved via the stored contact address too
Previously only the website domain counted, which locked out owners whose contact address sits on a different domain.
- NeuProvider invitation email in German, English and French
Core3
- SchnellerThe map loads as a single request
Eleven requests and 9.4 MB became one request and 1.0 MB. It also removed a silent trap: the API caps every answer at 1,000 rows, so rooms beyond that simply never appeared on the map.
- VerbessertAdmin badges update live
Pending claims, contributions and feedback count up without a reload.
- BehobenRealtime and the profile trigger restored after the move
Two things the self-hosting migration quietly left behind: live updates and the trigger that creates a profile for a new account.
Our own infrastructure
Database, auth, storage, functions, cron and even the git server moved onto hardware we control — without logging a single member out.
Front-End3
- NeuMembers can leave a team again
- VerbessertHorror became scare level 5
It was a genre and a scare level at the same time. Also: the concept type is gone and the team note is editable.
- BehobenDark mode contrast on city page stat cards
Daten & Import1
- NeuFrench sign-off tools
Reactivating an entity, Bookeo detection, and extended add-room and verify-room doors.
Core8
- Neuescapers runs on its own Supabase instance
Database, authentication, storage, edge functions and cron moved from the cloud to supabase.escapers.de. The JWT secret came along, so nobody was logged out by the move.
- NeuGit hosting on our own Forgejo
Repository, issues and CI live at git.escapers.de with a resource-limited Actions runner. Deployment runs over FTPS via lftp.
- VerbessertDeploys only transfer what changed
A two-pass lftp mirror instead of uploading the whole build every time.
- NeuGit backup joined the backup system
Repositories, the Forgejo database and attachments end up in the same archive flow as the database and storage, with the same progress display.
- SicherheitEdge functions secured explicitly
On a self-hosted instance the config file that used to enforce this has no effect, so each function verifies its caller itself.
- SicherheitReal names are masked at the source
If a profile is set to keep the full name private, the name never leaves the database — instead of being hidden by the page that displays it.
- VerbessertAuth emails load the logo from storage
Self-hosted mail templates cannot reach the build output, so the image comes from a public bucket.
- VerbessertOne deploy path instead of two
The GitHub Actions workflow was removed after the move to Forgejo.
France, more languages, feedback
A fifth directory source opened up France, the site learned Polish and Czech, and every page grew a feedback button that lands on a real board.
Front-End6
- NeuPolish and Czech added
The site now speaks seven languages.
- NeuA feedback button on every page
One click, and it lands on a real board: the admin ToDo planner with drag and drop, tags and priorities.
- NeuProvider chat rooms
Plus a way to clear a chat instead of deleting message by message.
- VerbessertOne map icon system
The circular badge became a shared helper, and the profile heat map clusters instead of stacking pins.
- VerbessertProfile clean-up
The reviews tab is gone, every block got a "show all" link, and the podium is searchable.
- BehobenLocalised detail headings
The blog and the platform map had German hardcoded into their detail heading.
Anbieterverwaltung1
- NeuMarketing and newsletter administration
Daten & Import3
- NeuA fifth directory source opened up France
escapegame.fr brings providers and rooms with direct website links. Companies that closed are recognised from the sitemap instead of staying online forever.
- VerbessertCountry classification that does not leak abroad
French bounding boxes decide the country, and a four-digit postcode beats the coordinate box — that is what tells Switzerland, Belgium and Luxembourg apart from France.
- VerbessertFrench rooms always carry French as a language
Directories only list the extra languages, which made every French room look English-only.
Core2
- NeuCountries can be switched off centrally
One setting decides which countries appear anywhere on the site.
- SchnellerCaching, security headers and vendor chunking
Together with a dark mode and mobile pass across the app.
The data sign-off toolbox
Instead of trusting bulk edits, every correction now goes through a narrow, documented door — and the room data got a deep clean.
Front-End2
- NeuTeam visits count for every member
- VerbessertBlog hero and image polish
Anbieterverwaltung2
- VerbessertSorting and filters in the admin lists
- VerbessertA hint when the location is inactive
Admins see on the room page why it is not showing up publicly.
Daten & Import8
- NeuNarrow, documented doors for data corrections
Verifying a room, adding a room, merging two rooms and deactivating an entity are the only ways in — each one takes evidence and writes exactly the fields it was given. No bulk overwrite, no guessed values.
- VerbessertRoom names in normal case
ALL CAPS names were rewritten across every country, with two fixes to the algorithm along the way.
- VerbessertJunk filters catch what looks like a room but is not
Interface labels, player-count captions and marketing sentences no longer end up as rooms.
- BehobenThe junk filter ate a real room
Its postcode pattern matched any four-digit number, which was enough to drop "1001 Nachten". It now requires context in front of the number.
- BehobenPolish addresses geocoded to the city centre
The street prefix "ul." was not understood, so 126 of 219 Polish locations silently fell back to the middle of town — with plausible-looking coordinates.
- VerbessertBetter booking-system detection
Fareharbor company embeds without an item key and supersaas.nl alongside the .com domain.
- NeuMerging locations, with a distance guard
Two entries for the same address can be merged; anything more than 750 m apart is refused rather than silently combined.
- BehobenAdding a room survives slug collisions
Slugs are unique across the whole database, so a second "The Vault" used to fail. It now gets a city or counter suffix.
New look, premium, ownership
Gold on warm anthracite replaced the old template, providers got paid plans, and ownership became something you can actually claim and release.
Front-End3
- NeuA new look: gold on warm anthracite
The template design was replaced by a design of our own — one central place for colour, type and shape tokens, light and dark, and no leftovers from the old theme.
- NeuNew awards, and BookingPress support
- VerbessertSorted admin tables, review report and SEO polish
Anbieterverwaltung3
- NeuPremium plans with Stripe
Two plans, per-room highlighting, vouchers and a price table.
- NeuOwnership per location
A provider manager runs the company, a location owner runs one venue. Claims, approval and release are separate steps, all visible in the admin overview.
- NeuProviders can create their own rooms
New rooms go through review before they go live.
Daten & Import3
- NeuThe website beats the directory
The data wizard walks a country provider by provider and treats the operator website as the truth, with the directory as a hint.
- VerbessertThe crawler identifies as a real browser
Several booking systems serve nothing at all to an unknown user agent.
- VerbessertField-level compare-and-set when applying a dossier
A whole-record fingerprint rejected the entire change when any unrelated field had moved in the meantime.
Core1
- VerbessertTest and production payment keys kept apart
Booking, imports, supporters
Rooms started reading their availability straight from the booking system, the first directory import landed, and supporters got their medals.
Front-End3
- NeuKo-fi supporters
Tips and memberships arrive by webhook and earn mascot medals.
- VerbessertRoomMatch without an account
The guided room finder is open to everyone.
- BehobenMap tiles and geocoding work in production
Both relied on the development server proxy and quietly failed once deployed.
Anbieterverwaltung2
- NeuRooms read their availability from the booking system
SuperSaaS, BookingKit and Bookeo are detected automatically, so free slots come from the operator instead of a hand-maintained list.
- NeuGraphics tools for provider assets
Daten & Import5
- NeuThe first directory import
Providers and rooms from lock.me, in two separate pipelines so a bad provider record cannot spoil the room data.
- NeuThe data wizard
Import, provider consolidation, splitting wrongly merged companies, health checks and a worker queue for the long-running jobs.
- NeuReconcile jobs with explicit decisions
Every difference between our data and a website becomes a KEEP, REMOVE, MOVE or ADD — reviewable instead of applied blind.
- NeuAI enrichment for website scans
Plus bulk actions on providers, so a scan result can be worked through in one pass.
- NeuMerging room proposals from a scan
Core1
- NeuFull backup as one archive
Database, storage and accounts in a single local file, startable from an admin page and restorable by path.
Blog, achievements, SEO
The platform grew a voice, a reward system and everything search engines need to find any of it.
Front-End8
- NeuA blog with a multilingual workflow
Posts are written once and translated into every site language.
- NeuAchievements
Tiered awards with holder counts and a public page per award.
- NeuDark mode
- NeuMore than Germany
Countries became a first-class part of the data model instead of an assumption.
- NeuRoomMatch history and team recommendations
What the finder suggested is kept, and a team gets suggestions based on what its members already played.
- NeuScare level and room filters
Rooms can be filtered by the things people actually pick by.
- VerbessertAvatars fall back to the username initial
Better than a generic silhouette for everyone without a picture.
- VerbessertMobile views reworked
Daten & Import2
- NeuGenres and languages are maintained, not hardcoded
Including icon and colour per genre — the list is data, not code.
- NeuAI import, image review, cancellable scans
A scan can be stopped and times out on its own, and imported images are reviewed before they go live.
Core3
- NeuAn SEO system instead of scattered meta tags
One central configuration, an admin page, a switch to keep the site out of search engines, and robots.txt and sitemap generated from live data.
- NeuThe contact form actually sends
It runs through a dedicated function, so a failure is visible instead of silent.
- VerbessertOne lint configuration for the whole code base
The foundation
Providers, locations, rooms, friends, teams, chat and the admin console — the first version that could carry everything after it.
Front-End8
- NeuFind escape rooms
Providers, locations and rooms in one data model, with search, filters and detail pages.
- NeuFriends, teams and chat
Private teams with invitations, friends with online status, an ignore list, and a chat for teams, direct messages and everyone.
- NeuRoomMatch, the guided room finder
- NeuNotifications and referrals
- NeuTeam tabs as a room-card grid
Favourites, played and wishlist, all in the same card layout as everywhere else.
- NeuRadius search
Rooms within a distance of a place, not just inside a city boundary.
- NeuProfile showcases
Pick what your profile puts on display.
- VerbessertDashboards redesigned, location filter reworked
Daten & Import2
- NeuImport from OpenStreetMap, with duplicate merging
Candidates are found automatically and merged in the admin panel rather than created twice.
- NeuCity images with duplicate detection
Core4
- NeuThe admin console
Users, providers, locations, rooms, reviews, contributions and site settings in one place, on one table standard.
- NeuSite logs for missing pages
Every 404 is recorded, so a broken link shows up instead of being reported by a visitor.
- VerbessertOur own icons, and the template assets removed
Including proper icons for installing the site as an app.
- BehobenThe 404 page and password-reset routing
239 von 239 Einträgen. Kleinere Wartungsarbeiten stehen nicht im Changelog.
