# v1.0.1

**Changes:**

* Added input validation for admin panel economy config keys, sources, item names, and job IDs
* Added string sanitization (`SanitizeString`) for all job editor text fields
* Fixed Lua pattern injection in economy config save via `EscapePattern` helper
* `HideUnselectedJobEntities` — new config option to fully hide NPCs, blips, scales, and cabins for non-selected jobs
* Scale capacity limit — `maxScaleItems` config per job prevents overloading the processing scale
* Decal dev tool — new in-game tool for placing and testing decals
* Tool fallback system — local tool creation when networked tools fail to spawn
* Box placement direction — `placeBehind` parameter for placing boxes behind the player
* Weight-based scale display — processing system now supports direct-weight mode with kg-based pricing
* Server-side tool efficiency for stains — StainManager now calculates `hitsRequired` server-side
* Decal system multi-angle raycast fallback (8 directions) with floor-hit filtering and retry limit
* Fishing config restructured with multi-NPC support (`shopNpcs`, `buyerNpcs`); added all item images
* Forklift added Z-axis height check (`forkZMaxDiff`) for crate pickup, belt placement, and shelf operations
* Fixed fruitpicker race condition in `StartPickingOrange` — added re-entry guard
* Powerwash disabled weapon fire controls during spraying; new route locations (Mirror Park)
* Window Cleaner new zone "Vespucci Canals" (22 locations); adjusted level requirements
* Double-action guard prevents simultaneous scale placement and trunk loading
* Selected job now persists after job end; state restored on resource restart
* Fixed decal failed raycasts falsely marked as hit
* Fixed simultaneous scale placement and trunk loading causing state conflicts
* Fixed fruitpicker double-pick race condition when spamming interaction
* Fixed powerwash LMB triggering weapon fire while spraying
* Fixed fishing shop/sell notification showing raw ID instead of localized label
* Added `scaleFull` notification to all 8 languages
* Renamed fishing rod/bait keys to lowercase across all locale files

**Changed Files:**

`All files`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tworst.com/getting-started-installation/scripts/lite-jobs-pack/changelog/v1.0.1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
