CHANGELOG

v5.0.3 (2026-06-03)

Bug Fixes

  • 404 on plus icon in condensed week schedule display (c02df1a)

  • Changes to the date formats for the german translation (1486841)

  • Grammar and spelling errors fixes for german localization (5a5d5a1)

  • Updated and added german translation for E-Mail-Templates (cc9bcc6)

  • auth: Block unsafe external redirect targets (813c232)

  • DeprecatedPHP8.5: Transforming null values ​​to an empty string (d4e2d44)

  • reservation.label: Avoid null replacement in attribute label formatting (6ff0ecc)

  • reservations: Validate reservation owner on create (bd087cd)

  • schedule: Centralize render completion and auto-scroll (2c58149)

  • schedule: Improved accessibility in schedule labels (adcc7a9)

Code Style

  • Add missing block data-bs-theme for cake_blue theme (65e50c9)

  • Remove an accidental trailing Z in the last line (47acb61)

Documentation

  • security: Clarify vulnerability reporting policy (4e2467b)

  • security: Document administrator trust model (0c84051)

Refactoring

  • reservation: UI improvements (6ce75dc)

v5.0.2 (2026-05-04)

Bug Fixes

  • theme: Enhance color contrast for better accessibility (5cf0301)

v5.0.1 (2026-05-03)

Bug Fixes

  • accessibility: Enhance UI elements with improved ARIA labels and visual hierarchy (da4f60e)

v5.0.0 (2026-05-03)

Bug Fixes

  • Improve ‘Info’ string for en_us (6773f92)

  • config: Fix the default ‘x-xss’ value in config.dist.php (a3a9414)

  • config: Update default config.dist.php (3e5b0aa)

  • config: Use section-qualified env names for plugin config (54bcd2c)

  • datatables: Add data-order attributes for date in various templates (b77a9d7)

  • datepicker: Fix Flatpickr 1px calendar width on hidden date pickers (259bc36)

  • ldap: Suppress net_ldap2 deprecations during connect (70e3b12)

  • reservation-extensions: Update default list of allowed extensions (03731ea)

  • resource-types: Load custom attribute values without entity join (f211492)

  • schedule: Replace html2canvas with html2canvas-pro to support color-mix() (740bee0)

  • security: Remove obsolete X-XSS-Protection header support (f594942)

  • ui: Align schedule toolbar icons and update icon images (6ea3ff1)

Documentation

  • Add AI attribution policy and fix target branch (ec377c4)

  • Document maintenance mode (ae583d8)

  • Update README images for new icons and reports page (59eaf32)

  • config: Document language string overrides (678202e)

  • lang-overrides: Add an example config file and update docs (3077dcd)

Features

  • api: Add groupId filter to GET Resources endpoint (37273ad)

  • api: Return 404 for non-existent scheduleId in GET Resources endpoint (ccb5d3d)

  • config: Add .env.example generator from ConfigKeys metadata (3375f28)

  • config: Add config.dist.php generator from ConfigKeys metadata (d4805e6)

  • config: Add DeprecatedConfigKeys registry for removed config keys (909f7f0)

  • DatePickerSetupControl: Improved resolution of the alternative format and documentation. (e9e6a3f)

  • i18n: Add per-language string overrides (67a22b8)

  • schedule: Improve default schedule notification and highlight current calendar (a3cc88c)

Refactoring

  • api: Extract helper to parse comma-separated positive integer IDs (1e58e1d)

  • availability: Simplify template using section config loop (82f14da)

  • config: Extract ConfigKeysMeta into its own file (26c7219)

  • config: Remove app version from ConfigKeys (1c1f63e)

  • date-helper: Use dateHelper.formatDate for date formatting in reservation.js (4088480)

  • FullCalendar: Update FullCalendar to v6.1 (661db3d)

  • inlineAttributeEdit: Simplify inline DATETIME editing with native Flatpickr (14c3c95)

  • ldap: Switch LDAP server config from host/port to uri (bd01c04)

  • reservation: Build PDF config in PHP (5d74666)

  • reservation: Migrate PDF generation to pdfmake (10a2db0)

  • schedule: Use of color-mix, legacy cleanup, and visual improvements (ffebae5)

v4.3.0 (2026-04-03)

