# Changelog

{% hint style="info" %}

#### **Files Changed**

Not every update requires replacing the entire folder. To avoid redoing your configs, use the option that applies:
{% endhint %}

***

<mark style="color:$primary;">**Full Download**</mark>

* Delete your old `cd_garage` folder, download the latest version, reconfigure your `configs` folder, then restart your server.

***

<mark style="color:$warning;">**Full Download (No Config)**</mark>

* Follow the steps above, but first back up your `config.lua`. After downloading, replace the new `config.lua` with your backup.

***

<mark style="color:$success;">**Only Updated Files:**</mark>

* Copy and replace only the updated files listed below, then restart your server.

***

<mark style="color:$primary;">**Requires Auto SQL Enabled:**</mark>

* Enable `Config.AutoInsertSQL` in `config.lua` to apply required database updates.

***

{% hint style="danger" %}

#### **Skipping Updates**

If you’ve skipped previous updates, it’s recommended to update all files to avoid issues.\
For example, if you're on v4.0.1, skipped v4.0.2, and are updating to v4.0.3, use the **Full Download** option.
{% endhint %}

{% hint style="danger" %}

#### Important Notice (cd\_bridge dependency)

Since v5.1.0, `cd_garage` requires `cd_bridge` to work.\
This improves compatibility and makes future updates easier.
{% endhint %}

***

{% updates format="full" %}
{% update date="2026-04-13" tags="only-updated-files" %}

## v5.1.16

{% code title="Files Changed" lineNumbers="true" %}

```
fxmanifest.lua
server/main/callbacks.lua
server/main/error_handling.lua
server/other/fake_plate.lua
```

{% endcode %}

{% hint style="success" %}
**Added**

* Added DE locales.
  {% endhint %}

{% hint style="info" %}
**Changes**

* The garage now uses the bridge to generate random vehicle plates.
* Improved and refined the debug system.
  {% endhint %}

{% hint style="warning" %}
**Fixes**

* Fixed an issue where the plate could be nil in the `cd_garage:VehiclePlateChanged` server event.
* Fixed an issue in the fake plates code where the `RemoveItem` function could receive a nil amount.
* Fixed an issue where fake plates were only visible to the player applying them and not to others nearby.
  {% endhint %}
  {% endupdate %}
  {% endupdates %}

***

### v5.1.15

20/3/2026 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
server/main/server.lua
server/main/error_handling.lua
client/main/client.lua
client/other/functions.lua
client/other/vehicles_data.lua
integrations/client/interact/drawtextui.lua
integrations/client/interact/ox_target.lua
integrations/client/interact/qb-target.lua
```

**Changelog:**

{% hint style="danger" %}

#### File Removed

**`cd_garage/configs/auto_detect.lua`**
{% endhint %}

{% hint style="warning" %}

#### Fixes

* Fixed teleport issue when storing boats in job boat garages.
* Fixed DrawText UI and ability to open the garage in gang garages.
* Fixed issues with target configurations that prevented files from running.
* Fixed issue where vehicles with fake plates could not be transferred between garages.
  {% endhint %}

***

### v5.1.14

13/3/2026 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

<pre><code>fxmanifest.lua
server/main/error_handling.lua
server/main/callbacks.lua
server/main/server.lua
server/other/fake_plate.lua
server/other/vehicle_management.lua
client/main/client.lua
client/other/spawn_vehicle.lua
integrations/client/drawtextui.lua
integrations/client/ox_target.lua
integrations/client/qb-target.lua

<strong>REMOVE
</strong><strong>integrations/server/vehicle (REMOVE FULL FOLDER)
</strong></code></pre>

**Changelog:**

{% hint style="info" %}

#### Changes

* Vehicle keys are now removed when storing a vehicle.
* Changed `Config.GarageInteractMethod` to only accept `textui` or `target`. The bridge will now automatically use the corresponding system based on your selection.
* Fake plate changes and admin plate change commands now update the vehicle plate in supported inventories so the vehicle does not loose its inventory.
  {% endhint %}

{% hint style="warning" %}

#### Fixed

* Fixed server side `GetPlate` export not working.
* Fixed issue where attempting to store a vehicle you do not own would show an notification but still remove the vehicle.
* Fixed error occurring when accessing a job garage that is not configured correctly.
  {% endhint %}

***

### v5.1.13

27/2/2026 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
integrations/client/client_exports.lua
client/main/client.lua
client/main/error_handling.lua
client/other/garage_raid.lua
client/other/spawn_vehicle.lua
client/other/functions.lua
client/other/inside_garage.lua
server/main/server.lua
server/main_auto_insert_sql.lua
integrations/client/interact/ox_target.lua
integrations/client/interact/qb-target.lua
```

