Was sich geändert hat

Jeder Schritt seit Tag eins.

escapers wächst in kleinen Schritten. Hier stehen sie alle — neue Funktionen, Verbesserungen und behobene Fehler, nach Bereich sortiert.

28Versionen
239Änderungen
Juni 2026seit
1.9.0Aktuell

Front-End3

  • Behoben
    Room 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.

  • Behoben
    FareHarbor 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.

  • Neu
    Operators 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.

1.8.0

Front-End3

  • Neu
    New 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”.

  • Verbessert
    Tables 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.

  • Neu
    TERPECA 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

  • Sicherheit
    Hiding 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.

1.7.0

Front-End2

  • Behoben
    The 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.

  • Behoben
    Providers 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

  • Neu
    Add 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.

1.6.0

Front-End11

  • Neu
    A 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.

  • Verbessert
    Link 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.

  • Behoben
    A 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.

  • Neu
    Raum 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.

  • Behoben
    The 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.

  • Verbessert
    The 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.

  • Behoben
    The 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.

  • Neu
    One 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.

  • Verbessert
    The 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.

  • Behoben
    The 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.

1.5.0

Front-End3

  • Neu
    Room 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.

  • Verbessert
    Nachbild 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.

  • Verbessert
    Schattenriss 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.

1.4.0

Front-End4

  • Behoben
    The 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.

  • Neu
    Your 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.

  • Verbessert
    The 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.

  • Behoben
    Every 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.

1.3.0

Front-End19

  • Behoben
    Text 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.

  • Verbessert
    Free 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.

  • Verbessert
    City 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.

  • Verbessert
    Provider 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.

  • Verbessert
    The 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.

  • Neu
    A 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.

  • Behoben
    Achievement 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.

  • Neu
    A 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.

  • Neu
    A 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.

  • Neu
    A 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.

  • Neu
    A 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.

  • Verbessert
    Every 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.

  • Verbessert
    The 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.

  • Behoben
    Ausbruch 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.

  • Sicherheit
    Ausbruch 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.

  • Verbessert
    The 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.

  • Neu
    Members 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.

  • Verbessert
    One-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.

  • Neu
    The 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.

1.2.9

Front-End1

  • Verbessert
    Release 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.

1.2.8

Front-End3

  • Behoben
    Search 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.

  • Verbessert
    Comparison 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.

  • Neu
    Honest 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.

1.2.7

Front-End4

  • Behoben
    The 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.

  • Neu
    Rate 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.

  • Neu
    Raum 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.

  • Behoben
    City 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

  • Behoben
    The 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.

1.2.6

Front-End2

  • Verbessert
    The 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.

  • Verbessert
    The 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

  • Neu
    System 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.

  • Behoben
    A 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.

1.2.5

Front-End3

  • Verbessert
    The 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.

  • Behoben
    Language 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.

  • Neu
    The 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.

1.2.4

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

  • Verbessert
    Indoor 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.

  • Neu
    At-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.

  • Neu
    AI-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.

  • Neu
    The 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.

  • Verbessert
    Search 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.

  • Verbessert
    The 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.

  • Behoben
    Friends 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.

  • Verbessert
    One 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.

  • Neu
    Room 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

  • Verbessert
    Provider 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.

  • Verbessert
    Location 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

  • Verbessert
    Genre, 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

  • Schneller
    Pages 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.

  • Schneller
    Images 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.

  • Schneller
    No 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.

  • Behoben
    Language 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.

  • Behoben
    Page 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.

  • Schneller
    Prerender 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.

1.2.3

Front-End1

  • Verbessert
    Boxes 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.

1.2.2

Front-End1

  • Neu
    Comparison 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.

1.2.1

Front-End4

  • Verbessert
    The spam check stays out of the way

    The bot check on forms only shows itself when it actually needs you to confirm something.

  • Verbessert
    Prices 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.

  • Behoben
    Switching 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.

  • Verbessert
    The 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

  • Verbessert
    Provider 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

  • Verbessert
    Prices 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

  • Behoben
    A 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.

