github LibreBooking/app v4.1.0

8 hours ago

v4.1.0 (2026-02-05)

Bug Fixes

  • Add command-line usage instructions for CombineDbFilesTask and UpgradeDbTask causing phpstan issue (bea840d)

  • Add default value handling in ConfigurationFile::GetKey method (0f785cb)

  • Add null check in EnsureNull method (1bda603)

  • Api group update will create a new group rather than updating the group (b939389)

  • Availability edit button disappears after editing schedule (f12d65f)

  • Cannot access offset type on ShibbolethConfigKeys (a853e09)

  • Changed wrong auth details response code to 401 (da4d633)

  • Database migration for 4.0 (0b6c844)

  • Display current reservation on tablet view and refine layout (#803, 570b889)

  • Edited plugin config example to use nested layout (1b14b35)

  • Error in keycloak/oauth url generation (eb548ff)

  • Error in reservation.start.time.constraint (98b72b4)

  • Exporter page broken after config validation (f7c6c3d)

  • Flatpickr week start day ignored for Starts Today schedules (a46c31a)

  • GetConfigGroup and ConfiKeys in API (12fc5dc)

  • Ignore invalid configs in ManageConfiguration (711e01e)

  • Include conditionally displaying title and description (#941, 46d3069)

  • Informational log message changed to more appropriate level (DEBUG instead of ERROR) (dadca6b)

  • Null error on unknown key (a8363f1)

  • Reorder PSR12 rule (7c3473a)

  • Show option key rather than values on config wrong choice (e35a030)

  • Standardize log messages and improve error handling in configuration tests (0214c6d)

  • Trumbowyg fails to load when use.local.js.libs is set to true (ccaba0b)

  • Update environment variable keys and add resource options in config files (5cbd1a1)

  • Update manual database setup documentation (9c175bf)

  • Use BooleanConverter for TABLET_VIEW_ALLOW_RESERVATIONS (d941886)

  • Use ConfigKey instead of hard-coded name (62a1e9b)

  • Use default logging level of 'error' (0e850d3)

  • Use lower-case log_level (44ca668)

  • Wrong section for slack token (f407878)

  • auth: Prevent auto-registration when self-registration is disabled (9f24a5a)

  • auth: Updated plugin configuration keys into nested structures (1cfe196)

  • AutocompleteUser: Handle potential null values (d90b7ab)

  • chore: Resolve many html escape issues (c8a6396)

  • config: Preserve unknown subkeys in original structure for validation and improve error logging for invalid config values (723f238)

  • config: Update configurator to new plugin config (3fe962b)

  • htaccess: Prevent redirect loop for /Web path without trailing slash (ad8bde2)

  • image-upload: Use correct directory for uploading image (88cb94a)

  • ldap: Rename debug configuration key for consistency (f8efae3)

  • ldap: Update default search filter to be optional with improved description (7c17c7c)

  • pdf: Enhance PDF generation error handling and improve table formatting (b165000)

  • pdf: Handle default values for repeat options and reservation details in PDF generation (fda8a76)

  • profile: Resolve loading the profile page when multiple attributes (e5e423f)

  • profile: Resolve saving of unchecked checkbox in the profile (2672584)

  • reservation: Resolve html rendering in announcement emails (1fad3be)

  • reservation: Resolve weekly series checkbox status on load (d7a62b4)

  • Resources: Improve string retrieval logic (7e27ac5)

  • schedule: Correct date display and layout issues (d684695)

  • templates: Replace regex check with empty check in Italian email templates (1e71f81)

  • test: Update configuration key test (3444e6c)

  • tests: Update symbolic link creation and improve PHPUnit error handling (ae628bc)

Chores

  • Update phpstan-baseline.neon (200517a)

  • git: Enforce LF line endings (85a929f)

  • git: Normalize all line endings to LF (b211a9a)

  • phpstan: Update for 2.1.25 release (86594c1)

  • phpstan: Update phpstan-baseline.neon (79ac102)

  • scripts: Remove jQuery Timepicker plugin files (1632653)

  • templates: Remove unused Timepicker includes (9d25543)

Code Style

  • Enhance PHP-CS-Fixer rules with Symfony standards (a42d5f8)

  • Redesign API help page with Bootstrap and improved UI (3f13add)

  • vscode: Add initial .vscode/settings.json (afae984)

Continuous Integration

  • Mark the 'develop' branch as a release branch (02c4e20)

  • Prevent merge-commits in a PR (ebe5589)

  • cz-lint: Give a more helpful message when 'cz' fails (4a3a105)

  • release: Add the 'id-token' permissions (9b6b28a)

  • release: Setup an automated release system (464e117)

  • release: Use the 'release' environment (397e1bf)

  • release: Use the release token for the git checkout action (bd1e881)

  • release: Use the RELEASE_GITHUB_TOKEN (1bdd93d)

Documentation

  • Add info on privacy.view.schedules config option (9fed6b2)

  • Update comment for privacy->view.schedules (8ae0a5f)

  • auth: Add detailed configuration instructions for LDAP and Active Directory authentication (40b00f6)

  • auth: Enhance description for Admin Username in Active Directory configuration (c150e2f)

  • auth: Enhance description for properties in plugins (12dfeea)

Features

  • Improved error handling for missing configkey and api (adc4637)

  • reservation: Highlight negative durations (6c5a229)

  • resource-display.php: Add allow-reservations config for tablet view (ba22074)

Refactoring

  • Pageload in Login presenter (2a554b1)

  • Replaced die for proper server response (4c75a91)

  • Unify time formats using period_time (35f6295)

  • Url generation for external login (26511e3)

  • date-helper: Drop moment.js for native dates (0533579)

  • date-helper.js: Centralize midnight handling in time-range validation (c85fb34)

  • manage_blackouts: Use dateHelper for timepickers (3fe1f8a)

  • manage_peak_times: Use raw times and centralize formatting (f099d00)

  • manage_quotas: Integrate dateHelper & collapse in UI (63b1782)

  • manage_schedules: DateHelper for peak pickers & validation (348329b)

  • search-availability: Use select pickers for time inputs (a87100a)

Testing

  • Allow unit tests to be run without setup (d1221ff)

  • Prevent flaky tests caused by midnight boundary issues (c004670)

  • Update AuthenticationWebServiceTest to expect response codes (9c690f6)

  • auth: Add comprehensive tests for authentication plugin configuration loading and validation (5522764)

  • config: Changed expected test values to reflect intended behavior of expecting a default value (9f253ef)

  • timezone: Replace deprecated US/* timezones with IANA equivalents (8e7645b)


Detailed Changes: v4.0.0...v4.1.0

Don't miss a new app release

NewReleases is sending notifications on new releases.