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

# Changelog

All notable changes to 5code-recognition are listed here, newest first.

### How versions work

| Change                                                   | Version           |
| -------------------------------------------------------- | ----------------- |
| A breaking change to an export, a public event or a hook | **Major** — 2.0.0 |
| A new feature, a new integration, a new config key       | **Minor** — 1.1.0 |
| A fix that changes nothing you call or configure         | **Patch** — 1.0.1 |

Every release that changes an **open** file — `config.lua`, `config_server.lua`, `locales/*.lua` or anything in `bridge/` — says so here, so you can diff your copy against ours and merge your edits.

See [Updating](/5code-docs/5code-recognition/getting-started/updating.md) for the procedure.

***

## v1.0.1

Initial release.

**Release candidate update (2026-10-01)**

* **Camera recordings in the F3 menu.** A hidden-camera look no longer drops a paper by itself. The recording waits in **F3 → Camera recordings** for 24 hours and prints once, with a 3-second **Printing...**. The hidden camera must be in the player's inventory to print.
* **Print from 50 %.** A look that is still running can be printed as soon as the camera has seen 50 % — no need to stop or walk away, and the look keeps running after the print. The list shows running looks as **Recording now · n%**, gray with **(needs 50%)**, **(camera on too short)** or **(printed recently)** when they cannot be printed yet. A look that ends below 50 % now says so: "The camera saw only n% - not enough for a recording (needs 50%)".
* **REC % on the HUD.** While the camera is on, the HUD shows **REC n%** — the share of the look the camera has seen — in green from 50 %.
* **Stop looking.** A new F3 option ends every scan and quiet look at once. What was learned is saved as usual.
* **Arrow keys only in the F3 menu.** The menu now uses **UP / DOWN** and **Enter**; the number keys do nothing, because on most servers 1–5 are the inventory hotbar. The options are **Scan person to memory**, **Recognize**, **Camera recordings** and **Stop looking**.
* **Redesigned admin panel.** A tablet look with an icon sidebar. **Pair** shows % rings, cue bars and short chips. **Lookup** suggests matches as you type (name, server id, character key, device serial or report id) with a "search by" hint. **Timeline**: pick a player, then read a day-by-day list with one short line per event — click a line for details — and filter by time (24 h, 7 days, 30 days) and by kind (scans, proofs, papers, deaths, admin). **Deaths** explains itself and has **Keep memories** / **Wipe memories** buttons. **Clothing** has summary tiles and filter chips.
* **Settings with plain titles and tips.** Every setting on the Settings page has a readable title and an **(i)** tip, in friendly groups. The texts live in the new open file `locales/en_settings.lua`, so they can be translated.
* **Fixed:** after a revive the menu now works at once.
* **Fixed:** the HUD no longer flashes 0 % right after a mask comes off.
* **Open files changed:** `locales/en.lua` (new menu, camera and admin panel lines), new `locales/en_settings.lua`, and `bridge/framework_client.lua` (the revive fix for QBCore / Qbox).

**Recognition**

* Scanning with four cues — voice, clothing, face, tattoo — and a points model that caps at 100.
* Memory tiers by scan quality: 5 days, 24 hours, 2 hours; 30 days for a hidden-camera recording.
* A successful recognition refreshes the memory, never shortens it, and upgrades a weak one to the tier the new scan earns.
* Ten-minute live results that follow a person's current look.
* **The quick look.** Somebody you already remember is recognized after 2–3 seconds of looking instead of a full scan: **Recognized** with the label at 80 % or more, **Not sure** with only the % below that. The first meeting stays the full scan. After the answer the look goes quiet and keeps working: the person's voice is added live when they talk, what you keep seeing is learned, and walking away saves it. A "Not sure" that never reaches 80 changes nothing. A masked person is only quick-recognized by the same voice-changer voice or remembered tattoos, never by clothes alone. The thinking pose only plays while memorizing someone new. New config block `Config.QuickLook` and key `Config.Clothing.FaceItemsOnce` (both with built-in defaults, so an older `config.lua` keeps working).
* **The scan menu.** **F3** opens a small menu on the left: *Scan person to memory* or *Recognize* (the 2–3 second look only — "You don't know him" for somebody you do not remember, nothing saved), plus *Camera recordings* and *Stop looking* (see the release candidate update above). **SPACE** picks up to three people and scans them at once, with a small ring and the % above each scanned head. Only the scanner has to face the other person. You learn within 5 m; a scan stays open to 7 m and waits 30 s after the person walks further. `Config.StartMode = 'prompt'` keeps the arrow and **Recognize \[E]** prompt (`'menu'` is the new default). New keys `Config.Keys.Menu`, `Config.Prompt.PickedColor`, `Config.Hud.Overhead`, `Config.Scan.KeepDistance`, `CameraDistance`, `AngleBands`, `LeaveGraceSeconds` and `MaxParallel`, and new `ui_menu_*` and `ui_hud_slow_*` lines in `locales/en.lua`.
* Familiarity in four levels, speeding up the re-learning of someone whose memory ran out up to ×2 — and switched off while a face is hidden, so speed never gives a person away.
* **The memory line.** Players see where and when they first met someone ("Met him on Vinewood Blvd in the evening", "The guy from the tattoo shop") instead of the clothing words, and "I know him well" from the *familiar* level on (never on a disguise memory). Admins and Discord still get the clothing words, plus the full detail. New config block `Config.Places`, new key `Config.Familiarity.KnownWellLevel`, new `label_*` lines in `locales/en.lua`, and a new `scene` column that an existing database gets on its own at start (the database user needs the ALTER right once; without it the resource does not start and prints the one statement to run by hand). `Hooks.FormatAutoLabel` now only changes the clothing words admins see.