1.2.0

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

  • Behoben
    City 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.

  • Neu
    Homepages 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.

  • Neu
    109 more German city pages

    Every German city with escape rooms has its own page now. Berlin and Brandenburg were missing entirely.

  • Neu
    German 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.

  • Behoben
    City 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.

  • Neu
    City 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.

  • Behoben
    Provider pages on small screens

    The buttons at the top of a provider page stacked into a staircase on phones.

  • Behoben
    Daily spotlight on phones

    The staggered tile heights are a desktop effect; on a narrow screen they left a gap.

  • Neu
    Prices 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

  • Behoben
    Greek 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.

  • Behoben
    Rooms 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.

  • Verbessert
    Pages 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.

  • Verbessert
    Every 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.

1.1.0

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

  • Neu
    Release notes

    Every update now gets a dated entry here, so you can see what changed and when.

  • Behoben
    Spotlight on narrow screens

    The last tile of the daily spotlight no longer collapses on small phones.

  • Sicherheit
    Account permissions hardened

    Closed a path that allowed a signed-in account to raise its own permissions.

  • Behoben
    A broken part no longer breaks the page

    If one part of the page fails to load, the rest keeps working instead of going blank.

  • Verbessert
    We 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.

  • Neu
    Every 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.

  • Neu
    Country 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.

  • Behoben
    Room list on country pages

    The room list stayed empty on country pages.

  • Neu
    City 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

  • Verbessert
    Sharper profile pictures from Facebook

    Signing in with Facebook now imports your picture at a higher resolution.

  • Behoben
    Password managers on the sign-in form

    Autofill from a password manager reaches the sign-in button again.

  • Verbessert
    Better link previews

    Pages shared to WhatsApp, Facebook or Slack now show the right title and description in every language.

  • Behoben
    German cities kept their addresses

    German city pages stay exactly where they were, unchanged.

1.0.0

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

  • Schneller
    Unused CSS and four icon families removed
  • Verbessert
    Link 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.

  • Verbessert
    A 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

  • Neu
    escapers 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.

  • Behoben
    Fixed 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.

  • Schneller
    Noticeably 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.

  • Schneller
    Language 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.

  • Neu
    Sign in with Facebook

    Facebook joins Google and Discord. The Meta app is through review and live.

  • Neu
    Change your email address yourself

    The account settings can now swap your login address, confirmed from both the old and the new one.

  • Verbessert
    robots.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.

  • Sicherheit
    Map 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.

  • Behoben
    Password reset links are recognised reliably

    A reset link occasionally logged the visitor straight in instead of opening the form to set a new password.

0.9.0

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

  • Neu
    Daily 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

  • Neu
    Geocoding a single address from the admin area

    Safe by design: it writes coordinates only when the result is unambiguous.

  • Neu
    Media kit for providers

    Logo, badge and embed code in one place, ready to put on your own website.

Daten & Import5

  • Neu
    Address 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.

  • Verbessert
    Malformed street data repaired
  • Verbessert
    Missing address fields completed while geocoding

    Postcode, city and street are filled in from the geocoding answer instead of staying empty.

  • Verbessert
    Duplicate address candidates resolved

    Two matching hits for one location no longer end in a coin flip.

  • Verbessert
    Address repairs extended to Austria and Switzerland

Core5

  • Neu
    Change your password in the account area
  • Sicherheit
    Username handling hardened

    Names are canonicalised before they are stored, and a change cools down before the next one is allowed.

  • Sicherheit
    Profile 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.

  • Sicherheit
    Room deletion is reserved for site admins
  • Sicherheit
    Site logs hardened

    The 404 and browser-error logs accept bounded, de-duplicated entries only — a broken page can no longer flood the table.

0.8.0

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

  • Neu
    Activity 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.

  • Verbessert
    Play 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.

  • Verbessert
    The claim button is visible to guests

    It now explains that an account is needed instead of hiding the action entirely.

  • Verbessert
    Archived team chats stay readable

    Leaving a team no longer takes its chat history with it.

  • Verbessert
    Colour tokens instead of hex values

    The sign-in and invitation pages follow the automatic light and dark theme, including the logo.

  • Behoben
    Activity calendar: full width, no stray scrollbar

    The today outline was also being clipped at the right edge.

