Skip to content

Changelog

noteMASTER11 edited this page Jul 23, 2026 · 20 revisions

Changelog

3.4.0 Beta — Runtime Stability and Compact UI

This cumulative prerelease contains every change made after 3.3.1-beta.

In-game UI

  • Added full, compact-map, and button-only stages to the native UI App.
  • Added separate minimize and super-minimize controls with proper SVG icons and spacing.
  • Added a collapsed-state attention indicator for new queued orders and notifications without forcing the app open.
  • Every UI App session starts in the full interface; the Connected Phone layout remains independent.
  • Fixed the Vehicles history sort menu so its options render above vehicle cards.

Runtime architecture and stability

  • Reduced taxiDriver.lua to 174 top-level locals and extracted ride rules, offer planning, Vehicle Bridge guards, fault boundaries, and optional LAN loading.
  • Added per-subsystem protected updates and independent teardown cleanup. One optional service failure no longer aborts the rest of the game tick.
  • Added generation-checked asynchronous vehicle callbacks and re-resolution of the current object after Vehicle Config, reset, replacement, or level lifecycle changes.
  • Routed dashboard energy, Realistic Mode setup, cheat fuel/charge assignment, paid refueling, Magic Fuel, and shift restoration through the guarded bridge.
  • Fixed AI completion callbacks that could receive a missing vehicle.
  • Removed the unused telemetry reset entry point while preserving Vehicle Config suspension and lazy stable-VM refresh through vehicleScanGuard.

Performance and lifecycle

  • Periodic HUD updates now build scalar partial patches; offers, shifts, Fleet, garage previews, and settings are rebuilt only after explicit state changes or collection dirty events.
  • Fixed Fleet dirty-state consumption so collection changes are neither repeated forever nor lost between HUD intervals.
  • Connected Phone is now an optional lazy service and cannot prevent core taxi gameplay from loading.
  • Road-network export runs in a coroutine that yields every 500 links and rejects stale level builds.
  • Split normal collision and exact-approach raycasts into independent fixed 50 ms clocks, removed FPS-dependent braking scans, and reused one nearby-object snapshot per pass.
  • Filtered extended reset logging to the player and active TaxiDriver vehicle.
  • Scoped the native-AI route observer to active route watching and restores the original GUI hook afterward.
  • Stops heartbeat and LAN work at early UI or mission shutdown and restarts sharing safely for the next mission.

Localization and validation

  • Applied the second native-speaker Simplified Chinese revision and added collapse/restore labels in all supported languages.
  • Passed Lua syntax validation, gameplay combinatorics including 500 deferred respawns, 343 responsive locale/HiDPI UI states, and LAN HTTP/WebSocket proxy tests.
  • Existing 3.3.1-beta settings, progress, vehicle history, shift history, Fleet data, and LAN identity remain compatible.
  • UI cache revision: 340-beta.

Release: TaxiDriver Reloaded 3.4.0 Beta — Runtime Stability and Compact UI

3.3.1 Beta — Lightweight Fleet Routing

This focused prerelease separates hired Fleet drivers from the experimental predictive AI Driver used by the player's vehicle.

Fleet architecture and performance

  • Replaced a full predictive/spatial AI supervisor per hired vehicle with a lightweight worker using BeamNG's native ai.driveUsingPath.
  • Removed per-Fleet-worker scene scans, spatial sensor fans, local A* searches, parked-vehicle tracking, exact-approach controllers, and gearbox overrides.
  • Kept the player's predictive AI Driver unchanged and isolated from Fleet route decisions.
  • Staggered 250 ms employee monitoring across four update phases to prevent all workers checking on the same simulation tick.
  • Preserved persistent hired vehicles, purple map/world markers, assignments, wages, owner share, and operating statistics.

Route recovery

  • Rebuilds failed routes from the employee's current road segment and removes already passed nodes instead of sending the vehicle back toward the route origin.
  • Validates native Route Done against the physical target before accepting arrival.
  • Uses a minimum 45-second no-progress window, at most three replans, and safe job abandonment/replacement when a destination remains unreachable.
  • Added Lua combinatorics for native route dispatch, passed-node trimming, current-segment replanning, bounded recovery, and manager failure hand-off.

Existing 3.3.0 Beta settings, progress, Fleet records, vehicle history, and shift history remain compatible. UI cache revision: 331-beta.

