-
Add
composer.lockto 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)
-
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
invoiceattribute (d54cb07) -
translations: Updates to French translation (
e34fdda)
- data-cleanup: Enhance admin interface with responsive card design
(
60c0e73)
-
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)
-
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.debughelp 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)
-
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)
-
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_ldap2package (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)
-
Enable
strict_types=1fortests/(c46536b) -
Enable
strict_types=1fortests/Application/(31f78bc) -
Enable
strict_types=1fortests/Application/Authentication/(22826e0) -
Enable
strict_types=1fortests/Domain/(042d284) -
Enable
strict_types=1fortests/Infrastructure/(9404c15) -
Enable
strict_types=1fortests/Plugins/(cb871d4) -
Enable
strict_types=1fortests/Presenters/(8fd1fc7) -
Enable
strict_types=1fortests/WebService/(84b454a) -
Enable
strict_types=1fortests/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)
-
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)
-
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)
-
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)
-
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)
-
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)
-
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)
-
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)
-
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)
- 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
- 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
- @belcirelk made their first contribution in #696
Full Changelog: https://github.com/LibreBooking/librebooking/compare/v3.0.3...v4.0.0
- Improvements to the Installation guide at https://librebooking.readthedocs.io/en/latest/INSTALLATION.html
- 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
- Now have a documentation/home page website at https://librebooking.readthedocs.io/
- docs: add a
.readthedocs.ymlfile by @JohnVillalovos in #647 - docs: remove 'beta' designation of the
developbranch 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
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
- 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
See all the changes at https://github.com/LibreBooking/librebooking/commits/develop
Mainly Bug fixes, special mention for the ldap plugin, more details at https://github.com/LibreBooking/librebooking/commits/develop
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
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
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
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
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
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
- 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
- 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
- Do not require logging in to set up resource tablet display
- Bugfixes
- 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
- 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
- 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
- Added a configuration option to show whether a reservation is new or updated for a period of time
- Added Hungarian translation
- Bugfixes
- 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
- 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
- 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
- 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
- Added monitor display view
- Resolved accessibility issues
- Added Serbian
- Bugfixes
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Bugfixes
- 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
- 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
- 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
- Fixed some packaging issues from 2.5.18
- Added ability to filter multiple resources on the schedule
- Updated Japanese language files
- 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
- 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
- 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
- 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
- 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
- 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
- Fixed English admin help page
- Fixed issue that was sending approval request emails on every reservation create/update if approval emails were enabled
- Fixed issue sending email from *nix servers
- 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
- 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
- Fixed potential XSS vulnerability on login page
- Fixed problem navigating to reservation details from tall schedule view
- Fixed problem rendering resource group management page
- Fixed problem updating plugin config files through UI
- Fixed date parsing in web services
- Fixed error updating resources
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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