# v3.1.0

{% hint style="danger" %}
Due to the number of files changed, the developer highly recommends that you perform a full reinstall of the script to ensure everything works smoothly!
{% endhint %}

## **Security**

* Fixed 1 major exploit
* Fixed 3 minor exploits (unreported, found internally)
* Prevent vehicle spawn if you are moved from the garage while menu is open
* Added `Config.DisableTransfersToUnregisteredGarages` for optional improved security when using unregistered garage events via integrations

## **Features**

* Configure camera transition for garage interiors
* Server-spawned vehicles are placed in player's current bucket
* Utilises `vehicleid` statebag for better integration across the Qbox ecosystem
* Auto-run SQL on first start
* New callback event (config-cl.lua) for approving player vehicle transfers

## **Fixes**

* "group.admin" is no longer hardcoded for some chat commands
* Fix "TakeOutVehicle" event not running when showLiveries menu is false
* Add check for Brazzers-FakePlate to server-side plate check events
* Fix `Config.InsertVehicleKeyBind` having no effect
* Fix bug where previous garage vehicle names would persist until garage is closed and re-opened
* `getAllGarages` export now returns all garages (incl impounds, job, private, gang)
* Fix issue where editing a private garage would result in "NAME\_TAKEN" error.

## **Changed Files**

* client/cl-garage.lua
* client/cl-impound.lua
* client/cl-interior.lua
* client/cl-locations.lua
* client/cl-main.lua
* client/cl-spawn.lua
* client/cl-vehicle.lua
* config/config-cl.lua
* config/config-sv.lua
* config/config.example.lua
* framework/sv-functions.lua
* server/sv-garage.lua
* server/sv-impound.lua
* server/sv-initsql.lua
* server/sv-locations.lua
* server/sv-main.lua
* server/sv-private-garages.lua
* server/sv-society-garage.lua
* server/sv-spawn.lua
* server/sv-vehicle.lua
* fxmanifest.lua
* web (entire folder)
