WHAT'S NEW IN V43.23
🅿️ Parking dot, false green fixed — paid-hours start was hardcoded to Vienna's 9am. Budapest's own zones (A/B/C/D) start at 8am, so the dot showed 🟢 free for that whole hour. Now starts the paid window at 8am everywhere.
WHAT'S NEW IN V43.21
🍱 Feast & Refill now always top him off — both used to add a flat bonus that could land short after heavy decay. Every Feast now fills energy to 100%, every Refill fills hydration to 100%, guaranteed.
🔄 Feast/Refill/Move Furniture now actually sync — they were missing from the shared pool's effect table entirely, so the boost only ever showed on your own device. Fixed — every visitor now sees the same stats.
💧 Hydration drains slower — a full tank now lasts ~15h instead of ~10h before needing a refill.
WHAT'S NEW IN V43.20
🅿️ Parking dot, villages corrected — villages were wrongly lumped in with hamlets as always-free; tourist/lake/ski villages often have real paid lots. Villages now follow the same weekend/9am–10pm/holiday rule as towns and cities. Only hamlets and isolated dwellings stay always-free.
WHAT'S NEW IN V43.19
🅿️ Parking dot now checks the time, not just the day — it used to show 🔴 paid for the entire weekday, 24 hours a day. Now it's 🟢 free outside 9am–10pm too (verified against Vienna's citywide Kurzparkzone hours), red only inside that window on a non-holiday weekday. Weekends stay 🟢 all day, unchanged.
WHAT'S NEW IN V43.18
🍖 Stickman couldn't stay fed/hydrated — fixed — energy/hydration used to drain a full tank in ~83/~55 minutes, which combined with the 3-feeds-per-real-day cap made 0% unavoidable most of every day. Now takes ~24h/~10h to drain, so feeding him actually keeps him fed.
🔄 Shared stats no longer undo your feeding — the community-pool sync used to fully overwrite your stats every 5s while the Cockpit was open, wiping out a feed you just gave him. Now a sync can only improve a stat, never regress it.
✅ Full bug check — index.html, stickman.js, all Netlify Functions and config files: JS syntax, duplicate IDs, tag balance, JSON/XML/TOML validity, orphaned element refs, canvas save/restore balance — all clean.
WHAT'S NEW IN V43.17
🅿️ Parking check knows rural hamlets — named hamlets with no Kurzparkzone (e.g. Hinterbühl) now always report free instead of falling into the paid/unknown branch; the location lookup now passes the resolved village/hamlet/county name through to support it.
WHAT'S NEW IN V43.15
⚙️ Facility Management photo fixed — background dim overlay was 0.30 (too dark) vs VIP Transfers' 0.15, making the photo look flat/muddy. Now matches VIP's brightness.
WHAT'S NEW IN V43.14
🅿️ Parking status, visitor panel — new [P] line: 🟢 free (weekend/public holiday), 🔴 paid (weekday), 🟡 blinking = no data for that spot. Reuses your already-detected location, no extra lookup; holidays via Nager.Date (free, keyless, full Europe coverage incl. Serbia/Albania/Bulgaria). General Kurzparkzone-style rule, not exact per-city hours.
WHAT'S NEW IN V43.13
📲 Install button, actually visible now — it used to stay hidden unless a specific browser condition was met, which was rare. Now it shows for anyone who hasn't installed the app yet.
🚗 Car Magnets, one tap away — moved from inside Branding & Marketing to sit directly on the main Branding card.
WHAT'S NEW IN V43.12
📅 VIP Transfers booking fixed — BOOKING now opens THE TIME VAULT, the same booking portal as the main menu, instead of the old appointments page.
🖼️ VIP Transfers & Branding photo fix — the background photo was being squashed into a thin strip; the pop-up now sizes properly so it fits.
WHAT'S NEW IN V43.11
🖼️ Picture pop-ups go full-screen — PRICE LIST 2026 and CAR MAGNET OPTIONS now fill the screen instead of a small card, so the photos are much bigger and easier to read.
WHAT'S NEW IN V43.10
🐛 Popup line bugfix — a bright edge-glow bar could flash across sub-menu content on scroll (Chrome/Android quirk). Fixed on all popups.
📲 Install App button, fully fixed — now stays hidden behind every nested sub-menu, not just the first level.
🚗 VIP TRANSFERS redesigned — clean Price List 2026 / Booking / Contact menu over a bigger, more visible background photo.
WHAT'S NEW IN V43.9
📲 Install App button — now hidden behind every MY WORK sub-menu; only shows on the main menu.
🗜️ Sub-menus resized — all MY WORK cards are now compact floating cards instead of near full-screen, so the animated background shows around them. VIP TRANSFERS shrunk smallest of all.
WHAT'S NEW IN V43.8
🚗 Car Magnet Options — new sub-popup inside BRANDING & MARKETING showing both car magnet logo designs, tap to compare.
💶 Price List 2026 — new sub-menu inside VIP TRANSFERS showing the 2026 rates & tariffs image.
✅ Full bug check — index.html, stickman.js, all Netlify Functions and config files re-checked (JS syntax, duplicate IDs, tag balance, JSON/XML validity, orphaned element refs): clean, no bugs found.
WHAT'S NEW IN V43.7
📲 Install App button repositioned — moved from bottom-right to top-right, directly under the build badge; now icon-only (Apple + Android glyphs, no label) and sized to match the badge's own compact chip.
WHAT'S NEW IN V43.6
📲 Install App button — new steampunk pill, bottom-right: triggers Chrome/Android's native install prompt directly, iOS shows a "tap Share → Add to Home Screen" tip (Safari has no install API to hook into). Hides itself once already installed.
⚙️ sw.js added — minimal service worker so Chrome's install prompt actually fires reliably (its criteria still want a real fetch handler even though the old empty-SW trick no longer counts). Caches only the static shell (this page + icons + manifest); every /.netlify/functions/* call still always hits the network live — weather, prices, flights etc. are never cached.
✅ Final control pass — index.html, stickman.js, all Netlify Functions and config files re-checked (JS/JSON/XML syntax, duplicate IDs, tag/brace balance): clean, no bugs found.
WHAT'S NEW IN V42.5
👆 Bigger clock buttons on mobile — REC/STOP/PLAY/EJECT are 15% bigger, PAY/SOUND/WORLD are 5% bigger, for easier tapping on phones.
🐛 STOP button bugfix — a leftover style rule was silently keeping STOP smaller than REC/PLAY/EJECT on mobile. Fixed — all four now size consistently.
✅ Full QA pass — every script, function and config file checked for errors; none found beyond the STOP fix above.
WHAT'S NEW IN V42.4
🐛 Mini map bugfix — a failed Leaflet CDN load used to break the EV mini map for the rest of the session (no retry) and left an empty bordered box on screen. Now it retries next time and hides itself cleanly instead.
WHAT'S NEW IN V42.3
🗺️ Mini map → no key needed — swapped the V42.2 Google Embed map for Leaflet + OpenStreetMap. Same "you + nearest chargers" view, but now every pin is tappable for its real price/speed/connector, and there's nothing to sign up for — no key, no account, no billing, ever.
WHAT'S NEW IN V42.2
🗺️ EV chargers → mini map — the charger list now has a small embedded Google Map above it (driving route from you to the nearest few chargers), so you can see them at a glance before scrolling the list. Needs a free Google Maps Embed API key set in the code; without one the map just stays hidden and the list works exactly as before.
WHAT'S NEW IN V42.1
📍 Visitor panel stopped going stale — location (and the fuel price with it) was only ever detected once per page load; leaving the tab open while travelling kept showing wherever you started. Now re-detects after 15 min, and the fuel cache itself won't reuse a price fetched somewhere else. The Johanna/Vienna tile in Financials is intentionally separate from this (unchanged, confirmed correct back in V33.0/V25.0).
🍱 3x food = full — hitting today's 3rd Food cap use (Eat or Feast) now always tops energy to 100, instead of a flat bonus that could land short after heavy decay.
🪑 Unwind → Move Furniture — same slot, same zen cap and effect, new theme.
🌦️ Weather HUD smaller — stickman.js v7.5→v7.6: tighter font/padding, still readable.
WHAT'S NEW IN V42.0
🎬 Play button → newest video — now opens each channel's latest upload instead of a fixed video: 1983 MHz = Gábor Bali Vlog, 83 MHz = Workout & Drone (vitiligoandfriends), 0 MHz = AutoMoto Drama. New latest-video function reads each channel's public RSS feed, no API key needed.
🌍 World button → frequency-linked — took over Play's old fixed destinations: 1983 MHz = Threat Monitor (mbtmv7), 83 MHz = Fitness app, 0 MHz = Atlas of Conflict (unchanged special fit logic).
👆 Cockpit buttons shorter again — 40px min-height (was 44px), tighter vertical padding.
WHAT'S NEW IN V41.6
🌦️ Weather HUD moved into the cage — stickman.js v7.4→v7.5: fixed a bug where the companion's weather readout floated over the top-right of the whole page whenever the Cockpit was closed. It now only shows inside his box, doubling as a weather + how-he-feels indicator (🥶/🥵/🌤️).
👆 Cockpit buttons smaller & flatter — 44px min-height (was 48px), tighter padding/gap/font so all rows fit a normal phone screen without scrolling the Cockpit.
🔍 Visitor counter chip ~20% smaller — the number chip only; the info panel that opens on tap is unchanged.
⏱️ Auto-close bar edge fix — drain bar's rounded corners never matched the modal's real edge (square/borderless on mobile); now flush.
WHAT'S NEW IN V41.5
🩺 Stickman audit — confirmed v7.2/v7.3's physique, object-interaction, lifelike-movement and graphics engine reads the Cockpit's diet tally & daily caps correctly with no bugs; renumbered to v7.4 (deploy v41.5) — no functional changes needed, already deployment-ready.
🍱 3 bonus buttons — Feast (2x meal), Refill (2x water), Unwind (2x meditate); completes the grid to a clean 5×4.
👆 Bigger tap targets — cockpit buttons now 48px min-height (was 40px) up to 600px screens (was 480px).
🔍 Streak & visitor counters, for real this time — fitness-streak digits/label and visitor chip/panel text actually sized up ~18% now (thankful-quote text +30%); a mobile !important override was silently shrinking the streak digits back down and is now fixed too.
📲 Splash screen, actually black now — added the apple-touch-startup-image iOS needs (manifest background_color alone does nothing for the iOS launch screen) plus a proper 512×512 icon so Android's auto-generated splash has what it needs too.
WHAT'S NEW IN V41.0
🥗 Diet-driven physique — Feed split into Healthy/Junk; stickman now visibly trends muscular or chubby based on your choices (reads stickman.js's existing physique engine, no guessing).
📅 Daily need caps — Food ≤3/day, Fitness ≤2/day (walk/run/pullup/pushup/swim/jump combined), Zen ≤1/day (sleep or meditate). Resets at local midnight; capped buttons grey out with a tooltip.
👆 Bigger cockpit buttons on mobile — larger tap targets, less mis-tapping.
🔍 Fitness streak & visitor counter — both cards ~18% bigger with larger fonts, thankful-quote text sized up most.
📲 manifest.json added — fixes the white splash-screen flash behind the app icon when installed to a phone home screen; now black to match.
WHAT'S NEW IN V40.0
🌦️ Stickman weather + day/night — companion box now shows a live weather HUD (temp, condition, humidity, wind, sunrise/sunset) fed by the same solar calc + Open-Meteo fetch the visitor-info panel already uses. He sleeps automatically at real sunset and wakes at real sunrise, falling back to a 23:00–07:00 window until solar data has loaded.
WHAT'S NEW IN V39.0
🎬 Fitness videos — new FITNESS VIDEOS section inside Fitness & PA with 4 embedded clips (2 long-form + 2 Shorts), lazy-loaded only while the modal is open.
📹 My Videos — 1 new clip added to the grid.
WHAT'S NEW IN V38.0
👥 Live "inside" counter — the My Work menu tile now shows how many people are in the Companion Cockpit right now, and the cockpit itself shows the same live count next to the deaths tally. Backed by Netlify Blobs via stickman-stats.js: each open tab heartbeats every 5s while inside, entries expire after 15s of silence, and closing the cockpit reports the exit immediately.
WHAT'S NEW IN V37.0
💱 Currency: live refresh + charts — the 1/10/50/100 € breakdown now re-renders in place on every price refresh (60s auto, manual ↻, pull-to-refresh) instead of freezing at the moment you opened it. Tap any Ft value for the live EUR/HUF chart, or any din value for EUR/RSD — both open on Google Finance in a new tab.
WHAT'S NEW IN V36.0
⚡ EV chargers: OCM + Overpass merged — was a waterfall (Overpass only ran if OCM was empty); now both fetch in parallel and combine, de-duped by location, so you get OCM's pricing AND Overpass's wider POI coverage together. Static list stays as the last resort.
WHAT'S NEW IN V35.0
⛽ Europe-wide fuel prices — visitor-info panel now shows Benzin/Diesel for the whole continent, not just Austria. Austria stays live (e-control.at); every other country falls back to a weekly national-average table (tolls.eu, tagged "(avg)" so it's never confused with a live station price).
⛽ Johanna tile split — the ⛽ emoji/label now always opens johanna-garage.at; the price itself is its own link to the cheapest nearby station on Google Maps. Previously one link did both jobs and the emoji could get silently redirected.
WHAT'S NEW IN V33.0
💱 Currency tab — new row under All My Links shows live EUR→HUF/RSD; tap it for a detailed 1/10/50/100 € breakdown. Rate comes from Yahoo Finance + open.er-api.com (Yahoo doesn't reliably list RSD), with cached/hardcoded fallback if both are unreachable.
✅ Audit pass — confirmed the visitor-panel fuel price correctly shows AT-only outside Austria (e-control.at has no coverage elsewhere), the Johanna/Avanti tile correctly deep-links to whichever station is actually cheapest, and stickman.js (v7.1) has no outstanding bugs.
WHAT'S NEW IN V30.0
⚡ EV Charger upgrade — chargers now come from Open Charge Map within a 40 km radius (tuned down from 100 km for faster results), so each result shows a real price where the operator lists one, plus connector type. Tap any result to open it on Google Maps.
🛠️ Reliability fix — chargers, financials, commodities & fuel lookups now explicitly request uncompressed responses, closing the same silent-failure gap that once broke flight prices (V23).
WHAT'S NEW IN V25.0
⛽ Local fuel price — the visitor-info panel (top-left counter) now shows live Benzin/Diesel prices for YOUR location, separate from the Johanna/Vienna tile in Financials. Tap the price to open the cheapest nearby station on Google Maps. Coverage: Austria only (e-control.at data).
WHAT'S NEW IN V24.1
⛽ Fuel tile link fix — the JOHANNA/AVANTI tile showed the cheapest station in the area (by design) but always linked to Avanti's own site, even when a different station had the lower price. It now opens a Maps link to whichever station that price actually belongs to.
WHAT'S NEW IN V24.0
🥇 Metals cache — gold/silver now cached server-side (5 min fresh, 2 hr stale fallback), so a Gold & Co. layout change no longer blanks the price instantly.
📈 Finance fallback host — S&P 500, VWCE, EUR/USD and Brent now retry on Yahoo's query2 host if query1 is rate-limited.
⏸️ Modal timer pause — switching tabs now pauses the auto-close drain bar instead of letting it run out in the background.
🔒 Security headers — added X-Frame-Options, nosniff, Referrer-Policy and Permissions-Policy at the Netlify edge.
WHAT'S NEW IN V23.0
✈️ Flight prices fix — flights.js now requests plain-text from Ryanair (Accept-Encoding: identity); previously gzip responses silently broke JSON.parse, causing 503 on every flight lookup.
⛽ Fuel verified correct — confirmed GPS by-address search is already Tier 1 (no hardcoded station IDs); Johanna/Avanti price is accurate.
WHAT'S NEW IN V22.0
✈️ Flight Escape modal — Escape key now correctly closes the ✈ modal (ID mismatch fixed).
⚙️ Flight proxy chain v21 — allorigins + codetabs fallbacks, 12s timeout, per-source status, RETRY button, 5-min sessionStorage cache, abort on close, auto-close resets on interaction.
🗺️ Atlas mobile fix — padding:0 on modal-container stops 100vw overflow on narrow phones.
WHAT'S NEW IN V17.7
🙏 150 Gratitude Sentences — expanded from 110 to 150; now uses a seeded daily shuffle so every day is unique and no sentence repeats within a 150-day cycle.
⏳ 2055 Countdown — tap the daily gratitude sentence to reveal a live countdown in days to 2055 August 3.
🖥️ Tablet clock fix — added a 769–1023 px breakpoint so the clock frame fits within its bezel on iPad-sized screens without overflow.
📱 Cross-platform polish — tightened responsive ladder for phone/tablet/desktop; clock, buttons and cards all size correctly across all viewports.
WHAT'S NEW IN V17.8
🌍 Community Companion — stickman stats & deaths now shared across ALL visitors via Netlify Blobs. One pet, everyone feeds him.
✨ 10 Steampunk 3D effects — button tilt, stat-bar pulse, gauge ring, steam vent, brass emboss, 3D card hover, hinge switch, cog spin, copper shine, tick sweep.
WHAT'S NEW IN V17.4
🔒 +10 STUFF one-time — action pack replenishment now single-use per browser session; button locks & greys out after use.
📊 Stable visit counter — daily-increment logic + 15-min global cache; no more jumps on reload.
💀 Deaths & actions persist — death tally and remaining actions both survive page reloads within the same session.
WHAT'S NEW IN V17.3
⏱ Time Vault updated — now loads ttv27.netlify.app (backup: ttvbre.netlify.app). Threema contact added to Social Media. Previous portal archived as Time Vault v1 inside MBV8 → Old Work, opens as popup.
WHAT'S NEW IN V17.2
🛠️ Cockpit canvas fix — the habitat canvas was never actually being resized on open (a hook-chain bypass meant his module always sat at the browser's blank 300×150 default), so nothing ever rendered inside it. Now triggered by a MutationObserver that can't be bypassed.
🏋️ Gym habitat — his module is now a proper furnished corner: weight rack with dumbbells, a floor mat, the pull-up bar, and the reading table & chair all in one room. He now wakes up centered on the gym floor instead of in the corner.
WHAT'S NEW IN V17.1
🛰️ Financials proxy fix — corsproxy.io changed its API (now needs ?url=); every gold/silver/S&P/VWCE/oil/fuel fallback using it was silently broken. Fixed all 13 call sites, plus added an extra backup proxy to the thinner chains.
WHAT'S NEW IN V17.0
🤖 Companion contained — he no longer wanders off behind the Cockpit modal; push-ups now lie correctly prone in his viewport.
💀 Death counter — tracks how many times he's met his end; stats now crash on death instead of carrying on unaffected.
💧🏊📖🤹 New activities — Water, Swim, Read & Juggle joined Feed/Coffee/Walk/etc. in the control panel.
🏋️ Bigger habitat — taller Cockpit viewport with a pull-up bar & a little reading table.
WHAT'S NEW IN V16.5
🖼️ Fitness Certificate added — new badge & modal in Fitness & PA section; drone cert (dbF8lKg) unchanged.
🌐 Web & Freelance compact — modal now fits one screen; MBV166 added to both Projects grid and Old Work.
💡 Clock flash no longer whites out — mhz-flash uses color:inherit instead of #fff to stop the blink.
🔒 Financials double-done guard — _finalized flag prevents done() firing twice if gold/silver callbacks race.
WHAT'S NEW IN V16.4
🖼️ Fitness & PA background — hero image behind the Fitness/PA modal.
⛓️ Elevator chains now visible — fixed overlay opacity so the chain-column transition actually shows.
🔫 Gunshot gear on menu tap — brass cog embeds at the click point and spins for ~2 s; triggers only on link-card clicks.
WHAT'S NEW IN V16.2
📱 Clock width −15% on mobile — reduced max-width at 768px/480px/360px for better fit on narrow phones.
🖥️ Social modal desktop height fixed — no longer full-screen on desktop; auto-sizes to content.
WHAT'S NEW IN V16.1
📡 Live Financials — S&P 500, VWCE & EUR/USD now fetched server-side via /.netlify/functions/financials, with the old proxy chains kept as fallback.
🗺️ Atlas of Conflict — map now fills the popup edge-to-edge on every screen size, with live re-fit on rotation/resize.
🧹 Menu Cleanup — removed THE TIME VAULT entry from the main menu.
WHAT'S NEW IN V16.0
🔧 MBV8 HUD Fix — version badge & streak counter now correctly restore after closing the MBV8 menu.
🛰️ Commodities Function — Netlify serverless function for live Brent crude price (no CORS, 5-min cache).
🔊 Audio First Tap — Stargate sounds now play on the very first interaction.
⚡ Canvas Optimisation — matrix & circuit canvases skip rendering frames when hidden.
SOCIAL MEDIA