Browse docs

Changelog

Full change history for sky_base.
Latest

Version 1.15.0

Highlights

  • Added qb-inventory support - auto-detected and selectable via Config.inventory = "qb-inv".
  • Added normalized inventory slot and metadata helpers for supported inventory adapters.
  • Added Russian locale support via Config.locale = "ru".

Notable Changes

  • Added Dynamic Interaction point distance
  • Inventory item metadata handling was improved for several adapters, including metadata-aware item and weapon removal where the inventory backend supports it.

Other Changes

  • No additional changes.

Version 1.14.0

Breaking — the admin permission system has been replaced. After updating sky_base, every Sky job resource (sky_jobs_base, sky_ambulancejob, sky_policejob, sky_mechanicjob) must also be updated to the matching release, and three one-time ACEs must be added to your server.cfg. See Update Instructions.

Highlights

  • New admin permission systemSky.Config.AdminGroups and the related Sky.FW.IsAdmin / Sky.FW.HasGroup / Sky.FW.GetGroup are gone. Each job's Config.CommandPermissions table is now the single source of truth for who can use which admin command. At server start sky_base auto-emits add_ace group.<g> sky_<resource>.<command> allow for every entry, and admin commands resolve via a single IsPlayerAceAllowed check at runtime. Fixes the QBox bug where every admin command silently denied admins because qbx_core:HasPermission was deprecated in qbx_core v1.8.0 and removed. QBCore wires both group.* and qbcore.* prefixes for resilience; on ESX the same group.* ACE principals are picked up via es_extended's setGroup.
  • Added g-banking and g-billing support (groot) — auto-detected and selectable via Config.banking = "groot" / Config.billing = "groot".
  • Added AK47 banking and AK47 inventory support — auto-detected and selectable via Config.banking = "ak47" / Config.inventory = "ak47".

Notable Changes

  • Added codem-phone integration — auto-detected and selectable via Config.phone = "codem". Updated value list: auto, esx, qb, d, gks, lb, lb-unique, yserie, codem.
  • Fixed qb-target compatibility on QBCore servers — radial menus and workshop-creator zones now register correctly. The shim was using the wrong export names (AddSphereZone / AddGlobalOption), causing zones to silently no-op on QBCore.
  • Interaction points now support a per-point forceMarkerInteraction flag — when set, that single interaction always uses marker + help notification, even if a target backend (ox_target / qb-target) is active. Useful for specific markers that should stay as markers regardless of the global target setting.
  • Added a global Config.showMarkersWithTarget toggle (default false) — when set to true, configured interaction markers stay drawn alongside the target backend instead of being hidden. Pairs with the per-point forceMarkerInteraction flag for finer control: server-wide on/off via this setting, per-interaction override via the flag.

Other Changes

  • No additional changes.

Version 1.13.0

Highlights

  • Added fd_banking billing integration — auto-detected and selectable via Config.billing = "fd". Updated value list: auto, esx, codem, codemv2, okok, jacksam, quasar, vms, rxbilling, wasabi, corem, fd.
  • Added hex_3_fuel fuel adapter — auto-detected and selectable via Config.fuel = "hex". Updated value list: auto, lc, ox, legacy, rcore, hex, native.

Notable Changes

  • Renewed-Banking: jobs that are added after Renewed-Banking has already started now work without a server restart — their accounts are created on first use.
  • Renewed-Banking: Sky.Job.AddMoney / Sky.Job.RemoveMoney now correctly return false when the underlying transaction is rejected, so callers can react to a failed payment.
  • Interaction NPCs configured without a pedHash are now skipped with a warning instead of breaking the spawn flow.

Other Changes

  • No additional changes.

Version 1.12.0

Highlights

  • Added Wasabi Banking (wasabi_banking) support — auto-detected and selectable via Config.banking = "wasabi".
  • Renamed the banking key "qbox" to "renewed" for the Renewed-Banking integration. Updated value list: auto, crm, qs, okok, bablo, fd, rx, tgg, kartik, esx, qb, renewed, wasabi.

Notable Changes

  • Breaking: if you previously set Config.banking = "qbox" for Renewed-Banking, change it to Config.banking = "renewed". Config.banking = "auto" still detects Renewed-Banking automatically without changes.
  • Fixed interaction NPC onSpawn callbacks not firing when an existing entity is reused (e.g. when a station creator rebuilds while preserving the existing ped). scenario and onSpawn hooks now also apply to preserved peds.
  • Improved Qbox job grade normalization for consistency with other framework integrations.
  • Added a debug warning when vehicle keys are added or removed without a configured key adapter handler — helps diagnose Config.vehiclekeys misconfigurations.

Other Changes

  • No additional changes.

Version 1.11.0

Highlights

  • Added qb-target support alongside ox_target via a new Config.target selector ("ox", "qb", "auto", or "none"). The backend is loaded from the new /config/target folder and replaces the marker + help-notification interaction when a target backend is active.
  • Default Config.target = "none" keeps the existing marker + Press E behaviour for every existing server — target backends are strictly opt-in.

Notable Changes

  • Breaking: Config.enableOXTarget has been removed. Replace it with Config.target = "ox" (or "qb" / "auto" / "none").
  • Reverted the Qbox permission detection change from 1.10.1 — Qbox admin / group checks use qbx_core:HasPermission again.