Anbieterverwaltung5

  • Neu
    Reviews on provider pages
  • Neu
    Claims can be created in the admin area

    Useful when an owner gets in touch by phone or email instead of using the form.

  • Verbessert
    Owner filter for provider, location and room lists

    Answers "what is actually claimed" without exporting anything.

  • Verbessert
    Claims 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.

  • Neu
    Provider invitation email in German, English and French

Core3

  • Schneller
    The 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.

  • Verbessert
    Admin badges update live

    Pending claims, contributions and feedback count up without a reload.

  • Behoben
    Realtime 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.

0.7.0

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

  • Neu
    Members can leave a team again
  • Verbessert
    Horror 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.

  • Behoben
    Dark mode contrast on city page stat cards

Daten & Import1

  • Neu
    French sign-off tools

    Reactivating an entity, Bookeo detection, and extended add-room and verify-room doors.

Core8

  • Neu
    escapers 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.

  • Neu
    Git 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.

  • Verbessert
    Deploys only transfer what changed

    A two-pass lftp mirror instead of uploading the whole build every time.

  • Neu
    Git 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.

  • Sicherheit
    Edge 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.

  • Sicherheit
    Real 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.

  • Verbessert
    Auth emails load the logo from storage

    Self-hosted mail templates cannot reach the build output, so the image comes from a public bucket.

  • Verbessert
    One deploy path instead of two

    The GitHub Actions workflow was removed after the move to Forgejo.

0.6.0

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

  • Neu
    Polish and Czech added

    The site now speaks seven languages.

  • Neu
    A 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.

  • Neu
    Provider chat rooms

    Plus a way to clear a chat instead of deleting message by message.

  • Verbessert
    One map icon system

    The circular badge became a shared helper, and the profile heat map clusters instead of stacking pins.

  • Verbessert
    Profile clean-up

    The reviews tab is gone, every block got a "show all" link, and the podium is searchable.

  • Behoben
    Localised detail headings

    The blog and the platform map had German hardcoded into their detail heading.

Anbieterverwaltung1

  • Neu
    Marketing and newsletter administration

Daten & Import3

  • Neu
    A 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.

  • Verbessert
    Country 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.

  • Verbessert
    French rooms always carry French as a language

    Directories only list the extra languages, which made every French room look English-only.

Core2

  • Neu
    Countries can be switched off centrally

    One setting decides which countries appear anywhere on the site.

  • Schneller
    Caching, security headers and vendor chunking

    Together with a dark mode and mobile pass across the app.

0.5.0

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

  • Neu
    Team visits count for every member
  • Verbessert
    Blog hero and image polish

Anbieterverwaltung2

  • Verbessert
    Sorting and filters in the admin lists
  • Verbessert
    A hint when the location is inactive

    Admins see on the room page why it is not showing up publicly.

Daten & Import8

  • Neu
    Narrow, 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.

  • Verbessert
    Room names in normal case

    ALL CAPS names were rewritten across every country, with two fixes to the algorithm along the way.

  • Verbessert
    Junk filters catch what looks like a room but is not

    Interface labels, player-count captions and marketing sentences no longer end up as rooms.

  • Behoben
    The 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.

  • Behoben
    Polish 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.

  • Verbessert
    Better booking-system detection

    Fareharbor company embeds without an item key and supersaas.nl alongside the .com domain.

  • Neu
    Merging 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.

  • Behoben
    Adding 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.

0.4.0

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

  • Neu
    A 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.

  • Neu
    New awards, and BookingPress support
  • Verbessert
    Sorted admin tables, review report and SEO polish

Anbieterverwaltung3

  • Neu
    Premium plans with Stripe

    Two plans, per-room highlighting, vouchers and a price table.

  • Neu
    Ownership 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.

  • Neu
    Providers can create their own rooms

    New rooms go through review before they go live.

Daten & Import3

  • Neu
    The 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.

  • Verbessert
    The crawler identifies as a real browser

    Several booking systems serve nothing at all to an unknown user agent.

  • Verbessert
    Field-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

  • Verbessert
    Test and production payment keys kept apart
