V3.9.3 - V3.9.3.1
- New: Server-to-server Oauth authentication option for Online Meetings - Zoom
- Change: Update URI at plugin headers for WP BASE Dev
- Fix: PHP error in SMS addon while saving SMS reminder log

V3.9.2 - V3.9.2.1
- New: Event authors can also receive commission
- New BuddyPress email placeholders BP_CLIENT_BOOKINGS_URL, BP_BOOKINGS_URL, BP_BOOK_ME_URL
- Tweak: Commissions are also displayed at the account page
- Tweak: [app_book_event] shortcode now works on any template
- Tweak: Event Bookings can be edited at the front end with GeoDirectory author actions
- Fix: Event attendees cannot be printed
- Fix: qTip viewport error due to incompability of qTip2 with jQuery V3

V3.9.1.2
- New: New setting Theme Builder Compatibility
- Change: Pages to Preload setting has retired as page caching is no more used
- Tweak: Also Reset Custom Texts selection in Reset function
- Fix: When shortcode is used on a template, using quotes in some of the custom texts prevents calendar functioning correctly
- Fix: With "Separate Working Hour Schedule for every Location" enabled, provider working hours for the location is not taken into account to determine if it is working day

V3.9.1 - V3.9.1.1
- New: Providers can be allowed to use their own Stripe accounts to collect payments for their own bookings
- Tweak: Google Calendar is now fully compatible with PHP8.1 without PHP deprecated notices
- Tweak: Better handling of behavior on non-single (e.g. archive) pages
- Tweak: Fields for unused addons are no more displayed at admin booking records, reducing crowding
- Tweak: Consistent tooltip styling throughout admin
- Tweak: jQuery Multiselect is integrated in common-scripts.js
- Fix: Number of Bookings at Clients table show only value of the current week instead of all time
- Fix: In debug mode, some assets may not be loaded
- Fix: If booking is made inside DST for a date outside DST and vice versa, created Google Calendar event may be shifted
- Fix: If [app_book] shortcode is inserted outside post content, e.g. in an Elementor or similar page builder template, Stripe script cannot be called
- Fix: TinyMce shortcode insert/edit tool cannot be used with Classic Editor plugin

V3.9.0 - V3.9.0.1
- New: "Clients" admin menu item
- Tweak: Reset only email templates option on Tools > Reset
- Change: Add New Custom Schedule button for Provider removed 
- Fix: Default options may not be set during initial installation
- Fix: Vendor display name cannot be modified in Vendors page
- Fix: Vendor GeoDirectory category may not be assigned correctly
- Fix: Incorrect price for a service with Packages + Recurring Appointments

V3.8.10.5
- Tweak: Account tabs are now translatable in Custom Texts
- Fix: Price for a service with Packages + Recurring Appointments + Group Bookings is not calculated correctly

V3.8.10.4
- New: Seasonal Schedules have owners now. Only owner or admin can use a custom schedule
- Tweak: Admin SEO title for Coupons
- Tweak: When Table Start and Table End values are not set or set incorrectly, working hour tables show full day now
- Tweak: WooCommerce and WC Coupon support for WP BASE Packages
- Fix: Roles wpb_worker and wpb_client are removed after WP BASE Free version deleted but WP BASE Dev active
- Fix: Bookings of a Package is not correctly marked as package
- Fix: When using Packages + Recurring Appointments in a single service, bookings are not created as expected 
- Fix: Uppercase or mixed case coupon codes are not matched
- Fix: After saving Seasonal Schedules at the front end, page not found warning is encountered due to conflict of "year" variable with WordPress core

V3.8.10.3
- New: Number of pending bookings is now displayed in admin bar
- New: Vendors admin page now displays vendor images
- Tweak: Better display of commissions by user role
- Tweak: Minor changes on admin menu and admin toolbar
- Fix: Link to admin booking record includes type variable instead of status 
- Fix: PHP notice in Event Bookings
- Fix: PHP notice in Timezones
- Fix: PHP error in BuddyPress when Social Groups is not activated but "Integrate Locations with Groups" WP BASE setting is selected
- Fix: PHP notice in Multi Vendor GeoDirectory integration after saving profile settings

V3.8.10.2
- Fix: When date format is d/m/Y, bookings cannot be edited on admin bookings since V3.8.8.1

V3.8.10.0 - V3.8.10.1
- New: Bio Page field added to Profile Setting tab for Multi Vendor
- New: Logged in users can apply to be a vendor using the button at their profile settings
- New: app_become_vendor shortcode to apply to be a vendor
- New: Multi Vendor commissions can be set based on user roles
- New: Vendors can be allowed to override prices for services they are giving
- Tweak: Better menu support for BuddyBoss theme in mobile devices
- Tweak: On Account page in Working Hours/Holidays/Custom Schedules tabs, current provider is automatically selected instead of business rep
- Change: "Bookings as Client" tab is no more displayed in BuddyPress profile
- Fix: Last update time of bookings are not correctly displayed at admin bookings
- Fix: Admin list of vendors and commissions may not show vendor display name correctly
- Fix: PayPal IPN does not work in PHP8
- Fix: Non-admin user cannot book when they click Weekly calendar free cells due to a change in previous update

V3.8.9.0 - V3.8.9.1
- New: In Group Bookings participant entries are now saved in user meta
- Tweak: Log file is now attached to support email
- Fix: PHP warning in admin bookings in PHP8 when date created is not valid date
- Fix: PHP warning in Export/import when output buffer is empty
- Fix: Vendor settings are not displayed on admin toolbar at front end

V3.8.8.2
- New: WooCommerce Coupons can be set to be valid only for certain services, booking dates and times
- Tweak: Better handling of Popup Maker

V3.8.8.0 - V3.8.8.1
- Tweak: Compatibility with WP6.1
- Fix: When Recurring Appointments is used with WooCommerce, total price of all bookings are not reflected to the cart price
- Tweak: Book Me tab position can be seen in Theme Customizer

V3.8.7.2
- Tweak: New filters in Recurring Appointments to customize repeat number selection
- Change: In Recurring Appointments now the earliest booking is assigned as parent
- Fix: In BuddyPress integration, PHP error when Groups component is not activated
- Fix: Providers may receive unauthorized message when editing their own services

V3.8.7 - V3.8.7.1
- Change: At front end when service has changed, previous selected day is now retained
- Fix: Type variable replaced with Status in admin bookings
- Tweak: Add Settings link for Custom Pricing on Addons page
- Fix: Settings links for Test Bookings and Waiting List on Addons page do not list the correct status
- Fix: Some slots for services with long durations may be wrongly assigned as available
- Fix: Clicking an empty slot on weekly schedule at the front end (including Users WP account page) does not open new booking record
- Fix: Day and year parameter of Dashboard filter is creating conflict with WP permalinks

V3.8.6 - V3.8.6.1
- New: PHP8.1 compatibility
- Fix: In Schedules tooltips, internal bookings are not displayed
- Fix: Service name is temporarily hidden when hiding/displaying another column in Services List
- Fix: PHP error when trying to change status of a Multi Vendor Commission
- Fix: Multi Vendor Commissions status links are not displayed
- Fix: Test Bookings creation and deletion form is not displayed
- Fix: PHP warning in Locations while adding a record for the first time
- Fix: PHP error in Multi Vendor when permanently deleting child bookings

V3.8.5 - V3.8.5.1
- Change: Padding before, padding after and service is internal control is moved from Extended Service Features to the core
- Fix: In Google Calendar, when two providers target the same calendar events can be multiplied
- Fix: PHP warning in WooCommerce addon when there are no bookings to list
- Fix: Credits cannot be purchased using PayPal Standard

V3.8.4.2
- Fix: Jitsi Waiting Room countdown is not working 

V3.8.4 - V3.8.4.1
- Fix: TinyMce file warning when site language is not English and Block Editor is active (Classic Editor is not active)
- Fix: In Manage Bookings, if a provider searches with booking date or booking ID, he can view other providers' bookings
- Fix: "Permanently Delete Selected Records" button in Removed Bookings admin page is not visible
- Fix: When Selectable Durations and Recurring Appointments are used together, selected duration is only applied to first instance of recurrence
- Fix: In Credits addon, payment gateway may not be selected
- Tweak: Changes in UDF fields of a booking record are reflected back to main table column content

V3.8.3.2
- Fix: On Vendors admin page, vendor status selection links are not displayed

V3.8.3 - V3.8.3.1
- Tweak: Compatibility with WordPress version 6.0 tested
- Change: Holiday setting in Custom Schedules has been removed. Use an empty schedule or set the whole week as holiday instead. 

V3.8.2.2
- Change: Dashboard booking counts do not have link to Bookings admin page on Account Page any more
- Fix: Seats Left column on Booking in Table view shortcode does not give correct count if service duration is longer than time base
 
V3.8.2 - V3.8.2.1
- New: Action elements on admin bookings and payments pages were redesigned
- Tweak: Quotas addon adds "Q" mark after service ID if any quota is set
- Tweak: Service name of an event imported from GCal gets Event Summary now
- Fix: Slider item for Provider in BuddyPress is not displayed correctly
- Fix: In Multi Vendor addon, Account Page tabs and next/previous links do not work properly when it is under a tab of UsersWP account page
- Fix: In Multi Vendor addon with GeoDirectory integration, vendor cannot edit own bio page
- Fix: Services cannot be deleted from Account page of a vendor
- Fix: Credits payment cannot be added to WooCommerce cart for non-admin users
- Fix: PHP Notice when a vendor is saving their Working Hours from their account page

V3.8.1.3
- Fix: PHP error in services-list.php for older PHP versions (7.4<)

V3.8.1.2
- Fix: Bookings cannot be confirmed from List of Bookings - [app_list] shortcode
- Fix: PHP notice "undefined post_type" in Multi Vendor addon
- Fix: Service Providers cannot add their own services

V3.8.1.0 - V 3.8.1.1
- Change: Google Calendar default conference type is now set as Google Meet. Other options have been deprecated by Google.
- Change: Service duration can be up to 30 days even with free version
- Tweak: Better handling of page builders which are not in compatible page builders list
- Fix: When editing a service, duration select element does not reflect selected value
- Fix: In Quotas addon, weekly quotas are not correctly handled

V3.8.0.3
- Fix: "failed to open stream" error

V3.8.0.2
- Fix: WooCommerce throws error when managing an order without products and variations

