> For the complete documentation index, see [llms.txt](https://duddzy-scripts.gitbook.io/duddzy-scripts-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://duddzy-scripts.gitbook.io/duddzy-scripts-docs/scripts/duddzy-jail-3/updating-and-changelog.md).

# Updating & Changelog

This page explains how to update DZ Customs safely and provides a changelog template.

***

## Updating DZ Customs

Before updating, always back up your current configuration.

Recommended backup files:

```
shared/config.lua
shared/pricing.lua
shared/modtypes.lua
locales/
```

If you edited the NUI:

```
web/index.html
web/style.css
web/app.js
```

back those up too.

***

### Update Steps

1. Stop your server or resource.
2. Back up your current DZ Customs folder.
3. Replace the updated script files.
4. Compare your old config with the new config.
5. Re-apply your custom settings.
6. Start the resource.
7. Check console for validation warnings.
8. Test a full checkout flow.

***

### Recommended Update Order

```cfg
ensure es_extended
ensure oxmysql
ensure ox_lib
ensure dz_chameleonpaints
ensure dz_customs
```

If you do not use chameleon paints:

```cfg
ensure es_extended
ensure oxmysql
ensure ox_lib
ensure dz_customs
```

***

### After Updating

Test the following:

```
Open each configured shop
Preview body mods
Preview paint
Preview wheels
Preview lights
Preview tyre smoke
Checkout with cash
Checkout with bank
Checkout with society if enabled
Store and retrieve owned vehicle
Check Discord logs if enabled
Check F8 console for client errors
Check server console for errors
```

***

### Updating Config

New script versions may include new config options.

When updating, compare:

```
old shared/config.lua
new shared/config.lua
```

Do not blindly replace your config unless you are happy to reconfigure everything.

***

### Updating Chameleon Paints

If the optional `dz_chameleonpaints` resource is updated:

1. Replace the paint resource files.
2. Restart the full server.

Updating the paint resource will always require a server restart.

***

### Updating Locales

If new locale keys are added, make sure every locale file includes the same keys.

Example locale files:

```
locales/en.lua
locales/de.lua
locales/fr.lua
locales/es.lua
locales/tr.lua
```

If a key is missing, the script may display the key name instead of a translated message.

***

## Changelog

### v1.0.0

Initial release.

#### Added

* Custom NUI
* ESX framework support
* ox\_lib support
* Optional ox\_target support
* Configurable shops
* Configurable categories
* Configurable blips
* Configurable markers
* Live vehicle preview
* Smooth camera system
* Mouse camera controls
* Basket checkout system
* Cash payment support
* Bank payment support
* Optional society payment support
* Job discounts
* Free job customisations
* Server-side trusted price validation
* Owned vehicle persistence
* Vehicle ownership checks
* Discord webhook logging
* Configurable currency symbol
* Optional chameleon paint support
* Optional chameleon paint resource
* Wheel category drill-down
* Paint category drill-down
* Neon preview
* Headlight preview
* Tyre smoke colour preview
* Tyre smoke burnout preview
* Admin command
* Client exports
* Multiple locales

#### Notes

* Chameleon paints require the optional `dz_chameleonpaints` resource.
* Society payments require a compatible ESX society/addon account system.
* Persistence requires a compatible owned vehicle database and garage property restore system.
