[   Mrbs NEWS Legend:        ]
[                            ]
[ + Added feature            ]
[ * Improved/changed feature ]
[ - Bug fixed (we hope)      ]

Version 1.7.1 (Sun Feb 11th 2018):

[*] Updated PHPMailer to use latest code (5.2.5+) from the 5.2-stable
 branch. Note that MRBS cannot yet use PHPMailer Version 6.0+ because
 that requires PHP 5.5 or later.

[*] Improved error reporting when PHP sessions aren't working. See SF
 Support Requests #1364.

[*] Improved fix for SF Patches #62.

[-] Fixed bug resulting in a function not found error. See SF Support
 Requests #1390.

[-] Fixed problem with updating users table. See SF Support Requests

[-] Fixed bug resulting in a "session expired" message when the "You are
 xxx" link is clicked. See SF Support Requests #1393.

[*] Removed "You are " text from "You are xxx" link. See SF Support
 Requests #1393.

[-] Fixed bug in formatting date for policy violations.

[-] Fixed another date formatting problem.

[*] Improved internationalisation of some language tokens

[-] Fixed bug where access was being denied if the Joomla username
 looked like an integer, eg "1234". See SF Bugs #401.

[-] Fixed bug resulting in unwanted colons appearing after labels in
 dataTables (eg the Report output)

[-] Fixed problem with textarea values not being displayed.

[*] Put the new period name input in focus when Add Period is clicked.

[+] Added the ability to restrict IMAP authentication to usernames from
 a certain domain, using the new config setting
 $auth['imap_php']['user_domain']. See SF Support Requests #1407.

[*] Reorganised mail settings. See SF Support Requests #1412.

[*] Improved mail debugging information, giving 'From', 'To', 'Cc' and
 'Bcc' addresses.

[*] Made the field order on the view_entry page the same as that on the
 edit_entry page. See SF Support Requests #1426.

[*] Added and id to custom field divs to make selection in CSS easier.
 See SF Support Requests #1429.

[*] Fixed CSS syntax error.

[+] Added authLdapGetName() function in auth_ldap.inc. This isn't used
 by MRBS currently, but people customising MRBS will be able to use

Version 1.7.0 (Thu Nov 16th 2017):

[-] Set the default value of $smtp_settings['secure'] to '', so that TLS
 will not be attempted without the SMTP server advertising TLS support.
[-] A number of different changes to improve behaviour of browsers caching
 MRBS resources which shouldn't be cached.
[*] Capitalised "goto" button. See SF Support Requests 1167.
[*] Moved MRBS's .htaccess file into 2 separate example .htaccess files
 for different versions of Apache. The old .htaccess caused 500
 errors with a stock Apache 2.4 configuration.
[-] Fixed bug when using custom themes. See SF Support Requests #1170.
[+] Added ability to authenticate with either username or email address,
 if the authentication scheme supports it.
[+] Added Server Software information to the Help information.
[*] Restricted server details to admins, for security reasons.
[*] Removed "ExpiresActive Off" directive as it is no longer necessary
 given other fixes and could interfere with a site's caching policy.
 See SF Bugs #379.
[*] Eliminated $locale_warning global and moved reporting of locale
 setting problems to the error mechanism rather than the browser.
[*] Improved localisation, especially for French, colons are no longer 
 hard-coded in HTML and instead populated by CSS.
[*] Removed the supplementary information in the 'fulldescription' text
 string. It didn't help and indeed was misleading as things like the
 type have their own form field.
[-] Stripped out HTML tags and entities from validation messages. See SF
 Bugs #380.
[*] Added a warning symbol on the edit_entry page instead of a green
 tick when an admin makes a booking that would normally violate one
 or more of the policy rules. See SF Support Requests 1171.
[*] Updated Portuguese translation. Thanks to Paulo Resende.
[*] Added even more options for configuring PHPMailer TLS settings.
[*] Set PHP's default charset.
[*] Changed the way that period names are defined so that they can now
 contain special chars and are put through htmlspecialchars() before
 being output to the browser. (Previously the site administrator had
 to encode special chars).
[-] Fixed a bug with the display of entries starting at 0000 in the
 month view. See SF Support Requests #1186.
[*] Added Swedish translations. Thanks to Lars Olsson.
[*] Added some CSS classes to the minicals.
[-] Excluded seconds from the default representation of start and end
 time. See SF Bugs #381.
[+] Added new config variable $weekdays to define weekdays and weekends,
 allowing for the possibility that weekdays are not the same as
 working days.
[*] Restricted passing of username and password to POST variables as a
 security measure. See SF Feature Requests #351.
[-] Changed access level for check_slot_ajax to match edit_entry.
[*] Made the default access level 1 for the report, search and
 view_entry pages to prevent usernames being revealed. See SF Feature
 Requests #351.
[*] Disallow password changes from edit_users.php via GET.
[*] Removed new lines from JavaScript confirm messages. Modern browsers
 can handle long lines.
[*] Restricted more form handlers to only accept POSTs.
[*] Improved word breaking slightly on webkit browsers. See SF Support
 Requests #951 and #1200.
[-] Fixed bug causing a booking occupying a single slot at the end of
 the day not to show in the day and week views. See SF Support Requests 1207.
