| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| scriptlog-v1.6.0.zip | 2026-08-11 | 10.3 MB | |
| README.md | 2026-08-11 | 6.3 kB | |
| v1.6.0 source code.tar.gz | 2026-08-11 | 11.4 MB | |
| v1.6.0 source code.zip | 2026-08-11 | 12.7 MB | |
| v1.6.0 - REST API, GDPR privacy tooling, admin command architecture, theme view models _ live search source code.tar.gz | 2026-08-11 | 11.4 MB | |
| v1.6.0 - REST API, GDPR privacy tooling, admin command architecture, theme view models _ live search source code.zip | 2026-08-11 | 12.7 MB | |
| Totals: 6 Items | 58.6 MB | 0 | |
Release Summary
Scriptlog 1.6.0 (codename Maleo Senkawor) is a feature release built on 346 commits since v1.5.1. Headline additions for site owners and developers:
- Public REST API with API key authentication, rate limiting, and search
- GDPR privacy tooling: configurable data retention, account erasure/anonymization, CSRF + per-IP throttling on data requests
- Admin command architecture (~40 commands) modernizing the admin panel
- Theme view models & partial templates for cleaner, safer theme code
- Live search widget in the blog theme
- Versioned cookie consent with configurable lifetime
- PHP 8.4/8.5 compatibility hardening and broad output-escaping fixes
Deprecation:
FrontHelperis deprecated in favour offront_service()/FrontService.
[1.6.0] - 2026-08-11
Added
- Public REST API: New HTTP API with API key authentication (
tbl_api_keys), JSON responses, rate limiting, and a search endpoint. Controllers cover posts, comments, topics, pages, media, GDPR requests, languages, and translations. IncludesQueryApiController(RFC 10008QUERYmethod),RateLimiter, andApiHelperURL resolution, wired to services and API DTOs - Admin command pattern:
AdminActionRegistryandAdminActionCommandinterface with ~40 command classes (activate/deactivate/edit/delete/install/list/new for users, topics, themes, plugins, pages, media, posts, and comments); admin pages migrated to command-registry dispatch - Theme view models:
ThemeViewModelinterface,AbstractThemeViewModel, andPostViewModel,PageViewModel,ArchiveViewModel,MenuViewModel,SidebarViewModelwith a factory;theme_escape_html()andfront_service()helper functions - Theme partial templates: Post card, comments, post meta, and paginator partials; modular theme helper groups for i18n, navigation, posts, media, and comments
- ProtectedPostService: Dedicated service for password-protected post handling
- Live search widget: Blog search template with live-search behaviour and rebuilt minified script; total-count field in the search API response
- Cookie consent versioning: Consent records versioned with configurable lifetime; banner honours the consent version;
COOKIE_CONSENT_VERSIONconstant to force re-consent on policy changes - GDPR enhancements: New Data Retention admin page with configurable retention window and automatic cleanup; user account anonymization/erasure on data deletion requests; CSRF protection on data export/deletion forms; per-IP throttling for data subject access requests; data retention policy included in the installer privacy policy (Arabic, English, Chinese, French, Indonesian, Russian, Spanish)
- Syntax highlighting: Prism.js vendor assets and theme overrides for code blocks in the blog theme
- PSR-4 autoloading: DTOs, validators, and PSR-4 namespaces across core, DAO, controller, service, and model layers
- PHP 8.4/8.5 compatibility: Guards for session
sidini directives,E_STRICT,imagedestroy(),finfo_close(),curl_close(), andregister_globalsemulation - Explicit image loading attribute support in post content
- Documentation: API documentation HTML, database schema guide, troubleshooting guide, HTMX theme developer guide, refreshed README
- Unit tests: 60+ new test files covering the API, admin commands, view models, theme helpers, consent versioning, DTOs, validators, and services
Changed
- FrontHelper static facade deprecated in favour of
FrontServiceand thefront_service()helper - Admin pages refactored from direct dispatch to the command registry
- Authentication cookie handling hardened
- DAO layer:
Dao::deleteRecord()return types hardened;PostDaosort-column whitelist and topic helpers; query builders simplified - Theme templates refactored to consume view models and partial templates
- Rate limiting counters namespaced separately for read and write operations
- Translation caches updated with search-widget and cookie-settings strings for ar, en, es, fr, id, ru, and zh
- Dependencies: catfan/medoo 2.4.0 → 2.5.0, voku/anti-xss → 4.1.44, vlucas/phpdotenv → 5.6.4, plus dev updates (phpstan, php-cs-fixer, phpmetrics)
Fixed
- Output escaping: HTML-escaping flags hardened across installer, admin forms, sanitizer, syntax highlighter, pagination links, redirects, feed content, and post paragraph trimming
- PHP 8.x compatibility issues guarded (see Added)
- Translation values:
is_htmlcast to int and translation values validated - Error handling:
trigger_error()replaced withRuntimeExceptionwhere appropriate - Search/feed: total comment count included in post feed queries;
pwd_hashincluded in token lookup - Media: void return types removed from
insert()/update()for PHP compatibility
Removed
- CodeQL analysis workflow and generated
api.htmldocumentation - Duplicate test files:
DownloadHandlerTest(identical toDownloadUtilityTest)
Security
- CSRF protection added to GDPR data export and deletion forms
- Per-IP rate limiting on data subject access/erasure requests (5 requests / 15 minutes, fails open)
- Output escaping hardening across request-facing rendering paths
- CI actions pinned to full-length commit SHAs
Deprecated
FrontHelperstatic facade — usefront_service()/FrontServiceinstead
Notes
Feature release centred on a public REST API, admin command architecture, theme view models, GDPR/privacy tooling, live search, and broad PHP 8.4/8.5 compatibility hardening. 346 commits since v1.5.1.
Codename
Maleo Senkawor – Honoring Macrocephalon maleo, the critically endangered megapode endemic to Sulawesi, Indonesia.
Comparison
- Previous release: v1.5.1
- Changes since v1.5.1: 346 commits