Other Changes

  • No additional changes.

Version 1.10.1

Highlights

  • Improved weapon handling across ox_inventory, qs-inventory, ps-inventory, jaksam, codem, and tgiann — weapon add, remove, and carry checks now go through each inventory's native logic for cleaner behaviour.
  • Qbox admin and permission detection updated for Qbox v1.8.0 compatibility — now uses the native FiveM ACE permission system.
  • Interaction NPCs can now play a GTA scenario on spawn and run a custom setup callback (e.g. give armor, equip weapons, add extra tasks) through new optional scenario and onSpawn options.

Notable Changes

  • Removed a leftover debug message that printed on every Qbox permission check.

Other Changes

  • No additional changes.

Version 1.10.0

Highlights

  • Banking system refactored into dedicated per-banking adapter files (crm, qs, okok, bablo, fd, rx, tgg, kartik, esx, qb, qbox), replacing inline framework code.
  • Added Config.banking selector with auto detection (matches the existing inventory, fuel, and vehiclekeys pattern).
  • Added Config.defaultCallbackTimeout to control the timeout for client-triggered callbacks.
  • Added metadata propagation for jaksam_inventory AddItem / RemoveItem calls.

Notable Changes

  • Fixed weapon transfer handling across QBCore and Qbox frameworks.

Other Changes

  • No additional changes.

Version 1.9.0

Highlights

  • Inventory system refactored into dedicated per-inventory adapter files (ox, qs, jaksam, codem, ps, tgiann, esx, qb, qbox, vrp), replacing inline framework code.
  • Added Corem support (crm-billing and crm-banking) for billing and society money management across ESX, QB, and QBox.

Notable Changes

  • Default language changed from German to English.

Other Changes

  • No additional changes.

Version 1.8.0

Highlights

  • Added fuel bridge system with auto-detection for lc_fuel, ox_fuel, LegacyFuel, rcore_fuel, and native GTA fallback.
  • Added dedicated vehicle key adapter section with support for brutal, mk, mrnewb, msk, qb, quasar, vehicles_keys, wasabi, and kiminaze.
  • Added centralized Sky.DB.Migrate() for declarative database migrations across all Sky-Systems scripts.
  • Added support for wasabi-billing, RxBilling, and 17mov_Phone.

Notable Changes

  • Added migration tracking system to synchronize resource initialization with pending database schema updates.
  • Added retry logic for sky_base export loading (up to 5s) to prevent failures from resource load order issues.
  • Added cd_garage persistent vehicle plate update trigger when license plates are modified.
  • Added Qbox support to the Quasar garage adapter.
  • Added inventory-full notification when calling Sky.Reward.

Other Changes

  • Fixed Quasar garage compatibility issues with Qbox.
  • Fixed case-insensitive weapon detection across ESX, QB, and Qbox frameworks.

Version 1.7.0

Highlights

  • Added Sky.FW.GetPlayerDirectoryQueryConfig for QB, QBox, and VRP frameworks.
  • Added tgg-banking support for society money management across ESX, QB, and QBox.
  • Added kartik-banking support for society money management across ESX, QB, and QBox.

Notable Changes

  • Added hex_4_inventory support for ESX with pcall fallbacks for missing ESX item methods.
  • Fixed GetPlayerDirectoryQueryConfig for QB and QBox.

Other Changes

  • Fixed SanitizeForSQL stripping Unicode characters; now preserves Unicode letters and removes only SQL-dangerous characters.

Version 1.6.0

Highlights

  • Fixed missing locales variable in Security.lua causing nil index error in cooldown function.
  • Interaction points now support reusing existing NPC entities and preserving peds on rebuild (keepNpc).

Notable Changes

  • Added GetPlayerDirectoryQueryConfig function for ESX framework.
  • Fixed import.lua initialization order so Sky table is initialized before export assignment.
  • Optimized polling intervals for callbacks and database queries to reduce CPU overhead.
  • Interaction loop now runs at 0ms when in range for frame-accurate marker rendering.

Other Changes

  • OxMySQL errors now log failing queries through Sky.Debug before propagating.
  • Added Finnish translation.

Version 1.5.0

Highlights

  • Refactored ESX player retrieval to direct ESX.GetPlayerFromId() calls for better compatibility.
  • Inventory items now include metadata across ESX, QB, and QBox.

Notable Changes

  • ChangePlayerName now synchronizes live player metadata in addition to DB updates.
  • Added normalizeInventoryMetadata() helper to unify metadata/info handling.
  • Improved qs-banking compatibility with resource/export fallbacks and automatic society_ prefix fallback.
  • Added VMS/CMS billing integration (config/billing/vms.lua).

Other Changes

  • Fixed Locales variable capitalization in shared initialization.

Version 1.4.0

Highlights

  • Added ox_inventory metadata support for item handling across ESX, QB, and QBox.
  • Added support for ESX 1.13+ static methods.

Notable Changes

  • Player data retrieval now properly distinguishes source IDs and string identifiers.
  • ESX version detection now uses resource metadata instead of dynamic checks.
  • Standardized player data access via runPlayerMethod helper.

Other Changes

  • Fixed getFirstname and getLastname calls for ESX.
  • Updated qs-banking integration to correct export/property for balances.
  • Refactored database module debug string formatting.