Release: TaxiDriver Reloaded 3.3.1 Beta — Lightweight Fleet Routing

3.3.0 Beta — Predictive Routing and Spatial AI

This cumulative prerelease contains every change made after 3.2.0-beta, including the Connected Phone reliability changes first published in 3.2.1 Beta.

Experimental AI notice: AI Driver is still a gameplay experiment around BeamNG's native vehicle AI. Predictive routing and spatial recovery reduce several visible failure modes but cannot guarantee human-level behavior on every map, vehicle, or traffic layout.

Predictive routing

  • Added early final-entrance planning at up to 75 m from passenger, cargo, stop, and refueling triggers.
  • Evaluates all nearby drivable access edges, both graph start nodes, both access endpoints, and an exact local suffix into the physical trigger.
  • Rejects graph candidates that initially run backwards, jump away from the active native route, or exceed the early 10/16 m cross-track envelope.
  • Selects the shortest complete graph-prefix plus local-suffix route; local score and clearance break only near-equal costs.
  • Added lower-bound ordering and branch-and-bound pruning for access candidates.
  • Densifies the selected route to a maximum four-metre waypoint spacing and derives the controller timeout from path length.
  • Tightened physical arrival to a 0.7–0.8 m completion radius and retained explicit verification after native Route Done.

Spatial perception and recovery

  • Replaced narrow world-horizontal sensing with vehicle-aligned 180° forward and reverse fans sampled every 10 degrees.
  • Added five full-width static probes per direction/path segment to catch chargers, posts, fences, and other thin edge obstacles.
  • Added pitch/roll-aware rays plus ground height, step, slope, and cross-slope checks; traversable pavement can participate in a bypass while unsafe geometry is rejected.
  • Merged map traffic with all scene vehicles and temporarily tracks nearby parked cars that BeamNG normally omits from map.objects.
  • Added a bounded local A* graph over seven distance rings and 24 directions when a smooth minimum-offset bypass is insufficient.
  • Expanded reverse-space planning and live rear-path rescanning for collision-checked 3–6 m escape maneuvers.
  • Corrected the conversion between geometric left/right and BeamNG steering-input sign for forward and reverse recovery.
  • Added curved trajectory collision checks, progressive/emergency braking, and rapid 1.5-second static-contact recovery.
  • Fixed TaxiDriver's own safety-input override prematurely releasing a collision hold.

AI visualization and logs

  • Added a persisted Visualize AI decisions setting, disabled by default.
  • Draws clear/blocked sensor rays, rejected/feasible paths, surface samples, spatial-graph nodes, selected waypoints, and planner status in world space.
  • Strategic perception refreshes every 330 ms while rendering uses the cached result.
  • Expanded AI JSONL records with graph/access nodes, route/local costs, candidate counts, waypoint no-progress state, and reverse fan/trajectory clearance.

Queued-order fail-safe

  • Added an explicit close button that dismisses the displayed proposed next order.
  • Added a dedicated phase-independent Lua expiry guard using real time, including while Vehicle Config suspends normal gameplay updates.
  • Clamps corrupt timers and closes stale offers safely.
  • Added a browser-side monotonic deadline that stale HUD packets cannot extend.
  • Added the new dismissal and visualization strings to all nine localizations.

Connected Phone since 3.2.0

  • Added ranked Windows private-IPv4 discovery, bind validation, physical-adapter preference, VPN/virtual penalties, clean lan.json creation, and structured diagnostics.
  • Replaced the blank QR failure state with an actionable localized diagnostic.
  • Uses BeamNG's native LAN listener when reachable and falls back to a bounded non-blocking LAN-to-loopback byte proxy when the game exposes only 127.0.0.1.
  • Added a live phone simulator covering the external HTML/assets, bng-ext-app-v1 WebSocket, heartbeat, and authoritative TaxiDriverHUDState response.
  • Incorporated 156 native-speaker Simplified Chinese corrections while preserving newer keys.

Validation

  • Expanded Lua combinatorics for graph/reference alignment, candidate ordering, sensor coverage, footprint/surface checks, parked vehicles, steering direction, reverse/static recovery, offer expiry, and 500 deferred respawns.
  • Verified 343 responsive UI states across both surfaces, all nine locales, compact/full layouts, and DPR 2 HiDPI.
  • Passed LAN HTTP/WebSocket checks and deterministic 49-entry packaging.
  • Existing 3.2.0/3.2.1 Beta settings and progress remain compatible. UI cache revision: 330-beta.