Bug Fixes

  • Allow special characters in passwords for user creation (a903be1)

  • Correct check-in status display in resource details popup (ed3dcbc)

  • Improve tooltip rendering and fix Smarty issues (3eb0179)

  • Show the Custom Attribute label name when deleting (b1b06e5)

  • Update the reservation email templates for various languages (667ddc3)

  • Update the reservation email templates for various languages (e94ad11)

  • admin: Prevent permission loss when DataTables paginates resources (cec8823)

  • auth: Use per-user database language when no language cookie is set (b2437db)

  • blackouts: Require repeat-until in recurrence UI (8840ec0)

  • blackouts: Require termination date for recurring blackouts (4cda32d)

  • calendar: Generate correct reservation detail URLs server-side for guest views (25e2391)

  • calendar: Pass correct groupSeriesByResource boolean instead of privacyFilter object (5a7d9ee)

  • config: Avoid empty buckets when rewriting legacy keys (e091b3f)

  • config: Make config key lookup case-insensitive (822ccfe)

  • config: Preserve existing config values when merging new keys from config.dist.php (e2006d1)

  • config: Reject case-insensitive key collisions (eeea6f9)

  • config: Restore legacy config key mappings (74db95a)

  • config: Rewrite legacy section keys into canonical sections (64964cb)

  • config: Treat empty-string section as unsectioned in GetKey (7241c59)

  • database: Make 2.9+ upgrades idempotent and raise DB minimums (3f632d4)

  • dataTable: Add default page size configuration and update DataTable length menu (a959247)

  • email: Correctly render reservation attributes in created emails (0d2bce9)

  • email: Honor secondary category in reservation email attributes (42c98d5)

  • email: Populate resource custom attribute values when loading reservation from DB (5a9756e)

  • email: Restore submitter language after sending approval notification emails (e33a6ab)

  • en_gb: Show only time in popup (5999309)

  • i18n: Add English fallback for 3 languages missing parent translation calls (e202d44)

  • i18n: Add English fallback for 8 languages missing parent translation calls (4ee1ab8)

  • i18n: Add missing embedded_datetime date format to en_gb locale (a4e45d6)

  • i18n: Replace HTML entities with UTF-8 characters in Italian locale (a0c0f46)

  • js: Add no-unused-vars rule, remove dead code, and fix bugs (f009211)

  • lang/es.php: Spanish translations (1b91ad3)

  • ldap: Install the ‘pear/net_ldap2’ library by default (f3d225e)

  • ldap: Require ‘ext-ldap’ (e55e63a)

  • registration: Resolve a server error when more than one attributes in the register page (71a3f73)

  • reports: Prevent chart modal from hanging on render errors (e81f465)

  • reservation: Correct guest reservation URI validation from calendar and schedule view (9aca6a1)

  • reservation: Correct guest reservation URI validation from calendar and schedule view (1f9a739)

  • reservation: Resolve a crash when the email field is not an array (618a2f4)

  • resource-display: Update date input handling in resource display (fbee303)

  • schedule: Avoid recursive buffer item ids (b139461)

  • schedule: Correct tall view rendering for reservations with hidden blocked periods (7e80933)

  • schedule: Use correct StartDate field in reservation sort (a83246c)

  • spanish-translations: Update Spanish terms for consistency and clarity (698cbec)

  • time: Make Time parsing/formatting DST-safe for time-only values (6bef7db)

  • translation: Fix date formats for italian (44ceb2b)

  • UI: Standardized the size of remaining form inputs and buttons to sm across the interface. (cab32b6)

  • validators: Allow empty schedule filter params (9aca6a1)

  • validators: Remove redundant EXISTS from combined route validators (9aca6a1)

  • validators: Remove redundant EXISTS from combined route validators (47860f1)

  • view-reservation: Correctly display the duration of the reservation (af1e2ce)

  • webservice: Respect configured inactivity timeout per session (3da795d)

Build System

  • assets: Vendor Hind font for local frontend usage (22b283a)

Chores

  • Correct the location of jquery-migrate (6e828e8)

  • Remove bootstrapValidator CSS includes (7079d8e)

  • Remove unused wysihtml5 assets (ccaf27b)

  • Upgrade jQuery UI assets to 1.14.2 (4a0818e)

  • Upgrade jquery-migrate from 3.0.1 to 3.6.0 (74802ea)

  • api: Remove trailing slash in Authentication POSTs (e69e636)

  • dependabot: Add a 7 day cooldown for updates (7154bac)

  • phpcsfixer: Add ‘node_modules/’ to the ignore list (4b9600d)

  • vendor: Remove unused jquery-dynamiccontextmenu asset (670f143)

  • vendor: Upgrade select2 library to 4.1.0-rc.0 (8700159)

Code Style

  • Have AI agents flag “magic number” usage in code reviews (8cfd27b)

  • blackouts: Stylize the presentation of Blackouts and reservations when there are conflicts (cedce2f)

  • changelog: Add ‘v’ prefix to version headings for consistency (d4447d3)

  • jqtree: Add Bootstrap form-check-input to missing checkboxes (45e88df)

Continuous Integration

  • For some CI failures provide info on how to fix (4bd036f)

  • frontend: Have the prettier check run first (cb9a937)

  • integration: Switch from MySQL to MariaDB and use Docker mirror (f499fbd)

  • lint: Add Node.js setup hint to frontend lint failure messages (ee32d8f)

  • phpcsfixer: When it fails, tell how to fix it (b534c4e)

  • release: Change monthly release schedule to 17:00 UTC (4e3cc08)

Documentation

  • Update description of schedule.fast.reservation.load (f323b16)

  • api: Add some curl examples to the API docs (1465819)

  • api: Change the Authentication docs to use sample values (05dce48)

  • api: Correct the responses for account actions (89f6ec2)

  • API: Document retryParameters and skipconflicts for reservation endpoints (6f10d2f)

  • api: Emphasize to not use a / for authentication endpoint (5294edc)

  • api: Put the ‘request’ before the ‘response’ (7cdb4da)

  • api: Use the term “Endpoints” instead of “Services” (d306a41)

  • config: Document admin exemption from start.time.constraint (e1b10da)

  • css: Improve the documentation for css.extension.file config (a6d00b6)

  • faq: Add an initial FAQ document (2b54b66)

  • ldap: Add note about using the LDAP schema for the host (8015721)

  • oauth2: Document the oauth2.strip.trailing.slash config (2c361b7)

  • oauth2: Update config examples for new config format (5110088)

Features

  • Add large sample database and setup script (9b202d2)

  • Add option CAS_VERSION_3_0 for config key CAS_VERSION in CAS Authentication plugin (7d6c3d4)

  • Enable use of local JavaScript libraries by default (c2d663e)

  • Enhance reservation emails with resource metadata and details table (57497bc)

  • OAuth trailing slash variable (662fa90)

  • api: Add scheduleId filter to GET Resources endpoint (6ef6011)

  • ci: Add initial minimal frontend linting with ESLint and Stylelint (4fe45d5)

  • ci: Add Prettier for standardized frontend formatting (5346f52)

  • ci: Promote all ESLint rules to error and block warnings (d3f9c4b)

  • config: Add config migration script and documentation (2371fea)

  • config: Support custom footer version override (157a4cb)

  • github: Convert issue templates to YAML forms with required fields (996d654)

  • i18n: Add enabled.languages config to restrict language selector (7063f26)

  • i18n: Add language selector to navbar (138fecc)

  • install: Add option to load large sample data in web installer (3cafcdb)

  • schedule: Add tooltips to schedule action buttons (27dcd39)

  • UI: Add noscript warning for users with JavaScript disabled (334eeb7)

