11 KiB
11 KiB
Changelog
2026-02-28
- Updated ACP General to use section navigation with
Overviewas the default landing view and a dedicatedSettingsview. - Reorganized ACP General placeholders by moving
Client communicationandServer configurationinto the Settings area as dedicated sub-tabs. - Added nested Settings tab grouping and bordered tab-content containers to match the ACP tabbed layout pattern.
- Refined ACP tab visual states so inactive tabs render muted and active tabs use the configured accent color.
- Standardized key ACP refresh actions with explicit icon + spacing so repeated controls render consistently.
- Added icon support to additional primary UI actions (update modal/footer actions, auth screens, and forum/thread actions).
- Synced board version/build display in stats from
composer.jsonand added safe DB setting synchronization fallback logic. - Applied global accent-based Bootstrap button variable overrides so primary button styling remains consistent across ACP and user-facing screens.
2026-02-27
- Reworked ACP System navigation into
HealthandUpdates. - Moved update/version actions into the new
Updatesarea and grouped update checks underLive Update,CLI, andCI/CD. - Added CLI PHP interpreter
Checkaction (no persistence) plus save-time validation endpoint. - Updated CLI PHP save UX to keep persistent inline errors and avoid duplicate danger toasts.
- Added iconized, accent-styled
CheckandSaveactions in ACP CLI settings. - Fixed system-status PHP detection to avoid false positives when a configured CLI binary is invalid.
- Switched
HealthPHP requirement checks to the web runtime interpreter (PHP_BINARY/PHP_VERSION) instead of configured CLI binary. - Limited
Healthchecks to runtime-relevant items (removedtar/rsyncfrom Health view). - Fixed
public/storagesymlink health check to correctly resolve absolute and relative symlink targets.
2026-02-24
- Added login modal actions:
Cancelbutton and accent-styled, right-alignedSign inbutton. - Added functional
Forgot password?flow with dedicated SPA route/page at/reset-password. - Implemented reset-link request UI wired to
POST /api/forgot-password. - Implemented token-based new-password submission (
?token=...&email=...) wired toPOST /api/reset-password. - Updated reset flow UX to return to
/loginafter successful reset-link request and after successful password update. - Added English and German translations for password reset screens/messages.
- Added new
/pingendpoint returning connection status, build status, and notification state. - Added frontend ping polling with active/hidden intervals and console diagnostics.
- Added update-available detection comparing loaded build vs ping build, with footer refresh CTA.
- Added update info modal prompting users to refresh when a newer build is detected.
- Tuned global dark mode palette to reduce overly bright text/surfaces in dark theme.
- Refined accent button state styling (hover/active/focus) to avoid Bootstrap blue fallback and preserve contrast.
- Fixed deployment storage path handling by ensuring
public/storagesymlink is created in Ansible. - Changed
version:fetchto sync DB version/build fromcomposer.jsonmetadata (host git recount removed). - Updated runtime version/ping responses to prefer
composer.jsonmetadata over DB values to avoid drift. - Restored local
masteras build metadata source of truth by removing CI write-back tomaster. - Updated local pre-commit hook to stamp
composer.jsonbuild from local git count and stage the file automatically. - Bumped forum version to
26.0.3.
2026-02-18
- Added CLI default PHP version detection to system status (
php_default_version) using the CLIphpbinary. - Updated ACP System -> CLI to show the CLI default PHP path/version in the panel header with sufficiency indicator and warning tooltip.
- Simplified ACP CLI PHP selector to
phpor custom binary, and blocked savingkeyhelp-php-domainfrom ACP. - Added test coverage expectation for
php_default_versionin system status unit tests. - Hardened
git_update.shPHP selection flow with clearer logging (initial fallback,bootstrap read,final binary). - Added strict PHP requirement enforcement in
git_update.shagainstcomposer.jsonand abort on insufficient CLI PHP. - Refactored
git_update.shtomain()for source-safe testing and added Bats shell tests for resolver/requirement behavior. - Updated Gitea CI test job to install Bats and run
tests/shell/git_update.bats.
2026-02-12
- Refined ACP System tab with left navigation, section-specific requirements, and CLI PHP selector.
- Added CLI PHP interpreter options (php, keyhelp-php-domain, custom) with KeyHelp guidance.
- Updated CLI update tooling and automation notes (KeyHelp PHP handling, CI runner requirements).
- Adjusted ACP layout and tab styling for better dark-mode readability and auto-sizing sidebars.
- Added Custom top-level ACP tab and preserved /custom paths during in-app updates.
2026-02-10
- Reshaped ACP System tab with left navigation and dedicated views (Overview, Live Update, CLI, CI/CD).
- Moved system requirements table into the CI/CD view with refresh controls.
2026-02-08
- Achieved 100% test coverage across the backend.
- Added comprehensive Feature and Unit tests for controllers, models, services, and console commands.
- Added extensive edge-case and error-path coverage (system update/status, versioning, attachments, forums, roles, ranks, settings, portal, etc.).
- Added
git_update.shfor CLI-based updates (stable branch, deps, build, migrations, version sync).
2026-01-12
- Switched main SPA layouts to fluid containers to reduce wasted space.
- Added username-or-email login with case-insensitive unique usernames.
- Added SPA-friendly verification and password reset/update endpoints.
- Added user avatars (upload + display) and a basic profile page/API.
- Seeded a Micha test user with verified email.
- Added rank management with badge text/image options and ACP UI controls.
- Added user edit modal (name/email/rank) and rank assignment controls in ACP.
- Added ACP users search and improved sorting indicators.
- Added thread sidebar fields for posts count, registration date, and topic header.
- Linked header logo to the portal and fixed ACP breadcrumbs.
- Added profile location field with UCP editing and post sidebar display.
- Added per-thread replies and views counts, including view tracking.
- Added per-forum topics/views counts plus last-post details in board listings.
- Added portal summary API to load forums, stats, and recent posts in one request.
- Unified portal and forum thread list row styling with shared component.
2026-01-11
- Restyled the thread view to mimic phpBB: compact toolbar, title row, and post layout.
- Added phpBB-style post action buttons and post author info for replies.
2026-01-02
- Added ACP general settings for forum name, theme, accents, and logo (no reload required).
- Added admin-only upload endpoints and ACP UI for logos and favicons.
- Applied forum branding, theme defaults, accents, logos, and favicon links in the SPA header.
2025-12-30
- Added soft deletes with audit metadata (deleted_at/deleted_by) for forums, threads, and posts.
- Ensured API listings and ACP forum tree omit soft-deleted records by default.
- Added thread seeding for forum test data.
- Enforced category-only roots for forums (API validation, UI, and database constraint).
- Added portal header with phpBB-style breadcrumb + quick links, plus notifications/messages + user menu.
- Replaced the home page with a portal-style layout and latest posts list.
- Added a dedicated board index page with phpBB-like sections and per-category collapse toggles.
- Persisted board index collapse state per user via user_settings (DB + API + client cache).
- Added category view rendering for subcategories in ForumView.
- Updated thread list UI (icons, spacing) and New topic button styling in ForumView.
- Added ACP per-category quick-create buttons for child categories and forums.
- Removed the legacy navbar and cleaned up related styling.
2025-12-29
- Merged the React app into the Laravel codebase under
resources/js. - Moved the Laravel app to the repo root and removed the separate
api/andfrontend/folders. - Serve the SPA shell via Blade with Vite-managed React assets.
- Dropped Tailwind tooling to keep the frontend Bootstrap-only.
- Replaced the default Laravel README with a forum placeholder.
- Updated ACP forum tools with accent-tinted buttons and larger action spacing.
- Defaulted the ACP forum tree to collapsed on page load.
- Improved ACP create/edit dialog copy based on forum vs category and hid type selection during creation.
2025-12-26
- Replaced the Symfony backend with a fresh Laravel app in
api/. - Added Fortify + Sanctum, API routes, and controllers for forums/threads/posts/settings/version.
- Added Laravel migrations for forums, threads, posts, and settings (seeded with version/build/accent).
- Added Laravel i18n endpoint backed by JSON translation files.
- Updated frontend auth/register flow to work with Laravel tokens.
2025-12-24
- Reworked the domain model into a single forum tree (category/forum types) with parent/child hierarchy and threads restricted to forum nodes.
- Updated API Platform resources, filters, migrations, and JSON format support.
- Added shared i18n: Symfony serves PO-based translations via
/api/i18n/{locale}and React consumes them. - Refactored the React UI to browse forums, show sub-forums, and post threads only in forum nodes.
- Added Apache rewrite rules for Symfony routing.
- Added ACP forum management with CRUD, parent selection, drag-based ordering, and expand/collapse controls.
- Added reorder endpoint and position handling for forum sorting per parent.
- Improved ACP UX: iconized action buttons, category/forum badges, and responsive layout tweaks.
- Added JWT username payload fix and increased token TTL to 24h.
- Added frontend load-time indicator in the footer.
- Added settings entity + migration for version/build metadata and synced version/build to composer.json.
- Added
/api/versionendpoint returning version and build. - Refactored settings storage to key/value rows for version/build metadata.
- Added indexes to speed up forum tree queries (parent ordering and type filters).
- Added settings-driven accent color and API filter for settings key lookup.
- Added settings-backed theme dropdown (auto/light/dark) and dark-mode styling tweaks.
- Added settings key/value storage and
/api/versionfor version/build in the UI footer. - Added system font stack to remove external font requests.
- Improved ACP drag-and-drop hover reordering and visual drop target feedback.
- Hardened ACP access so admin tools require authentication.
- Updated the home page to render the forum tree with ACP-style rows and icons.