Release: TaxiDriver Reloaded 3.3.0 Beta — Predictive Routing and Spatial AI

3.2.1 Beta — Connected Phone Reliability

This patch contains every change made after 3.2.0-beta.

Connected Phone networking

  • Replaced the loopback proxy path with BeamNG's native all-interface External UI listener.
  • Added ranked IPv4 discovery from BeamNG adapter data, the native server result, the Windows route-selected socket, Winsock hostname resolution, and a previously confirmed address.
  • Added RFC1918/CGNAT validation, real bind checks, physical-adapter preference, and penalties for common VPN, Hyper-V, VirtualBox, VMware, tunnel, Bluetooth, and other virtual interfaces.
  • Added a Windows 10/11 fallback for systems where BeamNG reports only 127.0.0.1: LuaSocket resolves the computer hostname through Winsock and evaluates every returned IPv4.
  • Persisted lan.json only after a usable address and server have been confirmed.
  • Added structured native_server_started, adapter_discovery, hostname_discovery, route_discovery, address_candidate, and address_selected diagnostics.
  • Replaced the empty white QR square on failed startup with a localized Local server unavailable state and the underlying diagnostic message.
  • Confirmed clean discovery with no pre-existing lan.json: 192.168.93.143 was selected over the Hyper-V address 172.25.192.1, and the phone connected successfully.

Localization and documentation

  • Incorporated 156 native-speaker corrections to the Simplified Chinese interface while preserving keys introduced after the contributed locale revision.
  • Added a plain-language BeamNG Repository description covering supported gameplay modes, physical cargo mass, shifts, AI driving, fleet operations, refueling, persistence, and diagnostics.
  • Updated the runtime documentation for native LAN listening and the dedicated networkAddress.lua selector.

Validation

  • Passed LAN address-selection combinatorics, Lua syntax verification, and HTTP/WebSocket subnet transport checks.
  • Verified 343 responsive UI states across the in-game UI App, Connected Phone, all nine locales, and DPR 2 HiDPI rendering.
  • Passed deterministic 48-entry package validation. Existing 3.2.0 Beta settings, progression, fleet, vehicle, and shift data remain compatible.

Release: TaxiDriver Reloaded 3.2.1 Beta — Connected Phone Reliability

3.2.0 Beta — Fleet Operations

This prerelease contains every change made after 3.1.1-rc.

Fleet gameplay

  • Added My Fleet to the start screen and active-route map overlay.
  • Added separate garage spawning and recruitment of existing traffic cars.
  • Added one independent TaxiDriver AI worker per hired vehicle, with passenger/cargo assignments and Careful, Standard, or Fast background-driver presets.
  • Added hiring fees, ten-minute wages, configurable owner share, maximum driver count, and insufficient-funds suspension.
  • Added persistent fleet totals and per-vehicle statistics in fleet.json.
  • Added a live fleet screen with job state, speed, progress, distance, controls, player-centered map, purple markers, and access during the player's own route.
  • Added localized nearby world labels with a configurable 50–1,000 m range.
  • Added full fleet interface and settings translations for all nine languages.

AI logging and reliability

  • Added an opt-in streaming taxidriver_ailog_<timestamp>.jsonl journal from AI activation until manual deactivation/session shutdown.
  • Added route/target snapshots, graph progress, signal and lead state, speed caps, controller inputs, gearbox/ignition changes, recovery, collision safety, and damage records.
  • Added route-segment projection plus curve/junction look-ahead speed caps.
  • Added temporal and collision-ray validation for lead vehicles.
  • Added a startup preflight and improved repeated-stuck escalation through controlled forward creep or rescanned reverse escape.

Validation

  • Expanded Lua combinatorics for fleet presets, job combinations, hiring sources, economics, lifecycle, persistence, AI logging, recovery, and 500 deferred respawns.
  • Verified 343 responsive UI states across both surfaces, all nine locales, compact/full layouts, and HiDPI.
  • Passed LAN HTTP/WebSocket transport tests and deterministic 47-entry package validation.
  • Bumped the UI asset revision to 320-beta; existing 3.1.1 RC settings and progress remain compatible.

Release: TaxiDriver Reloaded 3.2.0 Beta — Fleet Operations