**Changelog:**

{% hint style="info" %}
**Changes**

* Alternative method of storing gang data on script start, to make better compatibility with custom gang scripts.
* Added `canInteract` checks to target systems to prevent interaction without required permissions.
  {% endhint %}

{% hint style="warning" %}
**Fix**

* Fixed error in `client/other/garage_raid.lua` that was breaking garage raid feature.
* Improved method for forcing passengers to exit a vehicle when storing.
* Fixed issue where storing a boat teleported both the player and the boat instead of just the player.
* Fixed client-side `GetVehicleMileage` export not working.
* Fixed `cd_garage_keys` auto-update issue when migrating to the new structure.
* Fixed ability to spam **G** while storing a vehicle.
  {% endhint %}

***

### v5.1.12

12/2/2026 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

<pre><code>fxmanifest.lua
client/main/client.lua
server/main/server.lua
server/other/vehicle_functions.lua
server/other/vehicle_data_repair.lua

<strong>Added to configs/locales.lua
</strong><strong>['vehicle_onstreets_destroyed'] = 'This vehicle is already in use but has been destroyed. A waypoint has been set.',
</strong>
<strong>Added to configs/config.lua
</strong><strong>Config.CanSpawnWhenDestroyed = false
</strong></code></pre>

**Changelog:**

{% hint style="success" %}
**Added**

* Added `Config.CanSpawnWhenDestroyed` option to allow or block spawning if the vehicle is destroyed.
  {% endhint %}

{% hint style="info" %}
**Changes**

* Changed key press cooldown form 5 seconds to 2 seconds.
* Added auto-fix for unusual JG Dealerships vehicle props database formatting.
  {% endhint %}

{% hint style="warning" %}
**Fixes**

* Fixed StartCarAlarm nil error.
  {% endhint %}

***

### v5.1.11

26/01/2026 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
client/other/spawn_vehicle.lua
client/other/blips.lua
```

**Changelog:**

{% hint style="warning" %}
**Fixed**

* Fixed a client-side error caused by job-restricted public garages loading before required resources due to start order.
* Fixed vehicles not being deleted correctly when stored, caused by persistent vehicles not unregistering properly.
  {% endhint %}

***

### v5.1.10

23/01/2026 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
client/main/client.lua
integrations/client/interact/drawtextui.lua
server/other/vehicle_management.lua
```

**Changelog:**

{% hint style="success" %}
**Added**

* Added support for ZSX\_UIV2 draw text ui.
  {% endhint %}

{% hint style="info" %}
**Changes**

* Force disable all vehicle keys extra features if vehicle keys is disabled.
* Improved debug prints.
* Cleaned up more code and moved some functions to bridge.
  {% endhint %}

{% hint style="warning" %}
**Fixes**

* Fixed the vehicle label being added into qbcore vehicle database column instead of the spawn name when using /vehicle-add.
  {% endhint %}

***

### v5.1.9

29/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua

client/other/functions.lua
client/other/inside_garage.lua
client/other/gang_garages.lua
client/other/private_garages.lua

integrations/client/interact/ox_target.lua
integrations/client/interact/qb-target.lua
integrations/client/interact/garage_peds.lua

server/main/server.lua
server/main/auto_insert_sql.lua
server/other/private_garages.lua
```

**Changelog:**

{% hint style="info" %}
**Changes**

* Added peds to gang garages and impounds.
* Reworked and improved garage target handling, enhancing existing support for private and gang garages.
  {% endhint %}

{% hint style="warning" %}
**Fix**

* Fixed a startup error caused by a nil integer index when persistent vehicle data was manually deleted, leaving an empty string.
  {% endhint %}

***

### v5.1.8

24/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
client/other/garage_type.lua
integrations/client/interact/ox_target.lua
```