V3.8.0 - V3.8.0.1
- New: Page title, aka SEO title now matches to the current tab in Business Settings admin page
- New: In Multi Vendor Marketplace addon new option "auto" for "Auto Approve" setting
- New: In Credits addon, credits can be purchased using WooCommerce cart
- Change: Several display features which were in Advanced Features addon have been moved to the core version
- Change: Complete new design for Services admin page
- Change: Global Settings > Advanced tab has been renamed as "Addons"
- Change: Database version increased to 3060
- Fix: In some page builders, e.g. in Unyson, _app_ javascript variable and all related variables may not be loaded due to wp_localize_script being called prematurely
- Fix: BuddyBoss countdown is conflicting with WP BASE countdown
- Fix: In Google Calendar some Event ID's may exceed database column size
- Fix: When importing events from GCal, daylight savings time is miscalculated
- Fix: Some Internet providers may block heartbeat

V3.7.9 - V3.7.9.1
- Tweak: WordPress V5.9 compatibility
- Tweak: In Multi Vendor, more than one CPTs can be selected
- Tweak: In Extras and Custom Pricing, "Special Days" condition can be used
- Fix: In WooCommerce account page booking sub tabs have wrong url
- Fix: When an event belonging to a Location is deleted in GCal, related booking is not removed

V3.7.8.3
- New: VENDOR_LINK email placeholder was added
- Fix: PHP error on BuddyPress member profile when "Provider can Edit Book Me Content" setting is set as "Yes"
- Fix: PARTICIPANTS placeholder of Group Bookings is not working
- Fix: PAYMENT_METHOD placeholder is using default value instead of the customized one

V3.7.8.2
- Change: Custom Function default priority changed to 6
- Tweak: Credits Balance Note is no more displayed at confirmation form for non logged in users
- Fix: 100% discount is not applied in Custom Pricing

V3.7.8.1
- Fix: WP BASE Dev may be updated from wordpress.org instead of wp-base.com

V3.7.8
- New: Certain booking events can be notified to provider and client in BuddyPress Notifications
- New: BuddyPress Book Me page and Bookings tab slug can be customized
- New: Number of seats left is displayed in Event Bookings
- Change: When bookings are permanently deleted, Auto Increment value of the bookings DB table is no more adjusted to the maximum remaining booking ID. This behavior has not been changed when Google Calendar deletes bookings, though.
- Change: UDF fields is displayed in user profile settings only for wpb_client role
- Change: Basic profile fields name, first_name, last_name, email are no more displayed and set in BuddyPress profile settings
- Change: In front end submissions ajax referer is checked only if WPB_EXTRA_SECURITY constant is set
- Fix: Event Bookings does not obey its total capacity limit
- Fix: There may be more than one Event item with the same name under "applies to" setting of Custom Pricing
- Fix: Waiting List does not obey "Use Time Base in Time Slot Calculus: No" setting
- Fix: Database caching of W3 Total Cache plugin is preventing booking items to be added to WooCommerce cart
- Fix: Location capacity prevents editing of booking by admin when capacity is full
- Dev: Child status change upon parent status change can be prevented with "app_skip_child_status_change" filter hook

V3.7.7.2
- New: BuddyPress providers can be allowed to edit their Book me tab content
- Fix: Providers cannot view services that they own at their account page

V3.7.7.1
- New: Providers can view dashboard in BuddyPress
- Change: When "compact" calendar mode and "Use Slider" is selected, location/service/worker slider items also uses similar calendar caption
- Tweak: In admin bookings of a recurring service, recurrence unit selection for different type of months is clearer now
- Tweak: Services and Payments Account pages are more compatible to admin side look
- Tweak: Cron Command link added to Help > About
- Fix: SMS reminders are not sent
- Fix: When EDD is active, stripe.js is loaded twice
- Fix: Styling issue in BuddyBoss theme prevents correct display of services table at profile page

V3.7.7
- New: "Service Properties" allow setting of service description and featured image without creating a description page
- New: Two or more instances of app_book shortcode with different fixed services can be added to the same page
- New: Easy Digital Downloads Integration Addon as *Beta*
- New: Recurring appointments can be added and edited on admin bookings
- Change: Global Service Settings were moved from Extended Service Features addon to the core
- Change: WP BASE is no longer creating a sample service description page during installation
- Fix: Monthly calendar cannot display the first slot of the day with display="with_break" parameter if the slot is busy
- Fix: Advanced Features Countdown javascript library conflicts with BuddyBoss Zoom countdown
- Fix: In SMS addon, + sign before dial code is not added for clients and providers
- Fix: Vendor working hour setting tab at the front end gives PHP error in Multi Vendor Listeo theme integration
- Dev: DB version increased to 3050
- Dev: jQuery autosize retired
- Dev: class.services added

V3.7.6.1:
- Tweak: Standalone Countdown will now blink at the last 60 seconds
- Tweak: Load speed of admin bookings page was improved
- Fix: Theme selector cannot refresh page when used in Shortcode Widget
- Fix: Location capacity cannot limit group bookings unless there is already at least one booking within the slot
- Fix: Admin Add New Event Booking button is not working
- Fix: When no business representative is available (for example after importing users from another website), on admin Holidays page holiday display on first page load does not reflect actual status
- Fix: PHP8 errors in Seasonal Schedules and Event Bookings addons
- Fix: Extended Service Features addon Upper Limit uses too much resources

V3.7.6:
- New: New calendar design and setting "compact"
- Change: Search for booking ID is now the first option in the search box of admin bookings
- Change: Default colors for BASE theme are more neutral now. Also other touches in styling

V3.7.5.4:
- New: Vendors can be allowed to set own unit prices with optional min/max limitation
- Fix: UDFs greater than 10 are not correctly replaced in emails and Google Calendar
- Fix: In List of Bookings, stray </div> closing tag when there are no bookings
- Fix: In WooCommerce Integration, when Enable Deposits setting is not set as Yes, WooCommerce thank you page cannot display order totals
- Fix: Extras cannot be used in conjunction with WooCommerce cart

V3.7.5.3:
- Fix: In Commissions, search with amount >, =, < brings incorrect commission records
- Fix: Add/remove widget post metaboxes do not show for "page" post type
- Fix: PHP error while attempting to delete a vendor permanently
- Tweak: WooCommerce cart also works for booking calendar added to classic sidebar widget

V3.7.5.2:
- Tweak: WordPress V5.8 compatibility
- Tweak: Commissions can be filtered by booking status
- Tweak: Event bookings post metabox also works when Block Editor is active
- Change: When creating commission payout file, booking status can be selected and "completed bookings" is set as default
- Change: Location, service, provider description post type selections are moved from Advanced Features to Locations, Extended Service Features and Service Providers addons, respectively
- Fix: In Multi Site, vendor of a blog is also displayed in other blogs although he is a not a member
- Fix: WP BASE Dev may be incorrectly updated from wordpress.org instead of wp-base.com (WordPress 5.8+ is required for this fix to work)

V3.7.5.1:
- New: BuddyPress Groups - Locations integration: Locations can be related to BP groups
- New: In Group Bookings, for multiple day services, a client can book for an already booked provider (but still having free capacity) for the first day of the service, but not for the other days  
- Tweak: Better and faster handling of app_book shortcode embedded on page templates
- Dev: General refactoring + security hardening 
 