3.1.1 RC — Experimental AI Driver Tuning

This release candidate contains every change made after 3.1.0-beta.

Experimental AI notice: the AI driver remains a little clumsy and is provided mainly for fun. It is an experiment built around BeamNG's native vehicle AI, with an additional TaxiDriver supervisor that tries to make the built-in behavior more sensible in a visible passenger, delivery, and refueling scenario. It is not intended to behave like a production autonomous-driving system on every map, vehicle, junction, or traffic layout.

Presets and settings

  • Added Modest Novice, Cautious Driver, Balanced, Assertive, Mad Racer, and Custom AI profiles.
  • Ready-made profiles apply all driving, rule, maneuver, and recovery parameters together. Manual controls appear only for Custom.
  • Split traffic-rule obedience into independent Obey speed limits and Obey traffic signals switches.
  • Added a nested Maneuvers and recovery section for overtaking, lane-change clearance, oncoming-lane recovery, reverse recovery, recovery-attempt count, and exact-approach speed.
  • Existing 3.1.0 Beta settings migrate to Custom without losing values; new installations default to Balanced.
  • Added the new settings to all nine interface localizations.

Recovery and collision checks

  • Added rear-facing collision-fan planning across multiple steering angles.
  • When no forward angle is available, AI can reverse 3–6 metres through the clearest rear corridor and then recalculate its minimum-offset forward bypass.
  • Rear geometry and nearby vehicles are rescanned during the escape; a newly blocked path aborts and brakes.
  • Added a configurable maximum recovery-attempt count so an unsuccessful AI stops for player intervention instead of repeating aggressive maneuvers indefinitely.
  • Lane-change safety margin now scales required clearance both ahead and behind; exact-approach speed is independently configurable.

Powertrain and waiting behavior

  • Made Arcade gearbox selection idempotent and persistent for the current vehicle session.
  • Removed direct gear-index manipulation so BeamNG Arcade remains responsible for clutch and direction selection.
  • Stopped vehicles now remain in Drive under the service brake rather than cycling Drive/Neutral at traffic lights and slow queues.
  • Added a parking-brake-protected handoff from Neutral/Reverse to forward motion and improved startup holding while ignition and powertrain state settle.

Refueling

  • Removed automatic low-energy fuel detours from AI mode.
  • Low fuel or charge no longer interrupts or redirects a route on its own.
  • Refueling now begins only after the player presses Refuel. AI can then be enabled explicitly on the fuel-route screen.
  • Creating a fuel route releases the previous AI route, leaving the handoff decision to the player.

Testing and compatibility

  • Expanded Lua combinatorics for rear-fan planning, blocked reverse paths, Arcade idempotence, Drive holding, preset migration, independent rule combinations, and all recovery-setting bounds.
  • Added functional checks for atomic presets, Custom-only controls, and the nested settings expander.
  • Verified 301 responsive states across both UI surfaces, all nine locales, compact/full layouts, and HiDPI rendering.
  • Kept the deterministic 44-entry archive and bumped the asset revision to 311-rc.
  • Existing 3.1.0 Beta persistence remains compatible.

3.1.0 Beta — Shift Memory and AI Driver

Restorable shifts

  • Added shiftshistory.json and a focused shiftHistory.lua service.
  • Added previous-shift selection on the start screen and in the Driver Profile Shifts tab.
  • Stored vehicle model/configuration, preview, fuel/charge state, ride totals, AI rides, income, costs and rating.
  • Added 60-second active snapshots plus lifecycle saves so normal game shutdown does not require a finish button.
  • Restoring a shift replaces the current vehicle and reapplies its compatible fuel/battery percentages after the replacement VM settles.
  • Excluded zero-ride sessions, capped/sanitized history, and removed configurations whose vehicle mod is no longer installed.