{% hint style="danger" %}
This update requires the Bridge to be updated to version **1.0.17**.
{% endhint %}

**Changelog:**

{% hint style="success" %}
**Added**

* Added Czech (CZ) locale support, thanks to BlockStudio.
  {% endhint %}

{% hint style="warning" %}
**Fixes**

* Fixed `ox_target` and `qb-target` not working unless private garages were enabled.
* Fixed `GetGarageType` error in `client/other/garage_type.lua`.
  {% endhint %}

***

### v5.1.7

23/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua

client/main/error_handling.lua
client/other/gang_garages.lua
client/other/garage_tax.lua
client/other/transfer_vehicle.lua
client/other/vehicles_data.lua
client/other/garage_type.lua

server/main/server.lua
server/other/vehicles_data.lua
server/other/vehicle_data_repair.lua

integrations/client/interact/drawtextui.lua

configs/config.lua / line added: Config.VehicleDataDebugPrints = true
```

**Changelog:**

{% hint style="info" %}
**Changes**

* Cleaned up garage tax code.
* Added `Config.VehicleDataDebugPrints` to only show vehicle data warnings when enabled.
* When vehicle data is not used, default vehicle categories are now assigned based on garage type.
  {% endhint %}

{% hint style="warning" %}
**Fixes**

* Fixed gang garages.
* Fixed return vehicle price always using `vehicles_data` even when the `default` method is set.
  {% endhint %}

***

### v5.1.6

18/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
client/main/client.lua
client/other/vehicles_data.lua
client/other/private_garages.lua
integrations/client/interact/garage_peds.lua
```

**Changelog:**

{% hint style="warning" %}
**Fixes**

* Automatically fixes missing `engineHealth`, `bodyHealth`, and `fuelLevel` values in the vehicle props table.
* Fixed LoadGaragePeds nil error.
* Fixed error when entering the inside garage.
  {% endhint %}

***

### v5.1.5

17/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [x] All Files Except config.lua
* [ ] Specific Files

**Changelog:**

{% hint style="info" %}
Changes

* Moved multiple functions from the garage to the bridge and improved the bridge logic.
* Renamed the default fake plate item to CHANGEME.
* Player-loaded cache events now function more reliably.
  {% endhint %}

{% hint style="warning" %}
**Fixes**

* Fixed target systems not working with private garages.
  {% endhint %}

***

### v5.1.4

16/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
server/main/server.lua
```

**Changelog:**

{% hint style="warning" %}
**Fixes**

* Fixed garage transfer.
* Fixed job garage keys (update bridge for this fix).
  {% endhint %}

***

### v5.1.3

15/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
client/main/error_handling.lua
```

**Changelog:**

{% hint style="info" %}
**Changes**

* The vehicle data warning print is now hidden until Config.Debug is enabled.
  {% endhint %}

{% hint style="warning" %}
**Fixes**

* Fixed the issues with keys not being given.
* Fixed and improved the logic behind the player loaded cache events.
  {% endhint %}

***

### v5.1.2

14/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

```
fxmanifest.lua
configs/locales.lua
client/main/client.lua
server/other/vehicle_data_repair.lua
integrations/client/interact/ox_target.lua
integrations/client/interact/qb-target.lua
```

**Changelog:**

{% hint style="warning" %}
**Fixes**

* Fixed "CheckJob" errors.
* Fixed errors coming from "vehicle\_data\_repair.lua" and improved the code.
  {% endhint %}

***

### v5.1.0

12/12/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [x] All Files
* [ ] All Files Except config.lua
* [ ] Specific Files

**Changelog:**

{% hint style="success" %}
**Added**

* Added a "Favourite Vehicle" feature to the UI, allowing players to easily mark and highlight their preferred vehicle.
* Added `cd_bridge` integration to `cd_garage` for unified framework handling and shared utilities.
* **Added advanced debug logging for vehicles with corrupted database data** (e.g. missing plates, empty mods/vehicle columns, or nil plate/model values inside the props table).\
  All vehicles are now pre-checked on script start and automatically repaired where possible.