0.3.0

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

  • Neu
    Ko-fi supporters

    Tips and memberships arrive by webhook and earn mascot medals.

  • Verbessert
    RoomMatch without an account

    The guided room finder is open to everyone.

  • Behoben
    Map tiles and geocoding work in production

    Both relied on the development server proxy and quietly failed once deployed.

Anbieterverwaltung2

  • Neu
    Rooms 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.

  • Neu
    Graphics tools for provider assets

Daten & Import5

  • Neu
    The first directory import

    Providers and rooms from lock.me, in two separate pipelines so a bad provider record cannot spoil the room data.

  • Neu
    The data wizard

    Import, provider consolidation, splitting wrongly merged companies, health checks and a worker queue for the long-running jobs.

  • Neu
    Reconcile jobs with explicit decisions

    Every difference between our data and a website becomes a KEEP, REMOVE, MOVE or ADD — reviewable instead of applied blind.

  • Neu
    AI enrichment for website scans

    Plus bulk actions on providers, so a scan result can be worked through in one pass.

  • Neu
    Merging room proposals from a scan

Core1

  • Neu
    Full backup as one archive

    Database, storage and accounts in a single local file, startable from an admin page and restorable by path.

0.2.0

Blog, achievements, SEO

The platform grew a voice, a reward system and everything search engines need to find any of it.

Front-End8

  • Neu
    A blog with a multilingual workflow

    Posts are written once and translated into every site language.

  • Neu
    Achievements

    Tiered awards with holder counts and a public page per award.

  • Neu
    Dark mode
  • Neu
    More than Germany

    Countries became a first-class part of the data model instead of an assumption.

  • Neu
    RoomMatch history and team recommendations

    What the finder suggested is kept, and a team gets suggestions based on what its members already played.

  • Neu
    Scare level and room filters

    Rooms can be filtered by the things people actually pick by.

  • Verbessert
    Avatars fall back to the username initial

    Better than a generic silhouette for everyone without a picture.

  • Verbessert
    Mobile views reworked

Daten & Import2

  • Neu
    Genres and languages are maintained, not hardcoded

    Including icon and colour per genre — the list is data, not code.

  • Neu
    AI 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

  • Neu
    An 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.

  • Neu
    The contact form actually sends

    It runs through a dedicated function, so a failure is visible instead of silent.

  • Verbessert
    One lint configuration for the whole code base
0.1.0

The foundation

Providers, locations, rooms, friends, teams, chat and the admin console — the first version that could carry everything after it.

Front-End8

  • Neu
    Find escape rooms

    Providers, locations and rooms in one data model, with search, filters and detail pages.

  • Neu
    Friends, teams and chat

    Private teams with invitations, friends with online status, an ignore list, and a chat for teams, direct messages and everyone.

  • Neu
    RoomMatch, the guided room finder
  • Neu
    Notifications and referrals
  • Neu
    Team tabs as a room-card grid

    Favourites, played and wishlist, all in the same card layout as everywhere else.

  • Neu
    Radius search

    Rooms within a distance of a place, not just inside a city boundary.

  • Neu
    Profile showcases

    Pick what your profile puts on display.

  • Verbessert
    Dashboards redesigned, location filter reworked

Daten & Import2

  • Neu
    Import from OpenStreetMap, with duplicate merging

    Candidates are found automatically and merged in the admin panel rather than created twice.

  • Neu
    City images with duplicate detection

Core4

  • Neu
    The admin console

    Users, providers, locations, rooms, reviews, contributions and site settings in one place, on one table standard.

  • Neu
    Site logs for missing pages

    Every 404 is recorded, so a broken link shows up instead of being reported by a visitor.

  • Verbessert
    Our own icons, and the template assets removed

    Including proper icons for installing the site as an app.

  • Behoben
    The 404 page and password-reset routing

239 von 239 Einträgen. Kleinere Wartungsarbeiten stehen nicht im Changelog.

Wir verwenden Cookies

Wir verwenden Cookies, um dein Erlebnis auf escapers zu verbessern. Notwendige Cookies sind immer aktiv.