AI driver

  • Added an AI control overlay to trip and refueling maps in both UI surfaces.
  • Added a route supervisor for passenger pickup, stops, destination, cargo and fuel phases around BeamNG's native vehicle AI.
  • Added aggression, following gap, braking, stuck-delay, traffic-rule, overtaking and oncoming-recovery settings.
  • Added speed-dependent lead following, emergency-gap handling and automatic release when traffic clears.
  • Added same-direction multi-lane overtaking with road metadata, clearance checks, cooldowns and turn signals.
  • Added red/yellow signal decisions, stop-line commitment and intersection-exit priority.
  • Fixed ordinary traffic-light queues entering permanent Watching for clear lane: the lane and lead are now rescanned, and route/speed control is restored immediately after traffic moves.
  • Added immediate native Route Done observation and physical-distance validation instead of trusting road-node completion.
  • Added exact low-speed final approach into order/fuel trigger volumes.
  • Added repeatable engine-start requests and temporary Arcade gearbox control, with short stops held in Drive and the previous gearbox behavior restored afterward.

Adaptive recovery and collision safety

  • Added autopilotPerception.lua to measure the road, obstacle dimensions, boundaries, traffic and both bypass sides.
  • Replaced fixed lateral recovery with the smallest collision-free seven-point smooth path.
  • Added projected-traffic checks along the complete bypass corridor.
  • Added lazy Vehicle Lua taxiDriverAutopilotRecovery.lua for exact approach, bypass steering, indicators and completion callbacks.
  • Added three-wide straight/curved trajectory rays against dynamic oriented vehicle boxes and static geometry.
  • Added progressive comfortable braking and immediate emergency braking from distance, closing speed and time-to-collision.

Energy-aware orders

  • Added critical-energy thresholds of 5% for combustion vehicles and 15% for EVs.
  • Before pickup/loading, AI inserts the normal priority fuel detour without cancelling the accepted order.
  • Passenger/cargo trips already underway are not interrupted; refueling waits until order completion.
  • Maps without a compatible station stop and open Magic Fuel for player input.
  • Kept the AI control accessible above the refueling map.

Profile and interface

  • Recorded AI use per order and exposed it in reviews, shifts, per-vehicle history and a cumulative Profile Analytics counter.
  • Separated customer/order score from resulting profile rating with colored comparison states.
  • Made review page size depend on actual available height and measured regular/AI row heights; recalculation covers resize, scale, locale, tab and data changes.
  • Added Unlimited route length, removing the standard 25 km maximum while retaining the minimum and validation rules.
  • Added complete Simplified Chinese localization, bringing the UI to nine languages.
  • Added responsive shift cards, preview loading and restore progress.

Architecture and verification

  • Kept shift persistence, AI supervision, perception and Vehicle Lua recovery in focused modules outside the LuaJIT-sensitive main chunk.
  • Updated cache revision to 310-beta and deterministic packaging to 44 verified entries.
  • Passed 301 responsive UI states across nine locales, both UI surfaces, compact/full layouts, 80–180% scaling and DPR 2 HiDPI.
  • Expanded Lua combinatorics for shift restoration, route limits, AI settings/phases, signals, queues, following, overtaking, early Route Done, adaptive bypass, trajectory rays, powertrain/gearbox behavior and 500 deferred vehicle respawns.

The release remains a prerelease while AI behavior is tested across more maps, traffic configurations, powertrains and community vehicles. Existing 3.0.0 Beta persistence remains compatible.

3.0.0 Beta — Runtime, Connected Phone, and Diagnostics Overhaul

This prerelease contains every change made after 2.25.1.

Connected Phone performance

  • Added independent external-map and terrain-layer switches.
  • Added Eco (6 FPS / 0.5 s telemetry / 1× DPR), Balanced (15 FPS / 0.25 s), and Smooth (30 FPS / 0.125 s) quality modes.
  • Replaced continuous canvas repainting with movement-, heading-, route-, speed-, and camera-driven rendering.
  • Added idle-frame suppression and stopped rendering while the map view is not visible.
  • Replaced repeated complete HUD documents with compact field-level patches while a phone is connected.
  • Increased heartbeat tolerance from 3.5 to 8 seconds for mobile-browser timer throttling.
  • Added cache revisions to external HTML, CSS, scripts, and localization requests.

Synchronization fixes

  • Added HUD epochs, revisions, and baseRevision validation.
  • Clients now reject missed, delayed, duplicated, and out-of-order patches and request a full snapshot automatically.
  • Fixed the in-game app remaining on an accepted-offer screen after Connected Phone entered the trip.
  • Fixed the phone map drawing one frame and then freezing while the vehicle moved.
  • Made Lua's trip phase authoritative so hiding the game CEF layer cannot freeze the independently visible phone.
  • Added explicit external view/visibility reporting and revision-aware client heartbeats.
  • Prevented older periodic packets from reverting freshly changed settings, toggles, or language.