* Added a new event (`cd_garage:PlateChangedPersistentVehicles`) to properly update persistent vehicles after a plate change.
  {% endhint %}

{% hint style="warning" %}
**Fix**

* Fixed the persistent vehicle dupe car check not spawning vehicles due to having a fake plate on.
* Fixed cars not able to be impounded due to having fake plate on.
* Auto disable Config.SaveAdvancedVehicleDamage if ox\_lib is started due to conflicting methods of handling tyre states.
  {% endhint %}

***

### v5.0.6

04/11/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [x] All Files
* [ ] All Files Except config.lua
* [ ] Specific Files

**Changelog:**

{% hint style="success" %}
**Add**

* Added compatibility for **over 60 resources** that interact with **cd\_garage**, including draw text UI, housing, notifications, phones, time and weather, vehicle fuel, vehicle keys, and vehicle shops.\
  These resources are either built into **cd\_garage**, built into the creator’s resource, or include compatibility guides to help you make the required changes. See [#Resource Integration](https://docs.codesign.pro/paid-scripts/garage/resource-integration) for details.
* Updated and re designed the garage documentation.
  {% endhint %}

{% hint style="warning" %}
**Fix**

* Fixed garage UI not opening with extremely large amounts of vehicles on large servers
  {% endhint %}

***

### v5.0.5

15/09/2025 *(dd/mm/yyyy)*

{% hint style="danger" %}
**NEW Hotfix**

There has been a hotfix pushed with the same version number at:

**10:09 PM GMT 15.09.2025.**

Make sure to update in case you have updated to 5.0.5 BEFORE this time!
{% endhint %}

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

{% code fullWidth="false" %}

```lua
fxmanifest.lua
client/main/functions.lua
client/other/job_garages.lua
client/other/keys.lua
client/other/impound.lua
server/main/server.lua
server/other/keys.lua
server/other/impound.lua
```

{% endcode %}

**Changelog:**

{% hint style="warning" %}
**Fix**&#x20;

* Fixed regular job vehicle garage spawning issue.
* Fixed server side impound error.
* Added a check to prevent regular job vehicles having the same plate.
* Fixed impound retrive vehicle button not showing
* Fixed shared air/boat vehicles being visible in normal garages when a player has received multiple shared keys and one of them is a boat/air vehicle.
  {% endhint %}

***

### v5.0.4

13/09/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [x] All Files
* [ ] All Files Except config.lua
* [ ] Specific Files

{% hint style="danger" %}
**IMPORTANT**

* You must have **Config.AutoInsertSQL** enabled when installing this update. It can be turned off after it has inserted the required data into your database (added 1 new column (`fakeplate`) into `owned_vehicles`/`player_vehicles`).
  {% endhint %}

**Changelog:**

{% hint style="success" %}
**Add**

* Fake plates are now persistent until removed by the player or police. This is compatible with our persistent vehicles also.
* Added checks to prevent cars being duped by 2 players spawning them at the same time.&#x20;
* Quick menu now displays time left on impounded vehicles.
  {% endhint %}

{% hint style="info" %}
**Edit**

* Removed given and recieved job keys from displaying on the keys UI.
  {% endhint %}

{% hint style="warning" %}
**Fix**

* Fixed the job checks on job garages when using qb-target or ox\_target.
* Impound timer should now be properly synced across clients.
* Keys UI now properly displays the fallback image in case it is missing.
* Keys UI should now properly display searched vehicles.
* Renamed certain image files to correct spawn names.
  {% endhint %}

***

### v5.0.3

01/09/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [x] All Files
* [ ] All Files Except config.lua
* [ ] Specific Files

<pre class="language-lua" data-title="Config Changes (replace this in the config if you don&#x27;t want to replace the whole config)."><code class="lang-lua"><strong>--Added options onto persistent vehicle config table.
</strong>Config.PersistentVehicles = { 
    ENABLE = true,
    SaveAfterRestart = {
        ENABLE = true,
        save_regular_job_vehicles = true, --Do you want regular job vehicles spawned from cd_garage to be saved and restored after a server restart?
        save_owned_job_vehicles = true --Do you want personal or society owned job vehicles to be saved and restored after a server restart?
    }
}

<strong>--Modified this code block.
</strong>if Config.Framework == 'auto_detect' then
    if GetResourceState(Config.FrameworkTriggers.esx.resource_name) == 'started' then
        Config.Framework = 'esx'
    elseif GetResourceState(Config.FrameworkTriggers.qbcore.resource_name) == 'started' then
        Config.Framework = 'qbcore'
    end
end
if Config.Framework == 'esx' or Config.Framework == 'qbcore' then
    for c, d in pairs(Config.FrameworkTriggers[Config.Framework]) do
        Config.FrameworkTriggers[c] = d
    end
    Config.FrameworkTriggers.esx, Config.FrameworkTriggers.qbcore = nil, nil
end
</code></pre>

{% hint style="danger" %}
**IMPORTANT**

* You must have Config.AutoInsertSQL enabled when installing this update. It can be turned off after it has inserted the required data into your database (add 2 new columns (`owner_name` and `reciever_name`) into `cd_garage_keys`).
  {% endhint %}

**Changelog:**

{% hint style="success" %}
Add

* Added new config options for persistent vehicles, the for job vehicles to stay persistent (`save_regular_job_vehicles` and `save_owned_job_vehicles` ).&#x20;

  <pre class="language-lua" data-full-width="true"><code class="lang-lua">Config.PersistentVehicles = { 
      ENABLE = true,
      SaveAfterRestart = {
          ENABLE = true,
  <strong>        save_regular_job_vehicles = true, --Do you want regular job vehicles spawned from cd_garage to be saved and restored after a server restart?
  </strong><strong>        save_owned_job_vehicles = true --Do you want personal or society owned job vehicles to be saved and restored after a server restart?
  </strong>    }
  }
  </code></pre>

* Added new server command `cd_garage_takevehicleimages` to take photos of all vehicles on your server that are missing from the default images we provide. This command will detect all custom vehicles and automatically take images of them. This should be used on a empty test/dev server. The [fivem-greenscreener](https://github.com/Bentix-cs/fivem-greenscreener/tree/main) resource is required for this.

* Added a server command for admins to use (`persistent_removeall`). This will remove all saved persistent vehicles from the database.

* Keys will be given to anyone who had access to a persistent vehicle after a server restart.

* If you spawned a job vehicle, you can now give keys to that vehicle to other players *(works independent from shared job keys)*.

* Added 2 new columns to the keys database, `owner_name` and `reciever_name`.

## UI Changes

* Fallback images for missing vehicles
* Config option to start garage with images and/or renaming disabled
* Config option to completely disable images and/or renaming
* Config option to change the plate length for raid feature
  {% endhint %}

{% hint style="warning" %}
**Fix**&#x20;

* Fixed the `/impound` ui not closing when exiting.
* Added further inter compatibility with fake plates and persistent vehicles.
* Fixed a bug with personal owned job garages saying vehicle not owned.
* Fixed the inside garage blacklist.
* Fixed framework errors when forcing Config.Framework to esx or qbcore.
* Fixed the character names on the keys ui.
* Fixed the impound retrieve vehicle as a civilian.
* Fixed the give key player list not displaying unknown when charname or source is enabled.
* Fixed an bug with give key some times showing cars not owned by you.

## UI Changes

* Keys menu now properly displays received and given keys
* Adding keys now properly displays source and or character name
* Job and private garages should now spawn vehicles properly
  {% endhint %}

{% hint style="info" %}
Edit

* Removed option to enter a fake plate, instead the plate is randomly generated.
  {% endhint %}

***

### v5.0.2

21/08/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

{% code fullWidth="false" %}

```lua
fxmanifest.lua
configs/locales.lua --(added ['exit_garage'] = 'Exit Garage').
client/other/garage_interact.lua
client/other/job_garages.lua
client/other/impound.lua
```

{% endcode %}

**Changelog:**

{% hint style="warning" %}
**Fix**&#x20;

*This was a quick hotfix for known issues, any other issues please report them so we can resolve them asap).*

* Fixed target systems not working at job garages.
* Fixed regular method at job garages only spawning the first vehicle in list.
* Fixed target systems not working at impounds.
* Fixed target when trying to exit the inside garage.
* Fixed error in garage raid plate search when a vehicle is not found.
* Garage peds now have no collision.
  {% endhint %}

***

### v5.0.1

19/08/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [ ] All Files
* [ ] All Files Except config.lua
* [x] Specific Files

<pre class="language-lua" data-full-width="false"><code class="lang-lua">fxmanifest.lua
client/other/garage_interact.lua
client/other/keys.lua
client/other/impound.lua
<strong>--[[(DELETE THIS FILE)--]] client/other/garage_usage_method.lua --[[(DELETE THIS FILE)--]]
</strong></code></pre>

**Changelog:**

{% hint style="warning" %}
**Fix**&#x20;

*This was a quick hotfix for known issues, any other issues please report them so we can resolve them asap).*

