Skip to content

Latest commit

 

History

History
1402 lines (1033 loc) · 67.2 KB

File metadata and controls

1402 lines (1033 loc) · 67.2 KB

CHANGELOG

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

  • style(manage_resources): don't default collapse CustomAttributes by @JohnVillalovos in #682
  • fix: EmailMessage.php variable defined after use by @lucs7 in #683
  • fix: captchas not working by @lucs7 in #684
  • fix(participation): add missing ParticipationNotification import by @JohnVillalovos in #686
  • chore: ensure all config variables are in both config files by @JohnVillalovos in #689
  • fix(reservation): fix the delete reason not submitted when a reservation is not approved. by @belcirelk in #696
  • fix(reservation): pdf generation is not working in French by @belcirelk in #697
  • fix(API): stop storing multiple custom attributes of same type for Reources by @JohnVillalovos in #681
  • chore: Replace jQuery UI datepicker with flatpickr by @labmecanicatec in #756
  • fix(login): Language selector is not working due to httponly cookie by @belcirelk in #763
  • fix: allow setting language for non-HTTPS by @JohnVillalovos in #764
  • chore: remove exec permission from some files by @JohnVillalovos in #765
  • chore: add text to the "More Resource Actions" drop-down by @JohnVillalovos in #766
  • refactor: timezone handling and remove jstz library by @labmecanicatec in #769
  • feat: optional: resource contact may be chosen via a drop-down list of users by @JohnVillalovos in #770
  • Fix for reminders on cancelled reservations by @cgutteridge in #773
  • Fix for phpunit tests and additional error check by @lucs7 in #774
  • fix: error in WebAuthenticationTest and Facebook login by @lucs7 in #781

New Contributors

  • @belcirelk made their first contribution in #696

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

v3.0.3 - 2025-07-09

Highlights

What's Changed

  • fix(API): add endpoint to get resource types by @JohnVillalovos in #663
  • remove old docs by @JohnVillalovos in #665
  • fix(schedule): datepicker conflicts with url validation by @lucs7 in #661
  • Fix for #671 / Adjusting css to enable datepicker styling by @lucs7 in #673
  • doc: remove trailing whitespace from *.rst files by @JohnVillalovos in #674
  • fix(CustomAttribute): handle invalid data by @JohnVillalovos in #662
  • fix: allow guests to book reservations by @JohnVillalovos in #668
  • update(docs): update installation documentation: cloning, composer setup, and database config by @labmecanicatec in #675
  • docs: add link to API docs, use notes, update PHP version by @JohnVillalovos in #676

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

v3.0.2 - 2025-07-07

Highlights

What's Changed

  • docs: add a .readthedocs.yml file by @JohnVillalovos in #647
  • docs: remove 'beta' designation of the develop branch by @JohnVillalovos in #649
  • docs: fix theme options list by @ClemCordier in #650
  • Fix date and autogrow issues by @lucs7 in #657
  • fix: correct datepicker issue introduced in e0cfcbc by @lucs7 in #658
  • fix: don't attempt to reserve view-only resource by @JohnVillalovos in #656

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