> For the complete documentation index, see [llms.txt](https://docs.tworst.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tworst.com/getting-started-installation/scripts/gardener-job/changelog/v3.0.0.md).

# v3.0.0

{% hint style="info" %}
Version numbers jump to 3.0 so that every Tworst job on tw-lib shares the same major version.
{% endhint %}

## New

* **Runs on tw-lib** (free, required). Framework, inventory, vehicle keys, fuel and clothing are detected automatically; `Config.Framework`, `Config.Inventory` and `Config.SQL` are gone.
* **Settings survive updates.** Every changed value is saved in the database and written back after an update. Your 1.x config, coordinates and texts are imported once on the first start.
* **In-game admin menu** `/twlib`: live lobbies, money paid, players, and job settings.
* **Reward split:** the lobby owner sets each member's share of the money reward.
* **Hooks folder:** your own start/end functions, notifications and prompts in `hooks/`, never overwritten by an update.
* **One job at a time** across Tworst jobs, with an offer to leave the other job.
* **Leaderboard** and **hint cards** on the job prompts.
* **Update notice** in the server console.
* **New job menu** on the shared Tworst UI, with the gardener colours; the prompts use the shared Tworst prompt.
* **Interaction choice once for all jobs** (`Config.InteractionHandler = 'default'`), plus `qb-target` and `auto`.
* **Job uniform** now works with any clothing script, or none, and is on by default: the player's own clothes come back at the end.
* **Truck paint** is a setting (`Config.VehicleColour`); by default the truck keeps its own colours.
* **Earnings tell you why** money and XP were given.
* **Crew takeover:** a member takes over the running job when the owner drops.
* **Rejoin:** a member who drops mid-job comes back into it.
* Many more supported inventories, key and fuel scripts (see [Overview](/getting-started-installation/scripts/gardener-job.md#supported-systems-auto-detected-by-tw-lib)).

## Fixed

* Level-up keeps the XP above the requirement; max-level players get the cooldown too.
* The delivery point is the region's, not the one the client reports.
* Every region carries its own name.
* The crew's world is built once for the whole crew; flowers are reserved so two players cannot plant the same spot.
* Coop credit, truck and mower interactions for crew members out of range.
* Tools, flowers and branches in the hands of a member who drops come back to the crew.
* The trucks stay when their driver drops.
* An accepted invite opens the menu camera only once the server has taken the player in; an unanswered invite no longer keeps a key thread running.
* Ladder interactions end cleanly when you step away early.
* `/jobleavegardenerv2` outside a lobby does nothing instead of throwing an error; leaving a lobby clears the task list.
* Missing texts added in every language (the Portuguese job menu text was in Russian); Turkish wording fixed.
* Security: payout, tasks and vehicle come from the config, not the player's client; truck tools and lobby data only for members.

## Removed

* `config/` and `locales/` folders → now `defaults/`.
* The job's own framework bridge, replaced by tw-lib.
* mysql-async / ghmattimysql support → oxmysql only.
* PolyZone requirement.

## Update

Copy the new `tw-gardenerv2` over the old folder, install **tw-lib**, add `ensure tw-lib` before the job, and make sure the stream folder is named `tw_gardenerv2_stream`. See [Installation → Updating from 1.x](/getting-started-installation/scripts/gardener-job/installation.md#updating-from-1-x).