* Fixed duplicate garage peds, delete this file: (client/other/garage\_usage\_method.lua).
* Fixed mouse stuck on screen (Nui focus) when closing garage.
* Added new config option for spawning peds: Config.SpawnGaragePeds.
* Fixed vehicle locking.
* Removed most pre-translated locales as a lot were missing, locales update is coming shortly.
  {% endhint %}

***

### v5.0.0

16/08/2025 *(dd/mm/yyyy)*

**Files Changed:**&#x20;

* [x] All Files
* [ ] All Files Except config.lua
* [ ] Specific Files

**Changelog:**

{% hint style="success" %}
**UI Changes**

* General

  * Complete UI rewrite
  * Slight design changes to outside and inside menu
  * Hotbar minigame rewrite
  * Locale changes
  * Config changes

* Quick (outside) UI
  * Added vehicle images
  * Added the ability to rename owned vehicles
  * Added settings tab
  * Transferring a vehicle can now be done through selecting a player or garage from the dropdown list

* Inside UI
  * Redesigned, now takes up less space

* Impound
  * When impounding an officer can now set a specific time and date of release
  * Impound now displays a countdown until the vehicle is released

* Keys
  * Key UI redesign
  * Giving and removing keys now handled through UI
  * Key UI now displays given and received keys

* Raid feature
  * Added plate searching for new raid feature
    {% endhint %}