V3.7.5
- New: Compatibility with LiteSpeed Cache plugin
- New: Compatibility with Cloudflare plugin (https://wordpress.org/plugins/cloudflare/)
- New: Compatibility with WP Cloudflare Super Page Cache plugin
- New: Search with WooCommerce Order ID in admin bookings
- Fix: Search with UDF fields in admin bookings does not work
- Fix: When timezone calculation is activated and client is at a different time zone, monthly calendar may not show some days if there are few free working slots for the day
- Tweak: Code refactoring in Stripe addon
- Tweak: PayPal Standard payment method displays confirmation dialog to the client now provided that payment is confirmed with IPN before client is redirected back to the website

V3.7.4.2
- Tweak: Providers can be assigned to Packages now
- Fix: Entering a numerical value in Return Url setting does not work
- Fix: PHP deprecated notice originating from SMS Twilio PHP library
- Fix: WP BASE Dev license is not recognized when sending Support Request email from Help tab
- Fix: PHP error in Events calendar in Event Bookings addon

V3.7.4
- New: "Created By" value can be changed in admin bookings
- New: "Disable Tooltips in Booking Calendars" display setting
- New: WooCommerce Enable Deposits setting: When WooCommerce payment value is less than price of the booking, "deposit fields" are displayed at Thank You page and admin order page
- New: Support for Signature field for UDF (in mobile devices only)
- New: Countdown shortcode in Advanced Features
- New: BuddyPress assign existing members as provider/vendor upon matching member type
- New: Service Provider setting "Skip dummy"
- Tweak: Seasonal Schedules have been renamed as Custom Schedules and UX/UI for adding new schedules has been rewritten
- Fix: In admin bookings, children of a parent booking are sometimes displayed incorrectly 
- Fix: In BuddyPress, assigning correct member type to the member on his extended profile does not make him vendor
- Fix: Display issue in Weekly view of service provider schedules, if current day is today
- Fix: When timezone selection is active and service lasts all day long, Group Bookings addon does not calculate available pax correctly
- Fix: In GCal location, "&" sign and other special characters are not correctly displayed
- Fix: Google Calendar error when editing an admin booking
- Dev: Mobile_Detect.php library retired. Its files will be completely removed in the next release

V3.7.3
- New: Push Notifications for Google Calendar
- New: HTML can be used in Google Calendar event descriptions
- New: "No show" and "Delete permanently" can also be selected for "Booking statuses for which events can be deleted" GCal setting
- New: In WooCommerce integration, booking product may have different tax class
- Tweak: Better handling of Group Bookings in admin bookings
- Fix: Bulk status change on admin side may not update Google Calendar event
- Fix: When Timezone is set as Server Timezone, Google Calendar does not work properly
- Fix: Reverted to previous admin status links as latest one prevented some statuses not to be displayed on Manage Bookings tab of Account page

V3.7.2
- New: Each location may have a different calendar in GCal account of the website
- Tweak: Compatibility with WordPress 5.7
- Fix: In Firefox, admin bookings Save button refreshes the page after save, not obeying admin setting
- Fix: Credits History does not display well in mobile devices
- Fix: Cancellation email is not sent for child bookings
- Fix: Cancellation email of parent booking includes details of the children

V3.7.1
- New: Manual booking made on admin side can create a WooCommerce order automatically
- New: Dashboard tab on vendor account
- New: Test Bookings now support Group Bookings
- Tweak: On WooCommerce orders page, booking links are displayed
- Fix: SMS messages are not sent to admin

V3.7.0.4
- New: In WooCommerce integration, WP BASE payments (e.g. Manual Payments) can be added to WooCommerce order amount
- New: A Secondary Commission Rate can be defined for Vendor Commissions
- New: UserWP integration in Multi Vendor addon
- Tweak: Manual Payments addon has been refactored and some UX improvements added
- Change: By default, in Payment History of Account page, only a subset of available fields are displayed now
- Fix: "Use Provider Account" setting of PayPal Standard which was introduced on February 5, 2021 does not obey "No"
- Fix: When bookings removed, commissions related to the bookings are not set as "On hold"
- Fix: In Vendor Settings, "Do Not Create Bio Page" option cannot be saved
- Fix: Manual Payment records cannot be edited on Payment History page
- Fix: When adding a new vendor from an existing WP user, userdata fields are not auto populated
- Fix: In Multi Vendor addon, GeoDirectory default admin category cannot be selected when it is empty
- Fix: Manage Bookings tab is not available in WooCommerce account page
- Fix: Waiting List available slot is not displayed if there is a previous waiting list slot at the same day

V3.7.0.3
- New: Pax (number of guests) and list of participants submitted with Group Bookings addon can be edited with Front End Edit addon

V3.7.0.2
- Fix: Previous version has "V3.7.0.1Beta4" in file header instead of the correct "V3.7.0.1"

V3.7.0.1
- New: Vendors and Providers can be allowed to have their own PayPal accounts
- Change: To allow users edit a UDF field in their profile pages "Editable?" checkbox should be checked now
- Fix: Possible conflict with Google Calendar addon with WooCommerce Bookings plugin
- Fix: Vendors who require admin approval do not get wpb_provider role after approved
- Fix: Registration only UDF fields shouldn't appear in admin booking records
- Fix: Registration only UDF fields shouldn't appear to non-vendor users
- Fix: In account page, localize_script parameters may be loaded twice
- Fix: Submitted UDF values are not saved in Multi Vendor registration
- Dev: Custom participant fields can be added to Group Bookings

V3.7.0
- New: BuddyPress + Multi Vendor + WooCommerce integration: Bookings made from a vendor's profile page can be added to WC Cart
- Fix: Location capacity prevents waiting list slots to be displayed and selected
- Fix: A waiting list slot not followed by a free slot cannot be displayed
- Fix: manage_add_export parameter of app_account shortcode is not effective if it set to zero
- Fix: $_GET["app_timestamp"] cannot pre-select date
- Change: In list of bookings, when parent is cancelled by client, child bookings will not be removed any more

V3.6.9
- Tweak: Compatibility with PHP 8.0
- Fix: jQuery UI icon positions are not correct due to WordPress V5.6
- Change: When parent is cancelled by client, completed child bookings will not be removed any more
- New: Support for GeoDirectory and Listeo themes in Multi Vendor Marketplace addon
- New: Packages can be added manually
- New: Buddypress user avatar is automatically added to worker slider
- Fix: Pay Later payment option is selectable in Sell Credits
- Fix: Pay button is visible in List of Bookings even Pay Later method is not active
- Fix: Unnecessary fields are displayed on confirmation form in Sell Credits
- Fix: When Block Editor is active, Advanced Features, BuddyPress and Event Bookings addons can conflict with certain plugins

V3.6.8
- Fix: When booking tab is excluded in app_account shortcode, its output is still displayed
- Fix: In profile settings, only last option of a UDF multi select field can be saved
- Fix: Last booking's UDF values are not saved in user's UDF preferences
- Fix: Admin cannot receive SMS messages
- Tweak: Pay Later completely refactored. New setting to disable it at checkout
- Tweak: Compatibility check with WordPress 5.6
- Tweak: Compatibility check with PHP 7.4.12
- Tweak: Free addons can be updated using WordPress Plugins page like any other plugin
- Tweak: New plugin header for addons "WPB requires"
- Tweak: UDF values can be included to exported CSV file
- New: Date range selection in Export CSV

V3.6.7
- New: Integration of Multi Vendor Marketplace with MemberPress and Paid Memberships Pro plugins
- New: In Multi Vendor addon, new setting "Give Commission for Own Sales"
- Tweak: PLAN placeholder can be used in Credits addon
- Tweak: Service Providers admin page loads faster
- Change: HTML pretty print on admin side will not be active unless WPB_ENABLE_BEAUTIFY constant is defined and it is true
- Fix: PHP undefined variable notice after deleting a user
- Fix: javascript warning for missing .map file
- Fix: Missing css codes for registration form
- Fix: PHP error when timezone is active and there are more than one product in the shopping cart

V3.6.6.3
- New: Integration of Multi Vendor Marketplace with Ultimate Membership Pro plugin
- Tweak: On a vendor page, LSW priority is automatically adjusted now
- Fix: When a WP User is deleted, if he is a service provider he is not removed from workers table
- Fix: SMS messages are double escaped

V3.6.6.2
- New: IP of client during booking is recorded and displayed in admin bookings
- New: Integration of Multi Vendor Marketplace with Restrict Content Pro membership plugin
- Tweak: UDF fields which are activated for registration form can be displayed/hidden in vendors table as columns
- Tweak: Credit History has its own tab in account page. Credit history records are now using datatables
- Fix: UDFs which are not checked as Register fields are still visible in vendor edit records
- Fix: New vendor still cannot be added

V3.6.6.1
- Fix: PHP Notice "a non numeric value encountered" during payment
- Fix: In Event Bookings + WooCommerce, event calendar adds extra instances of an event if event has WooCommerce variations

V3.6.6
- New: Support for Multi Vendor Marketplace addon including Commissions
- New: Timezone detection and selection support as a part of Advanced Features addon
- Change: When adding/editing on admin bookings, user emails are shown in user selection dropdown menu
- Change: Language selection menu is not displayed on admin pages if no languages are set
- Tweak: PHP7.4.11 compatibility checked
- Fix: GCal events of a provider reserve slots of other providers
- Fix: GCal does not update after a change in FEE made
- Fix: Inconsistency between selected language and Multi Language dropdown menu selected value
- Fix: ZOOM_HOST email placeholder of Online Meetings addon is not replaced by its value
- Fix: New vendor cannot be added
- Fix: Booking fee of payment methods is not saved to database
- Fix: Wrong credit history note in user profile for payment with credits
- Fix: Credit Balance Note is not localized with Multi Language addon language selection

V3.6.5.1
- Tweak: Admin bookings page last visited status type is saved per user and retrieved when admin user visits the page again
- Fix: JQuery Migrate jQuery.fn.size() deprecated warning
- New: Service Provider can be selected at confirmation form
- Limited Beta release for Multi Vendor Marketplace addon

V3.6.5
- New: Online Meetings (Zoom) addon
- Fix: When editing or adding a booking on admin side, if some variables are changed, datepicker blocked days are not updated correctly
- Fix: When editing a booking in admin, if service duration is longer than time base, booking record prevents editing time value around itself
- Fix: In Payment History, service name is wrong for credit sales. Irrelevant values in start, end times, location, provider fields.
- Fix: When both PayPal and Stripe are active and checkout is made with PayPal, Stripe displays a false warning message
- Fix: When editing a booking in Front End Edit, if some variables are changed, datepicker blocked days are not updated correctly
- Fix: For services longer than 24 hours, available slots creation does not take future bookings into consideration properly
- Fix: ADMIN_NOTE placeholder in emails are not correctly replaced in email templates

V3.6.4.2
- Fix: order_by attribute in shortcodes does not work when "desc" option is used
- Fix: WordPress 5.5 deprecated message for get_option('blacklist_keys')
- Fix: Follow up subject and message changes cannot be saved

V3.6.4.1
- Fix: PHP error in Front End Edit addon
- Fix: In Event Bookings addon, When type=button is selected app_book_event shortcode starts from current time instead of event start time
- Fix: In Advanced Features addon, Shortcode Widget editor does not open
- Fix: listing_status and listing_columns attributes of app_account shortcode is not effective for non-worker users

V3.6.4
- New: In Credits addon, when booking is cancelled, credits can be refunded. Credit history is displayed in user profile.
- New: Payment meta functions
- New: Trial Services in Advanced Features
- Tweak: PHP7.4.8 compatibility checked
- Tweak: WordPress 5.5 compatibility checked
- Fix: Stripe payment cannot be used with BuddyPress/BuddyBoss
- Fix: Conflict with Popup Maker
- Fix: Rebook function is not working correctly
- Fix: Front End Edit cancel button disappears with Hide Cancel Button on Confirmation Form setting
- Fix: In Google Calendar addon, list of calendars may be invalid and break display of settings if website has been migrated with a migration plugin

V3.6.3
- New: In Advanced Features Conditional Texts, [app_show] shortcode can be used to query user role, capability and logged in status
- New: Google Conference Type is selectable (Hangouts or Google Meet)
- Fix: When sending a cancellation email on admin side, confirmation email template is used instead of cancellation template
- Fix: A minor bug in conditional texts in Advanced Features addon
- Fix: Extended Service Features rounds minutes to hour and thus resolution in minutes is not preserved
- Fix: A bug in UDF addon which can only be encountered if CAPACITY placeholder is used in select element
- Change: "Name" and "email" entered in profile tab of Account page is now synced with WP_User display_name and user_email properties

V3.6.2
- Fix: Division by zero error in the Dashboard when there are no usable hours, e.g. after an overall reset
- Fix: In List of Bookings meta values email, phone, note, etc are not displayed
- Fix: Balance is not showing correctly on admin bookings list if user is not registered
- Fix: Prices truncated when editing bookings having prices with thousands separator
- Fix: Availability is not correctly calculated when there are bookings longer than one day
- Fix: Stripe does not proceed when selling credits
- Fix: FEBM does not obey "strict check" setting
- Fix: Javascript error on admin side when website language is not English, preventing language selection in Multi Language addon on Custom Texts page
- Fix: In WooCommerce integration, payment cannot be completed if paid through PayPal Standard
- Tweak: In Advanced Features, post type label is displayed now instead of post type name
- Tweak: In WooCommerce, client metas are synchronized both for registered and unregistered clients
- Tweak: In Group Bookings, a provider can accept additional clients upto service capacity while staying unavailable for other services
- Tweak: New notice when Working Hour Settings Start and End values hide set working hour slots
- Change: In wpb_edit_service and wpb_edit_worker functions, unset properties are now kept as they are
- New: In Credits addon, unlimited plans can be used in credit sales
- New: Credits can be selected to be the only payment method when selling services
- New: Pay Later can be used in combination with WooCommerce, e.g. pay deposit with WC, pay the rest with Pay Later
- New: Users in [app_users] shortcode can be filtered with "role" attribute
- New: It is now possible to delete only payment history
- New: Option to define a "Location Manager" who receives a copy from all emails related to the location. More features for Location Manager to follow.

V3.6.1.1
- Fix: On front end account page, next/previous buttons are not working
- Fix: Weekly calendar displays days incorrectly if "Week Starts On" WordPress setting is Monday

V3.6.1
- New: Paid Membership Pro plugin integration for BuddyPress addon
- Fix: Learndash Gradebook style compatibility on admin side
- Fix: Weekly calendar does not start from current week when current day is Sunday and "Week Starts On" WordPress setting is Monday

V3.6.0
- New: Pay Later payment method which allows clients make payment after they make booking
- New: Payment History is now displayed in User and Account pages
- New: Payment History page has more filter, search and display options
- New: Number of pending bookings are displayed beside Bookings menu item
- New: Select Multiple element can be used in UDF
- New: Google Hangouts can be scheduled for video conferencing in Google Calendar
- New: Admin can allow Providers to change services they are serving
- New: Google Calendar can be setup on front end Account page
- New: Advanced Features add now has "conditional texts" feature which allows customizing emails and confirmation dialogs based on service, provider and some other booking parameters
- Tweak: When multiple admins are editing services and providers, they can notice each other editing with dynamic notices
- Tweak: Google Calendar library updated to the latest version
- Tweak: WP BASE admin toolbar reorganized with deeper access
- Tweak: In Locations addon, if map is available for a location and slider view is selected, map is automatically displayed as featured image
- Change: Paypal payment option in List of Bookings removed. Instead Pay Later added.
- Change: PAYPAL placeholder has been discontinued. Should be replaced by PAYMENT placeholder which adds Pay Later option.
- Change: "Transactions" menu item was renamed as "Payment History"
- Change: "Payment Gateways" tab was renamed as "Payment Methods"
- Change: Auto Register Client setting default value is now "No"
- Change: WP BASE DB version increased to 3040
- Fix: BALANCE placeholder is not calculated correctly
- Fix: In Payment History page, search with user name is not working
- Fix: Rebook admin function not working
- Fix: Welcome popup is not closing when clicked outside
- Fix: In admin bookings, "Pending Approval" status is displayed instead of correct phrase "Pending Payment"
- Fix: When there are no providers defined, "busy" and "no workers available" states are not distinguishable
- Fix: UDF "editable" setting is taking value of "active" setting

V3.5.9
- New: Addons page displays available addons except for WP BASE Dev
- New: UDF elements have ID same as name attribute now
- New: PENDING_UNTIL placeholder can be used in emails
- New: PHP 7.4.3 compatibility
- New: WordPress 5.4 compatibility
- Change: In UDF Select element, "Please select" will only be displayed when options start with comma
- Fix: When post content is empty, "app_post_content" filter is not effective preventing triggering of asset loading externally
- Fix: Holidays and categories are not actually reset after Reset command
- Fix: When manually editing a booking on admin side, some available days are displayed as blocked in the datepicker
- Fix: Override setting of cancel and confirm is not working as expected letting clients cancel and confirm bookings outside allowed limits
- Fix: When a provider is completely deleted as WP user, his bookings are not reassigned
- Fix: Front End Edit does not allow provider to edit booking
- Fix: In Account page Bookings tab of a client, ID field has clickable link which links to nowhere whereas link should be there only for admins and SPs
- Fix: Manual language selection of the booking is not saved
- Fix: Language selection on the profile and on the front end are not synchronized

V3.5.8
- Fix: PHP notice in Variable Durations addon
- Fix: Recurring Appointments translation field is not saved
- Fix: Multiple repeating location addresses in the confirmation form are reduced

V3.5.7.4
- Tweak: In shopping cart item additions and removals, monthly timetable cells are better reflecting current availability now
- Fix: Selectable durations cannot calculate price and total duration correctly when there are more than one items in the Shopping Cart
- Fix: Service packages are shown as unavailable for the current day in monthly calendar
- Fix: Services Provided menu in admin Service Providers page cannot load its multiselect widget when Global Provider Settings tab is displayed first
- Fix: When a job of a package is removed from the cart, remaining incomplete package triggers "Min Number of Time Slots" warning preventing checkout

V3.5.7.3
- New: A WPB Admin role is defined during installation
- Change: Date format 'd/m/Y' cannot be distinguished from US format 'm/d/Y' and in admin date entry fields date values will be displayed in 'Y-m-d' or 'F j Y' format
- Fix: Service, provider, location, extra description text translations are not reflected to front end
- Fix: In debug mode, countdown style file is not being loaded

V3.5.7.2
- New setting: In Multi Language, default language can be selected
- New: Location address can be displayed in confirmation form
- Fix: Custom texts, category, location translations are not reflected to front end
- Change: When a description page does not have a featured image, default image is displayed now

V3.5.7.1
- New setting: Service selection slider can be turned on/off separately for mobile and non-mobile devices.
- Fix: Language selection for Multi Language addon does not work in admin side

V3.5.7
- New: While setting holidays, more than one consecutive day can be selected at once
- New: Stripe addon is now using credit card form by Stripe Elements supporting 3D cards
- Change: When adding a service provider on admin side, users are displayed with WP display name + user email
- Change: UI/UX change in dialogs. Now they can be closed by clicking outside
- Change: Saving cookies for non logged in clients which was removed with V3.5.1 are back with safety functions
- Fix: When booking is saved in pending status, client receives an extra confirmation email instead of admin receiving notification email
- Fix: When there are no service providers, service capacity increase is not taken into account
- Fix: In List of Bookings, disabled confirm button is still clickable and its icon is missing
- Fix: After client makes a paid booking for a service whose capacity has been decreased, admin was noticed with false positive overbook warning
- Fix: When adding a new service provider, business representative is disabled in the selection list
- Fix: When Google Calendar is in Synchronization mode, changes in previous update (V3.0.6) were causing unintentional overwriting of service and provider values of the bookings originally made from WP BASE side
- Fix: PHP 7.4 Deprecated notice in Google Calendar
- Fix: When Credits addon is active, Manual Payment entry cannot be saved
- Fix: Missing nonce check in Manual Payments
- Fix: Calendar in BuddyPress Book Me page is not bookable
- Fix: When a UDF field is empty, its placeholder is not replaced from emails and dialogs

V3.5.6
- New: Admin booking records are now marked as "Locked" during editing to allow multiple admins edit bookings without interfering with each other
- New: Attributes for [app_account] shortcode: Columns and status of list of bookings and manage bookings tabs can be customized
- New: In admin bookings, last update time can be seen
- Tweak: Credit card entry is more user friendly now
- Tweak: In monthly calendar, when browsing next months, first available date slots are auto displayed now
- Tweak: In monthly calendar, when a service lasting more than one day is selected, days as long as service lasts are displayed as selected (Only for Variable Durations addon)
- Tweak: Added more filters to control how events are saved as bookings (Only for Google Calendar addon)
- Fix: Admin Services List table does not resize well due to table-layout:fixed

V3.5.5.2
- Change: In My Account page the default tab is Bookings now
- Change: In working hours setting, selecting whole table makes hidden rows to be displayed now
- Tweak: UDF custom class addition refactored
- Fix: Sending amount when creating Stripe token results denial from Stripe server
- Fix: JS parameters loaded twice in My Account page
- Fix: Bis Rep bookings are not displayed in admin daily and weekly schedules
- Fix: PHP deprecated message in PHP V7.4 when adding a new admin booking

V3.5.5.1
- Tweak: PHP V7.4 Compatibility
- Tweak: Now AVS (Address Verification System) in Authorize.net Payment Gateway can be disabled allowing simple credit card form to be used
- Fix: strpos deprecated notices in PHP V7.3
- Fix: In WooCommerce, JSON error message received after checkout completed (only for WooCommerce addon)
- Fix: Start and end times of bookings imported from Google Calendar may not be displayed in admin bookings

V3.5.5
- Change: In Global Settings > Quick Start, Create a Booking Page function may be selected to create My Account page, instead of previous List of Bookings page
- Change: Default title of tabs created by My Account shortcode is empty now
- Fix: In Admin Schedules page, Next button works only once
- Fix: When website language is not English, if data format includes textual month representation, manual bookings cannot be added
- Fix: In admin bookings, changing start date does not update selectable end date and selectable times

V3.5.4
- Change: End date for all day long services now displays the next day's date
- Change: Service durations from 12.5 hours to 23.5 hours are not selectable any more
- New: With Advanced Features addon, service durations can be upto 30 days (Only for Advanced Features and Variable Durations addons)

V3.5.3.1
- Tweak: Support of Packages + Group Bookings
- Change: Deselecting a selected time slot is not allowed by clicking on the same slot any more
- Fix: UDF Check box values cannot be changed in admin (Only for UDF addon)

V3.5.3 October 22, 2019
- Compatibility with WordPress V5.3 checked
- Change: Admin css changed to fit WP V5.3
- Change: Use Slider setting is now by default No
- New: Support for Waiting List addon
- Fix: Cannot remove items from Shopping Cart

V3.5.2.4 September 26, 2019
- Tweak: Added several parameters in javascript to be used as hooks
- Fix: Conflict with WP Bakery plugin on WPB_PLUGIN_DIR constant
- Fix: GCal Addon does not clear calendars list after Reset Configuration (Only for Google Calendar addon)
- Fix: GCal Addon tries to alter auto increment value of bookings table although no records are deleted (Only for Google Calendar addon)
- Tweak: GCal addon now accepts all day events (Only for Google Calendar addon)
- Fix: When Event Bookings active, end time of Google Calendar reserved events are not displayed (For Event Bookings and Google Calendar addons)
- New: Now each duration can have own price (Only for Selectable Durations addon)

V3.5.2.2 September 9, 2019
- Fix: PHP error on Global Settings page

V3.5.2.1 September 7, 2019
- Fix: Wrong download for WP BASE Dev: wordpress.org used instead of wp-base.com

V3.5.2 September 6, 2019
- Fix: Next month button does not function

V3.5.1 September 4, 2019
- Fix: Codes claimed to cause vulnerability removed

V3.5.0
- New: Admin Dashboard page
- Fix: WP BASE shortcodes do not update with ajax when inserted on a template with do_shortcode function
- Fix: Client and Provider default capabilities are not correctly set during installation
- Fix: Confirmation message is not displayed after credits purchase (Only for Credits addon)
- Tweak: Additional security for custom functions
- Tweak: Confirmation title and text can be translated (Only for Credits and Multi Language addons)
- Tweak: Product pages are added as selectable service description pages in WooCommerce integration (Only for WooCommerce addon)

V3.4.6
- Fix: PHP missing variable notice in wh.php file due to the update in V3.4.5
- Fix: "Separate Working Hour Schedule for every Location" setting is always executed as Yes (only with Locations addon)
- Fix: Seasonal Working Hours was not working properly when location work hours are in effect (only with Locations and Seasonal Working Hours addon)
- Fix: Some javascript functions are not working due to wrong pagenow global js parameter (only in Dev version)
- Fix: When Shopping Cart is not active and an MA addon is active, confirmation form Cancel button click does not remove virtual cart items from DB (only with Packages, Recurring Appointments, Extras addons)
- New: Holidays can be set separately for each location (only with Locations addon)

V3.4.5
- Fix: PHP Warning message about jQuery datepicker local file when locale is set other than English
- Tweak: wh.php refactored to support setting service/provider schedules per location
- Change: Close/open feature used on a few postboxes has been removed

V3.4.4
- New: Account page creation with [app_account] shortcode
- Fix: Firefox bug which caches previously selected option value in select/option elements
- Fix: In "Your Bookings" user's page, next/previous buttons do not function
- Fix: For a full day service, monthly calendar incorrectly shows some unavailable days free (but correctly prevents booking)
- Fix: For new manual admin side bookings, prices are not "locked" but price and deposit fields are incorrectly set as readonly
- Fix: Navigate away warning (browser notice while leaving page after an unsaved field entry) incorrectly fires after clicking submit button
- Fix: Some RTL issues
- Fix: "Ignore business representative working hours" setting is not properly taken into account
- Change: When "Ignore business representative working hours" is set as Yes, holidays of the service is taken into account (previously Business Representative's holidays were used)
- Tweak: Minor styling changes on admin side and on monthly calendar and on confirmation form
- Tweak: In random provider selection, unavailable ones can be omitted with WPB_CHECK_WORKER_AVAIL constant
- Tweak: $_GET['app_timestamp'] which allows setting start date of a calendar now accepts human readable dates (previously only timestamp was accepted)

V3.4.3
- Fix: When manually editing a pending, removed or completed booking in Admin bookings, email send checkbox is checked although check box is disabled.
- Fix: When manually editing a removed booking in Admin bookings, send cancellation email check box is not selectable unless status is changed
- Change: 86400's are changed with DAY_IN_SECONDS constant
- Change: Some click events in front-scripts.js changed with touchstart for better user experience
- New: UDF delimiter can be set by a PHP constant other than the default value comma

V3.4.2
- Fix: Admin bookings cannot be saved if site language is not English
- Fix: No preference selection with Service Providers does not show all available slots
- Change: After database reset, working hours of default worker is set to default values
- New: Multi Language support for gateways

V3.4.1
- New: With "Multitasking Business Rep." setting, more than one service at a time slot can be served
- Tweak: Added action hooks in gateways for Multi Language
- Tweak: Payment gateway setting fields order
- Tweak: Better handling of automatic timetable opening after service change
- Fix: Minor help text correction
- Fix: When no preference is selected, if all providers are on holiday (but not break nor busy), booking can be done

V3.4
- New: Support for Credits addon
- New: Working hour setting tables can be limited to reduce height of the setting tables
- New: Daily schedules added. Also supports multiple providers side by side
- Change: Additional styles are now loaded after stylesheets
- Change: Minor style changes
- Tweak: In monthly calendar, timetable for current day is now automatically opened on load
- Tweak: IF EXISTS has been added to DROP TABLE query during uninstall
- Tweak: In debug mode, WP BASE menu items are added to the front end toolbar
- Tweak: Autocomplete off has been added to date picker input field
- Fix: After resetting database tables completely, services cannot be added
- Fix: If "Use Time Base in Time Slot Calculus" is set as yes, booking end time is not correct
- Fix: Admin booking search function does not take non logged in clients into consideration
- Fix: Admin pagination link styles omitted by WP5.0 core added
- Fix: Admin booking filter for week selection finds bookings with one week shift when start of week is Monday
- Fix: PHP notice for previously existed, non active widget
- Fix: Random SP selection is not working as expected
- Fix: If all SPs are busy with a certain service, preceeding slots are not reserved for another service
- Fix: Login link not clickable when Advanced Features addon is not active
- Fix: Login interface displayed twice

V3.3
- Change: Monthly calendar revamped
- Change: Show legend default value is set to No
- Fix: Cannot add new booking from Schedules page
- Fix: In monthly calendar, slots for today are not selectable

V3.2.3
- New: PHP7.3 compatibility
- Fix: TinyMCE warning in Gutenberg editor
- Fix: color picker not working
- Tweak: Minor changes in admin.css for Multi Language addon

V3.2.2
- Tweak: Reduced number of queries in admin bookings page
- Tweak: css change when hovering a free slot
- Fix: Provider is still free although he has been booked in another service at the same slot
- Fix: Default Settings are not restored after "Restore to default settings" unless email templates check box is checked
- Fix: Slots are not correctly shown unavailable in legacy mode when service duration is longer than time base

V3.2.1.1
- Fix: Admin "Add New" button tries to add event instead of service
- Fix: When admin enters a manual booking without strict check, end time cannot be set

V3.2.1
- New: WP 5.0 compatibility
- New: Support for Event Bookings addon
- Change: Confirmation form css
- Change: Pointer tutorials have been retired
- Fix: Javascript error for table view in mobile device

V3.2.0
- New: Slider option instead of pulldown menu for service selection
- Change: jQuery Mobile is no more used
- Change: PHP 5.4 support dropped. WP BASE now requires PHP 5.5+
- Tweak: Support for Front End End
- Fix: Javascript error when connected with mobile device
- Fix: Notices are not displayed in mobile devices
- Fix: Time selection issue in admin bookings in certain time formats
- Fix: Error when a shortcode is inserted in Divi or OnePager block

V3.1.0
- Tweak: Overall code cleaning and refactoring
- Change: Custom Functions is not using PHP eval function any more
- Change: TableTools for DataTables has been removed as it was deprecated by their developers
- Fix: qtip error while displaying description for service tooltip
- Fix: WooCommerce compatibility class causes description text to be duplicated

V3.0.1
- jQuery Multiselect updated to V3
- Added filter for modifying ajax tooltip
- Bot trap added to the confirmation form
- Improved admin booking record creation and opening speed
- Significantly improved page load speed of custom texts
- Admin booking record design improved
- Code refactoring
- Fix: Deposit calculation ignores decimals

V3.0.0
- Initial public release

v3.0 Beta52
- Change: Folder name is wp-base-dev now
- Change: Handling of location/service/worker fields changed behavior. More intuitive and flexible now
- Change: Some help texts moved to wp-base.com
- New: License system
- Fix: Search by name in admin bookings does not account for first_name and last_name of client
- Fix: In manual booking, for worker=0 case, service availability is wrongly checked although "Always Check Available Times of Services" setting is No

v3.0 Beta43
- Fix: From email when its setting is left empty
- Fix: Location capacity not working
- Fix: List shortcode breaks html due to missing esc_attr
- Fix: Cancellation does noot work on BP user tab
- Fix: Cancel confirmation javascript message not displayed
- Fix: Cancelled notice is not displayed
- Change: Front End Login is a part of Advanced Features addon now

V3.0 Beta42
- New classes to control menu behavior consistently
- New setting LSW Priority to control menu behavior
- New feature: Location can be edited with FEE
- New feature: Removed status display reason (cancellation, abandonment)
- FEE codes refactored

V3.0 Beta41
- Bug fixes

V3.0 Beta40
- Bug fixes
- New: Some admin setting panes (e.g. Quick Start) are collapsible
- Change: On page load a worker is preselected by default instead of "no preference"
- New setting: Remember latest booked provider
- New Addon: Event Bookings

V3.0 Beta38
- Change: Displaying busy status on front end is back
- New: With setting of display mode, in calendars unavailable slots can be hidden, 0 to 24 hours status can be displayed
- Tweak: Faster loading of pages

V3.0 Beta37
- WP BASe is now WP BASE
- Change: Schedules page and code is re-written under a new WpBSchedules class
- Fix: Remaining time of cart starts from preset when page refreshed and a new item added

V3.0 Beta36
- Change: Admin methods separated into several classes and have new file locations
- Fix: Test appointments cannot assign worker

V3.0 Beta35
- Fixes, improvements and new settings in WooCommerce integration
- Change: Gracefully clear cache. wp_flush_cache is no more used and own cache flushing is handled by invalidation method
- Change: php sessions are not used any more
- Fix: Filtering for worker does not work

V3.0 Beta33
- Fix: PayPal cancel return page not saving
- New Setting: PayPal Item Name
- New feature: Signature can be captured as UDF field

V3.0 Beta32
- Bug fixes
- New placeholder in Advanced Pricing: PAYMENT_METHOD
- Change: Wording for Service Provider to Provider

V3.0 Beta31
- mpdf updated to V7.0
- Refactored cancel booking codes in the new WpBCancel class
- New: Theme selector widget
- Fix: PHP fatal error caused by missing or corrupted settings
- Fix: Import failing when there are extensive booking records
- Fix: Reset without email templates does not work properly
- Fix: PHP notice on admin side when there are no pages on the website

V3.0 Beta30
- DB version increased to 3030
- "Happening Now" wording changed to "In Progress"
- Improvements in Monthly Calendar Widget
- Better handling of lazy load
- Change: Pending Approval bookings auto removal time setting changed from "minutes" to "hours"
- Change: Some user settings relocated
- Change: "app_pagination" shortcode changed as "app_next"
- Fix: Fatal error in Test Bookings
- Fix: DB error when deleting a UDF
- Fix: Missing closing div tag in confirmation form
- Fix: Service records per page does not obey its setting
- Fix: Pax does not show in confirmation form when seats=1

V3.0 Beta28
- New roles: wpb_worker and wpb_client
- New capability control: Admin side menus and tabs can be displayed per used based on capabilities (with a user access manager plugin)
- Fix: Several PHP notices in PHP7.2
- Fix: Fatal error in admin bookings

V3.0 Beta27
- Fix: PHP warning after deleting all categories

V3.0 Beta26
- Category can bu used in confirmation form and in emails
- New Addon: Multi Language

V3.0 Beta23
- New template functions added
- Various bug fixes

V3.0 Beta22
- New setting: Editing upper limit
- Change: Name change for several addons

V3.0 Beta21
- From email fallback value changed to no-reply@domainname

V3.0 Beta19
- New setting and feature: Lazy Load

V3.0 Beta18
- New: Links pointing to old website are automatically converted to new website url during Import
- Basic structure for new Addon: Waiting List

V3.0 Beta17
- New: Slot availability is OOP now (WpB_Calendar and WpB_Slot classes)

V3.0 Beta16
- Fix: PHP error when saving manual payment records
- Fix: PHP error when modular shortcodes are used
- Fix: Decimal separator as comma not accepted in manual payments
- Fix: Service capacity not taken into account when no workers defined
- Fix: During saving of a new booking, submitted user data not saved to WP user meta
- Fix: With Shopping Card and Extras, selected extras are saved to all bookings, while only parent should have this extra
- Fix: Quotas admin script added to irrelevant admin pages, e.g. user profile page
- Fix: Services do not respect Annual Schedules
- Fix: In admin bookings, when service has been selected from a free one, price and deposit fields are not updating
- Fix: If a service/worker/location is not on the first page, after saving its order is miscalculated
- Fix: PHP notice about $_POST['start_time'] when selected service lasts all day
- Fix: Cache is flushed too frequently
- Tweak: Better responsive support for transactions page
- Tweak: Better handling of Terms & Conditions
- Tweak: Tabletools file moved to plugins folder for better security (DB Version updated to 3012)
- Tweak: To prevent tampering with, Cookies are subject to hash check now
- Tweak: Updating of admin bookings row dynamically when record has been changed
- Tweak: Much faster calendar creation on front end for packages when all delays are in days
- New setting and behavior: "Collapse Record after Successful Save" is by default set as Yes
- New setting: Extras Multiplied with Pax
- New: Caching and preloading for front end
- New Setting: Client Selects Service Provider controls whether SP selection pulldown will be displayed

V3.0 Beta15
- Fix: Warnings after FEE save, Quotas not functioning correctly
- Fix: Extras not updating price when editing in admin Bookings
- Fix: Group Bookings not updating price when editing in Admin Bookings
- Fix: wpb_delete_app_meta and wpb_delete_service_meta not working
- Tweak: Faster new booking creation on admin bookings
- Tweak: List of Participants in Group Bookings
- Tweak: Better spinner system during ajax calls
- Tweak: Responsive support for Admin Booking and Manage Bookings pages enhanced

V3.0
- Fix: PHP error on display settings
- Fix: When admin.php is lazy loaded, front hooks are loaded twice
- Fix: Adding a service as extra fails
- Fix: Advanced Pricing calculations for multiple appointments are not correct
- Fix: Location post type is not saved
- Change: Front end assets (add_default_js) are configured at a later instant now (wp_enqueue_scripts)
- Change: "Default Service" is now "Sample Service"
- Change: All instances of SERVICE_PROVIDER placeholder is replaced by WORKER (Also SERVICE_PROVIDER_EMAIL, SERVICE_PROVIDER_PHONE, SERVICE_PROVIDER_ID)
- Change: Group booking completely changed. Now number of seats are selected before time slot creation
- New: Countdown time (Previously this was handled by Pending Payment auto removal time)
- New: Compatibility with Popup Maker
- New: Effects when opening and closing dialogs
- Tweak: Advance Pricing settings are codemirror'ed

V3.0 Beta13
- Fix: After sorting of a service, "More" settings are not moved to the new position
- Fix: PHP fatal error on FE Manage Bookings page
- Fix: Export CSV on Front End Booking Management not respecting only_own setting
- Change: Sorting of services is only possible when all "more" settings are hidden
- Change: app_provider_id POST/GET variable is deprecated in favour of app_worker_id
- Change: app_service_providers shortcode deprecated in favour of app_workers

V3.0 Beta12
- Fix: In list of Bookings, Cancel button incorrectly enabled when a worker is client of another worker (Settings: for client cancel not allowed, for worker allowed)
- Fix: Test appointments not respecting location
- Fix: Settings cannot be saved in BuddyPress
- Fix: Issues with CodeMirror
- Tweak: Seats can be selected for packages
- Change: It is now required to set WPB_REMOVE_ALL_DATA to true in order to delete all data during uninstall
- Change: User submitted validation filters now return false when submitted value validates
- Change: User submitted fields are only saved if all fields are validated
- New Tool: Custom Functions

v3.0 Beta11
- Fix: Swipe.setup() javascript error on non WP-BASE pages
- Fix: Regular service price is not correctly calculated from unit price of variable durations
- Fix: FEE gives too less booking error
- Fix: FEE does not update changed user data
- Change: Time functions separated from core.php
- Change: Ajax functions moved to front-ajax.php
- Change: Auxilliary methods, e.g. _explode, _implode, sanitize_commas moved to functions.php
- Change: Some other methods, e.g. format_duration, format_currency moved to functions.php
- Change: get_reserve_apps no longer accepts lsw parameters
- Change: In FEE form spans have class names now
- Change: Listing order of Coupons and Easy Pricing have been reversed
- Change: "Action upon price mismatch" removed for now to be added in a later release
- Tweak: Front end now respects worker availability as well as service availability when worker=0
- Tweak: css setting fields use Codemirror now
- Tweak: RAM usage slightly improved
- Tweak: is_busy function refactored. Now it is more readable and potentially using less PHP picks
- Tweak: Recurring appointments - Now accepts 3 monthly modes. Accepts only weekdays, weekends, every other day, EOD without sunday. REPEAT_UNIT can be omitted
- New Settings: Hide Cancel button, thousands separator, decimal separator. Now number format is free from locale

V3.0 Beta10
- Fix: For non logged in users, user fields cannot be sent on the confirmation form
- Fix: Auto register not sending notification
- Fix: app_book switches to default view after clicking previous/next buttons
- Fix: PHP error "to few arguments" when only Annual Schedules and Packages are activated
- Fix: Wrong available times are pulled from DB because of Annual Schedules
- Fix: Book in Flex View: Wrong starting time if duration is long, e.g. 12 hours
- Fix: Woocommerce: Zero priced service not accepted
- Fix: Woocommerce: Messages and titles are not respecting "Name in Cart" setting
- Fix: Woocommerce: Order processing
- Fix: Auto increment value in working hours tables preventing save (DB Version updated to 3010)
- Fix: Service category selections are lost if ESF is deactivated, services saved and ESF reactivated
- New: Filters to define own css and theme files (and folders)
- New: Compatibility with WP-Rocket caching plugin
- Change: Formatting of phone field is suspended for now
- Change: Mobile dedect updated to the latest version (2.8.25)
- Change: DB Version 3010
- Change: In Pro Features addon, WpBProf class removed
- Tweak: app-common.js refactored and minimized: app-common.min.js
- Tweak: Recurring appointments refactored
- Tweak: Better display and handling of multiple appointments on confirmation form with inclusion of a "details" field

V3.0 Beta9
- New: Follow up emails can also have PDF attachments
- New: Alphabetic sorting for categories
- New: Second optional parameter (fallback) for get_options method
- New setting: Addon Fields Position on Confirmation Form
- New: In Recurring Appointments, repeat unit and max repeats are selectable
- Fix: X-Theme compatibility issue when Debug is off
- Fix: find_first_free_slot failing for all day services
- Fix: reserve_apps_by_worker is now location independent
- Fix: Recurring appointments not blocking slots correctly
- Change: PDF files is saved in /uploads/__app/ folder instead of /uploads/
- Change: PDF Addon now requires PHP5.4+
- Tweak: Better handling of all day services: End time is now 00:00:00 instead of an artificial 23:59:59
- Tweak: Location on first load adapts to default service

V3.0 Beta8
- New: Created by column (on behalf booking) in admin-bookings
- New: Terms & Conditions
- New setting: Tax
- New: TAX, TAX_PERCENT, PRICE_WITHOUT_TAX email placeholders added
- Fix: Saving General Global Settings creates a new Make an Appointment page
- Fix: Single quotes in service names break Extras page
- Fix: Service/Category/Location/Worker names and notes are not displayed correctly when there are double quotes
- Fix: PHP error on admin side due to deactivation of Categories
- Fix: Various wording fixes on front end for all day services
- Fix: Price not shown in test email
- Fix: PHP warning in post_confirmation due to price mismatch logic moved to Pro Features
- Change: State and Country fields have been removed from confirmation form (To be added as dropdown in the future )
- Change: W3 Total cache is allowed to minify css and javascript
- Change: "Note" field in confirmation form is textarea now

V3.0 Beta7
- Fix: Collision between month and week filters in admin bookings
- Fix: Service providers list cannot be sorted by name
- Fix: Time base "auto" setting not taking working hours into account if there is an off the hour cell (e.g. it should not allow 30 minutes if someone starts at 9:15am)
- Fix: Tutorials
- Change: Categories are now a part of Extended Service Features
- Tweak: W3 Total Cache clear post cache is run with app_flush_cache action
- Tweak: Post ID can be used as Return Page setting

V3.0 Beta6
- New: RTL support
- Tweak: Most front end css files are minified and combined. Javascript libraries are combined and moved to footer (WP-BASE debug mode should be off)
- Tweak: Annual Scheduling: As alternative schedule selection changes, its sample also dynamically changes
- Tweak: In front end calendars' start attribute "auto" can be selected which will take the calendar to the first available date
- Fix: Monthly calendar markup when week starts on Saturday
- Fix: "Starts" checkbox does not correctly reflect its setting in "Hidden Fields in the Confirmation Form"
- Fix: PHP fatal error when connected with mobile device
- Fix: Js error when connected with mobile device
- Fix: Various corrections covering all day services

V3.0 Beta5
- New setting: Always Check Available Times of Services
- New: Ability to search for appt. date and filter with appt. week in admin bookings
- Fix: php error switch_to_blog does not exist
- Fix: DB error during network activate
- Fix: DB error due to manual_payment column left from previous version

V3.0 Beta4
- Tweak: Quotas is now using a cached result set dramatically improving performance
- Tweak: Services settings are redesigned
- Fix: Special Days settings not displayed when Quotas activated alone
- Fix: Weekly quota now also correctly blocks weeks starting other than Monday
- Fix: gcal_ID index too long
- Fix: PHP error on multisite blog delete
- Fix: When entering new booking, change of date/time correctly changes price
- Fix: DB error when searching with "note"
- Fix: Correction of $GLOBALS['appointments'] write position
- Change: "Any quota" has been renamed as "Total Upcoming" and it does not take completed bookings into account now
- Change: Working hours tables do not have autoincrement column any more
- Change: Javascript in admin-bookings has been refactored and moved to a separate file: app-admin.js
- New settings in admin bookings: Lock - lockes monetary fields to automatic changes. Admin Note - To take private notes
- New: Confirmation fields (service, price, start time, etc ) can be hidden
- New: Compliance with W3 Total Cache checked, compliance with X Theme provided
- New: email templates can be excluded from Reset to Defaults
- New: Location parameter in Manage Bookings shortcode

V3.0 Beta3
- Fix: PHP errors in PHP V5.3
- Fix: Unable to install
- Fix: Special Days and Weekly Limits in Quotas not working correctly
- Fix: RAM shortage issue when importing data from A+
- Tweak: Quotas now blocks time slots even on preload (Monthly and Weekly calendars only)

V3.0 Beta2
- New setting: "From name" for emails
- New: Compatibility tested and maintained with Live Composer, Fusion Builder and Elementor
- New: Auto register and auto login settings
- New: Categories are now sortable
- Fix: PHP Error during saving of user settings
- Fix: Issues clearing Locations and Categories from a service
- Fix: Locations DB table lacking auto increment field
- Fix: Minor display issue when deposit or price is zero
- Fix: Rebook button now correctly get user fields from source booking. Also auto populate user works for Rebook
- Fix: Php warning messages in quotas and limits when saving services
- Fix: "Add more" settings are not saved for a newly added service
- Tweak: If non logged in client books on a WC page and auto register is "Yes", client is automatically logged in
- Tweak: Improvements in countdown UI
- Tweak: Improvements in Packages speed
- Tweak: Improvements on confirmation form
- Tweak: Easy setting of repetitive package jobs
- Tweak: app_hide and app_show now accepts < and > signs

V3.0.0 Beta1
- Change: DB structure changed to reduce mysql RAM usage, improve runtime speed and increase scalability
- Change: Class names and instantiation routines are standardized
- Change: Option names and php constants
- Change: Pending status now has 2 different texts on the admin side depending on the payment expectation: Pending Approval, Pending Payment
- Change: Now there are 2 different auto remove set time for Pending Approval, Pending Payment.
- Change: Default Number of Booking Records per Page is now 20
- Change: Arrangement of setting pages
- Change: non logged-in users (with cookie check in browser) can also use FEE. New email placeholder EDIT
- Change: Edit dialog horizontal position
- Change: mPDF updated to V6.1. Now it supports PHP7
- New setting: "Allow provider cancel own appointments"
- New: Remote confirmation of pending booking by client using CONFIRM placeholder. New setting "Allow client confirm appointments by email"
- New shortcode: [app_show] which can also be used in emails
- New feature: Conditional email texts using app_hide and app_show shortcodes
- New: When an email template has changed, changed part (first 10 words) is saved in log file
- New addon: WooCommerce
- New: SERVICE_ID, LOCATION_ID, SERVICE_PROVIDER_ID placeholders
- New: DB table "base_meta" which will keep previous app, location, service additional fields and udf values
- New user fields: First name, Last name
- New: UDF Phone field which auto dedects country and adds flag
- New: UDF Date field
- New: Follow-up emails as part of Reminder Emails Addon
- New feature: Admin side text replace
- New fature: Services can be selected as Extra
- New feature: User specific coupons
- New: Automatic loading of scripts and css files for templates and automatic recognition shortcodes to be updated via ajax
- New: In List of Bookings, Packages and other Multiple Bookings are displayed as a single item, however children can be viewed in tooltip
- New: Packages may include other packages as jobs
- New: Confirmation form auto adjusts itself to 1/2 column layout
- Fix: editor.min.css not loading in emails page
- Fix: pdf attachment file accepts placeholders

V1.99.327
- Fix: Infinite loop in get_reserve_apps_by_worker
- Fix: Packages selectable in Test Appointments
- Fix: js failing when MarketPress is not active
- Fix: Saving wrong UDF values when multiple booking records are open

V1.99.326
- Fix: Value in admin bookings page under balance column
- Fix: Test code left in FEE
- Fix: In FEE, service provider value is not sent to ajax request
- Fix: Saving Locations page resetting all global settings
- Fix: php error in book_stack in mobile device
- Fix: Better handling for jQuery.mobile conflicts with 3rd party plugins
- Fix: Various issues in Packages addon
- Fix: wp_is_mobile replaced with $this->is_mobile
- Fix: delete_user action not functioning
- New setting: FEE editable booking fields (service, provider, date, time) are now selectable. Check your settings after update
- New: Locations now support Google Maps in confirmation form, dialog and emails
- New: Rebook button
- New: Automatic adaptation for SiteOrigin, Divi, Unyson, OnePager page builders. Also tested and confirmed compatibility with Visual Composer, Beaver Builder, Make, Layers.
- New addons: Recurring Appointments, MarketPress
- Change: Multiple Clients addon renamed as "Group Bookings"
- Change: Cancelling using link in email requires logging in
- Change: Multiple Appointments addon renamed as "Shopping Cart"
- Change: Due Payment Reminder addon is renamed as "Reminder Emails". Reminder emails are now a part of this addon.
- Change: Renamed "Deposit" as "Security Deposit" for clarity

V1.99.323
- New: Locations are now selectable in "applies to" field of Custom Pricing, Extras and Coupons
- Change: Settings for Extras are now under Global Settings
- Fix: update_lsw not accepting 0 value to be forced
- Fix: Rescheduling of unassigned provider (w=0) in admin bookings
- Fix: Front End Edit cannot select late booking (Must be doing front end edit, late booking allowed, must be today, selected service must be longer than time base, its starting time must not be divisible by its duration)

V1.99.322
- Fix: Week numbers in annual schedule calculations are now consistent with starting day of the week
- Fix: When a child becomes parent, its parent_id set as its own ID (It should be 0)
- Fix: Showing available slots when duration > time base and working hours do not fully cover duration
- Change: Multiple appointment is handled in a separate class now (in multiple.php)
- Change: As status of a parent changes, children match to the parent status

V1.99.321
- Change: No more supporting php versions less than V5.3.0
- Change: Various optimization improvements on the front end
- Change: Added default columns to display for app_manage (Previously it was empty, displaying all available columns)
- New: In bookings page the following columns are added as hidden: created, location, price, deposit, paid, balance, email, phone, address, postcode, city, country. These can be made visible using "Screen options".
- New: Price, deposit, paid, balance column headers show total value per client for the page
- New: Added categories for services. DB version is now 2.1.1
- Fix: Division by zero fatal error when variable services active and preselect first service is set to No
- Fix: Custom texts are being displayed in alphabetical order by default (previously this was done by datatables after page load)
- Fix: Addons submenu item location was before Global Settings
- Fix: app_tutorial_continue function giving fatal error
- Fix: php warning error for UDFs when no UDF defined
- Fix: More export/import bugs
- Fix: Calendars not showing available slots when midnight - first available working hour is not divisible by duration

V1.99.319
- Change and fix: Use "any" as status attribute in app_manage shortcode in order to display all available statuses (Previously using "all" which was messed up with "all" tab which is showing all bookings).
- Change: When adding a manual booking, first free day is automatically selected (Previously it was current day, free or not)
- Change: UDF's are NOT added to app_manage as columns by default. They have to be added manually.
- Fix: Cron command and job
- Fix: Special days in ESS are not taken into account
- Fix: Exact hours are not selected for the first available day if time base is less than service duration and there is a lead time
- Fix: Manual payment column removed from CSV export
- Fix: php fatal error when using book_stack
- Fix: Multiselect not loading in edit-post page
- Fix: FE Booking management pagination links adding extra "page" parameter to the url
- Fix: If no valid email provided, error message is being repeatedly logged for reminder email (Now an action is provided instead of logging)

V1.99.318
- Fix: Export bookings is no more displayed on bookings page (Displayed under Tools>Export/Import or FE Booking Management)
- Fix: Hide column controls in Bookings page Screen Controls
- Fix: Import of serialized data
- Fix: In Service Providers page Dummy checkbox not reflecting actual setting
- Fix: Late booking cannot be done in blocked time any more
- Fix: Wrong behavior in service provider editing
- New: User role can be selected in Easy Custom Pricing
- New Setting: Action upon price mismatch
- New Addon: Extras
- New Addon: Variable Durations
- New: Debug can display how price is affected by Addons
- New: app_quotas_is_allowed filter has been added
- New: Column 'additional' in workers and locations tables. DB version is now 2.0.9
- Change: Minor markup change in admin-bookings.php covering label class="app_iedit_user"
- Change: In post confirmation "end" value is taken into account to calculate length of the service (previously duration).
- Change: UDF table has been moved to wp-options
- Change: wp_cache_flush is being called less frequently now
- Change: Discount to selected user roles setting removed (This can be adjusted better with Easy Custom Pricing now)
- Change: UDF columns on Bookings page are hidden by default (They can be made visible using "Screen Options" as before)

V1.99.315
- Fix: Manual payment submitted amount 1cent issue
- Fix: Late booking issue when service duration is longer than time base
- Change: In confirmation and edit forms, empty div margin are set to zero
- Change: Advanced Pricing is changed as Advanced Custom Pricing and it is a part of Custom Pricing addon now
- Change: Zero value is formatted and currency sign for monetary values is not added any more in emails
- New: Easy Custom Pricing, which is a part of Custom pricing
- New: Setting: Late booking permission time

V1.99.313
- Fix: Manual bookings dialog behavior when more than one dialog open
- Fix: php error while changing status on Manage Bookings
- Fix: Paging issues for Coupons and Alternative Schedules
- New: Export button can be added/removed with add_export attribute in app_manage shortcode
- New: Number of business records per page setting (Locations, services, service providers per page)
- Change: Tab order in global settings changed

V1.99.312
- New: Settings for timezones
- New: Settings for GCal
- Fix: Wrong attachment in reminder emails

V1.99.311
- Fix: White space in front of php opening tag in user.php cleared
- Fix: Welcome dialog in Network Admin disabled
- Fix: Payment gateways not loaded: Add manual payment button not displayed

V1.99.310
- Change: qtip and DataTables updated to latest versions
- Change: Services table ID column is auto increment now
- Change: Location of global settings rearranged
- Change: Pro Options and Widgets Pro addons combined as Pro Features
- Change: Annual schedules, holidays, special days and other business options are now exported/imported with "Database tables" button
- Change: BuddyPress messages are now given with JQuery dialog
- New: Widgets can now be exported/imported
- New: Custom texts can be excluded from import
- New: Undo function during copy/paste of working hours
- New: A BuddyPress user profile tab can be added to let clients directly book the provider
- New: Service providers can add, edit and delete own services. They can edit own annual schedules
- New: Addons can be directly used as WP plugins
- Fix: Special days included in export/import
- Fix: Special days not being saved
- Fix: Datatables not submitting hidden fields in Custom Texts

V1.99.301
- Fix: php method not found error
- Change: pro.php addon file renamed as pro-options.php

V1.99.300
- Change: Plugin name changed to WP-BASE
- Change: Lead Times Per Service addon renamed as Extended Service Settings (ESS)
- Change: Pro specific service settings moved to ESS
- Change: All Payment Gateways are reorganized as Addons
- Change: Holiday term is changed to Special Day in Quotas and ESS
- New: Addons Annual Assignments & Holidays, Export/Import, Modular Shortcodes, Service Providers, Widgets Pro which include codes previously a part of Pro version
- New: Settings for FEE: Allow Client Make Higher Price Selections, Update Price When Edited Values Result in Lower Price
- New: FEE now also updates price when time of day has been changed
- New: Filters for quotas app_quotas_where and app_quotas_where_for_special_days
- New: Feature and setting:
- Fix: Special day definition can be done on Services tab
- Fix: Packages does not correctly calculate availability when job delay is zero
- Fix: Manual payments dialog issues
- Fix: FEE does not calculate price of packages


v1.99.220
- Fix: Admin additional style missing tags
- Fix: Weekly calendar not displaying correctly in client timezone
- Fix: Several corrections in Payment Gateways
- Fix: Packages respect quotas for each package service (job)
- New: SERVICE_PROVIDER_PHONE, SERVICE_PROVIDER_EMAIL placeholders can be used in email templates
- New: In emails, SERVER_DATE_TIME and SERVER_END_DATE_TIME placeholders can be used.
- New" In emails PAYPAL placeholder can be used
- New: In List of Bookings PayPal Pay Now button can be added
- New: Coupons Addon
- New: Simplyfy by Mastercard Payment gateway
- New: Location capacity can be set to limit number of services that can be given at any time slot (New column in Locations db table)
- New: "From email" setting and app_from_email filter hook
- Change: In emails, DATE_TIME and END_DATE_TIME values show client local time now. CLIENT_DATE_TIME and CLIENT_END_DATE_TIME placeholders became redundant and removed.
- Change: Confirmation dialog now has close button

V1.99.218
- Fix: Wrong evaluation of providers and working hours when there are more than one effective service on the same page
- Fix: During import, some lines are executed altough they should be skipped
- Fix: Issues in Book Now Single button
- Fix: One week shift in annual assignments
- Fix: Seats addon not accepting seats > 1
- Fix: Seats field appearing in confirmation form although Seats are disabled
- Fix: UDF change does not update price on the fly
- Fix: Reverse process flow, app_hide shortcode in another shortcode
- Fix: Front End Edit service and provider changes not working correctly
- Fix: Being able to click another edit button while edit form is called, but not displayed yet
- Fix: Issue in hide shortcode when used in a widget
- Fix: Field alert message closing other dialog
- Fix: Test appointments can select internal services
- Fix: Readonly display of client Time Zone
- New: In FEE form, clicking cancel button asks confirmation
- New: Service attribute in app_book shortcode
- New: hide_if attribute in app_locations, app_services, app_service_providers shortcodes
- New: app_get_duration filter which allows variable service duration
- New: "Hard Limit" which forcibly breaks execution of list of bookings (app_list) if there are too many bookings. Limit time (default 10 secs) can be set using APP_HARD_LIMIT in wp-config.php
- Change: In shortcodes cap='none' will be accepted as true for everyone (including not logged in visitors)
- Change: In FEE form, clicking cancel button does not refresh page
- Change: Upon error, FEE form is not closed any more
- Change: Disable timezone handling setting is not effective on admin side
- Change: In FEE, Nothing changed and save error give different error messages now
- Change: In FEE, client allowed to select provider as "no preference" if: a) "Selection Method of Service Provider in No Preference setting" is "client selects" AND capacity is increased OR b) 'app_is_no_pref_allowed' filter returns true