Refactoring

  • Move 3rd party Javascript and CSS code (0bdff5a)

  • Remove legacy qTip references (f73a717)

  • Remove qTip assets and related files (12e187a)

  • Reservation email template context for multi-resource emails (0ae98b6)

  • config: Clarify config key schema dispatch (88b1350)

  • config: Extract shared config key base class (27e7e31)

  • dashboard-tooltip: Show reservation tooltip only on .reservationTitle (d6afdec)

  • domain: Rename User::GetAllowedResourceIds() to GetFullAccessResourceIds() (0acb94e)

  • domain: Rename User::GetAllowedViewResourceIds() to GetViewAccessResourceIds() (2081bc6)

  • js: Add prefer-const ESLint rule and fix violations (84cd017)

  • manage-blackouts: Tooltips to appear only on .reservationTitle (9ad945e)

  • manage-reservations: Tooltips to appear only on .reservationTitle (e6ed697)

  • participation: Tooltips to appear only on .reservationTitle (b408344)

  • recurrence: Replace native date time input with flatpickr (0f1071e)

  • reports: Add charts.js assets (3c27c04)

  • reports: Remove dead code and standardize jQuery event handling (0b65c4e)

  • reports: Remove jqPlot assets (fa0f2bd)

  • reports: Switch Reports from jqPlot to Chart.js (afec9c0)

  • schedules: Replace qTip with Bootstrap tooltips for reservation tooltip (9283493)

  • tooltip: Tooltips to appear only on .reservationTitle (search-reservations) (9a5875e)

  • tooltips: Standardize popup template names and update references (3fcedd6)

  • validators: Replace regex param extraction with parse_url/parse_str (c74bdf6)

  • validators: Simplify XSS guard with early return and add PHPDoc comments (691e91e)

Testing

  • Resolve issues with tests and crossing a DST boundary (539acc3)

  • config: Cover parsing of historical legacy config files (07dc573)

  • reservation: Fix issue with DST causing test failure (6850403)

v4.2.0 (2026-03-03)

Bug Fixes

  • Add composer.lock to the repository (febdc12)

  • Add null-safety for PHP 8.1+ string function deprecations (b817269)

  • Issue with GetHeader called with non-existing header (0f387cc)

  • Null parameter error in debug mode (f1719d8)

  • Pdf generation for on the reservation page (4d84247)

  • When an unknown error happens use HTTP 500 (20521ac)

  • admin: Correct bulk checkbox handling in blackouts and clean up user script (a1fa73d)

  • admin: Fetch reservation deletion checkboxes when needed instead of from a cache (0224527)

  • admin: Make delete button visible on all user table pages (e285c95)

  • auth: Repair MoodleAdv config access and add regression coverage (109ac86)

  • authentication: Preserve guest sessions during cookie login (a0b96e4)

  • config: Time constraint ‘same_day’ config not working (772ad0e)

  • db: Give a more helpful error if can’t connect to database (48f5818)

  • documentation: Start and end reminders can only be minutes, hours and days (e8105b0)

  • documentation: Update reservation start time constraint documentation (0d15ca3)

  • htaccess: Correct possible redirect loop (411e787)

  • htaccess: Infinite redirect to base URL (e42cb4a)

  • preflight: Resolve phpstan issue with PHP 8.5 (93fef16)

  • shibboleth: Use correct config key names (937cfb2)

Chores

  • Add some agents files (8933f86)

  • Add the .github/copilot-instructions.md symbolic link (14541f9)

  • Fix malformed test file (a707a92)

  • Have ‘php-cs-fixer’ be composer installed (13e26c9)

  • Remove dev dependency ‘kint’ as unused (c27d335)

  • Run php-cs-fixer on the code base (1c7e576)

  • Update flatpickr.min.js version 4.6.13 (06654c5)

  • dependabot: Increase version in composer.json (94bfb2a)

  • dependabot: Run updates each day for composer (aebf8d8)

  • monolog: Change use of deprecated variables (0d0692e)

  • phpstan: Add comments to phpstan.neon (b053d4c)

  • phpstan: Enable level 2 on tests with phpstan-phpunit extension (b30b1ab)

  • phpstan: Enable level 2 without a baseline (excluding tests) (051f21c)

  • stripe: Handle non-existing invoice attribute (d54cb07)

  • translations: Updates to French translation (e34fdda)

Code Style

  • data-cleanup: Enhance admin interface with responsive card design (60c0e73)

Continuous Integration

  • Remove duplicate ‘setup-php’ in GitHub CI (9540596)

  • Run the phpstan and phpcsfixer job on push (0221450)

  • Start testing with PHP 8.5 (bbdd167)

  • dependabot: Initial setup of dependabot (537620c)

  • php-cs-fixer: Enforce php-cs-fixer in CI (59e8b9b)

  • phplint: Parallelize the phplint run (aa0739a)

  • phpstan: Add an initial ‘phpstan_next’ check (55b9cb1)

  • phpstan: Add caching to speed up the CI (daf5166)

  • phpstan: If phpstan fails, run again with verbose/debug (bcb3fdc)

  • phpstan: Use a matrix for phpstan jobs (c15bd82)

  • refactor: Move phpunit to its own YAML file (cd5e596)

Documentation

  • Create comprehensive copilot-instructions.md file (098b48f)

  • Repository renamed to ‘Librebooking/librebooking’ (b8e7751)

  • api: Add note to API web page about slash characters (032fea7)

  • API: Add warning about trailing slash characters (d5bda61)

  • changelog: Add the CHANGELOG to the documentation site (d083950)

  • changelog: Update CHANGELOG.md to use PSR formatting style (84e8038)

  • ci: Use ‘doc8’ to check ReStructuredText files (4efd995)

  • config: Clarify prevent.participation setting description (93b2f02)

  • config: Correct the app.debug help text (96d0ea6)

  • cron: Add documentation on how to setup cron jobs (75d7539)

  • logging: Correct LB_LOGGING_* names (88551cf)

  • README: Update the demo site link to have the /Web/ path (e005a61)

  • saml: Minor cleanup of SAML docs (3952a26)

  • translation: Add missing Finnish lang strings (4468d76)

  • translation: Add missing Finnish language email templates (2b928db)

  • translation: Finnish lang typos and small rewording (416f027)

