Development Changelog
This document tracks the development history of Kompass CMS based on git commits.
Unreleased
A pass focused on a unified, reusable color picker, a friendlier media/download block, and theme/asset correctness in the backend.
✨ Features
- Reusable color picker component (
<x-kompass::color-picker>). A single Blade component now powers every colour input in the backend. It offers a hue slider, an alpha (opacity) slider, an empty state ("No color"), hex entry (#rgb/#rrggbb/#rrggbbaa), a preset palette, and a checkerboard preview for transparency. The palette is configurable globally viaconfig/kompass.php → color_picker.swatches(overridable per instance with theswatchesprop). See Color Picker. - New
colorsetting field type. Global Settings can now hold a colour value, edited with the new picker (setting_field_types.color). - Media block with download cards. The block formerly called Images and Gallery is now Media. A new
<x-media-item>component renders images as<img>, but non-image files (PDF, doc, xls, zip, …) as a full-width download card (file name + a Download link). See the Media block. - Posts start with content. Creating a post now automatically inserts a default text block (
wysiwyg), so the editor is never empty. - UI translations for de / en / es / fr. New keys for the color picker, dashboard, and editor; editor source strings unified to English. Backend UI strings live in the package's
resources/lang/{de,en,es,fr}.jsonand can be overridden from your app'slang/directory.
🛠 Improvements
- Categories use real daisyUI theme variables (
var(--color-*)) and render asbadge badge-*, replacing the previous hard-coded hex circles. - Account Settings profile screen adopts the standard backend card layout and daisyUI tokens (
primary,base-content) instead of hard-coded indigo/gray classes. - Existing colour inputs (block
colorfield, block self-colour, the five theme colours, favicon theme-color meta, background overlay) all migrated to the shared picker.
🐛 Fixes
- daisyUI theme override.
resources/css/kompass.cssnow loads daisyUI withthemes: falseso the built-in default themes no longer override Kompass's custom themes (the backend previously showed default colours). Light themeprefersdarkset tofalse. - Account form crash. Editing a user without a role no longer throws "Undefined variable $roleid" (
AccountFormnow reads$model->roles->first()?->id).
💥 Breaking Changes
- Image Overlay Opacity slider removed. The separate background Image Overlay Opacity control is gone. Transparency is now controlled by the alpha slider of the overlay colour itself (
#rrggbbaa). The standaloneopacity:inadmin/layouts/auth.blade.phpwas removed accordingly. If you relied on the old opacity value, re-set the overlay colour with the alpha slider. - Backend CSS build moved into the package. The admin stylesheet is built inside the package (
cd packages/kompass && bun run build) and copied topublic/vendor/kompassviavendor:publish --tag=kompass.assets --force— it is not produced by the project's frontend build. See Building backend assets. - Dependencies. In
kompass-strater-kit/composer.json:prefer-stablechangedfalse → true, andlaravel/passkeys^0.1 → ^0.2. Aftercomposer update: passkeys0.2.1,spatie/laravel-permission8.0.0, andlaravel/frameworkon stable releases. Review the passkeys setup after upgrading.
Recent Commits
Version 1.x Development
June 2026
| Commit | Description |
|---|---|
df423b6 | refactor: Enhance block handling in editor for improved content management |
08707af | refactor: Enhance menu component structure and styling |
2f54c2a | refactor: Update submenu styles and add new language entries (DE, ES, FR) |
16929d1 | refactor: Improve structure and styling in blog and page templates |
82862e6 | refactor: Redirect management |
48e69ea | Remove language files for validation messages in PHP |
02b990e | refactor: Enhance block editor style toolbar and meta fields |
7c2daa8 | fix: Style to block group component and improve background styling for non-published items |
a803a20 | fix: Update block group component to correctly handle child visibility and layout |
9ac65e4 | fix: Adjust minimum height class for droppable strip in block group |
2d6f85a | feat: Block group expand/collapse functionality and hierarchy colour-coding |
e1adc3c | feat: SAML2 SSO configuration and Identity Provider management |
f48bce4 | refactor: UI components |
b615b30 | feat: Theme preference (light/dark) in user profile |
889a8c4 | feat: New Kompass editor with customizable block types (replaces Editor.js) |
1574c51 | refactor: Update Livewire components to new attribute syntax |
cea37bc | Update German translations and localize labels |
May 2026
| Commit | Description |
|---|---|
a9fcb70 | fix: Update spatie/laravel-permission version constraint |
| Various | feat: Button block, enhanced editable name component, improved media item layout |
| Various | feat: Layout and typography styles, lite-vimeo and lite-yt-embed components |
| Various | feat: Nav-item components with settings popover |
April 2026
| Commit | Author | Description |
|---|---|---|
53105a2 | github-actions | update typography styles for improved responsiveness and add alignment handling in group component |
3239ee2 | github-actions | add fluid typography and update CSS variables for responsive design |
db0303a | github-actions | enhance configuration structure and improve meta handling in components |
e91e683 | github-actions | replace Spatie activity log usage with custom LogsActivity trait |
41c79cb | github-actions | add activity log feature with conditional navigation in settings |
a18a690 | github-actions | add activity log feature with conditional navigation in settings |
March 2026
| Commit | Author | Description |
|---|---|---|
d8153e2 | github-actions | update video thumbnail handling to use JpegEncoder |
b98dec4 | github-actions | update image handling in FaviconGenerator, ImageFactory |
9c67dba | github-actions | optimize SEO title handling in page template |
3fa8cc4 | github-actions | add component with dynamic fields and styling |
8174917 | github-actions | create activity_log table with enhanced attributes |
9e58ee4 | github-actions | enhance ImageFactory with image encoding and decoding |
12c8a10 | github-actions | add layout, alignment, slider, status attributes to Block model |
4063535 | github-actions | implement avatar component and update profile photo handling |
43206c1 | secondnetwork | Initial release of Kompass v1.0 |
January 2025
| Commit | Author | Description |
|---|---|---|
e71c852 | andreasfarah | fix: cast array to object in wysiwyg block loop |
37490fc | andreasfarah | fix: json_decode type error in wysiwyg block |
1b0a393 | andreasfarah | feat: Add GEMINI.md for project context |
3861aed | andreasfarah | feat: enhance block creation by generating view files and handling existing files |
89fae7b | andreasfarah | feat: update block and page components for improved data handling and UI consistency |
78fae3e | andreasfarah | Merge branch '1.x' |
87a5ebc | andreasfarah | fix(clone): implement deep cloning for pages and posts and fix undefined variable error |
December 2024
| Commit | Author | Description |
|---|---|---|
e9141ae | andreasfarah | Merge pull request #26 from secondnetwork/1.x |
b119a9f | andreasfarah | Refactor code structure for improved readability and maintainability |
4c3534b | andreasfarah | feat: Refactor settings and authentication views, update image handling |
6600213 | andreasfarah | feat: Enhance settings views with improved layout, additional spacing |
1581170 | andreasfarah | feat: Refactor settings component to use URL query parameters |
10d8631 | andreasfarah | feat: Implement navigation structure for settings with dynamic tabs |
2ae9e9c | andreasfarah | feat: Update settings views with new icons, improved layout |
77f6140 | andreasfarah | feat: Update admin logo and copyright settings |
57325eb | andreasfarah | feat: add main JavaScript bundle with module preloading |
November 2024
| Commit | Author | Description |
|---|---|---|
79bfa73 | andreasfarah | feat: Enhance block components with new input fields |
a4aabcf | andreasfarah | feat: Add type input field to block form |
a409a59 | andreasfarah | feat: Update profile menu styling and display user's name |
7bef6aa | andreasfarah | feat: Improve modal and media library UI |
8ac50ad | andreasfarah | refactor: Remove redundant code blocks |
a4ef401 | andreasfarah | feat: Update media uploader UI with improved icon sizes |
79823a3 | andreasfarah | feat: Enhance media library with folder navigation |
a7ee2bc | andreasfarah | feat: Implement folder navigation in medialibrary |
86fb290 | andreasfarah | feat: Refactor video component structure |
adc872b | andreasfarah | feat: Update media item layout and file path handling |
818878c | andreasfarah | refactor: Media library components and image processing |
dd6efb2 | andreasfarah | feat: Enhance profile management with photo upload |
8d54d50 | andreasfarah | feat: Improve modal component and file upload |
0c1bf1b | andreasfarah | feat: Update media directory handling and folder structure |
1e5b75c | andreasfarah | feat: Add functionality to move media files to folders |
d2f35ea | andreasfarah | feat: Update dependencies and migration commands |
October 2024
| Commit | Author | Description |
|---|---|---|
dfdb2ea | andreasfarah | refactor: Code structure for improved readability |
8e5dfe0 | andreasfarah | refactor: Image handling and Blade directives |
52b4e42 | andreasfarah | feat: Add ImageFactory helper for image rendering |
dd15ddd | andreasfarah | refactor: Remove old menu components |
83f8b8d | andreasfarah | refactor: Blog and page views |
c57216e | andreasfarah | fix: Update Livewire menu component name |
a995e48 | andreasfarah | refactor: Menu and block components |
ac1d9bf | andreasfarah | fix: Update dependencies |
6e8620f | andreasfarah | fix: Comment out debug dump statements |
2ba3df7 | andreasfarah | fix: Validate asset path input to prevent directory traversal |
Feature Categories
Block System
| Commit | Description |
|---|---|
3861aed | Auto-generate Blade view files for new blocks |
79bfa73 | Enhanced block components with input fields |
a4aabcf | Add type input field to block form |
a995e48 | Video and WYSIWYG blocks implementation |
Media Library
| Commit | Description |
|---|---|
79823a3 | Folder navigation and filtering |
a7ee2bc | Folder navigation in medialibrary |
1e5b75c | Move media files between folders |
8d54d50 | File upload functionality |
818878c | Image processing refactoring |
Settings & Admin
| Commit | Description |
|---|---|
4c3534b | Settings and authentication views |
6600213 | Enhanced settings layout |
1581170 | URL query parameters for settings |
10d8631 | Dynamic tabs navigation |
77f6140 | Admin logo and copyright |
User & Profile
| Commit | Description |
|---|---|
a409a59 | Profile menu with user name display |
dd6efb2 | Profile photo upload and deletion |
7bef6aa | Modal UI improvements |
Image Processing
| Commit | Description |
|---|---|
52b4e42 | ImageFactory helper with AVIF/WebP support |
8e5dfe0 | Blade directives for images |
adc872b | File path handling improvements |
Breaking Changes
Database Schema Updates
| Migration | Change |
|---|---|
2024_08_02_092533 | Added permission tables (spatie/laravel-permission) |
2024_11_22_135851 | Added activity_log table |
2025_01_13_120754 | Added error_logs table |
Model Changes
| Model | Change |
|---|---|
| User | Changed id from integer to UUID |
| Block | Added polymorphic relationship support |
| Media | Added folder_id and file processing fields |
Deprecations
| Feature | Status | Replacement |
|---|---|---|
dataarray property | Deprecated | Use individual properties |
| Old menu components | Removed | New menu structure |
| CSS setup | Refactored | Database-driven settings |
Security Fixes
| Commit | Issue |
|---|---|
2ba3df7 | Directory traversal prevention in asset paths |
ac1d9bf | Dependency updates |
Performance Improvements
- Image lazy loading
- Optimized database queries
- Cached blade compilation
- Efficient file operations