V1.99.216
- Fix: incorrect formatting of exported settings when it includes curly brackets: json_encode in export settings is replaced by wp_json_encode
- Fix: Js error in packages when service name has a quotation mark
- Fix: Some issues in time slot generation
- Change: Annual schedules show full year (Previously it was starting from current week)

V1.99.214
- New setting to enable/disable logging of setting changes
- In Manual Booking, save response "You did not make any changes" (neutral-black) is separated from "Record could not be saved" (error-red)
- New shortcode "app_hide" to control display of elements on the page according to some conditions, e.g. selection of a worker
- New shortcode "app_book_stack" for new booking layout: Book in Stack View
- Now it is possible to change the process flow from locations->services->providers to providers->services->locations or any order combination of the three.
- STATUS placeholder is included in email templates
- is_ios and is_android functions added
- New columns in services db table book_start and book_end
- New working hours entry and editing concept. Working hours can be edited in a graphical interface. Multiple working hour tables can be edited at the same time. Copy/paste functionality between wh tables.
- New Annual Schedules: For every provider and service, an alternative working schedule which will be selected per week basis can be selected
- New: Service providers can select their time zones and set working hours according to those values.
- New: Now it is possible to define "Service Working Hours". This is used when no service provider is picked on the front end
- New: Addon "Packages" allowing to combine two or more services. Also supports multiple bookings (More than one package can be added)
- New cart concept for Multiple and Package appointments
- New: Addon "SMS" which lets sending of confirmation, reminder etc messages over SMS by Twilio, Plivo or Nexmo
- Change: Default order_by (order on page load) setting of app_list changed from "ID" to "ID DESC"
- Change: Install is a separate class now (in activate.php)
- Change: Focusing to a field is disabled in iOS devices (can be overriden)
- Change: "pack" order changed
- Deprecated: Limited Time Services and Extended Exceptions Addons
- Global Upper Limit now accepts negative numbers, letting to close all services (negative numbers are already accepted in per service settings)
- User time zone is auto detected now
- List of bookings is displayed after fully rendered
- New setting: Enable Time Zone Handling
- Refactoring of email functions
- Datatables (1.10.10) and dt.responsive (2.0.1) updated to the latest versions
- For Multiple Appointments, parent ID can be edited on admin edit bookings page
- Setting import/export changed to json format
- Fix: Unnecessary columns being displayed in List Of Bookings
- Fix: Duplicate loading of default_js customization variables
- Fix: Datatables not loading for custom texts page