Features

  • Display friendly error messages for LDAP authentication failures (cc320fa)

  • Generate a helpful web page if missing composer (c996aa5)

  • Provide a helpful error message if no DB access (4f48ec2)

  • assets: Load Flatpickr globally with themed month dropdown styles (ff4ee81)

  • config: Support optional footer version suffix (6cc8a4c)

  • email: Add SMTP AutoTLS configuration option (381ad2b)

  • flatpickr: Replace legacy datepicker with modern Flatpickr integration (d407ccc)

  • preflight: Add an initial preflight check (0d9b0ce)

Refactoring

  • announcement: Replace native date inputs with flatpickr (46db645)

  • data-cleanup: Replace native date inputs with flatpickr (0110ab2)

  • date-attribute: Replace native date time input with flatpickr (63465be)

  • generate-reports: Replace native date inputs with flatpickr (b80aabc)

  • ldap: Migrate to using the pear/net_ldap2 package (2bbdc83)

  • manage-reservations: Replace native date time input with flatpickr (22d7b7d)

  • manage-schedules: Replace native date inputs with flatpickr (c3fa374)

  • ScheduleStyle: Convert ScheduleStyle to an enum (f6e8404)

  • search-reservations: Replace native date inputs with flatpickr (77b512c)

Testing

  • Enable strict_types=1 for tests/ (c46536b)

  • Enable strict_types=1 for tests/Application/ (31f78bc)

  • Enable strict_types=1 for tests/Application/Authentication/ (22826e0)

  • Enable strict_types=1 for tests/Domain/ (042d284)

  • Enable strict_types=1 for tests/Infrastructure/ (9404c15)

  • Enable strict_types=1 for tests/Plugins/ (cb871d4)

  • Enable strict_types=1 for tests/Presenters/ (8fd1fc7)

  • Enable strict_types=1 for tests/WebService/ (84b454a)

  • Enable strict_types=1 for tests/WebServices/ (074917a)

  • Fix date/time dependent test failure (3151445)

  • Fix date/time dependent test failure (again) (9d46a88)

  • Setup a basic integration in the CI (6dfaf06)

  • phpstan: Enable PHPStan level 3 for Pages/Ajax/ (58917c1)

  • phpstan: Enable PHPStan level 3 for WebServices/ (481f700)

  • phpstan: Enable PHPStan level 3 for some of Pages/ (43cb19e)

  • phpstan: Enable phpstan level 3 typing in Controls/ (77f1cea)

  • phpstan: Fix level 3 typing issues in tests/fakes/ (2c15873)

  • phpstan: Fix remaining level 3 typing issues in tests/ (c1dd848)

  • phpstan: Fix some level 3 typing issues in tests/ (1c5d6d7)

  • plugins: Use correct directory name (7f735d9)

  • reservation: Stabilize full-series recurrence test (ede46c2)

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)

v4.0.0 - 2025-08-06

Highlights

  • New configuration file format. Please read the documentation for more details. Thanks to @lucs7 for all of their work.

  • Initial work on getting PHPStan setup and working. We have level 1 working with no baseline and are currently using level 2 with a baseline.

  • Add configuration option to be able to choose the resource contact from a drop-down list of registered users.

  • Language selector now working on the login page.

  • New date selector library used, thanks @labmecanicatec

What’s Changed

New Contributors

Full Changelog: https://github.com/LibreBooking/librebooking/compare/v3.0.3…v4.0.0

v3.0.3 - 2025-07-09

Highlights

What’s Changed

Full Changelog: https://github.com/LibreBooking/librebooking/compare/v3.0.2…v3.0.3

v3.0.2 - 2025-07-07

Highlights

What’s Changed

Full Changelog: https://github.com/LibreBooking/librebooking/compare/v3.0.1…v3.0.2

v3.0.1 - 2025-06-25

Update the version number in the code base. This was missed in the v3.0.0 release.

Full Changelog: https://github.com/LibreBooking/librebooking/compare/v3.0.0…v3.0.1

v3.0.0 - 2025-06-24

Highlights

  • Bootstrap 5 Framework and Bootstrap icons now used.

  • Modernization of the user interface.

  • Integration of libraries such as Datatables and Trumbowyg.

  • Migrate external libraries to be pulled in via composer instead of storing the code for those projects in the repository. Also upgraded versions of external libraries used.

  • Improvements to the CI system.

  • Thanks to @labmecanicatec and @lucs7 for all their work this release.

Full Changelog: https://github.com/LibreBooking/librebooking/compare/v2.8.6.2…v3.0.0

v2.8.6.2 - 2024-08-18

See all the changes at https://github.com/LibreBooking/librebooking/commits/develop

v2.8.6.1 - 2023-09-26

Mainly Bug fixes, special mention for the ldap plugin, more details at https://github.com/LibreBooking/librebooking/commits/develop

v2.8.6 - 2023-04-18

Librebooking now has PHP8 support Many bugs, updates and even new features were added but the list is a bit long so for further details please check the commit history https://github.com/LibreBooking/librebooking/commits/develop

v2.8.5.5 - 2022-02-11

