Skip to content

Commit 25b2852

Browse files
authored
Updated a bunch of stuff
1 parent b5fd956 commit 25b2852

21 files changed

Lines changed: 2464 additions & 1883 deletions

CHANGELOG.md

Lines changed: 93 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,93 @@
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

Comments
 (0)