|
1 | | -# Changelog |
2 | | - |
3 | | -## [0.1.0] — 02-09-2026 |
4 | | - |
5 | | -### Added |
6 | | -- GitHub Releases-based version checking (replaces local version file) |
7 | | -- Development build detection ("dev" when no releases exist) |
8 | | -- GitHub API integration for update checking and autoupdate |
9 | | -- Comprehensive documentation reorganization (.github/, docs/) |
10 | | -- MIGRATION.md guide in docs/ for upgrade path from chat_commands |
11 | | -- Proper system/config.lua with structured Config table |
12 | | -- `Config.Framework` single string field for framework selection (replaces booleans) |
13 | | -- `Config.Formatting.*` for show_id and useFrameworkName options |
14 | | -- `Config.Callbacks.onCommandExecuted` hook for command audit logging |
15 | | -- `Config.AdminCheck` callback for custom admin logic |
16 | | -- Example command pack in `commands/example.lua` |
17 | | -- QBCore export validation to prevent nil errors |
18 | | -- Modern `fxmanifest.lua` (cerulean format) |
19 | | -- Support for ESX, QBCore, QBox, and standalone frameworks |
20 | | -- Modular architecture with clean separation of concerns |
21 | | -- pxc event namespace throughout |
22 | | -- Enhanced SECURITY.md policy |
23 | | -- Contributing guidelines |
24 | | -- Complete user guides: GETTING_STARTED.md, COMMAND_PACKS.md, CONFIG_REFERENCE.md, TROUBLESHOOTING.md |
25 | | -- docs/README.md navigation hub for documentation |
26 | | - |
27 | | -### Changed |
28 | | -- Rebranded from `chat_commands` to `pxCommands` |
29 | | -- Updated repository to https://github.com/CodeMeAPixel/pxCommands |
30 | | -- Contact updated to hey@codemeapixel.dev |
31 | | -- Version system now checks GitHub Releases API instead of local file |
32 | | -- Autoupdate redirects to GitHub releases instead of file updates |
33 | | -- Documentation reorganized: `.github/` for repo docs, `docs/` for guides |
34 | | -- Replaced global `SETTINGS` with structured `Config` table |
35 | | -- Improved framework detection with explicit export checking |
36 | | -- Enhanced logging with config-aware defaults |
37 | | -- README.md moved to .github/ (GitHub auto-discovers) |
38 | | -- Event namespace shortened to `pxc:*` (pxc:proximity, pxc:showFloatingText) |
39 | | -- Fixed script execution order in fxmanifest.lua |
40 | | -- Removed settings.lua override file; configuration now directly in system/config.lua |
41 | | -- Removed FXServer version check system (no longer required) |
42 | | - |
43 | | -### Fixed |
44 | | -- Fixed variable scope issue in ESX command registration (raw variable) |
45 | | -- QBCore initialization now properly checks for export existence before use |
46 | | -- Removed busy-wait loops in version check |
47 | | -- Dead links and outdated documentation removed |
48 | | -- Updated all doc cross-references to point to correct paths |
49 | | -- Fixed Lua type diagnostics: SetTextProportional and SetTextCentre now use boolean instead of integer |
50 | | -- Fixed GetDistanceBetweenCoords last parameter type (boolean instead of integer) |
51 | | -- Added MySQL type annotation to prevent undefined global diagnostics |
52 | | -- Fixed command registration execution order (pre.lua → commands/*.lua → commands.lua) |
53 | | - |
54 | | -### Removed |
55 | | -- Static version file from version checks (now uses GitHub releases) |
56 | | -- vRP compatibility (deprecated; use ESX, QBCore, or QBox) |
57 | | -- Old toxicdev.me documentation references |
58 | | -- Corrupted dual-content in README |
59 | | -- FXServer version check enforcement (fxcheck_1226.lua) |
60 | | -- settings.lua configuration file (use system/config.lua directly) |
61 | | -- Dynamic module auto-loading (sv_*.lua, sh_*.lua patterns) |
| 1 | +# Changelog |
| 2 | + |
| 3 | +## [Unreleased] — 02-22-2026 |
| 4 | + |
| 5 | +### Added |
| 6 | +- `Config.Callbacks.onCommandFailed` callback with reason string: `prereq`, `permission`, `cooldown`, `invalid_args`, `no_args` |
| 7 | +- `Config.Cooldowns.default` global cooldown setting; per-command override via `cooldown` field |
| 8 | +- `Config.Webhook` block: Discord embed logging via `url`, or fully custom `handler` function |
| 9 | +- Server-side proximity distance filtering — only players within range receive the chat event |
| 10 | +- `AddCommandAlias(alias, commandName)` global function for use in command packs loaded after pre.lua |
| 11 | +- Argument type validation: `number`, `playerId`, `string` (with `minLength`/`maxLength`) |
| 12 | +- Admin bypass for per-command cooldowns when `Config.AdminCheck` is configured |
| 13 | +- `lua54 'yes'` in fxmanifest for Lua 5.4 performance improvements |
| 14 | +- `commands/roleplay.lua` pack: `/me`, `/do`, `/ooc`, `/tweet`, `/911`, `/low`, `/shout` with pre-configured ranges, cooldowns, and colors |
| 15 | +- `commands/admin.lua` pack: `/announce`, `/staffchat`, `/kick`, `/warn` (all admin-gated) |
| 16 | +- `modules/cl_notifications.lua`: screen notification module with `success`, `error`, `warning`, `info` types; triggered via `pxc:notify` (server→client) or `pxc:notifyLocal` (client→self) |
| 17 | + |
| 18 | +### Changed |
| 19 | +- ESX framework init now uses `exports['es_extended']:getSharedObject()` (non-blocking) with legacy event fallback |
| 20 | +- ESX name lookup switched from `MySQL.Sync.fetchAll` (blocking) to `MySQL.Async.fetchAll` |
| 21 | +- `CommandPack` defaults now use nil-check instead of falsy-check, preserving explicit `false` values (e.g. `hidden = false`) |
| 22 | +- `fail()` in commandHandler only shows `noperm` message on actual permission/admin failures, not prereq failures |
| 23 | +- `shallowcopy` now deep-copies nested tables so command aliases don't share references (e.g. `args`) |
| 24 | +- `formatString` helper replaces duplicated token substitution logic for both `format` and `title` fields |
| 25 | +- `pxc:showFloatingText` client event now rejects relayed client-to-client calls |
| 26 | + |
| 27 | +### Fixed |
| 28 | +- Overhead text render loop used `table.remove` inside forward iteration, causing skipped entries on removal |
| 29 | +- Overhead text thread spun at `Wait(0)` even with no active floating text entries |
| 30 | +- `GetResourceMetadata` called with 2 arguments instead of the required 3 |
| 31 | +- `triggerProximityMessage` guard added for nil `tonumber()` result |
| 32 | +- Proximity chat broadcast sent to all clients; now filtered server-side before dispatch |
| 33 | +- `/warn` admin command nil-guarded `targetId` before passing to `TriggerClientEvent` |
| 34 | + |
| 35 | +## [0.1.0] — 02-09-2026 |
| 36 | + |
| 37 | +### Added |
| 38 | +- GitHub Releases-based version checking (replaces local version file) |
| 39 | +- Development build detection ("dev" when no releases exist) |
| 40 | +- GitHub API integration for update checking and autoupdate |
| 41 | +- Comprehensive documentation reorganization (.github/, docs/) |
| 42 | +- MIGRATION.md guide in docs/ for upgrade path from chat_commands |
| 43 | +- Proper system/config.lua with structured Config table |
| 44 | +- `Config.Framework` single string field for framework selection (replaces booleans) |
| 45 | +- `Config.Formatting.*` for show_id and useFrameworkName options |
| 46 | +- `Config.Callbacks.onCommandExecuted` hook for command audit logging |
| 47 | +- `Config.AdminCheck` callback for custom admin logic |
| 48 | +- Example command pack in `commands/example.lua` |
| 49 | +- QBCore export validation to prevent nil errors |
| 50 | +- Modern `fxmanifest.lua` (cerulean format) |
| 51 | +- Support for ESX, QBCore, QBox, and standalone frameworks |
| 52 | +- Modular architecture with clean separation of concerns |
| 53 | +- pxc event namespace throughout |
| 54 | +- Enhanced SECURITY.md policy |
| 55 | +- Contributing guidelines |
| 56 | +- Complete user guides: GETTING_STARTED.md, COMMAND_PACKS.md, CONFIG_REFERENCE.md, TROUBLESHOOTING.md |
| 57 | +- docs/README.md navigation hub for documentation |
| 58 | + |
| 59 | +### Changed |
| 60 | +- Rebranded from `chat_commands` to `pxCommands` |
| 61 | +- Updated repository to https://github.com/CodeMeAPixel/pxCommands |
| 62 | +- Contact updated to hey@codemeapixel.dev |
| 63 | +- Version system now checks GitHub Releases API instead of local file |
| 64 | +- Autoupdate redirects to GitHub releases instead of file updates |
| 65 | +- Documentation reorganized: `.github/` for repo docs, `docs/` for guides |
| 66 | +- Replaced global `SETTINGS` with structured `Config` table |
| 67 | +- Improved framework detection with explicit export checking |
| 68 | +- Enhanced logging with config-aware defaults |
| 69 | +- README.md moved to .github/ (GitHub auto-discovers) |
| 70 | +- Event namespace shortened to `pxc:*` (pxc:proximity, pxc:showFloatingText) |
| 71 | +- Fixed script execution order in fxmanifest.lua |
| 72 | +- Removed settings.lua override file; configuration now directly in system/config.lua |
| 73 | +- Removed FXServer version check system (no longer required) |
| 74 | + |
| 75 | +### Fixed |
| 76 | +- Fixed variable scope issue in ESX command registration (raw variable) |
| 77 | +- QBCore initialization now properly checks for export existence before use |
| 78 | +- Removed busy-wait loops in version check |
| 79 | +- Dead links and outdated documentation removed |
| 80 | +- Updated all doc cross-references to point to correct paths |
| 81 | +- Fixed Lua type diagnostics: SetTextProportional and SetTextCentre now use boolean instead of integer |
| 82 | +- Fixed GetDistanceBetweenCoords last parameter type (boolean instead of integer) |
| 83 | +- Added MySQL type annotation to prevent undefined global diagnostics |
| 84 | +- Fixed command registration execution order (pre.lua → commands/*.lua → commands.lua) |
| 85 | + |
| 86 | +### Removed |
| 87 | +- Static version file from version checks (now uses GitHub releases) |
| 88 | +- vRP compatibility (deprecated; use ESX, QBCore, or QBox) |
| 89 | +- Old toxicdev.me documentation references |
| 90 | +- Corrupted dual-content in README |
| 91 | +- FXServer version check enforcement (fxcheck_1226.lua) |
| 92 | +- settings.lua configuration file (use system/config.lua directly) |
| 93 | +- Dynamic module auto-loading (sv_*.lua, sh_*.lua patterns) |
0 commit comments