This version is no longer developed by Twinkle Toes Software (https://www.bookedscheduler.com) Based on the original open source version of Booked, now available at: https://github.com/LibreBooking/librebooking
Fork this repo, contribute and help keep it alive

Small update to fix a security issue

v2.8.5.4 - 2021-09-03

This version is no longer developed by Twinkle Toes Software (https://www.bookedscheduler.com) Based on the original open source version of Booked, now available at: https://github.com/LibreBooking/librebooking
Fork this repo, contribute and help keep it alive

Way too many changes, bugfixes and improvements to list them all here, so please take a look at: https://github.com/LibreBooking/librebooking/commits/master

v2.8.5.3 - 2021-03-10

This version is no longer developed by Twinkle Toes Software (https://www.bookedscheduler.com) Based on the original open source version of Booked, now available at: https://github.com/LibreBooking/librebooking
Fork this repo, contribute and help keep it alive

  • Added translation: Greek

  • Updated jsPDF

  • Bugfixes

v2.8.5.2 - 2021-01-25

This version is no longer developed by Twinkle Toes Software (https://www.bookedscheduler.com) Based on the original open source version of Booked, now available at: https://github.com/LibreBooking/librebooking
Fork this repo, contribute and help keep it alive - Bugfixes

v2.8.5.1 - 2020-11-11

This version is no longer developed by Twinkle Toes Software (https://www.bookedscheduler.com) Based on the original open source version of Booked, now available at: https://github.com/LibreBooking/librebooking

Fork this repo, contribute and help keep it alive - Added intial support for generating pdf’s on the reservation page

  • Added two plugins (Moodle Advanced Authentication and Admin Check-in/out Only)

  • Updated portuguese translation

  • Bugfixes

v2.8.5

  • Added import and export of groups

  • Updated Danish translation

  • Allow lower level administrators edit in-progress reservations

  • Added optional email to be sent to users when changing resource status

  • Added setting to show week numbers on calendars

  • Added settings to require phone, position, and organization during registration

  • Bugfixes

v2.8.4

  • Allow reservations on the schedule to be filtered by owner or participant

  • Include participant list in reports output

  • Add resource concurrency to resource import and export

  • Bugfixes

v2.8.3

  • Do not require logging in to set up resource tablet display

  • Bugfixes

v2.8.2

  • Added the ability to set a limit on the number of concurrent reservations per resource

  • Removed the ability to set a schedule as allowing unlimited concurrent reservations per resource

  • Bugfixes

v2.8.1

  • Added ability to limit the total number of concurrent reservations for a schedule

  • Added ability to limit the number of resources per reservation for a schedule

v2.7.8

  • Added ability to repeat a reservation on non-sequential dates

  • Updated PayPal API to version 2

  • Added option to sync group membership when logging in via SAML

  • Updated Portuguese, German, and Spanish translations

  • Updated PhpCAS to 1.3.8

  • MySQL 8+ compatibility

  • Bugfixes

v2.7.7

  • Added a configuration option to show whether a reservation is new or updated for a period of time

  • Added Hungarian translation

  • Bugfixes

v2.7.6

  • Added email notifications when participants of a reservation accept or decline invites

  • Added reservation waitlist signup on view reservation page

  • Added ability to restrict guests from using tablet view

  • Notify users if the creation of a blackout time deletes their reservation

  • Updated Portuguese and Finnish translations

  • Bugfixes

v2.7.5

  • Added utilization reports

  • Added ability to find a specific time

  • Added recurring reservation series ending emails

  • Added credits to reservation emails

  • Added link to add to Google Calendar to reservation emails

  • Bugfixes

v2.7.4

  • Added availability view to reservation page

  • Added participant list to reservation emails

  • Redesign of resource tablet display

  • Added ability to search for reservations that missed checkin/checkout

  • Bugfixes

v2.7.3

  • Added ability to set user status on CSV import

  • Added ability to share reservation details via email

  • Added ability set the resources, groups, and schedules a group can administer from Groups tool

  • Bugfixes

v2.7.2

  • Added monitor display view

  • Resolved accessibility issues

  • Added Serbian

  • Bugfixes

v2.7.1

  • Added ability to purchase credits

  • Added credit usage to the reservation page

  • Added ability to set comma or semicolon delimited admin.email configuration setting to allow multiple admin emails

  • Added ability to send a reservation to Google Calendar

  • Added ability to select a resource image while adding

  • Added ability to begin a reservation directly from Slack

  • Added ability to set default group membership

  • Added ability to require terms of service acknowledgment

  • Added ability to set login page announcements

  • Added ability to set schedule availability dates

  • Added ability to configure different minimum notice rules for reservation add, edit and delete

  • Added ability to allow multiple reservations on the same resource at the same time for a schedule

  • Added ability to set multiple resource images

  • Added ability to set view-only resource permissions

  • Added ability to sync group membership from LDAP and CAS

  • Added ability to set fully custom layout slots

  • Added blackouts to schedule and resource calendar view

  • Added view calendar page

  • Added ability to embed a Booked calendar view on an external website

  • Added ability to require reservation title and description

  • Added user groups to report output

  • Added ability to set custom favicon

  • Added ability to customize email messages

  • Added ability to bulk delete resources

  • Resource QR code will open ongoing reservation if it requires check in

  • Added ability to find an open recurring time

  • Upgraded jQuery to latest

  • Bugfixes

v2.6.8

  • Added ability to see real time availability when selecting additional resources

  • Added the ability to set a delete/reject reason

  • Added the ability to update users and resources on import from CSV

  • Allow setting phone, organization and position when creating a user from the admin section

  • Better highlight pending reservations on Dashboard and popups

  • Optimize JavaScript file loading for better page rendering times

  • Bugfixes

v2.6.7

  • Added real-time indication of additional resource availability in reservation screen

  • Added ability to search for reservations

  • Added ability to send user an email when an account is created for them

  • Added option to show captcha on login

  • Updated reCaptcha to use nocaptcha

  • If recurring start and end dates are not the same, then include both in the emails

  • Added Basque language

  • Added Thai language

  • Bugfixes

v2.6.6

  • Added ability to set default start and end reminders

  • Added ability to import resources from CSV

  • Added ability to export resources to CSV

  • Added ability to export users to CSV

  • Added ability to include custom attributes in user CSV import

  • Added ability to import reservations from CSV

  • Added ability to bulk delete users

  • Added ability to bulk delete reservations

  • Added ability to bulk delete blackouts

  • Added ability to drag and drop reservations from calendar views

  • Added ability to select multiple options for most report filters

  • Added password update API

  • Added ability to set number of past and future days to include for Atom and iCalendar subscriptions

  • Added ability to apply configured default homepage to existing users

  • Saved reports and exported reports will use same columns

  • Added credits to manage reservations and reports

  • Show if a reservation is pending approval on popups and edit page

  • Added config option to notify users if they missed their reservation check in time

  • Numerous security fixes

  • Bugfixes

v2.6.5

  • Ensure only one reminder email is sent per reservation when multiple resources are booked

  • Added Vietnamese

  • Added ability to automatically fill in blocked time slots based on gaps in available slots

  • Added ability to update a reservation before approving it

  • Added resource type filter to reports

  • Bugfixes

v2.6.4

  • Use resource color on availability dashboard

  • Display reservations for multiple resources as one item on dashboard

  • Better handling of dates on the reservation page when an entire day is unavailable

  • Allow view schedule to be changed to alternate schedule views

  • Upgrade PHPMailer

  • Bugfixes

v2.6.3

  • Include resource name in all email subjects

  • Added ‘Today’ link to schedule navigation

  • Added real time accessory quantity availability

  • Added ability to include email and phone in reservation popup

  • Added support for MySQL 5.7+

  • Added use sso flag for Active Directory authentication

  • Added user available credits to the reservation page

  • Added ability to copy a resource

  • Added Russian

  • Bugfixes and security updates

v2.6.2

  • Added ability to invite users to join Booked

  • Added ability to repeat multi-day reservations

  • Added additional columns to reports

  • Bugfixes

  • Updated French language pack

v2.6.1

  • Bugfixes

v2.6

  • Mobile first, fully responsive user interface

  • Allow guests to book and be invited to reservations

  • Allow users to join wait list if requested time not available

  • Control resource usage with credits

  • Ability to request that users check in and out of reservations, optionally auto-releasing the reservation

  • Allow users to sign in using Facebook or Google

  • Require users to register with an email address from a known domain

  • Set specific days and hours which quotas are enforced

  • Allow quotas to exclude completed reservations

  • Added ability to search for an available time rather than browsing schedule

  • Require minimum and maximum number of accessories when specific resources are booked

  • Ability to restrict announcements to certain groups or users with access to certain resources

  • Added ability to book around conflicting reservations

  • Added ability to set reservation color by user, resource, or custom attribute value

  • Added tablet view that can be used to display resource schedule and allow sign ups

  • Added private custom attributes

  • Added admin-only custom attributes

  • Added resource-aware custom reservation attributes

  • Invites are attached to reservation emails as .ics file

  • On mobile, allow a picture to be taken for resource image

  • The first user to register will automatically be setup as the primary admin

  • Numerous minor enhancements and bug fixes

v2.5.21

  • Added ability to duplicate a reservation

  • Added ability to move reservations by dragging to new slot

  • Added ability to blackout around existing reservations

  • Added delete confirmation to reservation window

  • Fix API bugs

  • Fix bug not showing custom user attributes on manage user page

  • Fix for account deleted email

v2.5.20

  • Added multi-date selection to bookings page

  • Added ability to send announcements as emails

  • Added ability to send email to all users when reservation is cancelled

  • Added ability to filter on multiple resources on bookings page

  • Added ability to allow cross origin requests for API

  • Added ability to import ICS files

  • Fixed click and drag on condensed week view

  • Fixed problem showing hidden resources on dashboard

v2.5.19

  • Fixed some packaging issues from 2.5.18

  • Added ability to filter multiple resources on the schedule

  • Updated Japanese language files

v2.5.18

  • Fixed bugs with CSRF checks

  • Changed the manage reservation search filter to be inclusive of reservations spanning filtered time

  • Fixed issue that didn’t maintain selected date in schedule calendar popup

  • Fixed double html encode issue for custom attributes

  • Fixed issue filtering on custom attributes on manage reservations page

  • Added fix to allow larger datasets returned when using group_concat

  • Fixed the ‘deleted by’ name in the account deletion email

v2.5.17

  • Fixed bug preventing schedule view switching on Chrome and IE

  • Fixed bug with reports showing no results when searching on accessories

  • Fixed issue displaying schedule dates even when no slots are defined

  • If register or forgot password urls open in external site, open in new window

  • Include total hours in reports

  • Changed reservation email message to come from whoever made the reservation

  • Added ability to override language strings

  • Fixed missing homepageid upon registration

  • Fixed missing email address in reservation reminders

  • Properly custom attribute regex format if user supplied version is incorrect

  • Added ability to remove all assigned permissions for resource

  • Added ability to include all reservation attributes in display labels

  • Save calendar expand/collapse on schedule page

  • Fixed bug determining when to send notification emails

  • Fixed bug with PR language

  • Changed resource availability web service to use same logic as dashboard

  • Fixed issue displaying reservations when date had no slots

  • Fixed bug that prevented cookies from being written properly in IE

  • Fixed warning when path property is not found in the url

  • Removed CSRF check on registration page

  • Ensure session is started when rendering captcha

  • Fixed syntax issue on PHP 5.3 and lower

v2.5.16

  • Added datetime custom attribute type

  • Added ability to import a list of users

  • Added ability to manage custom attributes through the API

  • Added ability to customize report columns

  • Added a yearly quota

  • Added API for getting resource types and ability to set resource type in add/update

  • Added ability to restrict showing user details to simply on/off or past/future reservations

  • Added user deleted email notification

  • When a reservation is created on behalf of another user, the user taking action is included in the email notifications

  • When a user is created on behalf of another user, the user taking action is included in the email notification

  • Improved rendering of schedule when being printed

  • Resource details are now shown even if user does not have permission

  • Added ability to include Google Analytics

  • Fixed bug which prevented joining or canceling a recurring reservation instance if it violated a notice rule

  • Fixed resource availability dashboard timeout issues

  • Fixed bug with creating and updating reservations through the API

  • Fixed bug which over-counted accessories when reservation contained multiple resources

  • Fixed bug loading resource type attributes when managing custom attributes

  • Fixed bug requiring user to uncheck removed resources from all groups

  • Fixed bug for resource groups when they are returned from the db sorted incorrectly

  • Fixed bug with upcoming reservations dashboard

  • Changed cookies to be scoped to Booked root path

  • Implemented CSRF checks (thank you Netsparker)

  • Updated French language pack

  • Updated Croatian language pack

v2.5.15

  • Added ability for users to join reservations without being invited

  • Upgraded CAS library to 1.3.3

  • Added Active Directory option to sync group membership into Booked

  • Added user details popup

  • Added ability to manage user and group permissions from resource management page

  • Fixed bug preventing recurring reservations from being deleted in management page

  • Fixed bug incorrectly grouping recurring reservations on calendar views

  • Updated Italian language

  • Updated Spanish language

v2.5.14

  • Added notice to schedule when no resources have been added

  • Added emails to participants and invitees when a reservation is updated

  • Added resource image to reservation email

  • Added ability to set default homepage for new users

  • Added dashboard item for current resource availability

  • Fixed bug displaying wrong reservation dates on reservation save confirmation message

  • Fixed bug on view schedule page when using daily layouts

  • Fixed bug preventing individual reservations from being added to external calendars

  • Fixed bug which did not check Sunday checkbox on recurring reservations

  • Fixed bug on dst change preventing all reservations on that day

  • Fixed bug causing permission updates performed by schedule admins to wipe out certain permissions

  • Updated Italian language pack

  • Updated Spanish language pack

v2.5.13

  • Fixed bug preventing reservations from being added to Outlook

  • Fixed bug preventing accessories from showing in reservation popup

  • Fixed bug preventing resource filter from working on view schedule

  • Added Drupal authentication plugin (Drupal 7.x with MySQL only)

  • Added ability to display participant and invitee lists in the reservation label

  • Applied patch for HTTP security headers

  • Updated Italian language

v2.5.12

  • Fixed English admin help page

v2.5.11

  • Fixed issue that was sending approval request emails on every reservation create/update if approval emails were enabled

v2.5.10

  • Fixed issue sending email from *nix servers

v2.5.9

  • Added custom attributes to reports

  • Added resource groups to calendar views

  • Added ability to enter maintenance mode

  • Added ability manage user groups through API

  • Added more options for customizing the reservation slot label, including using custom attributes

  • Added ability to customize reservation label for My Calendar, Resource Calendar, ICS feeds, RSS feeds and the reservation popup

  • Added list of dates and resources to reservation confirmation message

  • Added ability to receive reservation approval request emails

  • Added API to get schedule slots

  • Added finer-grained control over what profile values can be managed through Booked when using an authentication plugin

  • Reduced the size of the bookings page

  • Fixed bug graying out resources and dates when user and schedule timezone don’t match

  • Fixed bug handling non-UTC dates in API

  • Fixed bug performing case sensitive match when checking if user is admin

  • Fixed bug for GetAvailability API

  • Updated German language files

  • Updated Portuguese language files

v2.5.8

  • Added schedule and resource filter to My Calendar

  • Fixed bug displaying week in calendar views

  • Reduced the size of the bookings page by ~35%

  • Updated German language files

  • Updated Japanese language files

  • Updated Portuguese language files

v2.5.7

  • Fixed potential XSS vulnerability on login page

v2.5.6

  • Fixed problem navigating to reservation details from tall schedule view

  • Fixed problem rendering resource group management page

v2.5.5

  • Fixed problem updating plugin config files through UI

  • Fixed date parsing in web services

v2.5.4

  • Fixed error updating resources

v2.5.3

  • Fixed manage reservations/resources custom attribute filter when multiple attributes are provided

  • Fixed javascript error when recaptcha is disabled during registration

  • Fixed error updating usage configuration of resources

  • Fixed installer to handle the case when the database exists but no tables have been created

  • Changed installer to use mysqli

  • Fixed error filtering blackouts by resource

  • Fixed error creating recurring reservation which sometimes picked the wrong week of the month

v2.5.2

  • Added ability for admins to filter reservations by custom attributes

  • Added ability for admins update reservation custom attributes inline on manage reservations page

  • Added paging and filtering on Manage Resources

  • Added bulk update on Manage Resources

  • Added admin dashboard for all upcoming reservations

  • Added ability to leave protocol off script.url setting to auto-detect http vs https

  • Fixed bug failing to display error message when invalid daily layout is being created

  • Fixed missing HTML tags on print report page

  • Added Croatian translation

  • Updated Czech translation

  • Fixed overly restrictive password validator

  • Changed reservation confirmation screen to notify when the reservation requires approval

  • Updates to Italian language pack

v2.5.1

  • Updated German language files

  • Changed reservations web service to not default to current user if no user is provided

  • Added resource availability web service

  • Added reservation approval web service

  • Fixed bug creating a opening new reservation window without a selected resource id

  • Fixed bug where reservations ending at midnight would show on the next day for condensed view

  • Fixed bug where role restricted pages could not be opened up to everyone

  • Fixed bug when a hidden resource belongs to a group

  • Fixed bug with schedule admin being able to see reservation list and see blackout list

  • Fixed bug where readonly schedule page failed to render

  • Fixed bug adding/removing resource images

  • Fixed sample data import

  • Cleaned up sample post-reservation plugin example

v2.5

  • Application renamed from phpScheduleIt to Booked Scheduler (why?)

  • Added ability to reserve resource groups

  • Added ability to filter schedule resources

  • Added ability to specify resource type

  • Added enhanced resource status management

  • Added ability to specify buffer time between reservations (per resource)

  • Custom attributes now appear on all reservation emails and balloons

  • Added ability set custom attributes for an individual resource, user or resource type

  • Added ability manage config files for all plugins through the UI

  • Added ability to set reservation colors per user

  • Added ability to subscribe to reservation Atom feeds

  • Added ability update blackouts

  • Added ability attach multiple items to a reservation

  • Added Shibboleth authentication plugin (thank you to the folks at UCSF)

  • Added ability to email admin for all new account creations

  • Updates and cleanup on the API

  • Removed password regex setting in favor of password complexity settings

  • Changed schedule drop downs to exclude schedules if the user does not have permission to any of the resources belonging to it

  • Added wide and condensed booking page views

  • Added option to allow all users access to reports

  • Added setting for default ‘from’ email address

  • Changed the reservation page to default to the minimum resource reservation time

  • Changed reservation update to grant permissions to all users if auto-assign permissions is being turned on

  • Fixed showing ‘Private’ when the current user is the reservation owner

  • Fixed bug where recurring reservations across daylight savings time boundaries were not being updated to the correct time

  • Fixed bug where schedule would freeze on certain daylight savings boundaries

  • Fixed pagination bug on manage reservations page

  • Fixed bug allowing invitees to join a reservation that was already at capacity

  • Fixed bug not enforcing resource cross day reservation constraint

  • Fixed bug where quota rules were being enforced cumulatively for resources on a schedule

  • Fixed bug where reminders were being sent for deleted reservations

  • Updated all mysql_* calls to mysqli_*

  • Numerous other minor fixes and updates

v2.4.2

  • Added ability to click and drag to create reservations

  • Added ability hide blocked slots on schedule

  • Added ability to view reservation participation on schedule

  • Changed migration process to be asynchronous

  • Fixed bug preventing reminders from running on some servers

  • Fixed bug hiding labels for periods less than 1 hour

  • Fixed bug in configuration management escaping special characters

  • Fixed bug when changing start date/end date on reservation page

  • Fixed bug selecting wrong start time when user and schedule timezones are different

  • Updated German, Portuguese and Hebrew languages

v2.4.1

  • Changed periods spanning less than an hour to display tick marks instead of times

  • Fixed bug when displaying vertical schedule when reservation title contained special characters

  • Fixed bug in migration script not copying legacy password correctly

  • Fixed bugs generating API documentation

v2.4

  • Added restful API

  • Added ability to set different layouts for each day of the week

  • Added ability to set reminders for reservation beginning and end

  • Added UI management page for changing configuration

  • Added ability for users to set default schedule

  • Added ability to display schedules vertically

  • Text for slot labels is now tokenized

  • Added WordPress authentication plugin

  • Added ability to use reCAPTCHA instead of built in captcha

  • Added ability to set logo and custom css files

  • Added configurable home page and logout urls

  • Added ability to manage user groups from user management page

  • Added Bulgarian and Flemisch language packs

  • Localized the installation and configuration pages

  • Fixed issues with accessory and reservation migration

  • Added ability to disable password reset

  • Numerous bug fixes and minor enhancements

v2.3

  • Added ability for administrators of all levels to create reports

  • Added ability to create a reservation from the schedule and resource calendar views

  • Added ability to create recurring blackout dates

  • Added schedule admin role

  • Added setting to disable recurring reservations for non-admins

  • Added setting to automatically subscribe users to all emails

  • Added setting to prevent reservation invitations and participation

  • Added setting to load jQuery from CDN

  • Added setting to return reservation to pending when updated

  • Added Swedish translation

  • Added full resource and accessory list to reservation emails

  • Added ability to set resource order

  • Added email address to user autocomplete

  • Numerous minor enhancements added and defects fixed

v2.2

  • Breaking change: For Active Directory authentication, please set your authentication plugin to ActiveDirectory. Ldap plugin is now targeted at non-Active Directory.

  • Added ability to create custom attributes

  • Rewrote CAPTCHA functionality

  • Added account activation emails

  • Added ability to upload reservation attachments

  • Made post-registration action pluggable

  • Added Saml SSO Authentication plugin

  • Made configuring resource image directories easier

  • Added ability to start schedules on Today

  • Numerous minor enhancements added and defects fixed

v2.1

  • Added resource administrator role

  • Added configurable ability for application admins, resource admins and group admins to recieve reservation activity emails

  • Added configuration options for user name formatting, resource editing rules, privacy settings and CSS extension file

  • Added ability to subscribe to schedule, resource and personal calendars

  • Added option for owner to receive emails when reservations are deleted

  • Added participant email notifications when reservations are deleted

  • Added ability use full HTML in announcements and resource descriptions/notes

  • Many bug fixes, including: reservation approval, reservation admin delete, resource configuration, admin user creation, group user management, registration CAPTCHA

  • Added Dutch, Spanish, Italian, Japanese, Polish, Catalan languages

v2.0.2

  • Fix and additional logging for migration

  • Minor UI cleanup of validation group error div

  • Fixed defect with captcha

  • Fixed defect not translating full day names properly when using date formatting

  • Fixed some IE7 display problems

  • Updated install instructions to be more clear for cPanel users

  • Dashboard now shows upcoming reservations for owned/invited/participating

  • Fixed defect on quotas which was not working for non English

  • Fixed defect where accessories with unlimited quantities were being rejected

  • Fixed defect on manage blackouts

  • Added pre-reservation plugin example

  • Ajax reservation now displays errors

  • Fixed defect selecting first period instead of last period when reservation ends at start time of first period

  • Fixed defect displaying reservation on first period of the day if it ends at the first period’s start time

  • Fixed bug adding users from the admin tool

  • Fixed javascript single quote bugs

v2.0.1

  • Perfomance improvements on bookings page

  • Added Spanish and Dutch translations

  • Added ability to view reservation details from view schedule page

  • Fixed defect loading translated emails

  • Fixed defect approving reservations

  • Fixed defects when using IE

  • Fixed defect showing an error during log out when using LDAP

v2.0

  • Fully rewritten from scratch with a focus on testability, extensibility and maintainability

  • All new, more intuitive and friendly user interface

  • Pluggable authentication, authorization, permissions, pre/post reservation actions

  • Ability to reserve multiple resources at one time

  • Flexible layout configuration and time slot labeling

  • Quotas

  • Roles

  • Better Microsoft Outlook integration

  • Easier installation process