Vehicle Config performance

  • Removed TaxiDriver telemetry and cargo extensions from BeamNG's automatic Vehicle Lua directory.
  • Telemetry and cargo support now load only while needed and unload when inactive.
  • Added a Vehicle Config guard that suspends the Angular root, minimap, scans, telemetry, cargo, and energy work before BeamNG rebuilds the vehicle VM.
  • Added a 1.5-second settle period and generation checks before deferred vehicle-side work resumes.
  • Prevented stale VM callbacks from overwriting the current vehicle.
  • Treats live part changes on the same BeamNG object as the same vehicle-history entry.
  • Prevented repeated detail scans, JSON writes, odometer jumps, and profile-row recreation during part changes.

Cheat Zone and logging

  • Added a 0–100% tank/battery control using the exact BeamNG energy-storage setter used by Realistic Mode.
  • Fixed the range control transmitting a stale Angular value; Set now reads the actual HTML slider value.
  • Updated rating assignment to re-rate all completed rides across profile totals, reviews, rating history, vehicle history, and shift summaries.
  • Added God Mode, disabled by default, to preserve active trips across vehicle reset.
  • Added Debug logging, enabled by default.
  • Added structured [TaxiDriver] operation, runtime, LAN, vehicle-lifecycle, warning, and error records.
  • Warnings and errors remain logged when verbose debug records are disabled.

Architecture, packaging, and tests

  • Added focused hudPublisher.lua, vehicleScanGuard.lua, and logger.lua modules.
  • Moved Vehicle Lua files from extensions/auto to lazy extensions loading.
  • Packaging now requires all new modules, rejects automatic TaxiDriver vehicle extensions, and verifies 40 archive entries.
  • Passed 258 responsive UI states, eight localizations, scaling, compact layouts, and DPR 2 HiDPI rendering.
  • Added 48 Connected Phone performance/God Mode/debug combinations.
  • Added revision-gap, settings-race, hidden-CEF, frame-budget, lazy-extension, and 500-respawn regression coverage.
  • Added a physical range-input test proving that selecting 73% transmits cheatSetEnergyPercent(73).
  • Existing 2.25.1 settings and progression documents remain compatible.

2.25.1 — Stability & UI Polish

See the 2.25.1 GitHub release for the complete native UI, minimap, mobile-audio, and long-route stability notes.

2.25.0 — Gameplay Overhaul

Gameplay

  • Added a complete shift lifecycle with rides, gross income, fuel costs, penalty losses, net income, average rating, and a previous-shift summary.
  • Renamed the primary action to Start Shift in all eight localizations.
  • Added optional Random Events behind a separate persistent toggle: cancellation before pickup, destination changes, additional stops, conditional tips, and fragile cargo.

Orders and active trips

  • Added order sorting by highest fare, nearest pickup, shortest duration, and income per kilometre/mile.
  • Replaced the native HTML order selector with a CEF-safe button menu so sorting works at every interface scale.
  • Added estimated income per minute and per kilometre/mile to order cards.
  • Added projected final payout, fuel sufficiency, next-stop information, and a collapsible violation summary to active trips.

Vehicles and profile

  • Added a persistent per-configuration odometer in vehicles.json.
  • Added the current vehicle's BeamNG preview, selector name, odometer, fuel/charge, and range to the start screen.
  • Made the vehicle card open BeamNG's native vehicle selector.
  • Made vehicle identity and mileage refresh immediately after switching vehicles or reloading a level.
  • Expanded the Vehicles journal with mileage, ride and income totals, averages, ratings, passenger/cargo split, losses, fuel use/cost, and profit per distance.
  • Added journal sorting and stopped retaining vehicles with zero completed work.

Refueling

  • Added a distinct Magic Fuel fallback for maps without a compatible station.
  • Added quick-fill presets, before/after level, unit price, total cost, projected range, and active-order sufficiency.

Architecture and fixes

  • Split the main GE extension into focused persistence, routing, vehicle-control, vehicle-history, shift-tracking, and trip-event modules.
  • Fixed Fatal Lua errors from unavailable getRoadLink and incorrect player-vehicle API usage.
  • Fixed stale selected-vehicle data and start-shift crashes.
  • Added a deterministic packaging script with archive-entry and installed-hash verification.