V1.99.205
- Weekly Schedule now displays bookings inline
- Month selection in upper limit added
- Improvements in speed and look of page when connected with mobile device
- Widgets and widget instances can be added to or removed from each page individually. Different selections for mobile and non mobile devices.

V1.99.204
- New settings "auto delete" and "auto delete delay time" which enable automatic deletion of expired bookings (removed and end time passed)
- New shortcode [app_no_html] which can be used to load ApB js and css files to a custom template without generating any html output and killing its contents.
- New $GLOBALS['appointment'] for current appointment object, when available, i.e. in edit, admin edit, email functions. Always check it with isset($GLOBALS['appointment'])
- mpdf moved to includes/pro-files/ folder
- New important filter: app_js_parameters to set some javascript parameters (limited, but the correct way)
- All javascript $(body) and $(document.body) replaced with $(document)
- More jquery ui tabs added on admin settings pages
- Fixed: Manual Payment button double clicking adding extra payment

V1.99.203
- Fix: email settings cannot be saved
- Fix: Some warnings if all services are deleted
- Fix: Swipe calling ajax twice

V1.99.202
-Fix: php error on settings page

V1.99.201
- jQuery UI tabs usage on certain admin pages
- UDF custom functions now accept 2 parameters: Saved value and ID of the udf
- Datepickers now obey "Week starts on" WP setting
- Wp Editor can be used in Shortcode widget content setting
- Tooltips on calendar pages are now using ajax instead of preload, dramatically reducing load time
- Monthly calendars do not preload as default, dramatically reducing page load time
- Most of the scripts are moved to app-common.js file
- qtip codes are refactored
- Expired test appointments are now automatically deleted
- Improvements in front end page load speed
- Improvements in Advanced pricing functionality and display
- Debug mode to display configuration errors and time slot availability on the front end
- Calendars admin page renamed as "Schedules"
- Display order of UDF and standard user fields on the confirmation form can be freely set
- Automatic detection of mobile phone and tablet connection
- "Form" element is now wrapping edit form in order to make use of browser autofill property
- New setting "Debug mode": Either configuration errors and states are visible to admin or not
- New setting "Consider tablets as mobile"
- New setting "Mobile theme": Front end theme that will be used for mobile phones (and tablets if selected as mobile)
- New setting "Color scheme (swatch)"
- New shortcode app_book: A compact shortcode which creates a complete booking page with mobile phone support and swipe functionality
- New shortcodes app_is_mobile and app_is_not_mobile: Let different contents and shortcodes run for mobile and non-mobile devices
- total_paid, deposit, balance columns can be used in List shortcode
- Fixed: Datepicker format
- Fixed: Changes were not accepted when date/time fields were not changed
- Fixed: Wrong page refreshed when provider changed on Working Hours setting page
- Fixed: php error in Test Appointments
- Fixed: Front end themeroller selection changing selected admin theme
- Fixed: After edit, confirmation dialog displaying unedited booking data
- Fixed: Bookings filtered with month could not be sorted
- Fixed: Extended exceptions not saving settings