[*] Made the DB connection DSN more strictly correct, and also support
 setting $db_host to "" (or unset), to indicate you'd like
 MRBS to use the default Unix domain socket instead of TCP. See
 [bugs:#384]. On Linux at least, this works for both MySQL and
[-] Fixed database transaction problems. See SF Support Requests #977.
[*] Altered transaction methods to use PDO transaction methods.
[*] Updated Spanish language file. Thanks to JLMartin.
[+] Added the ability to have different period names in each area. See
 SF Support Requests 1214.
[*] Added a little more description around $ldap_dn_search_dn config
[-] Fixed bug causing ordinary users sometimes not to be able to change
 their own passwords. See SF Support Requests #1238.
[*] Added a timestamp column to the users table, and support for viewing
 it. Added function and triggers for updating the timestamp columns when
 using PostgreSQL.
[*] Added sorting by the real date on the timestamp column in the users
[-] Fixed a problem with buttons not appearing if the user is logged in
 with a username in a different case to the creator of the booking.
[+] Added a Romanian language translation, thanks to Mihai Andreana.
 See SF Support requests 1285.
[-] Fixed problem with validation of multiple email addresses - see SF
 Support Requests #1290.
[*] Added some error handling in the event of an invalid user id in
[-] Fixed bug in password rehashing (auth_db).
[+] Add SAML auth and session schemes, thanks to Jørn Åne.
[*] Updated to jQuery 3.2.1 and jQueryUI 1.12.1, which includes XSS fixes.
[*] Added more error reporting to mutex_lock() [DB classes].
[-] Fixed a number of security issues in MRBS that were disclosed to
 the project by SySS GmbH, including XSS, CSRF protection and session
 [SYSS-2017-021, SYSS-2017-022, SYSS-2017-023, SYSS-2017-024]
[*] Improved error reporting around database mutexes.
[*] All forms now only accept POST submission.
[*] Implemented a new set of Form classes, though not all sections of
 MRBS are using them yet.
[*] Added CSRF protection throughout MRBS.
[*] Added a new config setting, $auth['allow_custom_html'], to determine whether
 custom HTML is allowed in rooms/areas. This defaults to off, so if you
 are using this feature and upgrade to 1.6.2 you will need to set
 the variable to true in your config.inc.php.
[*] Dropped support for Internet Explorer 9 and lower.
[-] Implemented a fix for when "All day" is checked and the area "eveningends"
 is past midnight. See SF Patches #62.

Version 1.6.1 (Sun Feb 26th 2017):

[-] Fixed bug with the LDAP authentication scheme. See SF Support Requests
[*] Added ability to specify the "Room admin email" on creating a room.
 See SF Support Requests [support-requests:#1137]
[*] Added an unset() for $booking_types in systemdefaults.inc.php to make it
 clearer how they work - see SF Bugs #374
[-] Fixed bug to do with the booking day.
[-] Fixed bug in cookie session scheme causing getUserName() to return ''
 instead of null in the	case of a user not being logged in when.
[-] Fixed bug causing incorrect status to be given on mails sent out
 when an entry is approved. See SF Bugs #320.
[-] Fixed header layout problem in IE11 and below when using a tall
 logo. See SF Support Requests #1158.

Version 1.6.0 (Sat Feb 11th 2017):

[*] Decreased cache expiry time for timezone files, to allow for more rapid
 updated for timezone changes.
[*] Caching added into LDAP authentication to improve performance, see SF bugs
[-] Fixed bug with unquoted column names. See SF Support Requests #816.
[*] Added a check to make sure that custom field names don't contain
 spaces. (See SF Support Requests #816)
[*] Improved debugging in auth_ldap a bit, to show errors from the ldap
[-] Fixed a problem with the end time not being selected on the booking
	form if the default duration is not an integral number of slots
[-] Moved the PHP version check to happen earlier, otherwise MRBS will
 fail with obscure error messages if the PHP version is too low. See
 SF Bugs #337.
[-] Fixed bug in reports: the case sensitivity of types was not being
 recognised (see SF Support Requests #776)
[-] Fixed problem with day links in the wek view. See SF bugs #339
[-] Fixed bug that caused MRBS to miss conflicts with single entries
 when modifying a series. See SF Bugs #338.
[-] Fixed bug whereby the limit on the number of bookings isn't applied
 properly if an existing series is being modified and there is at
 least one single entry in the same interval.
[-] Fixed bug whereby the conflict checker wasn't firing when the repeat
 end date changed
[*] Changed MRBS default behaviour to be *not* to use persistent
 database connections, as they can cause problems with transactions
 and locks. At the same time changed the config variable to be
 $db_persist instead of $db_nopersist. 
[*] Added sha256 authentication support for db_ext auth scheme. [Markus Gilli]
[*] Added ablility to read user access level from external database to
 db_ext auth scheme.[Markus Gilli]
[-] Fixed bug in CSV reports when running on Windows (see SF Support
 Requests 860)
[-] Fixed bug causing a booking to be made even if the specified repeat
 results in no bookings (eg a weekly repeat for Thursdays starting
 and ending on the same day, which isn't a Thursday)
[*] Changed the behaviour of MRBS when making a repeat booking that
 results in just a single entry (for example a daily repeat starting
 and ending on the same day). Previously this was treated as a
 special case and converted into a single entry. However it seems
 more logical to treat it as a series with just one entry. This
 enables the repeat characteristics to be edited in the future.
[+] Allowed the type field to be mandatory (see SF Support Requests 876)
[-] Fixed problem whereby the locale could not be set when automatic
 language changing was disabled and no override locale was set. See
 SF Support Requests #891.
[-] Fixed bug when requesting More Info. See SF Bugs #347.
[*] Updated Polish translation. Thanks to Anonymous from SF Bugs #347.
[*] Added room name to conflict details following suggestion on general
 mailing list.
[*] Added some email address validation (see SF Support Requests #897)
[+] Added a sort key for the area table.
[*] Changed the default character encoding for CSV files as the latest
 versions of Excel now seem to recognise UTF-8 automatically.
[*] Removed disabling off error reporting for the connection to the
 database during a database upgrade. If the site admin wants errors to
 go to the browser, eg for debugging, then they should.
[-] Fixed datalists so that empty strings aren't presented as options
[*] Added a datalist input to report inputs when the standard fields
 have select_options or datalist_options defined. See SF Support
 Requests #909
[*] Improvements to debugging in LDAP auth scheme
[*] Fixed problem with long words in brief descriptions causing unequal
 width columns in the calendar views. See SF Support Requests #951.
[*] Added '' as an option for $smtp_settings['secure']. See SF Support
 Requests #954.
[-] Fixed problem with week number link in mincals. See SF Bugs #357.
[*] Modified show_colour_key() so that the colour key is not shown if
 there are fewer than two types. (See SF Support Requests #1019)
[*] Improved behaviour of MRBS when only one type is defined, so that
 type options are not shown.
[-] Fixed problem with Chrome not showing datalist options (see SF bugs
[+] Added config options to allow users (or just admins) to specify that
 an email shouldn't be sent when making a booking. Useful if you are
 just making a minor change or are creating a whole lot of bookings
 at the beginning of a term or season. See SF Support requests #974.
[-] Fixed problem with the endtime selector not having a selected value
 in the very rare case that the area's morningstarts or resolution is
 changed in between refreshes of the browser on the edit_entry page.
 See also SF Support Requests #983.
[-] Fixed problem with Bulk Delete on the report page. See SF Bugs #361.
[-] Fixed problem with Schedule and Policy tabs not appearing. See SF
 Bugs #362.
[-] Fixed potential problem with end time selector in edit_entry.php
 being blank when coming from the month view. See SF Support Requests
[+] Added Wordpress authentication scheme.
[*] Got rid of usage of $HTTP_GET_VARS, $HTTP_POST_VARS and
 $HTTP_SERVER_VARS (no longer necessary)
[*] Allowed custom fields in the users table to be writable only by
[-] Fixed bug causing password validation not to be performed in the user
 admin page, and a few other minor issues.
[*] Changed German translation for rep_num_weeks. Thanks to Michael
[*] Disabled page refresh if running over a metered network connection.
[-] Fixed bug causing form validation to fail when using datalist inputs
[*] Changed refresh mechanism for month view to Ajax from meta refresh.
[-] Fixed bug whereby bookings for the last slot were not being
 displayed properly in the month view
[*] Wrapped the edit procedure in a transaction. See SF Support Requests
[*] Updated German translations from Andrea Beranek
[*] A few improvements to checklang.php
[*] Upgraded to latest version of jQuery 2.x branch
[*] MRBS now uses a DB abstraction class utilising PHP's PDO. All SQL
 input is now parameterised, greatly improving security from SQL injection
[-] Fixed bug that resulted in possibly wrong values for enable_periods
 and reminders_enabled being shown on the Edit Area form.
[-] Fixed a performance problem when clicking on an empty cell in the
 week view when using hidden days on a large table.
[*] Improved formatting of error messages, including errors accessing the
 MRBS database.
[+] Added Joomla authentication scheme.
[*] Made the default setting for the "Do not send email" checkbox a
 configuration variable
[*] Changed report form so that for custom checkbox fields you can now
 select checked, unchecked or both. See SF Support Requests #1087
[-] Fixed bug that gave a double border on printing. See SF Support
 Requests #1078. Also fixed another bug at the same time - there was
 no border around bookings in the month view on printing.
[*] Changed the behaviour of the printed month view, getting rid of
 horizontal and vertical scrollbars. Instead, horizontal overflow is
 hidden and the table cell expands to accommodate vertical overflow.
[-] Fixed problem with (a) right border of bookings not appearing when
 using the 'both' option for monthly listings and (b) listings
 wrapping when using 'slot' or 'description'.
[-] Fixed bug causing fatal error when trying to delete a series.
[-] Fixed fatal error when exporting an entry from the view_entry page
[*] Improved error reporting when $mail_settings['from'] not set.
[-] Fixed problem with default_duration not going past the end of a
 booking day. See SF Support Requests #116
[-] Fixed problem when the default duration takes a booking beyond the
 start day and multiday bookings are not allowed.
[*] Made sure that the default duration for new bookings doesn't exceed
 the maximum duration
[*] Added a new option to disable "Opportunistic TLS" in PHPMailer.
[-] Fixed bug causing bookings to be shown as private when they weren't.
[-] Fixed bug that allowed the type colour to be shown even when the
 type was private. See SF bugs #372.
[-] Fixed bug preventing an event whose room name includes the area-room
 separator from being imported. 
[*] Added the ability to recocgnise type information in imported .ics
 files using the X-MRBS-TYPE property.
[*] Added the ability to specify a default room if no LOCATION property
 is given when importing a VEVENT
Version 1.5.0 (Fri Oct 23rd 2015):

[*] Updated Simplified Chinese translation, provided by 'Tide'.
[*] Added logging of SQL errors to PHP log, see SF Support
 Requests #560
[*] Improvememnts to import system, including performance and support
 for compressed files.
[+] Added Slovakian language support.
[-] Fixed bug causing triggering spurious policy violations when using
 periods and $max_duration is set. See SF Bugs #306
[*] Simplified the display of periods in the month view when a booking
 is just one period long. See SF Support Requests #575
[-] Fixed problems with CSV reports, see SF Support Requests #585
[-] Fixed bug which prevented exported reports being imported by some
 calendar apps, eg Outlook. See SF bugs #313
[*] Made MySQL database schema definition more explicit, in case of
 MySQL servers with changed defaults. See SF Support
 Requests #605
[*] Ensured that the $timezone configuration variable is valid. See SF
 bugs #312
[*] Added server-side validation to check that mandatory standard fields
 (eg the full description) are present
[-] Fixed false warning given on session_save_path readable check. See
 SF bugs #316
[+] It is now possible to set booking policies which distinguish between
 creating new bookings and editing or deleting existing bookings. (An
 edit requires a new booking to be created and the old one to be deleted).
[*] jQueryUI 1.11.12
[*] Added rollback of outstanding transactions to the shutdown function
 in an attempt to prevent duplicate bookings when using persistent
 database connections. See SF bugs #314
[*] Changed the handling of nb and nn languages so that explicit
 language files are provided for nn and nn rather than being mapped
 onto no. See also SF Support Requests #649.
[-] Fixed language auto-selection for locales which use comma as the
 decimal separator. See also SF Support Requests #649.
[*] Made the 'modified_by' field private by default, to match
[-] Fixed bug in checking number of slots when the booking day goes past
[*] Datepicker visual improvements.
[+] Added floating headers to day and week view, as discussed in
[-] Fixed bug causing page refresh not to work if the user wasn't logged
[-] Fixed empty cell selection so that if you drag over a floating
 header the selection is cancelled.
[*] Updated cached copy of 'tzurl' files.
[-] Fixed bug causing resizing performance to get worse and worse the
 longer the browser has been open
[*] Converted all MySQL tables to use the InnoDB engine.
[*] Removed support for early versions of MySQL and PostgreSQL.
[*] Enhanced get_vocab() to allow sprintf() style formatting to give
 more flexibility on inserting parameters into language tags.
[-] Fixed bug causing an HTML5 validation error when
 $auth['only_admin_can_select_multiroom'] = TRUE;
[*] Added foreign keys to the MySQL and PostgreSQL database schemas,
 to improve database consistency.
[*] Added better error handling for the case when the MRBS tables have
 not been installed or cannot be accessed
[+] Made max_duration a per-area setting.
[-] Fixed bug in calculation of periods in report summaries. See SF
 Support Requests #667
[-] Fixed bugs in calculation of periods in time slot selectors in
 edit_entry form
[*] Changed minimum PHP version to 5.3.3
[-] Fixed bug that caused the number of periods in the Report Summary to
 be incorrectly calculated if the report start or end date happened
 to fall in the middle of a multi-day booking.
[-] Fixed bug causing invalid .ics files to be created when exporting
 bookings from view_entry or report.
[-] Fixed bug preventing the booking date being changed when multi-day
 bookings are not allowed
[-] Fixed "undefined method isValidInetAddress()" message when saving
 the edit_area form and using a Turkish locale [caused by the capital
 'I' in the method name]. Also other changes to support the behaviour
 of I/i in the Turkish locale.
[-] Fixed bug that allowed '0' to be entered as a valid email address
 for a user
[*] Added a stack trace to the fatal_error error log
[-] Fixed bug that caused the end time selector on the edit_entry form
 to be wrong when using periods and trying to make a new booking for
 a slot that wasn't the first of the day.
[*] Got rid of the $maxlength config variable and calculated it
[*] Fixes to Indonesian language file. See SF Patches #44
[-] Fixed bug - 'ical' text string was not being passed through
[-] Fixed a bug with default_duration_all_day. See SF Support Requests
[*] Updated/added instructions on upgrading into UPGRADE. See SF Support
 Requests #609
[+] Added support for LDAP dereferencing behaviour, based on
[*] Updated the 'db' auth scheme to default to storing password hashs in
 PHP's 'password_hash' format, if the password_hash() function is
[-] Fixed bug causing problem upgrading when using PostgreSQL with
 $db_schema defined
[*] Changed email code to utilise PHPMailer instead of the previous
 PEAR class
[*] Removed 'mysql' $dbsys config option, now that it has been replaced
 by 'mysqli'
[*] Updated to DataTables version 1.10.9
[*] Changed default authentication scheme to 'db'.
[*] Removed sample/test data, and any mention of them in the
[+] Added more flexible LDAP filtering support, as supplied by Steve
 Cleveland. Adds configuration variables $ldap_filter_base_dn and
[-] Corrected the distinction between the translation tokens 'private'
 and 'unavailable'.
[*] Italian translation updates, courtesy of Germano Massulo.
[*] Changed the 'cookie' session scheme to use HMAC hashing instead
 of Blowfish encryption.
[*] Restructured mail debug code and made default output destination the
[-] Fixed bug which caused bookings to be made for all day if any of the
 areas had a default duration of all day
[-] Fixed bug causing ical_uid not to be generated for a series when
 conflicts are skipped (see SF Bugs #334). Added upgrade code to fix
 existing database entries with no ical_uid.
[-] Fixed problems with database schema version upgrades 17, 24 and 25.
Version 1.4.11 (Wed Jun 18 22:00:00 BST 2014):

[+] Implemented an inactivity time out that will log users out after
 a period of inactivity.
[-] Fixed problem with Strict error messages being generated when
 mail messages are sent using PHP versions < 5.4. See SF Support
 Requests #367.
[*] Added support for Estonian in Windows and Unix.
[+] Added ability to use custom CSS files.
[-] Fixed bug causing the approval buttons not to be displayed on the
 view_entry page in some circumstances (see SF Support Requests
[+] Added ability to specify the database port with the config variable
[+] Added the ability to set a maxlength attribute for custom fields
 on the edit_entry page.
[*] Changed default database system for 'db_ext' authentication from
 mysql to mysqli.
[*] Added quoting of table and column names when using 'db_ext'
[*] Updated Czech translation.
[-] Prevented output of headers when running reports in CLI mode.
[*] Removed closing PHP tags (?>) at the ends of files as they are
 unnecessary and can cause problems with unexpected output.
[-] Fixed problem with alignment of room and area selects in the week
 and month views. Thanks to William Haller.
[*] Improved error reporting in the week view when there are no rooms.
[+] Implemented an earliest booking date using absolute dates,
 controlled by the new config variables $min_booking_date_enabled
 and $min_booking_date.
[*] Added the ability to specify a schema as a database config
 variable and thus the ability for MRBS to work with databases
 containing multiple schemas.
[+] Added 'modified_by' field so you can see who last modified an
[+] Added Bahasa Indonesian translation.
[*] Upgraded to jQuery 2.1.0, jQuery UI Release 1.10.4.
[*] Modified import.php so that it is tolerant of blank lines at the
 start of the file and also between components.
[-] Fixed some errors in the Windows language map and expanded the
 Windows codepage map.
[-] Fixed a problem in the day and week views with resizable bookings
 not filling the whole time period when $clipped is set to FALSE.
[*] Changed the ORGANIZER in an iCalendar event to be a new email
 address, defined as $mail_settings['organizer'] and not the
[*] Added nofollow to robots meta tag.
[-] Fixed problem with colour key and trailer shifting downwards
 during a booking resize in IE.
[-] Fixed problem with resizing bookings in IE. See SF Bugs #293 and
[-] Changed form action link to a relative path name from an absolute
 path name, which was causing problems on some sites with reverse
 proxy rules.
[*] Made the default area and room consistent on import and export of
 an event.
[-] Fixed bug in export of an event: the description included the
 complete booking details instead of just the description.

Version 1.4.10 (Mon Jul 08 22:00:00 BST 2013):

[+] MRBS now supports booking days that span midnight. At the same time a number of problems to do
 with DST handling have been fixed, particularly the display of
 the transition hours and the operation of MRBS in timezones where
 the DST change is not 1 hour.
[-] Fixed bug causing fault in formatting of month view.
[-] Fixed bug in upgrade procedure causing the upgrade to fail if the
 number of rows affected by a query was zero.
[+] MRBS now has a simplified interface for making repeat bookings
 and the range of monthly repeats has been expanded. It is now
 possible to have monthly repeats on the last, second last, third
 last and fourth last weekdays of the month.
[-] Fixed formatting problem on Report page in some languages.
[-] Fixed bug preventing bulk delete working.
[-] Fixed problem with filtering and sorting of reports (column
 numbers off by one)
[*] Lots of code restructured and simplified for improved
[+] Added a config variable to allow the order of the fields in the
 Search Criteria section of the Report form to be changed.
[+] Added a config variable to allow the order of the fields in the
 Presentation Options section of the Report form to be changed.
[*] Converted autocomplete fields to use HTML5 <datalist> elements if
 supported, otherwise to fall back to the jQuery UI Autocomplete
 widget. Added ability for users to define $datalist_options in
 the config file to force a field to be treated as a datalist.
[-] Fixed various undefined index/variable problems.
[-] Fixed some HTML5 validation issues.
[*] Prevented E_USER_NOTICE errors being reported during normal MRBS
[-] Fixed problem with French translation.
[-] Fixed bug where <span>s used for sorting the HTML table were
 appearing in the CSV and iCalendar reports.
[+] Added Serbian (Latin) support - translation provided by 'knjigor'
 on the Sourceforge tracker.
[*] Upgraded jQuery from Release 1.7.2 to 1.8.2.
[*] Upgraded jQuery UI from Release 1.8.22 to 1.9.1.
[-] Fixed syntax errors in a number of upgrade "post.inc" files.
[-] Fixed occurrences of != '' being used instead of !== ''. Causes
 bugs such as Confirmed as well as Tentative reports being shown
 in reports when only tentative have been requested.
[-] Ensured that rooms in the room list are sorted by the room sort
[+] Added the ability to specify the "fifth" and "fifth last"
 weekdays of the month when making monthly recurring bookings.
 These are strict interpretations and will result in no bookings
 for months where there are only four of the specified day of of
 the week. (Using "last" or "first" will give you the fourth or
 fourth last weekday if there are only four weekdays in the
[-] Fixed bug causing the wrong mode (periods/times) to be used in
 certain circumstances for reporting durations.
[-] Fixed major bug when editing an individual entry in a series that
 caused a new series to be created alongside the original series.
[-] Fixed bug resulting in button labels in the report form not being
[-] Fixed bug causing an infinite loop if a negative day value is
 given in the query string. Thanks to Neil Carter.
[-] Fixed bug causing incorrect email notifications to be issued when
 members of a series were deleted (see SF Bugs #247).
[-] Translate approval status and confirmation status radio buttons
 in report.php.
[*] Improved the way the "start of last slot" field is displayed on
[*] Mark emails from mrbs as auto-generated, so that vacation mailers
 don't answer mrbs mails.
[-] Fixed problem with misleading email notifications (see SF Bugs
[*] Add room description as tooltip for room list in header (only in
 list mode for now).
[*] Updated German translation.
[*] Add space before () when showing capacity for room
[*] Add room description as tooltip for room list in
 header (also in select mode) Newer browsers seem to support
 tooltips for select options - nice :).
[+] Make clipping of bookings in month view configurable via
[*] Updated in-built timezone definitions.
[*] Changed default $dbsys to 'mysqli' from 'mysql', which is now
 deprecated in PHP 5.5.0.
[-] Fixed typo in Dutch translation. Thanks to Dieter Adriaenssens - see SF
Patches #35.
[-] Fixed bug preventing singular form of the duration units being
[-] Fixed a bug causing Ajax conflict testing not to work after a
 failed HTML5 form validation event.
[*] Updated Danish translation. Thanks to Søren O`Neill.
[-] Fixed warnings/errors from require_once() calls in
[-] Fixed bug causing time selectors not to work properly after the
 area has been changed. See SF bugs #258.
[-] Fixed bug where no room was selected on changing area. See SF
 bugs #259.
[-] Added client and server side validation to check that at least
 one room is selected. (See SF Bugs #259).
[-] Disabled Ajax conflict checking and day/week/month page refresh
 when the page is not visible (subject to browser support of page
[-] Fixed bug whereby the repeat entry row is not deleted if you do a
 bulk delete from the Report page of all the entries in a series
 (see SF bugs #260).
[*] Updated Italian translation. Provided by Diego Zuccato.
[-] Fixed bug causing clicking outside the datepicker to result in
 date selection, rather than cancelling the datepicker. See SF
 Bugs #263.
[-] Disabled page refreshing while resizing is in progress.
[-] Fixed bug causing interval timer to stop occasionally.
[-] Fixed a bug causing multiple timers to be fired when the page is
 hidden and then unhidden.
[-] Prevented page refresh when the mouse is hovering over a resize
 handler (ie the user is about to start a resize).
[*] Improved performance of drag selection, especially with large
[-] Made sure that page refresh isn't restarted while we are in the
 middle of a drag selection when we pass over the handles for
 resizable bookings.
[-] Fixed bug causing incorrect checking of resolution and number of
 slots when the booking day stretches past midnight.
[-] Fixed some label problems on the report page. See SF Bugs #265.
[-] Fixed bug resulting in no end time options being offered if there
 is only one enabled area.
[-] Fixed incorrect quoting of id column, resulting in error messages
 when running under PostgreSQL. See SF bugs #266.
[*] Updated Swedish translation. Thanks to Anders Henhammar.
[*] Moved the site_faq files into their own directory.
[+] Added a Swedish site_faq. Thanks to Anders Henhammar.
[-] Fixed bug causing the "Goto" datepicker to be reset if it was
 open at the time the booking table was refreshed.
[-] Fixed bug when approving bookings and using PostgreSQL (removed
 LIMIT clauses from UPDATE statements as they are not supported by
[*] Updated Finnish translation. Thanks to Tuomas. See SF Patches #38.
[-] Fixed bug causing error messages when there are no mail
 recipients. Thanks to Tuomas. See SF Patches #37.
[*] Disabled E_STRICT errors (see SF Bugs #272).
[-] Fixed bug when using an SQL reserved word as a custom field name.
Version 1.4.9 (Wed Oct 03 22:00:00 BST 2012):

[-] Fixed bug that caused the '+' button for a booking to not work correctly.
[+] Added Hebrew support, as contributed by Michal Kastro.
[+] Added Thai language support, as contributed by Suthep.
[*] Improved language detection code.
[-] Fixed JavaScript error produced if you have a mandatory textarea
 field. Thanks to Neil Brown. See SF ID 3472380
[*] Changed "max_book_ahead" to stop people getting around the restriction
 with long bookings.
[-] Fixed a number of user interaction problems.
[-] Fixed auth_ldap configuration variable handling, thanks to Kevan
[-] DataTables AJAX requests now use relative URLs in order to stop
 cross-domain requests.
[+] Added ability to import iCalendar (.ics) files.
[*] Updated Turkish translation from Ahmet YILDIZ.
[*] Updated German translation - thanks to JWiemann.
[+] Introduced the $vocab_override config variable, allowing MRBS
 text strings to be customised without editing the lang files.
 Thanks to dwpoon.
[-] Improved SQL escaping so that it uses the database escaping
 routines and not PHP's addslashes() function. Thanks to
 Henry S. Thompson.
[-] Fixed bug which meant that the correct timezone wasn't
 necessarily being used when dragging a booking.
[-] Fixed performance issue when using LDAP authentication and HTTP
 sessions. Thanks to dwpoon.
[-] Fixed bug causing an entry of '0' in a mandatory custom field to
 be rejected.
[*] Changed font colour for row and column labels in the calendar
 view when printing to make them show up better in Google Chrome
[*] Improved CSV output, including removal of the requirement
 of having PHP's 'iconv' extension.
[-] Fixed infinite loop in setting the time zone when
 $timezone configuratation variable wasn't set.
[+] Added support for setting limits on the maximum number of
 bookings that can be made per day, week, month, year and for any time
 in the future. You can set limits globally as well per area,
 enabling you to set policies of the sort "Max 2 bookings per week
 in this area and max 5 bookings per week across the system". Note
 also that setting 0 bookings per period for an area is a way of
 stopping ordinary users from making bookings in a particular
[-] Fixed bug that caused the ticks and crosses on the edit_entry
 page not to appear properly in some browsers (eg Chrome and IE8)
 on some systems.
[+] Added Portuguese Brazilian translation - thanks to Gleise S. O.
[+] Added Hungarian translation. Thanks to Gergely Kiss.
[*] Made use of HTML5 form element attributes (eg "required") so that
 client-side form validation can be done by the browser where
 possible, instead of by JavaScript.
[*] Tidied the MRBS distribution, so that different types of files
 live in different directories.
[*] Updated Norwegian translation. Thanks to Thomas Haukland.
[+] Added an array of substitute languages, for example to substitute
 'no' for 'nb-NO'.
[-] Fixed bug causing resizable bookings not to work properly when
 using periods.
[*] Added a couple of extra headers to expires_header() to encourage
[*] Simplified presentation of output options on report form.
[*] Improved reports.
[-] Fixed bug preventing resizable bookings from working when there's
 only one time slot or period in the day.
[*] Added an HTTP header to prevent IE going into Compatibility View.
[+] Added a new config setting, $max_booking_date, to prevent
 bookings after a certain date, eg the end of term. Thanks to a
 suggestion by Matthew Hilling.
[*] Made the users table use an Ajax data source for better
 performance with large numbers of users
[-] Fixed bug on pending page where only a maximum of 10 members of a
 series were being displayed
[*] Added some positive visual feedback when bookings are altered by
 dragging the cell border.
[-] Fixed bug giving incorrect previous repeat end date in email
 notification when a booking is changed from an individual booking
 to a series.
[*] Upgraded jQuery and jQuery UI.
[-] Fixed some issues in the some of the upgrade steps.
[*] Updated Japanese translation. Thanks to Takanori Matsuura.
[*] Updated Czech translation. Thanks to Ondřej Kopka.
[*] Implemented page refresh in the day and week views using Ajax
 requests if possible instead of through a <meta> tag.
[*] Improved Javascript code correctness.
[-] Improved error handling when updating VTIMEZONE definitions. Now
 if MRBS is unable to download a new definition from the web, as
 will happen on sites that do not have external internet access,
 the last_updated field is updated anyway so that MRBS does not
 attempt to retry for another 28 days.
[*] Kept track of how many Ajax requests are outstanding on the
 server so that we don't swamp the server with requests if for
 some reason the server is taking a long time to process them.
[-] Made utf8_bytecount() PHP4-safe.
[-] Fixed problem with users being unable to login when MRBS is
 running on IIS
[-] Fixed sorting and styling of integer custom fields in
[-] Fixed a bug in 'db' and 'db_ext' authentication schemes when
 using MySQL whereby a login was validated successfully even if
 the username contained trailing spaces. This then caused problems
 subsequently when comparing the creator of a booking with the
 user. See SF Bugs #245.

Version 1.4.8 (Sun Jan 01 22:00:00 GMT 2012):

[-] Fixed bug that meant that '0' was treated as an invalid search
[-] Fixed auth_ext authentication for users or passwords that contain
 a $ character followed by a number.
[*] Allowed entries to be deleted even if they are longer than the
 max_duration or beyond the max_book_ahead date. Following
 suggestion from Marco Tedaldi.
[*] Made the week numbers and months in the mini calendars into
 links, following a suggestion by Marco Tedaldi.
[-] iCalendar notifications expanded to allow more applications to 
 understand times/time zone information. See SF tracker 3324122.
[*] Added database error checking and handling to sql_*_field_info().
[-] Corrected a minor error in edit_entry Javascript, thanks to Guenter
[*] Improved SQL error reporting.
[*] Made the date range for the date selectors a config variable.
[*] Added an option on the booking form to skip past conflicting
 bookings when making repeat bookings.
[+] Added a "Skip and book" button to the page listing conflicting
 entries if you try and make a repeat booking where some of the
 entries have conflicts.
[*] Upgraded jQuery UI from version 1.8.11 to 1.8.16.
[+] Added a config setting to disable email sending, overriding any
 other settings. Useful for testing MRBS without having to worry
 about sending mail to people not expecting it.
[*] Added a Back button to the edit_entry page.
[*] Added a list of dates of repeat bookings to email notifications.
[-] Fixed bug whereby email notifications would not be sent if MRBS
 failed to find an address for those on the "To" line but there
 addresses on the "Cc" line.
[*] Improved the message in email notifications for a list of deleted
 repeat bookings
[*] Removed the privacy radio buttons from the Report form when the
 user is not logged in as they're then redundant because only the
 "user" will only be able to see public bookings. Thanks to a
 suggestion from Jörg Wiemann in SF Tracker ID: 3405402
[*] Added an Ajax capability to the edit_entry form so that a booking
 is checked for scheduling and policy conflicts as the booking
 parameters are changed.
[-] Fixed bug causing disabled rooms to be displayed incorrectly in
[*] Converted language FAQs to UTF-8.
[*] Added a timer so that a potential booking on the edit_entry form
 can be periodically rechecked for validity, in case someone else
 makes or releases a booking while the page is open. Can be
 disabled and the interval set by means of a config variable.
[*] Revamped the LDAP authentication scheme somewhat. You can now
 specify most of the configuration parameters as arrays, so that
 you can have multiple servers or multiple base DNs that are
 configured in different ways.
 Additionally, you can now determine whether a user is an
 administrator by defining LDAP configuration parameters:
 $ldap_group_member_attrib and $ldap_admin_group_dn. See
 systemdefaults.inc.php for details.
[-] Set PostgreSQL client encoding to UTF8. Thanks to Andreas Lange
 for the patch (SF ID 3413080)
[*] Added a Back button to the Add/Edit users form.
[*] Changed the report from method from "get" to "post" to make it
 possible to accommodate complicated search criteria, especially
 with many custom fields
[+] Added the ability to run report.php from the command line (useful
 for example for setting up reports as cron jobs). Provided a
 manual page at help_report.html. The ability to run from the
 command line is disabled by default in systemdefaults.inc.php and
 has to be deliberately enabled.
[*] Added a tabbed dialog that can be displayed to give more details
 of schedule and policy checks on the edit_entry page. This has
 the advantage that it contains clickable links to conflicting
 bookings, which the tooltips cannot.
[*] Added a sanity check to check that 'private_override' is one of
 the three valid values in case the database has somehow got
 messed up.
[*] Stopped ordinary users seeing the disabled/enabled status of a
[+] The
 report results, search results, users list, rooms list and
 pending list are now sortable, searchable tables. In addition
 admins can do bulk deletes of the entries returned in a report.
[*] Added Russian translation supplied by Capitan Nemo.
[*] Improved the performance of the day/week/month views, especially
 the day view in IE with large tables (many rooms and many
 periods/time slots).
[*] Updated installation instructions for a PostgreSQL database to
 create a database with UTF8 encoding. See SF ID: 3413080.
[*] Updated German translation, thanks to Jörg Wiemann.
[*] Changed alt text on logo. Thanks to dwpoon. See SF ID 3420435.
[+] MRBS now supports
 (except for IE8 and below) (a) the selection of new bookings by
 dragging over empty cells on the day and week views and (b) the
 adjustment of existing bookings by dragging their sides or
[-] Correctly encode subject in delete notification mails.
[-] Changed ical output so that some email clients no longer get
 booking automatically imported into their calender, without any
 user action.
[-] Fixed bug whereby $auth['only_admin_can_book'] didn't work as required
 if $auth['deny_public_access'] was set.
[*] Got rid of the $mail_charset config variable. All emails now sent
 as UTF-8.
[*] Restricted the requirement for the iconv module to those cases
 when it is really needed, ie when the server is running AIX or
[-] Fixed, or at least ameliorated, a problem that can occur on
 Windows servers where the dates can randomly change language, due
 to other scripts running in a different thread in the same
 process calling setlocale().
[*] Removed the code that had to exist in config.inc.php in a
 particular place. Booking entry types are now configured by the
 simple array $booking_types, which contains elements like "E" and
 "I". The entry types are now localised in the translation files
 as "type.X" where X is the booking type. config.inc.php no longer
 needs to include language.inc, and the $typel configuration array
 has been removed.
[-] Removed a number of undefined variables warnings.
[-] Fixed a problem whereby "foreign" characters in CSV reports
 opened by Microsoft Excel did not display properly. This is
 actually an Excel problem, rather than an MRBS problem, but there
 is now a circumvention in MRBS.
[*] Restricted the options available in the end time selector to
 those permitted if a maximum duration has been specified.
[*] Updated French translation.
[*] Ensured that if a new booking is selected and the default
 duration takes the booking past the end of the booking day, then
 the default end time is the end of the booking day (rather than
 the start time + resolution, as at present).
[-] Escaped some Javascript strings.
[+] Added option to auth_ldap to disable client referrals. Provided
 by Daniel Yule.
[+] Made $timezone a per-area setting. Based on input from Chris
[*] Ensured that the “all day” check box only appears if the maximum
 booking duration allows that length of booking. Based on a patch
 from Daniel Yule.
[*] Added the ability to display the mini calendars at the bottom, if
 $display_calendars_bottom is set to true. Based on a patch from
 Daniel Yule.
[+] Added support for displaying the week number in the month view if
 $view_week_number is set.
[-] Fixed two bugs: (1) Undefined index error if a mandatory field is
 defined in the config file but doesn't exist in the database (2)
 MRBS not picking up mandatory integer fields when JavaScript is
[*] Limited the timezones presented in the timezone drop-down box on
 the Edit Area page to those that have a corresponding VTIMEZONE
Version 1.4.7 (Wed Jul 13 21:20:00 BST 2011):

[-] Fixed display of custom fields in the "view entry" screen.
[-] Fixed report link in the "You are <user>" header element.
[*] Allowed for more than 26 booking types.
[-] Fixed Javascript escaping function.
[-] Fixed incomplete PHP tag in one file.
[*] Added error handling to the auth_db database queries.
[-] Fixed bug whereby the approval status in the repeat table wasn't
 being set properly.
[-] Fixed client side booking validation to check for mandatory custom
 checkbox inputs.
[*] Updated Spanish translation provided by Jose Luis Martin
[-] Fixed a bug whereby the header wasn't displayed in some
[-] Fixed a bug whereby the trailer wasn't being displayed properly
 in the case of a fatal error.
[*] Hopefully clarified config.inc.php a little more.
[-] Fixed problem in the time selectors for bookings that occur during
 a DST changeover
[-] Fixed bug causing custom fields not to be reported properly in
 delete email notifications
[*] Upgraded to jQuery 1.5.2 and jQuery UI 1.8.11.
[+] Made the inputs for Match Area and Match Room on the Report page
 into autocomplete fields.
[+] Added an option to make the default duration All Day.
[-] Changed the encoding of the text calendar in email notifications
 to base64 in order to CRLF sequences. Thanks to Thomas Bleher for
 the patch.
[*] Changed encoding of mail messages from 7bit to 8bit.
[*] Removed unnecessary <span> in the trailer. Thanks to patch from
 Thomas Bleher.
[*] Updated German translation, thanks to SF tracker #3293801.
[*] Clarified documention in auth_ext.php a little.
[*] Added some email debug information to help diagnose problems when
 sending emails.
[*] Extracted the per-area default settings from systemdefaults and
 put them into a new file, areadefaults.inc.php, to make it more
 obvious that these are the default settings for new areas and
 will have no effect on existing areas.
[*] Added lang.en as the fall-back language, in order that something
 is shown even when the $default_language_tokens file does not
 have a translated token. Based on a patch by Thomas Bleher.
[+] Added an option to report.php to summarize by type. Thamks to a
 patch submitted by Thomas Bleher.
[-] LDAP authentication change to fix (particular) configurations
 using $ldap_filter. Patch provided by rudd_j in SF tracker
[-] Fixed bug preventing a room name being changed when only the case
 of letters in the name was being changed.
[-] Fixed bug which meant that a user logging in with an upper case
 version of his name. This only occurred in certain database
[-] Fixed bug that caused durations to be formatted incorrectly in
 some languages (eg German). See SF tracker #3313655.
[+] On the Report page, converted input fields into auto-complete
 fields for custom fields that have select_options defined - For
 custom fields allowed $select_options to be an associative array,
 thus making it easy to change the displayed value without having
 to change the database. (See SF #3315966)
[+] Implemented an optional limit on the maximum length of a booking
 for non-admins. At the moment it is a global limit rather than
 per-area. It also does not yet prevent invalid booking lengths
 being shown in the edit_entry form.
[*] Tweaked iCalendar email data. (See also SF Tracker id 3297799)
[+] Added two new auth methods, 'crypt' and 'auth_basic'.
[-] A fix for use an uninitialised array in
 Themes/default/header.inc, as reported (and fix provided) by
 Henry Thompson on the mailing list.
Version 1.4.6 (Wed Feb 09 22:00:00 GMT 2011):

[+] Areas and rooms can now be disabled.
[*] Updated bundled version of jQuery UI to 1.8.6.
[+] Added the ability to disable the new booking email notifications,
 and tidying the configuration variables defining the email configuration.
[-] Fixed bug causing approval of entries not to work when using
[*] Fixed error handling if there's an SQL error when approving an
[*] Changed the privacy and confirmation status fields to be radio
 buttons rather than checkboxes to make it slightly clearer what
 they do.
[*] Updated PEAR Mail package to Release 1.2.0 and Net_SMTP to
 Release 1.4.4.
[-] Fixed bug whereby mail was not being sent to those on the cc and
 bcc lists.
[-] Fixed bug that caused the room and area links in the day, week
 and month views to operate incorrectly when using "list" format.
 See SF Tracker ID: 3134046.
[-] Fixed bug which caused repeat, all-day bookings not to book the
 last day of a series.
[*] Updated Portuguese translation
[*] Updated French translation provided by Philippe Levi.
[-] Added escaping of JavaScript strings.
[-] Added missing HTML escaping in a number of places to solve possible
 XSS attacks.
[+] Added support for HTML emails, optionally with ICS attachments for
 "invitation" support. You can also download bookings in ICS format from
  the web interface.
[*] Added datepicker localisations for English (New Zealand) and English
 (Australia). Also corrected the localisation for Norwegian.
[-] Fixed a bug whereby book ahead policies would not be applied
 when using periods. [SF Support Request #3161926]
[*] Removed MRBS's non-Unicode mode. All installations will now run
 in Unicode, with all pages served as UTF-8 and all data in the database
 as UTF-8. If you upgrade an installation running in non-Unicode mode
 you must run the improved convert_db_to_utf8.php script, as detailed
[*] Updated/fixed Czech translation from Marek Grác.
[-] Fixed problem where start and end times do not appear correctly
 in the select boxes on the edit_entry form when using 12 hour
 format and running on a Windows server.
[*] Updated the MySQL table installation SQL files to utilise MySQL
 4.1 features. A version for older versions of MySQL is retained
 as tables.my.pre41.sql.
[*] Removed hard-coded formats for dates/times and made them configuration
[*] Clarified documentation on custom fields.
[-] Fixed bug whereby start and end times were incorrectly presented
 in reports when using mixed periods and times.
[-] Fixed bug whereby report summaries were not sorted properly by name.
[-] Fixed report summary table so that it can cope with mixed periods and
[-] Fixed search so that it can handle mixed periods and times.
[-] Fixed pending bookings functionality so that it can cope with
 mixed periods and times.
[*] Removed a possible PHP deprecation warning, SF #3165269.
[*] Made it so that you return to the right area after deleting a
 room. Based on a patch in SF #3019525.
[*] Added coloured borders for booking types in the printing style sheet.
 Submitted by tuomas_ in SF #3003248.
[*] Added error logging into fatal_error(). Patch submitted by
 'shallot' in SF #2955546.
[+] Added the ability to specify a footer in the theme. Patch
 submitted by rudd_j in SF #3166889.
[+] Implemented the ability to configure the default booking
 description with $default_description, as requested in SF
[*] Now chooses a determined locale wven if MRBS doesn't have a
 translation for that locale. It's better than nothing to get
 dates/times right. Reported by 'corn_kid' as SF #2934313.
[*] Improved handling of SQL errors.
[*] Updated Spanish translation received from Jose Luis Martin

Version 1.4.5 (Mon Nov 22 22:00:00 GMT 2010):

[+] Added the ability to prevent ordinary users from selecting multiple
 rooms when making a booking. Controlled by the config variable
[*] Updated translations for: Portugese, Dutch, Swedish, Norwegian,
 German, French.
[+] Added a new configuration variable to set the default booking 'type',
[*] Improved the translation helper script, checklang.php.
[-] Fixed a problem with the formatting of radio button labels on the
 edit area page in IE8.
[*] Improved selection of language to use in the Javascript date pickers.
[*] Made the day change automatically when the date picker in the
 page header is used.
[+] Introduced the ability to get a user's email address from LDAP
 if the system is configured to use LDAP for authentication.
[*] Improved the localisation of the datepicker calendar so that it will
 utilise an xx-YY language specifier if that translation exists.
[*] Made the area and room admin email address boxes textareas, and
 allowed newlines to be used as address separators.
[-] Fixed problem with internationalisation of email notifications
[+] Added the ability to make a custom entry field mandatory, introduces
 the config array variable $is_mandatory_field.
[-] Fixed problem which gave a warning in regular expression in PHP session
[*] Some fixes/improvements in session/cookie handling in PPS and cookie
 session schemes.
[-] Fixed setting of area defaults, and created a database schema update
 to fix existing settings.
[+] Implemented $enable_periods on a per-area basis. This means that
 sites can now have some areas using periods and others using time
[-] Some fixes to support Postgresql, including a fix for a problem
 reported on the mailing list with confirming bookings.
[+] Added the ability to have "tentative" bookings, i.e. bookings which are
 not 100% certain to happen, but where the user wants to reserve the slot
 in the meantime.
[*] Expanded the documentation on timezones. See SF tracker ID: 3102895.
[+] Added a config variable $auth['only_admin_can_see_other_users']
 to allow visibility of other users' details to be restricted when
 using the 'db' authentication scheme. See SF tracker ID: 3102887.
[+] Improved the way in which meeting times are specified. You now specify
 the start date/time and also the end date/time.
[*] Optimised SQL to improve performance.
[*] Japanese translation update from Takanori MATSUURA.
[*] Clarified the edit booking form somewhat, SF tracker #3011370.
[-] Fixed a bug that meant users could delete past bookings even though
 the booking policy said they couldn't.
[-] Fixed problem whereby a booking of 1 year would show up as 1 minute
 in edit booking form.
[-] Fixed bugs which meant that privacy settings were ignored in searches
 and reports.
[+] Added configuration option to deny public access to MRBS.
[*] Improved choice of default area/room.
[-] Fixed a few issues to do with provisional bookings.
[*] Czech language update supplied by Marek Grac.
[+] Added the ability to have custom fields in bookings, see details
[*] Added cache expiry for generated CSS files.
[-] A few fixes for custom fields in the user table.
[*] Added a check in the upgrade code to check if it is a new installation
 of MRBS.
[+] Added Javascript date-picker widgets.
[+] Added the ability to constrain certain fields (name, description
 and custom fields) in the entry table to a set of values defined
 in the config file.
[+] Added a repeat symbol to the display of series on the day, week
 and month views.
[+] Added the ability to choose which fields in the entry table
 should be regarded as private.

Version (Thu Apr 21 21:30:00 BST 2010):

[-] Fixed bug in the 1.4.4 release, the database schema number in the
 installation SQL files was incorrect.

Version 1.4.4 (Wed Apr 21 17:00:00 BST 2010):

[*] Finnish translation update, provided by Tuomas.
[-] Fixed test for E_DEPRECATED, which was causing warnings on
 some versions of PHP.
[+] Added the ability to repeat the headers at the bottom of the
 table on day and week views - see the configuration variable
[+] Added ability to set a password strength policy for the 'db'
 authentication scheme.
[-] Added a missing include line, the absence of which was causing
 errors when $default_room was non-zero.
[+] Added the ability to have "provisional" bookings. i.e. bookings
 that need to be authorised before they enter the calendar.
[-] Fixed a problem with the display of the All Day checkbox in the
 edit_entry form in IE8.
[*] Set input focus on page entry for a few pages.
[-] Fixes for LDAP authentication scheme when $ldap_filter is set.
[+] Added the ability to limit how far in advance non-admin users
 can make bookings.
[*] Added  the name of the deleting user to email notifications of
  deleted entries.
[-] Fixed incorrect reporting of durations in email notifications.
[-] Fixed bug when using periods which meant that if you made a
 booking for N periods and there were fewer than N periods left in
 the day, the booking didn't flow on to the next day properly
 unless the start period was the first period of the day. 
[-] Fixed bug which caused the duration to be blank in email
 notifications for bookings when "All day" was checked.
[-]  Partially fixed a problem to do with the handling of All Day
 bookings crossing a DST boundary.
[+] Added the ability to prevent ordinary users from making repeat
 bookings. Controlled by the configuration setting
[-]  Fixed a bug which meant that n-weekly repeats weren't being
 calculated properly when more than one repeat day was checked.
[-] Removed text after closing tag in Polish translation file,
 as reported in SF #2970638.
[*] Redesigned the admin page, renamed the page to "Rooms".
[+] Added the ability to add custom fields for rooms, the custom
 fields must be added by the administrator in their favourite SQL
 admin tool.
[*] The "edit users" screen now handles textareas and checkboxes for
 custom fields, just like the room custom field handling does.
[+] Added a "custom_html" field for areas and rooms - this allows
 custom HTML to be attached to areas and rooms.
[*] Added check to see if the configuration variable $timezone is set -
 it's too important to count as a non-fatal configuration error.
[*] Improved the layout of email configuration settings in
 systemdefaults.inc.php to make them more clear.
[*] Added transaction support to MySQL DB abstractions.

Version 1.4.3 (Tue Nov 24 22:00:00 GMT 2009):

[+] Moved default configuration values out of config.inc.php - this file
 should now only contain settings the administrator has changed (plus
 a few unfortunately necessary bits of internal code).
[-] Improved error reporting in the DB upgrade mechanism.
[*] Some code tidying to improve correctness and remove warnings.
[-] Added declaration of $PHP_SELF for PHP versions < 4.1.0.
[-] Fixed problem whereby empty cells in the month view weren't clickable.
[+] Added a configuration variable for showing week numbers in the mini
[-] Added SQL escaping for a variable not directly enterable by a user.
[-] Removed duplicate primary in PostgreSQL users table.
[-] Improved the PostgreSQL DB abstraction call for sql_table_exists().
[-] HTML entities in period names are now converted/stripped before
 being sent in emails.
[-] Fixed "You are <user>" display for users that include html special chars.
[*] Improved SQL to always use column names in ORDER BY clauses.
[-] Fixed JS click handling in edit area/room page.
[*] Added Bulgarian localisation (no translation yet).
[+] Added CSV report functionality.
[-] Fixed display of "number of weeks" when editing an existing n-weekly
[+] Added a configuration variable to allow forcing of booking resolution
 to the configuration variable $resolution rather than the DB settings.
[+] Added a configuration variable for setting a login link for the
 'remote_user' authentication scheme.
[*] Fix for setting UTF-8 locale on BSD, as provided in SF tracker #2859067.
[*] Removed use of ereg_replace(), it has been deprecated in PHP 5.3.
[-] A few fixes to honour privacy settings correctly.
[*] Improved error checking in search page.
[+] Added a sort key for rooms.
[*] Improved error handing for adding a user, so that user does not have
 to retype the form after an error.
[-] Fixed weekly and n-weekly bookings for the condition the user clicks
 a day that the repeat is not scheduled for.
[*] Changed behaviour of monthly and yearly repeats so that if a day does
 not exist in the month MRBS will use the last day of the month.
[+] Added code to disable E_DEPRECATED error class for PHP >= 5.3.
[-]  Fixed LDAP auth method so that $ldap_filter will work if you use
[*] Updated 'mysql' and 'mysqli' DB abstractions to request a UTF-8
 client charset if $unicode_encoding is true.

Version 1.4.2 (Thu July 15 00:00 BST 2009): 

[+] Added checking of lengths of values for user-typeable fields, so that
 overly long field values aren't passed to the MRBS database, - something
 which causes errors with PostgreSQL. Adds new array variable $maxlength
 to config.inc.php that _must_ be populated if you are upgrading and keeping
 your old config.inc.php.
[+] Added automatic upgrade system for upgrading MRBS installations
 as the database schema changes. When an upgrade is needed MRBS will
 prompt for database admin user authentication details.
[+] Sites can also define their own local DB schema changes, using the
 sane upgrade system.
[*] Made access levels more flexible, by adding definitions for
 "maximum level" and "minimum editing level" into config.inc.php.
[*] Moved database table creation/alteration code out of edit_users.php,
 it is now done with the upgrade system.
[+] Added ability to make bookings private, with details only available
 to the booker and administrators. Feature provided by Cory Jaeger and later
 enhanced to allow private booking functionality to be configurable
 per area.
[*] Added check for PHP LDAP support into auth_ldap.inc, based on a suggestion
 from Chris Cook.
[-] Fixed issue with booknig display if booking "clipping" is turned off.
[-] Added some missing SQL escaping in various places in response to
 Secunia Advisory SA35469.
[*] Booking fields that have maximum lengths in the database are now
 truncated before adding them to the database, and additionally HTML
 form elements have 'maxlength' attributes to match the database column
[+] New authentication method that authenticates using an SMTP connection.
[*] The creator of an entry is no longer cloned when a booking is copied.
 This ensures that the entry is editable by the user that did the copy.
[-] Adding missing HTML and JavaScript escaping of room names in the
 "edit booking" screen.
[*] Checks are now done to ensure that area names are unique and room names
 are unique within an area.
[*] Improved room deletion, so that repeat entries for the room are deleted.
[*] You can now move a room between areas.
[*] Improved error reporting on SQL errors when creating or modifying a
[*] Made theme functionality more flexible, by allowing a theme to
 change the page header.
[*] Added Croating internationalialisation support, no translation yet.
[+] Added the ability to reverse the standard display for week and day
 view so that the columns are rows and vice versa.
[-] Fix for NIS authentication on systems that use crypt methods other
 than DES.
[*] Improved handling of conflicts in edit_entry to allow for easy
 addition of more booking policies
[+] Timeslot settings are now help in the database, and are configurable
 per area. Period settings are not yet per area.
[*] Improved display of booking slots that contain more than one booking.
 This is possible if booking resolution is decreased when bookings
 already exist.
[*] Added a configuration variable for session expiry time, for users
 of the 'php' session scheme. The default is now to have a persistent
 session that lasts 30 days.
[-] Fixed rounding of booking slots to resolution boundaries.
[-] Fixed Postgresql initial table creation script so that 'create_by'
 column in the mrbs_repeat table is the correct width.
[-] Fixed syntax error in auth_db_ext.inc reported on the mailing list.
[-] Fixes for utilising 'db' auth scheme with PostgreSQL.
[*] DB authentication scheme improved so that access rights are now
 stored in the database and administered from the MRBS 'user list'
[+] Added Polish translation.
[*] Improved print view, including changes that ensure cell
 boundaries are visible.
[-] Fixes for problems whereby a time was converted to "engineering"
 format before an SQL call, thereby creating an error. First report of
 the problem was  SF tracker #1794351.

Version 1.4.1 (Sat Feb 14 22:00:00 GMT 2009):

[-] Fixed email notification problem, SF tracker #233038.
[-] Fixed problem that caused incorrect subject line to be used in email
 notifications if $mrbs_company was set to an image.
[*] Introduced a way to configure MRBS to use additional text after
 the configured company name/logo.
[-] Fixed the 'next' button in search page.
[-] Fixed highlighting in the week view.
[-] Fixed time highlighting, SF tracker #2418172. Fix supplied by David
[-] Fixed printing styling in Firefox, SF tracker #2418073. Fix supplied
 by David Cummings.
[*] Improved detection of IE6 or lower browsers.
[-] Fixed rounding down of duration for meetings that were set as
 fractions of an hour.
[-] Fixed for navigation problem encountered after editing a booking you
 found by searching.
[-] Fix for SF tracker #2494369 - user feedback in edit booking page has
 been improved.
[-] Fixed sticky week highlighting - thanks to 'dwpoon' for this fix.
[*] Small Italian translation update from Claudio Strizzolo.
[*] Improved the database abstraction layer.
[+] 'db_ext' authentication scheme can now use any database that MRBS
 provides an abstraction for, so you can store authentication in a PostGresql
[-] Fixed configuration testing in config.inc.php for when periods are
[+] Added the ability to hide certain days of the week.
[-] Fixed a bug which mean that repeating 'All Day' bookings were not
 being booked for the right number of days.
[+] Added ability to add themes to MRBS. Added a "classic126" that makes
 MRBS look more like it did in MRBS 1.2.6.
[-] Fixed line endings in a number of files, caused by Subversion

Version 1.4 (Wed Dec  3 15:00:00 GMT 2008):

[+] Added Hungarian internationalision, in preparation for an offered
[-] Removed all HTML entities apart from &nbsp; from the translations,
 so that the flawed PHP function html_entity_decode() doesn't need
 to be used in the email sending code - solving a problem when running
 MRBS with PHP 4.
[*] Booking highlighting is now performed with CSS rather than JavaScript
 by default, except in IE6, which doesn't support the appropriate
 CSS feature. This improves performance in IE7/8, and makes the highlighting
 not depend on JavaScript, which is good.
[*] After making a booking (change), you now return to the view you
 came from, be in day, week or month.
[*] Improved highlighting of booking links in month view.
[*] The day/week you're browsing is now maintained as you change between
 day, week and month views, as far as is possible. This so-called
 "sticky day" is highlighted in the mini-calendars also.
[*] "Plus" graphics for adding new bookings are now not shown by default.
[-] Fixed bug that stopped correct booking of meetings when in "periods"
 mode. Reported and solved by Chris Cook.
[-] Fixed bug in the add booking screen that caused selection of
 multiple rooms to not work, and a similar bug that stopped selection
 of booking type in the report screen.
[-] Fixed bug in the date selector.
[*] Deleted .cz translation, in preference of the .cs translation, which
 is the right language code.
[+] Added Dutch FAQ, provided by Cor Marjee.
[*] Translation updates for Slovenian (Martin Terbuc), Dutch (Cor Marjee),
 Italian (Erica Maria Peressini), Turkish (Ahmet YILDIZ), Spanish (SoTMaR),
 French (Alain PORTAL), Japanese (MATSUURA Takanori).
[*] Improved display of the trailer.
[+] Implemented a configuration option for a simple trailer, as suggested
 by Chris Cook.
[*] Improved layout of the "type" colour key.
[*] The area select box is no longer shows if there is only one area.
[-] Fixed some problems shows up by 1.4beta1.
[+] MRBS now validates as HTML 4.01 Strict, a lot of this work is courtesy of
 Claudio Strizzolo.
[*] MRBS now uses CSS for all styling, courtesy of sterling effort by
 Campbell Morrison.
[*] Improved default styling, courtesy of Campbell Morrison.
[+] Added Simplified Chinese translation, provided by 'sunjunps'.
[-] Made the MySQL database use an explicit database connection
[*] Updated Japanese translation, provided by MATSUURA Takanori.
[+] Added Basque translation, provided by Juan Ezeiza Gutierrez.
[*] Updated Postgresql schema to match the MySQL one.
[-] Improved HTML and SQL escaping throughout.
[*] Improved code style/indenting throughout.
[-] Improved form handling, individual form components are now pulled out
 as their expected types, improving security.
[*] Improved way in which MRBS calls the database, to make things
[*] Improved print preview functionality, now use a print media CSS
[*] Updated German translation somewhat.
[+] Added server time to the help page, to help diagnose time zone
[*] Improved the output of the "browser language" section in the admin
 page, and show it in the help page too.
[-] Fixed a bug in the 'mysqli' database abstraction.
[*] Added default duration configuration variable to the config file, to
 allow administrators to change it without editing the MRBS code.
[-] Corrected short PHP tag in testdata.php.
[*] Improved security of 'cookie' session scheme - utilises Crypt_Blowfish
 PEAR module.
[-] Fixed AIX internationalisation function, patch provided by bwiberg
 in SF tracker #2057646.
[*] MRBS now encodes the subject of emails correctly.
[*] Moved the translation of strings used in MRBS emails into the lang.*
 files, where they belong - most languages now have no translation for
 these strings.
[*] Changed default booking slot configuration to give half-hourly slots
 from 07:00 to 19:300, with the last slot being 18:30->19:00.
[*] Fixed a bug that made all-day bookings not reserve the last slot in
 the day.
[*] Help, report and search pages now show the logon box in the header.
[-] Fixed HTML escaping of period descriptions, period descriptions must
 be valid HTML in config.inc.php.
[*] Bookings that cover more than one slot now show as merged slots in
 day and week views, replacing the previous "ditto marks" behaviour.
[-] Fixed a number of issues that were reported during the 1.4 beta
[+] You can now set the timezone that your meetings run in from
 config.inc.php. In some configurations this must be done to get
 proper DST behaviour.
[*] The 'db' authentication scheme now ensures that usernames are

Version (Wed Jan 30 11:00:00 GMT 2008):

[-] Fixed major bug in the new LDAP authentication functionality. If
 $ldap_dn_search_attrib was set, any username/password combination
 was allowed in.
[*] Changed configuration default so that LDAP v3 is enabled by
 default in the LDAP authentication scheme.

Version 1.2.6 (Mon Jan 28 15:00:00 GMT 2008):

[*] Added options to LDAP authentication, so that the DN to be used for
 authentication checking can be obtained by first doing a search in
 the directory. This allows MRBS to authenticate against a Microsoft AD
 server, along with any other LDAP server that behaves in this manner.
[+] Added support for Slovenian language and added translation provided
 by Martin Terbuc.
[*] Added updated Italian translation, and new Italian FAQ.
[-] Removed invalid HTML in edit area/room page. Fixes SF tracker #1696383,
 as reported by 'mikedip'.
[-] Fixed SQL escaping in the edit users page.
[*] Improved i18n/l10n code.
[+] Added Catalan support and Catalan translation as provided by Jordi
[-] Fixed bug in language preference code, as reported by many users.
 Fix supplied by 'mikedip' in SF tracker #1696382
[-] Fixed HTML escaping problem in the edit booking screen.
[-] Update of the room list as you change area in the edit entry screen
 is now correct. This is a fix for SF tracker #1666299, as supplied by the
 reporter, 'northtommy'.
[*] Translations now do not include terminating colons in many places
 as they used to, these have now been moved to the code.
[*] Added JavaScript and server-side checking for various things in the
 new/edit booking page, which stops odd conditions ocurring, and gives
 better feedback.
[*] Emails sent by MRBS are now UTF-8, unless configured to use a
 different charset.
[-] Removed possible infinite loop in n-weekly booking creation.
[-] Fixed invalid truncation of text in month view, it could
 truncate  descriptions mid-UTF8 sequence before.
[+] Added new authentication method, imap_php, which authenticates via IMAP,
 but  using the PHP 'imap' extension, which allows for SSL/TLS connections.
[*] Updated French translation, as provided by 'dionysos-sf'.
[+] Added Turkish language support and Turkish translation, as provided
 by Ahmet YILDIZ.
[*] Added copy booking/series feature, as provided by Julian Eglestaff.

Version 1.2.5 (Sat Feb 24 20:00:00 GMT 2007):

[*] Added options to LDAP authentication so that LDAP v3 and TLS connections
 can be used. Implements SF tracker #1644311.
[*] You can now configure the cookie path used by the cookie and php session
 schemes. Fixes SF tracker #1515118.
[*] Improved localisation of date/time strings.
[-] Fixed a short PHP start tag, to fix SF tracker #1652396.
[-] Updated code to add/edit bookings so that times using ',' as the
 decimal point work. Fixes SF tracker  #1647430.
[*] Updated Swedish translation, as provided by bwiberg.
[+] Added AIX support. You can now run  MRBS on an AIX server, in Unicode
 mode too. AIX support  provided (and tested) by bwiberg.
[*] Improved language preference code so that the user's language
 preference order is followed.
[-] Corrected some bracketing in the month view, as reported by lots
 of people, including 't-matsuu' in SF tracker #1644042 who provided a fix.
[-] Fixed various display bugs in month view, including a fix for
 SF tracker  #1663905.

Version 1.2.4 (Wed Jan 24 12:00:00 GMT 2007):

[*] Added ability to specify the LDAP port in config.inc.php.
[-] Database table creation for Postgresql 8 fixed.
[-] Improved HTML escaping in the calendar views.
[-] Fixed emailing of area/room admin in some cases. SF tracker #1474386,
 fix provided by 'karcher'.
[*] Added some error logging into the email code
[-] Fixed encoding specification for zh_tw translation.
[-] Fixed problem in report output.
[+] Added 'remote user' session scheme, provided by 'bwiberg'.
[+] Added 'mysqli' database abstraction layer.
[-] Added robots instructions to stop search bots trawling MRBS. Fixes
 SF tracker #1557192.
[*] Improved documentation on LDAP authentication, fixes SF tracker
[-] Fixed example of LDAP filter configuration in config.inc.php. Fixes
 SF tracker #1550827.
[-] Fixed warnings output by some pages. Fixes SF tracker #1557192.
[*] Added check for empty booking description when creating/modifying
 a booking - is only necessary if the user has JavaScript off.
[*] Added updated Finnish translation provided by Tom Ingberg - it now
 uses UTF-8.
[-] Fixed password checking for PHP session scheme. Fixes SF tracker
[*] Current day/week/month are now highlighted in the page footer.
 Implements SF feature request #875744.
[*] Moved MRBS version number out of config.inc.php so it doesn't get
 left behind when people upgrade.
[*] Updated Spanish translation, provided by SoTMaR.
[*] More entry types are now allowed (now A-Z).
[-] Fix in emailing of administrators. Fixes SF tracker #1315854, fix
 supplied by Neville Gilbert.
[*] SunOS is now supported as a server OS, including UTF-8 locale support.
[-] Fixed n-weekly repeating bookings, days for booking are now
 calculated more correctly. Fixes SF tracker #1300974.
[*] Updated Swedish translation, provided by Bjorn Wiberg.
[-] Fixed problem in report page if you were using HTTP session scheme.
 Fix provided by Bjorn Wiberg in SF tracker #1396685.
[-] Fix for using the 'db' authentication scheme on a MySQL >= 4.1
[+] Added German translation of site FAQ.

Version 1.2.3 (Sat Aug 20 20:30:00 BST 2005):

[+] Added new authentication scheme, db_ext. This allows authentication
 to come from a table in an external database (MySQL only until MRBS 1.3).
 All the parameters are configurable in config.inc.php and documented
[-] Cookie and PHP session schemes will now handle usernames/passwords
 with certain quote characters in properly.
[*] HTTP session scheme now shows a login button, and who is currently
 logged in.
[+] Added Spanish translation of site FAQ, contributed by Carlos Insunza.
[*] Password column in users table (db auth scheme) is now 40 characters
[*] When setting up an installation using the db auth scheme, the
 'User list' screen allows the admin user to be added without you
 being logged in. Once the first user is added you must log in.
[*] Updated Norwegian translation supplied by Emil Stoa.
[+] Added Korean translation, as contributed by YoungJoon Kim.

Version 1.2.2 (Fri Apr 22 12:00:00 BST 2005):

[*] Bug 1090172 addressed. Length of booking creator field increased to
      80 characters.
[*] Updated Taiwanese and Japanese translations, now both in UTF-8
      encoding. Thanks to bruck and MATSUURA Takanori, respectively.
[*] auth_config username matching is now case insensitive.
[-] If using cookie authentication cookie is now deleted on logout, and
      user's password isn't stored in cookie any more.
[-] If using session authentication, cookie is stored based on the web
      path MRBS is installed on, allowing more than one MRBS installation
      per (virtual) host. Additionally session data is deleted on log out,
      and the user's password isn't stored in the session data any more.

Version 1.2.1 (Fri Dec 10 10:00:00 GMT 2004):

[-] MySQL tables fixed for MySQL 4.0, namely to remove DEFAULT from
      auto_increment columns.
[-] Bug 1027328 fixed, sendMail function now provides the correct parameters
      and headers for each type of backend (mail, sendmail or smtp). (Thekk)
[*] RFE 1000967 - enhanced email notifications. (Neil Hawes, Stuart
[-] Bug 1068522 fixed, changed "" around $db_password value in
      config.inc.php to '' so that special characters are not interpeted.
      (Matt Schuler)
[-] Bug 1035790 fixed, can now book series with pgsql. (Thekk)
[-] Bug 994056 fixed, emails are sent when they should be now to who they
      should be sent to.
[-] Bug 1040185 fixed, AM and PM generation no longer causes
      "Negative timestamps are not supported under any known
      version of Windows" PHP error on Windows MRBS installations in far
      eastern time zones.
[-] Fixed lang/locale selection for Czech language. Czech country code is
      "cs", not "cz".
[-] Fix added for the ChangeOptionDays JavaScript function in some older
[-] Fix for page refresh functionality. If a refresh time is configured,
      only do it for day.php, week.php and month.php
[*] Updated Netherlands translation (Marc ter Horst)
[-] MRBS now sends content-type and charset in an HTTP header, which can
      fix some Apache installations where a charset if forced in the

Version 1.2 (Thu Sep 9 14:00:00 BST 2004):

[-] Notification emails are now RFC2045 compliant. Mail body can contain non
      us-ascii characters, content-type is specified correctly.
[*] Updated German translation (Andreas Moroder)
[*] Updated Czech translation (David Krotil)
[*] LDAP authentication scheme is now more flexible. Base DN and
      user attribute can be configured in config.inc.php
[*] Room ordering of day view back to "by room name".
[-] Fixed bug in admin notification emails, bug #968682.
[-] Changed comment about $url_base to recommend setting this if email
      notifications are to be used. Fixes bug 972186.
[-] Fixes problem where an invalid user will appear to be logged in.
[*] Changes default colour for odd row to not conflict with colour for
      type 'J'.
[*] Changed colours for header cells in day and week view to make them
      more readable.
[*] Change so that '+' sign and Javascript are not included in print
[-] Fixed bug in notification emails so that periods are handled correctly.
      Fixes bug #972293
[-] Fixed JavaScript error on changing Start/End dates on add/edit page.
      Fixes bug #934394
[-] View entry page can now be passed a series ID, and mail notifications
      will point people at this version of the page for messages
      related to series. Fixes bug #972194.
[*] Locale settings improvements. Warning is shown at top of the page if
      MRBS is unable to set a locale. Added Windows locale mapping for
      Swedish (sv-se) language. Fixed Unix locale mapping for English locale,
      en_GB is used by default if the browser passes "en". OS X locale
      support added.
[-] Locale setting fix for Windows servers, browser language "en-ie" is now
      handled correctly.
[-] Fixed SQL usage in email notifications.  Fixes bug #994056
[-] Fix for mouse hover highlighting on grid.

Version 1.2-pre3 (Fri May 14 04:00:00 GMT 2004):

[+] Added long awaited "periods" support. Calendar can displays 'periods'
      instead of classic time of the day.
[+] New authentication scheme 'auth_db'. This is a web-based authentication,
      based on a user table in the mrbs database. User administration page has
      a special feature to automatically display fields that admin may add to
      the user table, no need to edit the code. This new authentication is not
      yet implemented for Postgresql.
[+] Added email support. Emails can be sent to MRBS administrator, area or
      room administrators, or bookers and for each entry creation, change or
      deletion. Emails for changed entries display the value of previous
      settings. Added emails fields to room/area admin and edit_users pages.
[+] Added option to retrieve users emails from other authentication
      schemes as auth_db (if ldap is used, user email will be username plus
      domain name)
[+] Added option to allow for a day to start at say 8:30 am.
[+] Database tables names are now variables defined in config.inc.php. This
will allow users to install multiple sets of mrbs tables when only one
SQL database is available, or resolve table name conflicts.
[+] Booking is now possible from the month view by clicking a new 'plus sign',
      taking the user to an add entry page for that day of the month.
[+] Using auth_db, the link "you are XXXX" becomes a link to all upcoming
      entries belonging to XXXX (report page).
[+] Added support for multiple pop3 or imap server to be used for
      authentication (in case of failure).
[+] Added greek language (Stavros Papadakis), updated finish (Tom Ingberg),
      german (Michael Glaessel) and swedish (MissterX) languages.
[+] Added option to determine the default starting view, i.e. month, week or
      day (Warren Turkal) and the starting room.
[+] Added support for changing area/room in Add/Edit entry form.
[*] Capacity is not displayed in brackets next to room name if capacity is 0
[*] Preview page now displays the color key.
[*] Added option to display both time and descriptions in month view.
[*] Various enhancements to display/navigation (added pop-up messages in
      various places, added direct links between room headings and week
      view, highlighting of cells on mouse-over, highlighting of current
      month/week/day in mini calendars, ability to book a room by clicking
      anywhere in cells, navigation link duplicated under the calendar...)
[*] Added option to display time on right side in day and week view
[*] Enhancements to report page: added 'type', 'creator' and various sorting
[*] LDAP servers login processes, does an anonymous bind first
[*] Fixed bug/enhancements to avoid url problems when using a proxy in
      the environment. Although breaking HTTP specs, use of relative paths
      allows to run mrbs with https (ssl).
[*] Added some javascript code to control user inputs mainly in edit_entry.php
      (avoid selecting february 30,...)

and several other minor bug fixes and minor changes. To see details, please
read /web/Changelog file from Dec 07 2003.

Version 1.2-pre2 (Sun Dec 07 00:00:00 GMT 2003):

[+] Completely revamped authentication logic.
    Now MRBS make use of sessions to store temporary user informations,
    ability to log on/off, and so on.. This is now the default mode.
    See AUTHENTICATION for more details.
[+] Revamped localisation.
      Automatic language determination made much better, works for
	  Windows and Unix servers now
[+] Added utility to convert text in the database to UTF8.
[+] Revamped internationalisation. MRBS can now be called  fulled Unicode. 
      MRBS serves all of it's pages in UTF-8 and stores everything in the 
      database in UTF-8. This means that all languages work together.
[+] Bubbles are displayed when mouse hover entries in day, week and month 
      view, showing a more complete description.
[+] Allow to view weeks in the bottom of the web pages as week numbers 
      instead of 'first day of the week' (Per Wermelin - SKIOLD Sæby A/S"
[*] Added a new script for the "ext" authentication scheme that
	  allows you to use a password file with usernames and their
	  crypted passwords.
[-] Fixed bug #853410: When changing a non n-weekly entry, field "Number of 
      weeks (for n-weekly)" appear...
[-] Fixed bug #846337: We can create rooms with no area
[-] Fixed bug #413175, #831310: Daylight savings time shift entries one hour 
[-] Fixed bug: Always displays "Edit Entry" instead of "Edit Series" at top 
      of page when editing a serie.
[-] Fixed bug in pop3 auth scheme.
[-] and several other minor bug fixes.
[*] Warning: MRBS does not work with postgreSQL 7.3 and above. 

Version 1.2-pre1 (Tue Sep 23 06:00:00 GMT 2003):

[*] Renamed coonfig.inc to config.inc.php
[-] Fixed bug #748934, do not allow booking descriptions with only spaces.
[+] Added Windows NT / IIS authentication scheme.
[-] Fixed bug : Always displays "edit entry" instead of "Add Entry" even when
      adding an entry. (Ian Duncan)
[-] Fixed bug: repeated meetings selecting a "Monthly repeat, same day of the
      week" repeat type in the 5th week were not properly scheduled.
[-] Fixed bug: when you press on print preview
      in report.php page, all but the submission form is visible but
      not the actual report  (sQuare).
[*] In the minicalendar week view, the full week is highlighted instead of
      the first day of the week (sQuare).
[-] Bug fix: in week view, allow non 'internet explorer' browsers to see links
      to the corresponding days in column titles (Johan.Schonning).
[+] Entries in monthly view can be shown as start/end slot or brief description
[*] Replaced the column titles in the week view to  be links to the
	  corresponding days (sQuare).
[-] Bug fix : italian vocab with character not properly escaped prevents
      deleting entries and/or prevent jcript popup to works (Pietro donatini)
[-] Fixed bug in escaping of username and password for all
      authentication schemes that use HTTP authentication.
[-] Fixed bug in bookings between 12:00 AM/PM and 12:59 AM/PM (AM/PM hour
[+] MRBS become compliant to the 'register_globals = off' directive
[-] Minor bug fixes
[+] Added translation: Finnish (Vesa Palmu), Portuguese (Lopo Pizarro),
    Danish (Claes Bolvig Pedersen).
[*] Minor translations updates an bug fixes
[-] Bug fix if drop-down select box is choosen to show areas/rooms
[*] Changed the tiny size of numbers in calendar to
      a larger one.
Version 1.1 (Tue Jan 14 10:00:00 GMT 2003)

[+] Added configuration option ($twentyfourhour_format) to allow time
        formats to be changed to 12 hour format.
[*] Updated all language files to be consistant
[*] Changed minicals so they point to week when on week view and month on
        month view, rather than always pointing at day view
[*] Changed occurences of "<?=" to "<?php echo" which means we still
        use the long tag form everywhere.
[*] Removed all remainings english strings to make MRBS 100% translatable
        * Added new $vocab to del.php, edit_area_room.php, edit_entry.php,
          edit_entry_handler.php, help.php, mysql.inc, pgsql.inc, 
          view_entry.php, functions.inc
[+] Modified config.inc language section to choose a site_faq.html file
        translated in another language.
        * Modified help.php to take these changes into account.
        * Added site_faq_fr.html (french)
[+] Added auth_name.inc, a auth_ip.inc variant using DNS name instead of ip.
[+] Added auth_omni.inc for use with OmniHTTPd web server security features
[-] Change search.php to remove warnings introduced with PHP 4.3.0
[-] Change trailer.inc to make print preview more likely to work on
        windows and non-apache servers

Version 1.1-pre2 (Thu Jan  9 17:50:00 GMT 2003)

[+] New POP3 authentication scheme (Daniel Gardner)
[*] Updated Spanish translation
[-] Fix for edit entry page. We now determine the area id
        of the room the meeting we're editting is in before
        getting a list of the rooms in that area. This solves
        a number of errors that occur when editting/creating
[-] Fixes submitted/suggested by Jean-François Larvoire:
        * Added closing ?> to index.php
        * Added "global $refresh_rate;" to style.inc
        * Fixed all occurences (hopefully) of $vocab[] indices
          written without surrounding quotes.
[*] Changed all uses of <? to <?php.
[+] Merged change from John Beranek for an Advanced search function,
        requires 3 more translation tokens, which have been added to
        each language file, "search_button" should be OK, as I took
        the text from each language's "search" token.
[-] Fixed 2 problems in edit_entry.php as submitted on the mailing list.
[*] Added small enchancement to smb_auth.c, if you pass a username
        as group/user, it will change the NT group that is used for
[*] Improved shell escaping in auth_ext.inc. It now uses
        escapeshellarg() instead of escapeshellcmd(). If your PHP
        version is less than 4.0.3, then it includes escapeshellarg.inc
        which is a local implementation of that function.
[*] Added updated French translation, as provided by Thierry Wehr.
[*] Tided all language files again, they all have the same format
        and number of lines now, and are all missing at least 2 translations
        because of the new advanced search functionality.
[-] Fixed a number of bugs to make the Taiwanese translation work.
        The code to include language files based on HTTP_ACCEPT_LANGUAGE
        has been improved, which ensures lang.zh-tw is included.
        Additionally, mincals.inc not longer does a substr() on the
        abbreviated weekday names, as this breaks terribly for any
        multibyte encoding, as it was only taking the first byte
        of a multibyte encoding. This has the impact that you now
        get Mon,Tue,Wed etc instead of M,T,W (using glibc's en_GB
[-] print_header() now outputs a DOCTYPE identifier as well as
        sending Pragma no-cache and an Expires header in the
        past. This should help ensure the web pages don't get cached.

Version 1.1-pre1 (Thu May 30 12:41:02 BST 2002)

[*] add config option for drop-down boxes to select area and room
          (Thanks to sponsorship of LTC Corporation)
[+] allow multiple rooms to be booked at the same time
          (Thanks to sponsorship of the City of Wayne and LAEP)
[*] document need for register_globals() with new PHP versions
[+] add auth_nis.inc from Jeff Hoover (jberanek)
[+] add auth_imap.inc
[*] add warning about PHP3 not working
[*] new language tokens
[-] Stop problem where all strings turn to "N"
[-] Fixes a problem where $resolution is an odd amount
[*] extra javascript validation around n-weekly bookings
[-] extra array index quoting to stop newer php warnings
[*] Commented all authentication schemes (jberanek)
[*] Change mrbs_repeat schema for postgres (mrbs_repeat.rep_num_weeks => 
[*] replace poxix_uname with php_uname function for portability
[-] Declare $HTTP_ACCEPT_LANGUAGE global in config.inc
[-] some int casts to fix a bug from sourceforge
[*] language files normalised
[*] update translations: 
        Norway, Rune Johansen
        Italy, Gianni
        Netherlands, Marc ter Horst
        Sweden, Hakan Nilsson
        Germany, Michael Redinger
[+] add translation:     Czech, SmEjDiL

Version 1.0 (Thu Aug 30 22:26:54 BST 2001)

[+] Added two upgrade.xx.sql files which should have been in -pre2

Version 1.0-pre2 (Sun Jul  8 13:43:53 BST 2001)

[*] Incorporated diff from Scott Leonard that allows you to configure a refresh
        time for roombooker web pages.  Set config variable $refresh_rate to the
        number of seconds to refresh after, or set to 0 to disable.
[+] Implemented "n-weekly" repeat type. Not sure I like the way it's phrased in
        the lang files, but the code works fine.  You can now have a meeting 
        that is repeated every 'n' weeks. e.g. every 5th Monday.  This required 
        a database change, which I've made available in upgrade2.my.sql and 
[*] Tidied lang files, and ensured every file has all the required tokens.
        'wc -l lang.*' now shows all the files as having the same line count.
        Quite a few languages now have English bits in them though.
[*] Incorporated diffs from Tim Bell that allow you to configure a filter
        for LDAP authentication.
[-] Incorporated diffs from Tim Bell that solve problems with bookings made
        for times that have smaller granularity that the configured booking
[-] Fixed config.inc so that the correct lang.xx is included if
        HTTP_ACCEPT_LANGUAGE is a comma-seperated list like "sv, en".
[*] Copied "rep_type_5" language token into Swedish and Spanish language
        files from English file.  Swedish and Spanish users were not able
        to use "monthly, corresponding day" repeats without the token being
[*] Checked in updates to lang.es (received from Pablo Gomez) and lang.de
        (received by Bernd Oeggl).
[*] Update lang.nl file (marc ter horst)

Version 1.0-pre1 (Sun Mar  4 23:26:43 GMT 2001)

[*] Internationalised functions.inc. "Help", "Admin" and "Search:" are now lang
        strings. Also, fixed an error in lang.fr, $vocab["mrbs"] was defined 
        twice. (jberanek)
[*] Added double quotes around all uses of color and class attributes, as HTML
        dictates. (jberanek)
[*] On conflict, show start time and link to day/week/month views (redinger)
[+] Link each search result start time to entry's day view (bernd, beranak)

    Branch Merge (2001-02-24 ljb):
[*] Incorporated all changes from branch mrbs-0-9-1xp into CVS trunk.
[*] Undoes post-branch change (0.9.2) to remove "weekstarts" function.
[-] Fix undefined variable warning $edit_type in edit_entry.php

Version 0.9.2 (Fri Feb  9 20:09:42 GMT 2001)

[*] Remove "weekstarts" functionality

Branch mrbs-0-9-1xp (2001-02-13 daniel):

[*] Added $I d$ tags to all files.

Branch mrbs-0-9-1xp (2001-02-10 ljb):

[*] For PHP4, rename *.php3 to *.php and changed all links.
[+] Major changes for database support for PostgreSQL:
        Original tables.sql renamed tables.my.sql for MySQL.
        Move sample data from tables.sql to sample-data.sql.
        New tables.pg.sql to build tables for PostgreSQL.
        New destroy.pg.sql to delete PostgreSQL tables and sequences.
        New grant.pg.sql - edit this and run to grant PostgreSQL rights.
        Replaced connect.inc with mysql.inc and pgsql.inc.
        New variable in config.inc "$dbsys" selects "mysql" or "pgsql".
        Renamed variables in config.inc to replace "mysql_" prefix with "db_".
        New wrapper funtions (see README.sqlapi) to encapsulate database calls.
        New pgsql.inc provides PostgreSQL implementation, and connects.
        New mysql.inc provides MySQL implementation, and connects.
        Rewrote all database calls to use wrapper functions.
        Rewrote all SQL statements to be standards-compliant, where possible.
            Used new wrapper routines where non-standard SQL is needed.
            Replace LEFT JOIN sequence with predicate-based joins.
        Changes to all error handling to ensure errors are properly reported.
[+] New week.php for Week View. (Experimental)
[+] New month.php for Month View. (Experimental)
[*] Added rows of links in trailer.inc to new month and week views.
[*] Changed Entry Type from 2 values (I=Internal, E=External) to 10 values.
        By default only the same 2 are defined in config.inc.
        Style sheet contains colors for 10 types.
        Selection box for type in edit/add entry form is dynamically built.
        Color key in day view dynamically built from defined types.
        Color key in day view moved to bottom of page.
[+] New Report function, linked from new button in the header. This makes
        a report on entries selected by date range and match strings.
[*] Add config.inc option db_nopersist to not use persistent DB connections.
[-] Add missing args to print_header call in del.php.
[+] Add config option eveningends_minutes to allow full 24 hour display with
        more resolution than 1 hour; also allows better control over the
        displayed hours, for example the last slot can now be 16:30-17:00.
[*] Removed unused functions from functions.inc: get_sunday_before()
        print_date_entries() display_unapproved_events() display_time()
        mysql_date_to_str() get_webrowser() hextoint() decode_str() encode_str()
        Also removed load_user_preferences code and calls to it.
[*] Remove redundant includes: functions.inc now assumes config.inc was
        included and does not include it again; search.php and view_entry.php do
        not need authentication so they don't need to include mrbs_auth.inc.
        Removed redundant connect to datbase in search.php.
[*] New error function fatal_error() to ensure errors are in a proper HTML page.
[+] Added new repeat type 5: Montly repeat, corresponding weekday and week.
[+] New authentication for Netware: auth_nw.inc (see README.nwauth). This is
        needed because nwauth takes the password on stdin, not cmdline.
[*] Used weblint to validate output pages and corrected HTML where needed.
        Quote all attribute values, fix bad attributes, balance tags.
[*] Moved HTML end tags into trailer.inc.
[*] Changed trailer to put " | " between dates, instead of ", " after each.
[-] In print_header, fix bad position of style.inc; must be in <HEAD> block.
[-] Fix syntax error when adding room if no capacity given (use 0).
[*] Change day.php to output equal-width room columns with centered headers.
[*] search.php: Use COUNT(*) and no ORDER BY when just getting match count.
[*] Fixed typo in view_entry.php on building up per-day repeat option string.
[-] Redesign loop for adding repeat dates to prevent it from scheduling 1 past
        the end date if the end date wasn't a date to schedule.
[*] Add "about" section to help.php to display viersion, system, database.
[-] Patch from BoK: fix "2 Decembers displayed if you pick "31 Nov" and Go.
        This makes sure the selected date is a valid date.
[-] Patch from robc: Fix to prevent edit entry to make it overlap another.
[+] New feature from Bo: Edit area and room names (new edit_area_room.php).
[*] Sort (order) the room names alphabetically in the main display (day.php).
    Changes found in CVS source:
[*] Changed "Booker's Name" to "Brief Description" (was in post-0.9pre1 CVS)
[*] View_entry uses multi-table query to show room description too (was in CVS)
[*] If no area is supplied, don't use 1 (or 0) since there might not be such
        an area (if it was deleted). Instead, use new get_default_area() which
        gets the lowest-numbered area.  In print_header(), don't pass along
        area as a hidden parameter if it wasn't supplied in the first place.
[*] Patch from BoK: Booking repeat Sat/Sun, only entered first Sun.
[*] Fixes to PHP magic quoting. We now turn of magic_quotes_runtime always,
        and use new slashes() and unslashes() to conditionaly deal with
        backslack-quotes depending on value of PHP's magic_quotes_gpc setting.
        NOTE: Possibly slightly incompatible change. Prior versions may have
        put pre-quoted values (area name, room name, booking name, booking
        description) into the database tables. This was wrong. If so, you
        will see funny \'s in the value displays.
        MRBS now should properly quote and unquote all values behind the scenes.
[*] Admin.php gets the area name from the database if it only has the ID.
[-] Patch from BoK: fix duplicate bookings from failure to delete caused by
        bad entry_type change to 2.
[*] Updates to site_faq.html - describe repeats, generalize Authentication info.
[*] Use a mutual exclusion lock (mutex) when adding an entry to prevent races.
[+] New maintenance SQL scripts: purge.my.sql and purge.pg.sql to delete old
        entries from your database (default 30 days old).
[*] Fixed field alignment in Add/Edit Entry form to right-justify labels.
[*] Security: Use EscapeShellCmd() on username and password in auth_ext.inc
[-] Fixed function toTimeString() to use lang[] for time units (I18N).
[*] Streamlined main query in day.php: omit unused columns, improve predicate
        to select by times from 6 compares to 2.
[*] In day.php, only fill in map entries during the day hours of interest.
[*] In lang.* language files, fixed quoting (found in CVS), comments, strip
        CRs and fixed some typos.
[-] Use double quotes around all string array indexes except inside strings.
        This avoids a PHP notice-level warning on each array reference.
[-] Fix undefined variable references to avoid notice-level PHP warnings.
[-] Bug fix: round meeting times up to $resolution units, not 30 minutes, and
        don't allow 0 minute meetings - make them 1 resolution unit instead.
[*] When using the footer to change dates, remember the current area.
[-] Changed view_entry to always show both time and date for start and end time;
        the CVS version was buggy and quirky in suppressing the date or time if
        it thought they were not important. Better to show too much info.
[+] New weekstarts and dateformat (Jan 01 vs 01 Jan) config (from BoK),
        generalized to show the week starting on any day.
[*] Add inline colors for non-CSS browsers (based on patch from John Beranek).
[*] Added current date header above day display (from John Beranek).

Version 0.9.1 (Sun Feb  4 21:56:09 GMT 2001)

[-] Fixed bug in mincals (sourceforge 'nobody') 

Version 0.9 (Sun Feb  4 21:40:16 GMT 2001)


Version 0.9-pre2: (2001-01-27)

[+] Some stuff for Roxen from Claus Jeppesen (jeppesen@mrl.ucsb.edu)
[*] Add control over start of weekday (Sunday or Monday) (bokleve)
[*] Change how days are presented (Jul 19 or 19 Jul) (bokleve)
[*] Day names in selected language (bokleve)
[+] Sweedish language file (bokleve)
[+] Can now change room and area descriptions (bokleve)
[-] Fix for all day bookings (bokleve)
[*] Escape characters in text (day.php3) (bokleve)
[*] Rooms sorted by name (bokleve)
[-] Fix duplicate entries when changing a booking (bokleve)
[-] Modifying an entry allowed intrusion on other bookings (bokleve)
[-] Weekly bookings could not be made for Sunday if Saturday also booked
[-] view_entry.php3: Fix escape characters showing in text (bokleve)

Version 0.9-pre1 (13:00 Fri August 2000)

[-] A few minor bug fixes.
[*] Authentication is finally in properly
[+] Big UI change, provides a toolbar at the top, help, the ability
        to search and other usefull stuff.
[+] A help file for the users.
[*] Another LDAP authentication method, this one uses `ldapsearch'
        Thanks to Mark Belanger <mark_belanger@ltx.com> for most of this.

Version 0.8.1 (Thurs July 27 11:00 2000)

[*] Better "Area" handling

Version 0.8 (Wed July 26 17:50 2000)

[*] General improvements in the "Repeat Booking" code.
[*] Better year selection handling

Version 0.8-pre6 (Thurs July 20 10:00 2000)

[-] Lots of little bug fixes.
[*] Additional LDAP authentication method
[*] Better compatibility with old versions of PHP

Version 0.8-pre5 (Thurs July 13 11:50 2000)

[*] Improved "Conflict detection" code
[*] Lots of date/time handling improvements
Version 0.8-pre4 (Wed July 12 11:00 2000)

[+] Added repeat entrys
[+] Added French language file
[*] Updated German language file
[*] Made the "view_entry" screen nicer
[*] General page updates

Version 0.8-pre3 (Wed Jun 21 13:42:42 GMT 2000)

[+] Added Perl script for LDAP auth

Version 0.8-pre2 (Wed Jun 21 11:34:20 GMT 2000)

[*] Added docs about netware authentication
[-] Rename auth.inc -> mrbs_auth.inc to stop phplib conflicts
[+] Added Spanish language file
[+] Added Dutch language file
[+] Added German language file
[+] Added Traditional Chinese language file
[+] Explicity set charset (from language file)
Version 0.8-pre1 (Fri Jun 16 08:22:19 GMT 2000)

[+] User-based authentication supported (see AUTHENTICATION)
[*] Better support for bookings spanning multiple days
[+] User can specify "Whole Day" bookings
[+] Units other than "Hours" are supported (Mins, Hours, Days, Weeks)
        Thanks to Sam Mason <smason@mtc.ricardo.com> for much of this

Version 0.7 (Mon Jun 12 12:42:50 GMT 2000)

[*] Changed DB to use unixtime, not mysql date/time
[*] Changed date strings to use locale
[*] Replaced code for three small calendars
        (thanks to David Wilkinson - davidw@cascade.org.uk)
[*] Internal/External meetings different colours
[*] "Resolution" moved to config file
[+] Added Japanese support
[*] Moved language into external file
[*] Added more documentation
[-] Areas with no rooms don't cause an error

Version 0.6 (Sat May 27 09:09:11 BST 2000)

[-] Fixed bug in edit_entry_handler.php3 which made any
        booking made between the 1st and 9th of the month
        actually happen on the 1st of Jan for that year
[-] Fixed bug in day.php3 where any booking past
        midnight would not show up
[-] Related bug which meant that bookings longer than
        one day wouldn't be displayed.
[-] Fixed bug where editing a booking would default to
        today's date, not the booking's date
[+] Added .htaccess to protect .inc files
[*] Moved start and end of day config variables to

Version 0.5 (Mon May 22 12:07:14 BST 2000)

[+] Added admin.php3 so areas/rooms can be done
        by web rather than by SQL

Version 0.2 (Sun May 21 22:35:33 BST 2000)

[*] Working OK from user perspective
[*] All admin done by SQL

Version 0.1 (Sun Apr 30 16:03:26 BST 2000)

[+] Initial starting
Get Meeting Room Booking System at SourceForge.net. Fast, secure and Free Open Source software downloads