Testing

  • Expanded responsive visual and interaction coverage to 258 states across both interfaces, all eight locales, scaling, and HiDPI.
  • Added a 20-state UI settings/scenario matrix and Lua combinatorics for four settings combinations across four order types.
  • Added syntax checks for all 16 Lua files and regression coverage for sorting, vehicle selection/history, route lookup, refueling projections, and collapsed violations.

See also the 2.25.0 GitHub release.

2.24.0 — Interface scaling, Connected Phone map, and iOS audio

Added

  • Added full-interface scaling from 80% to 180% in 10% steps for both the in-game UI App and Connected Phone Web UI.
  • Added automatic migration from the former fontBoost setting to the equivalent new uiScalePercent value.
  • Added a Web Audio playback engine for Connected Phone, with decoded embedded sounds, overlapping event playback, and an HTML Audio fallback.
  • Added short-lived audio event queuing so game events received before Safari unlocks audio can still play after the first interaction.

Improved

  • Replaced text-only enlargement with layout-level scaling of typography, controls, icons, maps, spacing, and touch targets.
  • Added high-scale layout adaptations that preserve the AppBar, keep trip content scrollable, keep the active-trip footer reachable, and wrap important values instead of truncating them.
  • Made Connected Phone navigation start closer to the vehicle and zoom out more gradually at speed, with smooth camera interpolation and a smaller mobile vehicle pointer.
  • Added automatic Connected Phone audio resume attempts after pointer, touch, keyboard, and Safari foreground events.
  • Updated all eight localizations for the new interface-scale control and explanatory text.

Fixed

  • Fixed Connected Phone sounds that passed the manual test but were silently lost when game events fired on iPhone outside a user gesture.
  • Fixed inconsistent scaling where headings and labels changed size while surrounding controls and geometry remained unchanged.
  • Fixed high-scale content collisions, clipped trip information, and unreachable footer controls in compact layouts.
  • Fixed overly aggressive Connected Phone map zoom that made the vehicle pointer dominate the useful road area at ordinary driving speeds.

Testing

  • Expanded automated responsive coverage from 211 to 230 states across both interface modes.
  • Added coverage for every scale step from 80% through 180%, legacy-setting migration, scaled geometry, map bounds, and HiDPI canvas rendering.
  • Added Connected Phone map-radius checks at 0, 60, and 120 km/h.
  • Added an iOS-style AudioContext gate test covering queued offline events, first-interaction unlock, normal online playback, and rapid overlapping event bursts.

2.23.0 — Responsive UI overhaul

  • Introduced a consistent Noto Sans type system for captions, body text, labels, headings, titles, and display values across every font-size preset.
  • Standardized spacing, radii, borders, colors, control sizes, and text contrast throughout the in-game phone and Connected Phone surfaces.
  • Reworked the trip layout so the map and content share available space predictably, while the active-trip footer remains sticky and reachable.
  • Removed avoidable ellipsis truncation from important trip, delivery, review, and settings content; values now wrap within collision-safe cards.
  • Added dedicated Connected Phone styles for narrow phones, tablets, desktop browsers, landscape screens, safe-area insets, wide order grids, profile panels, and settings navigation.
  • Preserved the app bar across Web UI states and improved compact-mode density at small and landscape resolutions.
  • Added a large circular remaining-fuel gauge during fuel-station detours, including two-decimal quantity, percentage, and estimated range.
  • Added maximum-capacity and percentage fields to vehicle-energy telemetry, including aggregation across compatible storage tanks.
  • Fixed Connected Phone startup failing at Live trip state by subscribing the lightweight WebSocket client to BeamNG GUI hooks before requesting TaxiDriverHUDState.
  • Improved the staged external loader on short landscape screens and kept all recovery controls reachable without horizontal overflow.
  • Expanded automated coverage to 211 responsive states across the in-game UI and Web UI, all eight locales, three font scales, portrait/landscape layouts, and DPR 2 HiDPI rendering.
  • Added 11 visual regression baselines, collision/overflow audits, native-resolution canvas assertions, and a regression check for the external GUI-hook subscription.