V1.99.200
1. In new bookings, user data auto populates after selection
2. Fixed: Front end edit giving error
3. Custom css file location has been changed: uploads/__app/
4. Manual payment entries change balance and total payment fields on the fly
5. Admin theme can be selected separately. Default admin theme set to "smoothness" whose colors fit better
6. Fixed wrong sorting when closest last is selected
7. Unassigned provider can be selectable in admin bookings filter
8. _appointments_data javascript namespace changed as _app_
9. User fields display order can be changed on the confirmation form
10. In pdf creation, only one font left, the others cleaned, however now any true type fonts can be uploaded to uploads/__app/fonts/ folder to be used with pdf.
11. Some changes in file names and location of the files and methods to make Personal and Pro versions be possible.
12. Fixed: On behalf editing not respecting quotas issue
13. Changed: Completed appointments are also taken into account for quotas
14. Fixed: quoatas-per-service php warning after deletion of a service
15. Fixed: Editing a booking of a deleted service not possible issue
16. New user fields postcode and country. Handling of user fields standardized on code level
17. Admin bookings filter/sort save property removed
18. In List of Bookings, button elements are being used instead of input elements
19. "Show more/less" control on services tab moved from Addons to admin.php
20. "Show all/hide all" link has been added to expand all service addon settings at once
21. Add Manual Payment button has been activated on Front End management page
22. Refactoring of all classes and functions
23. Plugin is now independent from its directory name
24. app_all_appointments and app_my_appointments shortcodes are deprecated
25. Reminder emails are not sent if they are supposed to be sent in the past, i.e. if booking made after reminder time
26. CREATED placeholder (date/time of booking has been made) can be used in emails
27. UDF is now supporting user functions, but without parameters
28. The following method is deprecated and will be deleted in the next update: is_working
29. New APP_DISABLE_RESET, APP_DISABLE_ADVANCED_PRICING, APP_DISABLE_GCAL global constants to disable Resetting, Advanced Pricing Addon and Google Calendar Addon on wp-config.php level
30. TableTools added to Custom Texts. Also all records can be selected
31. In admin calendars jump to a selected day is possible
32. In admin calendars different color for "partly busy" days
33. Fixed: Booking issues when there are no service providers defined
34. Plugin menu item is listed after "Comments" on left side admin menu
35. Compatibility for WP4.4 tested
36. Cancel button disabled status fixed for already cancelled booking
37. New "padding before" setting for each service. Previous break is renamed as "padding after"
38. Fixed: In manage bookings, changing appointment time to a later time was not possible
39. On Manage Bookings page, custom datepick jQuery widget replaced with jQuery UI datepicker widget