**Disguises**

* The masked-person rule: a covered face is scanned, scored and remembered exactly like a stranger, in a separate memory.
* Disguise memories matched by similarity, not by an exact outfit, with up to four per person.
* The two memories merge only when the mask comes off in front of you during a scan.

**Items**

* Voice changer — a fake voice worth half the points, one per device, forever.
* Hidden camera — twice as fast, 7 m, silent, 30-day memories, recordings printed as paper reports from the F3 menu.
* Magnetic scanner — a four-second sweep for cameras.
* Batteries and paper reports.

**Identity**

* Face implant at a clinic: new face, new name, new voice, everybody forgets you — and you keep your own memories of everybody else.
* New Life Rule: respawning makes you forget the witnesses within 25 m.
* A barber never changes recognition.

**Social**

* Introduce yourself under any name, attached to the look the listener can see.
* Describe somebody to a friend, capped at 50 % for 24 hours.
* Witness statements as paper and MDT entries.
* Lab ID from evidence scripts, counting as 100 % for acting, for 7 days.
* The "possible match" hint line, only for the jobs in `Config.Jobs.HintJobs` (police by default).

**Weather, light and the world**

* Night, rain, fog and range all slow the seeing cues; flashlights recover most of the night penalty; the voice is never slowed.

**Staff tools**

* One tablet-style in-game panel: overview, live pair view with a trend chart, lookup, timeline, deaths, clothing tools, audit log, settings.
* Recognition records on aim, damage, kill, cuff, uncuff, rob, search, escort and kidnap — always with **both** numbers: what the attacker remembered, and what they could have reached right then.
* Tamper-evident records and audit log, verifiable with `recognition:verifyproofs`.
* One-click Discord export, with licences left out by default.
* Six permission levels, so staff roles can be as narrow as you like.
* A live settings editor for almost every config value, with clamps, relation checks, an audit trail and one-button reset to the file defaults.

**Clothing classifier**

* Four layers: shipped rules, the game's own shop tags, a photographic coverage test, and admin overrides.
* Auto-scan from the admin panel, in a private room, with pause and stop.
* A silent startup check that only speaks when the item counts changed.
* Until an item is classified: an unknown mask hides the face, an unknown top counts as long sleeves, hats and helmets behave like a cap, and an unknown gloves-slot item leaves the hands bare.

**Interface**

* A movable, resizable HUD with round or square badges, saved per machine.
* A mirror check: "how recognizable am I right now?"
* Works alongside JG HUD, with an automatic offset.

**Integrations**

* Frameworks: QBCore, Qbox, ESX, ox\_core, and standalone.
* Every integration lives in an open bridge file with an `'auto'`, pinned, `'custom'` and `'none'` branch.
* Inventories, voice systems, appearance and tattoo scripts, death and ambulance scripts, MDTs, evidence scripts, target, text UI, progress, notify, emotes, nametags and chat.
* Public exports, public events and hooks, all documented.

**Everything else**

* Automatic database setup and migrations.
* English locale in an open file; a new language is a copy and a translate.
* `recognition:selftest`, `recognition:status` and `recognition:check` for diagnosing an installation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://5code.gitbook.io/5code-docs/5code-recognition/reference/changelog.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