{% hint style="success" %}
**New Config Options**

```lua
Config.GarageInteractMethod = 'auto_detect' --[ 'auto_detect' / 'drawtextui' / 'ox_target' / 'qb-target' ]
Config.PlayerListMethod = 'both' --[ 'both' / 'charname' / 'source' ]
Config.VehiclePlateFormats = {
    format = 'mixed', --[ 'trimmed' /  'with_spaces' / 'mixed' ]
    new_plate_format = 'AAAA1111'
}
Config.SpawnGaragePeds = true
Config.GarageRaid = {
    ENABLE = true,
    required_perms = {
        ['police'] = 0, 
        ['sheriff'] = 1,
        --['add_more_here'] = 1,
    }
}
Config.PersistentVehicles = { --not new but has been updated.
    ENABLE = true,
    SaveAfterRestart = {
        ENABLE = false, 
        save_regular_job_vehicles = false, 
        save_owned_job_vehicles = true 
    }
}
```

{% endhint %}

{% hint style="success" %}
Add

* **Rename Vehicles:** Added the ability to rename your vehicles on the UI.
* **Persistent Vehicles:** Reworked the persistent vehicles to allow vehicles to save even after a restart.
* **Target Support:** Added support for ox\_target and qb-target, we will auto detect your target resource.
* **Garage Raiding:** Police have the ability to raid garages searching for specific cars.
* **Garage Peds:** Added a ped to spawn at every garage location.
* Added new event cd\_garage:AddKeysOwnedVehicle, explained in docs.
  {% endhint %}

{% hint style="info" %}
Edit

* Rewrote and updated the auto insert SQL system.
* Rewrote and improved the player blips system.
* Rewrote and improved the impound code.
  {% endhint %}

{% hint style="warning" %}
Fix

* Fixed issues with vehicle locking states not saving correctly with persistent vehicles.
* Improved the stability of the vehicle locking system.
  {% endhint %}