2.22.2

  • Fixed the Cheat Zone rating setter so the chosen value is persisted and immediately republished to both HUD and profile views.
  • Removed callback-incompatible if/return control flow from the UI-to-Lua rating command, resolving the Fatal Lua Error introduced by the short-lived 2.22.1 build.
  • Added independent switches for all seven TaxiDriver sound groups: clicks, new rides, online, offline, penalties, passenger messages, and overspeed warnings.
  • Updated the Audio Test button to select only from currently enabled sound groups.
  • Added regression coverage for the serialized rating command and muted overspeed-warning behavior.
  • Synchronized all eight localization dictionaries at 324 keys each.

2.22.1

  • Added the first implementation of per-sound audio switches.
  • Added stricter validation and logging around Cheat Zone rating input.
  • Attempted to return the authoritative rating through a callback; its generated conditional Lua command could fail and was replaced in 2.22.2.

2.22.0

  • Added a configurable overspeed warning margin from 0–30 km/h, defaulting to 10 km/h.
  • The trip speed-limit sign now turns red for the complete duration of an active warning.
  • Added a one-shot overspeed alert that rearms only after speed returns below the trigger.
  • Integrated the new sound with BeamNG Interface Volume, TaxiDriver app volume, Silent Mode, sound testing, and the external phone cache.
  • Fixed Cheat Zone rating changes not refreshing the visible HUD/profile rating after pressing Set.
  • Added interaction tests for rating updates and overspeed warning entry/release behavior.

2.21.0–2.21.8 — Experimental Connected Phone hardening

  • Added a detailed staged loader for game connection, runtime, interface/sounds, and live state.
  • Added stable token identity, private IPv4 selection, QR pairing, and session-only startup behavior.
  • Connected phone is always disabled when the UI App starts and must be enabled explicitly.
  • Added live state reconstruction so refreshing the browser no longer resets the shift or current order.
  • Added external sound caching and the same application/game-volume behavior as the in-game phone.
  • Added a lightweight in-game phone button while an external device is connected.
  • Removed Minimize from the external Web UI.
  • Added a heading-following external canvas map with active route, complete chunked road graph, terrain tiles when available, vehicle position, and dynamic zoom.
  • Added an in-mod LuaSocket bridge from the computer's private IPv4 address to BeamNG's loopback-only native External UI server. No companion executable is required in production.
  • Added a real-subnet automated test that verifies HTTP, WebSocket Upgrade, and bidirectional data through the bridge.
  • Added 41 mock-driven visual/interaction states covering full, compact, settings, connection, trip, cargo, fuel, loader, external map, overspeed, and other screens.
  • Added best-effort trunk/tailgate operation during cargo loading and unloading.

Experimental networking requirement: Connected phone requires TCP port 8085 to be free and BeamNG.drive to have inbound private-network permission in the operating-system firewall/security suite. If the port is occupied or the game is denied network access, the external Web UI will not open from another device.

2.20.0 — Connected Phone foundation

  • Added experimental local-network sharing for the TaxiDriver phone through BeamNG External UI.
  • Added synchronized in-game/external state and interactive browser controls.
  • Added QR/link presentation, connection status, and trusted-network security guidance.
  • Added an external-only phone runtime instead of launching BeamNG's complete UI in the browser.

2.19.0 — Settings and customization overhaul

  • Rebuilt Settings as expandable General, Gameplay, Navigation, Audio, Connected phone, and Cheat Zone categories.
  • Settings now apply automatically without a Save Settings button.
  • Added Italian, bringing the interface to eight complete localizations.
  • Added metric/imperial units and 12/24-hour clock formats.
  • Added fully adjustable Custom difficulty sliders and individual penalty switches.
  • Added a portable difficulty.json for sharing Custom difficulty configurations.
  • Added dynamic map-zoom intensity and passenger/delivery order-ratio settings.
  • Added TaxiDriver volume control with a random Test sound button.
  • Added Cheat Zone rating, review, wallet, economy multiplier, and progress-reset tools.

2.18.0 — Cargo deliveries and compact dashboard

  • Added long-distance cargo deliveries with 2–250 kg physical vehicle mass.
  • Added weight-based payout premiums up to +150% at 250 kg.
  • Added collision-only package damage, proportional payout reduction, and delivery ratings.
  • Improved dispatcher fallback and spatial route diversity on sparse maps.
  • Added a separate compact navigation dashboard with map and essential statistics.
  • Added fuel/charge quantity and estimated range to the ride footer.
  • Added TaxiDriver sound-volume control and sound testing.

Clone this wiki locally