Right after the 3.0 series went live in production, six back-to-back core releases (v3.0.9 through v3.0.14) delivered the RESTful CRUD API engine and resolved real bottlenecks measured on the production portal.
Canonical CRUD API engine (REQ-283)
The new gestor/bibliotecas/api-crud.php library exposes seven standardized routes under /_api/{module}/ (paginated listing, read by slug or numeric ID, creation, PUT/PATCH with If-Match version checking, logical or permanent deletion, status toggle, and cloning):
- Exposure is opt-in per module in its manifest (
api.crud), ensuring no sensitive column is exposed by default. - The engine enforces active profile-to-module membership (
usuarios_perfis_modulos), checks token scopes (read,write, ormobile), and proves every write through both the query return value and affected row count. - All 26 response and error messages are localized in
pt-branden, backed by 20 automated test cases and 311 assertions.
False-positive-free updater and bulk clash decisions (REQ-284, REQ-285, and REQ-286)
- Portable Tailwind cache: data seeds are normalized to LF line endings and the compiler cache is now independent of absolute machine paths, preventing redundant recompilations across worktrees.
- No false positives on system artifacts: installation-generated files (such as
.env, update control maps, and compiled bundles) no longer show up as manual divergences. - Bulk decisions and in-place pagination: the clash table now paginates without reloading the tab and offers one-click bulk actions (*keep local* or *accept package*).
26 ms 404 lookups and live dist/ resync (REQ-288, REQ-289, and REQ-143)
- Indexed cross-language lookup: when a requested URL did not exist, the router's check for the page in another language scanned the pages table without filtering by enabled languages (~7.8 s in production). Filtering by active languages with
LIMIT 1hits the composite index and drops the query to 26 ms, paired with the new dark bilingual 404 recovery page (REQ-143). - Automatic
dist/resynchronization: every system update and API project deploy now compares SHA-1 hashes of minified JS and CSS bundles and automatically republishes changed files topublic_html/dist/, updating the?v=cache-busting parameter served to browsers.
Source: Core · REQ-283 to REQ-289 · BATCH-292 to BATCH-297 · Site · REQ-142 and REQ-143