Plugin Name: Membership 2
Author:      Paul Kevin, Ashok Kumar Nath, Philipp Stracker
Build Stamp: 2018-05-24T15:06:45.857Z

Change Log:
----------------------------------------------------------------------

1.1.5
- Added: Delete coupon from Stripe when deleted in plugin
- Added: Coupon type in invoice
- Added: New filter ms_controller_frontend_resources_load to disable membership front scripts from loading on all pages
- Added: Bulk action on users list to resend verification email
- Added: Privacy Policy registration checkbox confirmation
- Added: Member GDPR tools
- Improved: Membership front scripts load on all pages
- Fix: Subscription Email for free membership
- Fix: Draft invoice created on PayPal on first payments
- Fix: After account verification, show the payment page
- Fix: Old members show account status as active
- Fix: Stripe coupon details on payment form
- Fix: Email sending for free membership

1.1.4
- Fix: existing users should not need to verify email

1.1.3
- Added: ms_auth_ajax_login_can_login filter to select usernames allowed to login
- Added: When normal user is made to admin user , subscriptions are removed
- Added: Account approval setting and email template
- Added: Account approval user management
- Improved: Check if membership is free on trial periods
- Improved: Unique nonce field names for login and registration forms
- Improved: Cache enabled by default on media protection
- Improved: More filters
- Fixed: Update issues between pro and free
- Fixed: Login page script loading
- Fixed: Login page login_footer action to load in wp_footer
- Fixed: Protection rule for All BuddyPress Pages is not protecting pages like activity, groups, members.
- Fixed: Duplicate memberships when subscribed to a previous membership
- Fixed: Category protection should not check for pages
- Fixed: Category protection of post when individual post protection addon is enabled
- Fixed: More tag protection when multi-membership add-on is active
- Fixed: Bulk user import first and last name
- Fixed: Minor UI fixes

1.1.2 (Jan 08 2018)
- Added: Members List Export to CSV
- Added: Membership and Member XML import and export format
- Added: Rest API Help docs
- Added: Duration for coupons - coupon can be applied onetime or recurring
- Added: Bulk import of users in CSV as members to a membership
- Added: Cache membership setting to allow 12 hour cache of data. This speeds up loading of pages
- Added: constant MS_QUERY_CACHE_DURATION to define custom cache duration
- Added: Exclude system pages from Search addon
- Added: Menu protection for parent menu items now extends to submenu items
- Added: Advanced media protection support for more server types
- Added: Force Default Gateway Setting to set the default active gateway for manually added users
- Added: Additional Invoice Setting add-on. Allows setting custom invoice id rendering but keeps the default invoice id in the gateway
- Fixed: MailChimp Addon list function
- Fixed: Styling for Membership Attributes PopUp
- Fixed: Dripped Membership Url protection and menu protection
- Fixed: Buddypress media protection conflict
- Fixed: Update Member status for manually created members
- Fixed: Mail sending cron fix
- Fixed: Posts displaying when protected in category protection
- Fixed: Rest API addon
- Fixed: Rest API input integer validation (https://github.com/WP-API/WP-API/issues/1520) and change param of /member status to member_status
- Fixed: Auth Net Payment Gateway (Fix the 'Extra Options is invalid.' authorize error)
- Fixed: Profile Fields add-on readonly option was not working
- Fixed: Custom Post type protection rule to exclude private post types
- Fixed: Conflict with Yoast WordPress SEO when registering for a membership
- Fixed: Email notification for paid manual payment gateway
- Fixed: Creating a new membership setting the visibility to private will hide the membership from the list
- Fixed: Manual Gatewey not setting the gateway name in the invoice
- Fixed: Invitation Addon errors
- Fixed: User with admin roles cannot be assigned for a membership from backend (admin and editors)
- Fixed: Dripped content membership details page showing error.
- Fixed: Stripe subscription duplicate invoices generated
- Fixed: End date on expired membership mail
- Fixed: Wording in help page activity section

1.1.1
- Fixed: Menu Protection items not showing to all users except admin

1.1
- Added: Premium WP Rest Addon
- Added: Advanced media protection settings
- Added: New filter ms_frontend_controller_change_signup_url to allow disabling Membership login
- Added: Column on admin user list with Membership name
- Added: Added setting to enable or disable cron usage for email sending
- Added: Emails can now be sent directly or using the WordPress cron
- Added: Integration with new reCaptcha plugin to the reCaptcha Addon
- Added: Option for Admin created members to generate an invoice to the membership
- Added: Option for manual invoice created to keep the expire date of the membership the same
- Added: Addon to hide protected pages from visitor search
- Added: Plugin deactivation hook to clear Membership Crons
- Added: Stripe Plan webhooks
- Added: Some code refactoring for premium classes

- Fixed: Upgraded Mailchimp API to 3.0
- Fixed: Multiple Invoice creation
- Fixed: Default gateway on invoice
- Fixed: Invoice status not changing for free payments
- Fixed: Protection with many addons enabled
- Fixed: Mailchimp list for deactivated users with drop down memberships
- Fixed: Membership Script and Style conflict on other admin pages
- Fixed: URL Protection Addon on https
- Fixed: Media Protection Addon
- Fixed: Editing Subscription details for administrators.
- Fixed: Stripe API lib upgraded
- Fixed: Login and reset password texts in the frontend form
- Fixed: bbPress dripped membership protection rules
- Fixed: CPT Addon on free version
- Fixed: Manually changing status of membership to pending
- Fixed: Membership Admin edit page Payment options ajax animation
- Fixed: Javascript web browser console error
- Fixed: CSS interfering with WP media library
- Fixed: Authorize.net integration
- Fixed: PayPal integration with recurring payments
- Fixed: PayPal invoice creation
- Fixed: Stripe subscriptions staying active on trial end
- Fixed: Stripe subscription for renewed and cancelled memberships
- Fixed: Stripe Subscriptions canceled via Stripe being re-created in the plugin
- Fixed: Posts from a protected category from being displayed in the search
- Fixed: Finite Memberships not expired after the expiration date 
- Fixed: Translation of some hardcoded Strings

1.0.3.5
----------------------------------------------------------------------
- Added: Added a filter "ms_rule_url_model_exception_rule" to set exception for URL restriction addon
- Improved: Remove Paypal "Ship to my billing address" option from express gateway as this is digital product
- Improved: wp_get_sites() deprecated function is replaced with get_sites()
- Fixed: Protection rule could not be access from subsites when network protection was enabled
- Fixed: Fatal error - Uncaught Error: [] operator not supported for strings
- Fixed: Post protection option could not be changed from post edit screen
- Fixed: Issue with MS_PAYPAL_TRIAL_SUBSCRIPTION when trial is enabled, members account was not activated
- Fixed: Selection sliders were not working in some cases
- Fixed: Second attribute could not be created
- Fixed: New members not being added by M2 2Checkout Gateway
- Fixed: Duplicate Content Protection Message when custom message is enabled
- Fixed: Images are not getting load if media protection is enabled
- Fixed: Applying Membership 2 Coupon is giving fatal error in PHP 7.1.3
- Fixed: Membership was not showing in account page
- Fixed: Resolved some notices




1.0.3.4
----------------------------------------------------------------------
- Added: WP reCaptcha notices
- Added: Adding default column in Member table
- Added: Adding default column in Billing table
- Added: Hierarchical category in protection rule - category protection addon
- Added: New Custom Logo in stripe checkout
- Improved: Paypal Ship option is supressed from Paypal page
- Fixed: MS_PROTECT_NETWORK still adding membership menu in subsite.
- Fixed: BuddyPress protection rule for "All BP pages" is now working.
- Fixed: Fatal error: Undefined function is_multisie()
- Fixed: Remove/hide option in the login link in shortcode
- Fixed: show_membership attribute fixed in account shortcode
- Fixed: Display name was not saving in membership form
- Fixed: Some post content get protected when category protection is enabled
- Fixed: Show table view even if there is no data in the table
- Fixed: Fix automated email responses not sent after payment
- Fixed: Unable to edit or create membership attributes
- Fixed: Membership name was appearing in wordpress search result
- Fixed: Meta box was appearing for non-admin users
- Fixed: ms-membership-buy shortcode was allowing registration
- Fixed: "Subscription - Before expires" email sent multiple times
- Fixed: Pending membership switch to Active automatically
- Fixed: Category protection addon is not working in some sites
- Fixed: Conflict with BuddyPress - Current User notice
- Fixed: Enabling Category protection addon doesnt show categories in widget
- Fixed: Capability lost in Member capabilities addon
- Fixed: Membership 2 Pro Automated Email No Password Variable




1.0.3.3
----------------------------------------------------------------------

1.0.3.2
----------------------------------------------------------------------
- Small Bugfixes

- Fixed: Problems with the two Add-ons; WPML and Coupons.
- Fixed: Wrong display in Help page; Pro plugin said "you are using the free plugin".
- Improved: Compatibility with Domain Mapping plugin.

1.0.3.1
----------------------------------------------------------------------
- Unlock some Add-ons again, that were accidentally displayed as "Pro Only"!

1.0.3.0
----------------------------------------------------------------------
- Added: Template system, now M2 pages (Membership List, Payment Form, Registration Page, Account Page) can be overwritten from theme
- Added: Option to select different list for different membership in Mailchimp addon
- Added: Option to show BP XProfile fields in M2 account page
- Added: ms_get_blog_list_args filter added to show non-public blogs in protectin rules page in network admin
- Added: Define 'MS_CPT_ENABLE_ACCESS_BOX' to enable protection meta box in custom post type
- Added: Filter 'ms_helper_listtable_billing_default_column' added for default column in billing table
- Added: Filter 'ms_gateway_stripe_charge_amount' and 'ms_gateway_stripe_form_details_after' added to customize the amount for stripe
- Fixed: Duplicate expiration emails were sent on expiration date.
- Fixed: Test Memberships was not working (simulation mode)
- Fixed: Protected posts appears in archive page
- Fixed: Conflict with WPEngine Deployment
- Fixed: Wrong message when a coupon is removed
- Fixed: Wrong logic on category protection for multiple membership
- Fixed: Inactive Memberships still available for renewal
- Fixed: BP activation page is always protected in multisite
- Fixed: Some unexpected notices and warnings
- Fixed: Input validation of registration page fails to redirect to correct page when shortcode is used
- Fixed: Price on SignUp page not shows correctly for the administrator
- Fixed: Deleting an user doesn't not remove the membership information from Membership page
- Fixed: JS Conflict for #password ID
- Fixed: Media Protection doesn't work in some cases
- Fixed: Display name was not being saved from edit account page
- Fixed: Buddy Press extended profile fields data not showing on Membership 2 My Account page
- Fixed: Cannot remove value for payment button in payment gateway settings
- Fixed: Free membership setup with Membership 2 Pro shows still payment information
- Removed: Filter `ms_class_file_override`

1.0.2.9
----------------------------------------------------------------------
- Fixed: Version change

1.0.2.8
----------------------------------------------------------------------
- Added: New import option to import each membership on its own, to prevent memory- or similar overflow issues.
- Added: Settings for PayPal gateways now also list the country "Croatia".
- Added: Filters  'ms_helper_color_index' and 'ms_model_membership_get_color'
- Improved: Memberships can't be assigned to admin users any longer
- Fixed: IE and Edge users can now log in from front end again
- Fixed: Import of M1 data now correctly creates recurring memberships.
- Fixed: For people who saw a PHP notice "WDEV_DEBUG is undefined": It's gone!
- Fixed: Missing translation string added.
- Fixed: Redirect add on works properly again
- Fixed: Nickname now saves when BuddyPress profile fields add on is activated
- Fixed: Missing string in default lost password default email no longer missing
- Fixed: Media protection no longer breaks images in customizer

1.0.2.7
----------------------------------------------------------------------
- Added: Constant 'MS_LOG_EMAILS' to enable log and display email logs
- Added: Constant 'MS_PROTECTED_MESSAGE_REVERSE_RULE' to implement reverse logic on membership based protection message
- Added: Bulk Delete Membership feature
- Fixed: BuddyPress Integration addon: "All BuddyPress Pages" rule being overwritten by rule set in Pages
- Fixed: Warning when the database table prefix is not the default "wp_"
- Fixed: Login on non-SSL page is broken when SSL forced for wp-admin
- Fixed: "Already have an account" link not sending user to login form after failed register attempt
- Fixed: "Already have a user account" doesn't redirect to purchase subscription after login
- Fixed: HTTPS not being forced when Stripe gateway is set to Live mode
- Fixed: Expired email sent even the user is not really expired
- Fixed: Invitation code addon: conflict with Yoast SEO plugin
- Fixed: Invitation code addon: usage count wasn't decreased when user removed it when signing up
- Fixed: Multiple Membership addon: Membership was not removed when set as cancel in upgrade path and pay later
- Fixed: Expired trial is not going to payment gateway when clicking "sign up" in invoice.
- Fixed: Taxamo addon: tax was not added as tax in PayPal and 2Checkout gateways
- Fixed: User can't register in Opera Mini browser
- Fixed: Membership based protection message
- Fixed: Advanced Menu Protection Replace Menu not working
- Fixed: Simulation Box on frontend overlaps with navigation
- Fixed: Content Protection Message based on membership protection
- Fixed: Gateway mode changed from Sandbox to Live on plugin update
- Fixed: Expired date mismatch with the original expired date in PayPal
- Fixed: Expiry date not set while importing data in Finite membership
- Fixed: Finite paid membership turned into free membership while importing data
- Fixed: Finite paid membership subscription period gets doubled for a member while importing data
- Fixed: Gateway mode changed into Live mode when something is changed in settings

1.0.2.6
----------------------------------------------------------------------
- Added: Constant 'MS_DISABLE_WP_NEW_USER_NOTIFICATION' to disable WP default welcome on registration
- Added: Constant 'MS_PAYPAL_TRIAL_SUBSCRIPTION' to enable subscription for Paypal when trial mode is enabled (works only at Paypal)
- Added: Constant 'MS_PROCESS_PER_BATCH' to set number of members for processing per batch
- Added: Addon - WP reCaptcha integration
- Added: Batch Process - Membership Status check, helpful when you have lots of members
- Enhancement: Display warning in HELP page if cron jobs are disabled
- Fixed: User could not use same invitation code for different memberships
- Fixed: Confirmation emails not sent when registering new user from admin end
- Fixed: Category protected posts was being appeared in home and search result page
- Fixed: Warning on edit membership screen when % sign is in the membership name
- Fixed: Subsite users subscription details can't be edited
- Fixed: Visitors coming from search engines links get blank page, Error 500
- Fixed: Upgrade path is ignored when a member is logged in but has no subscription
- Fixed: Media Protection - Individual Media files protection doesn't work if embedded
- Fixed: Media Protection - changes attachment URLs but does not revert when disabled
- Fixed: Media Protection - changing URL of non protected media items
- Fixed: Media Protection - Linked media URL was not masking
- Fixed: Media Protection - Video file was not playing
- Fixed: XProfile Date field was not being saved in registration form
- Fixed: White screen in WP-Touch settings page
- Fixed: BuddyPress Members directory could not be protected
- Fixed: BuddyPress sitewide pages are not protected
- Fixed: Welcome to BuddyPress Admin Item shows twice in Admin Side Protection Rules
- Fixed: Typos in Automated Response Email Default Text
- Fixed: Admin Protection - Direct link can be accessed
- Fixed: Protected post are being appeared in feed
- Fixed: Network Protection - Selected pages can't be viewed from network admin interface
- Fixed: Inernal Server Error on adding a member in a multisite configuration

1.0.2.5
----------------------------------------------------------------------
- Added: Constant M2_FORCE_NO_SSL to avoid forcing SSL in Stripe Live Mode
- Fixed: Manual Payment Gateway always in Sandbox Mode
- Fixed: Free Payment Gateway always in Sandbox Mode
- Fixed: Membership Payment amount could not be saved in Firefox
- Fixed: BuddyPress Integration - No xProfile field validation
- Fixed: BuddyPress Integration - No validation error message shown
- Fixed: Select drop down in Authorize.net checkout was broken
- Fixed: JS conflict with Visual Composer
- Fixed: JS conflict with Be Theme
- Fixed: JS conflict with LayerSlider
- Fixed: Pagination was not working for Classifieds plugin
- Fixed: Search was not working on front-end
- Fixed: Upgrade path settings for memberships were being ignored
- Fixed: Junk error message on Add Member page
- Fixed: Currency was always USD in 2CO gateway
- Fixed: Search was not working in Members Capability page
- Fixed: Invitation Code - Max uses features were ignored
- Fixed: Invitation Code - New code created automatically if wrong code is provided
- Fixed: Some post types were not working for protection
- Fixed: Recurring events are not showing in event calendar (Events+)
- Fixed: Menu item protection was not working for Guest Membership
- Fixed: Force SSL on Stripe checkout page in Live Mode

1.0.2.4
----------------------------------------------------------------------
- Add new option 'non-admin' to the shortcode [ms-user]
- Improve support for protection rules on admin-side (shortcode, menu-items)
- Improve payment-matching for imported subscriptions
- Improve the transaction logs page and show better description for PayPal transactions
- Improve and fix minor issues in PayPal Standard gateway, related to imported subscriptions
- Improve the Edit-Member page to only offer valid subscription status options
- Fix bug that caused expiration emails to be sent multiple times
- Fix incorrectly displayed "Live Mode" flag for payment gateways on initial setup
- Fix a PHP notice in the login form
- Fix BuddyPress XProfile issue (caused by M2 loading before BP was initialized)
- Fix issue in Account page that did not save the users email address
- Fix error about undefined value 'user_id' when editing a user in M2
- Fix error in Searchindex addon that (among others) caused a problem with Sitemaps
- Fix issue in Profile-Fields Addon that would not save website/description
- Fix small issues with formatting some time/date values
- Fix small issue in Authorize.Net payment settings that would not save Secure Payments setting
- Fix wrong logic that would hide the Billing menu item if all paid memberships were private
- Fix small issue in URL-protection that ignored the last slash of the URL rule
- Fix a issue that caused the modal background to stay open after closing popups in some cases
- Small clean-up, add/update filters, fix typos, ...

1.0.2.3
----------------------------------------------------------------------
- Add new email template to customize the Forgot Password email
- Add new option to Authorize.Net gateway settings: "Secure Payment" asks for CVC code on every payment
- Improve transaction-logging for Authorize.Net payments
- Improve UI of the Authorize.Net payment form on front end
- Fix possible issue with Authorize.Net Gateway that might send empty form to the gateway
- Fix PHP warnings caused by Profile Fields Add-on
- Fix a bug in the Taxamo-Addon to include correct currency code with transactions
- Fix display of line-breaks in membership description on front-end
- Fix bug in invitation codes/coupons Add-on that randomly created empty codes
- Fix invitation code Add-on so entering correct codes does not trigger an error message
- Fix for caching issues on WP Engine
- Fix missing error messages when registering username that is already in use
- Fix wrong file-type displayed (always jpg) in the media protection add-on
- Fix error during import "class MS_Gateway_Admin not found"
- Fix incorrect message "BuddyPress uses Membership page"
- Fix dates that displayed in GMT instead of local timezone
- Fix bug that allowed logged-in users to register a new account

1.0.2.2
----------------------------------------------------------------------
- Improve the shortcode column in the admin membership list
- Improve layout of [ms-note] messages on front-end and select lists in admin pages
- Improve performance of the billings page, show additional details in edit-invoice screen
- Fix wrong registration workflow that showed membership list instead of payment form
- Fix the Reset Password workflow
- Fix issue in WP 4.3 that sent password-reset emails during user registration
- Fix incompatibility with MarketPress 3
- Fix problem with user registration when the password fields were hidden via Profile Fields Add-on
- Fix ms-protect-content shortcode: Resolve shortcodes in protected content also for admin users
- Fix bug in setup-wizard that sometimes did not finish after creating the first membership
- Fix issue where Manual Payment displayed price multiple times (e.g. when using Yoast SEO)
- Fix an issue with Internet Explorer privacy settings that caused IE to reject M2 cookies
- Replace text-domain constant MS_TEXT_DOMAIN with string 'membership2' to comply with WordPress standards
- Update several background libraries (mainly select2, fontawesome, jQueryUI)

1.0.2.1
----------------------------------------------------------------------
- Fix parse error during user registration in older PHP versions

1.0.2.0
----------------------------------------------------------------------
- Add new filter in Members list to filter members by subscription status (active/expired)
- Add new Variable for Automated Emails: Membership Description
- Add API functions: ms_api, get_membership_id, add_subscription (see API Docs for details)
- Add a "Retry" function to Transaction logs to re-process a single transaction
- Add a "Auto Matching" screen to the billings page to link M1 payments with memberships
- Add notice when unsupported Permalink options are detected
- Add condition to prevent WordPress from updating M2 Pro while WPMUDEV Dashboard is disabled
- Add logging of additional invoice data (checkout-date, IP) and improve payment history dialog
- Update the Authorize.Net library to latest version that uses the new API URLs
- Improve Invitation code Add-on to accept an code via URL param &invitation_code=abc
- Improved the details in the Pro-Rating Add-on with short instructions
- Improve Membership Description to allow shortcodes
- Improve transaction logs with more details and small layout improvements
- Improve billings list to not show invoices with status "new" by default
- Fix the user-name variables in email/shortcodes (use display name instead of login name)
- Fix the "Ignore" action in the Transaction log list
- Fix an issue where M2 returns an error to PayPal when a non-M2 payment is made Howin the PayPal account
- Fix several issues in PayPal Standard gateway that would not process transactions correctly
- Fix a bug in Pro-Rating Add-on to correctly apply discount from now on
- Fix Taxamo Add-on to send the invoice-currency and correct user IP for PayPal IPN payments
- Fix protection bug that would hide custom posts in certain situations, e.g. when using wp_list_pages()
- Fix wrong signup-logic to instantly disable the old subscription on membership upgrade/downgrade
- Fix a PHP error that occured when paying the first invoice of a member via manual gateway
- Fix a possible recursive redirection when showing the Autorize.Net payment form
- Fix displayed payment method for subscriptions in Member editor screen
- Fix an issue that would not actiavte imported subscriptions
- Fix issue that did not notify the blow admin of new user signups
- Fix wrong redirects/URLs on some SSL sites
- Small changes like fix some typos, add new filters and code cleanup

1.0.1.1
----------------------------------------------------------------------
- Add a new Automated Email Response: User account created (i.e. welcome email)
- Add a warning when BuddyPress pages conflict with M2 Membership pages
- Add a warning when M2 is installed in an deprecated directory (can cause conflicts)
- Fix detection of valid subscriptions to fix issues with subscriptions getting expired too early
- Fix the BuddyPress registration form/workflow
- Fix the Profile Fields Add-on, now settings are actually saved
- Fix Invitation Code Add-on to not automatically change existing codes upon saving
- Fix bug that prevented deleting invoices
- Fix a bug that would temporarily grant access to a membership when user cancels payment
- Fix a bug that created duplicate email templates every time an email was sent
- Fix a bug in the reset-script that would delete too much data in multisite installs (see Help > Advanced Settings)
- Fix a wrong action hook used in registration form that would display wrong fields when certain plugins are activated
- Fix a PHP warning on Membership 2 pages about "invalid argument in foreach"

1.0.1.0
----------------------------------------------------------------------
- Add gateway: 2Checkout
- Add new Add-on for WPML integration
- Add new Add-on to enable Pro-Rating when switching memberships
- Add new Add-on to allow Search Engines to index protected content
- Add new Add-on to customize the Registration Form and User Profile Fields
- Add new Add-on that allows creation of custom Membership Attributes
- Add a new Add/Edit Member page where subscription details can be modified
- Add an admin notice when no payment gateway is active but paid memberships exist
- Add bulk actions to the Members admin page
- Add a dedicated Edit Membership page with improved layout
- Add an edit page to change the Membership Type at any time
- Add an edit page to override Automated Email Responses for each Membership
- Add an edit page to override Protection Messages for each Membership
- Add a new settings page to define Upgrade Paths to each Membership
- Add a warning when using a wrong value in the PayPal Standard settings
- Add a few new API functions (see the API Docs link in the Help page)
- Add new functions to Payment Logs to manually handle invalid payments
- Add new template tag function `ms_has_membership()`
- Add template support so themes can define custom Membership pages (m2-account.php, m2-memberships.php, m2-protected-content.php, m2-register.php, m2-registration-complete.php, m2-invoice.php)
- Improve payment logs to display additional/better information for errors
- Improve the layout of the coupon fields in the payment confirmation form
- Improve HTML output of shortcodes to be compatible with most themes (remove line breaks inside HTML tags)
- Improved third party library by adding a class prefix to avoid class collisions (Stripe, Mailchimp, AuthorizeNet)
- Improve the BuddyPress Add-on to optionally use the M2 registration page
- Improve caching and reduce SQL queries to make the plugin faster
- Improve the Billings list (status-indicator, overdue payments, quick-pay for manual payment gateway)
- Remove condition that auto-injected missing M2 shortcodes on Membership pages
- Fix wrong subscription logic that activated Subscriptions without payment in a few cases
- Fix possible memory issue that happened when updating the plugin
- Fix bug that did not activate Subscription when an invoice was paid via Manual Gateway
- Fix the invitation code Add-on (integration in payment form was not working)
- Fix a caching issue that caused problems with Subscriptions when memcache was enabled
- Fix problem in network wide mode that would not display all Users in the Members page
- Fix registration logic to honor domain limitation for signup email addresses
- Fix bug that would not give access to protected content while user is in trial period
- Fix bug that set the wrong expire date for "Finite Access" subscriptions
- Fix wrong rounding-logic in Stripe gateway
- Fix bug that prevented admin to change the recurring payment frequency to anything else than 'Days' in few cases
- Fix a bug in Automated Email Response Settings that did always enable the email when saving changes
- Fix bug that would send some emails even when the 'MS_STOP_EMAILS' flag was active
- Fix bug that would always add M2 menu items when a new membership is created
- Fix plugin logic to allow changing Protection Rules even when Content Protection is disabled
- Fix plugin translation using .mo files, added a readme file with instructions to /languages dir
- Fix compatibility issue with WP Recaptcha during user registration
- Fix a minor security hole in the data import module
- Fix a rare 403 error that happened when a user was accessing protected content
- Fix a bunch of PHP notices and warnings
- A lot of small improvements behind the scenes, cleanup and some new filters

1.0.0.8
----------------------------------------------------------------------
- Add new option to customize which users are considered Admin users (details in the Help > Advanced page)
- Fix a typo in the PayPal Single gateway that caused M2 to ignore some payment information
- Fix bugs that prevented removing protection from individual posts or pages
- Fix the search function on the Members page
- Fix two possible infinite loops that resulted in timeouts or rule values not being saved
- Fix wrong protection logic of the Admin Side Add-on
- Fix wrong protection logic of the Advanced Menu Add-on
- Fix small issue that did not correctly disable the Media Add-on
- Fix a wrong parameters that limited search results of list tables to 5 items in some cases
- Fix the description text of the ms-protected-content shortcode for admin users
- Fix a typo in the ms_rule_has_access filter
- Fix a possible/rare mis-configuration that could happen on single-site installations

1.0.0.7
----------------------------------------------------------------------
- Improve Transaction logs to also log inactice or invalid gateway calls
- Fix issue that did not display any "Page" rules in the Membership Overview screen
- Fix a critical bug that caused protection rules to be reset on plugin activation
- Fix the bulk actions in the Protecion Rules page
- Fix wrong WordPress action that was called in the user-registration form
- Fix rare error that happened when dripped content had no/invalid date settings
- Fix Members/Billings list to keep search filter when changing the sort option
- Fix Billings search logic to find all users that contain the search word (no exact username required anymore)
- Fix PHP warnings caused by the Taxamo Add-on
- Hide the Guest and Default memberships in the Members list, as they are useless there

1.0.0.6
----------------------------------------------------------------------
- Add logging for payment gateway transactions, can be viewed via "Billings > View Transaction logs"
- Fix subscription details when changing the membership payment_type (within 6 hours after membership update)
- Fix follow-up issue in recent Mailchimp bug fix

1.0.0.5
----------------------------------------------------------------------
- Add possibility to change payment options even when membership has active subscribers!
- Add link to Members-List from the Membership list (click on the member-count value)
- Hide inactive memberships in the Members and Protection Rules pages
- Fix compatibility issue with the wp-recaptcha plugin
- Fix several php notices and warnings ("invalid argument", "undefined index", etc.)
- Fix protection of the Private Message feature in the BuddyPress Add-on
- Fix Mailchimp Add-on to fetch all lists from Mailchimp, not only 25
- Add new hook to observe status change of subscriptions: "ms_subscription_status-<status>"

1.0.0.4
----------------------------------------------------------------------
- Fix the import tool to import data from old Membership plugin correctly (recurring payments, subscription status and end date)
- Fix the i18n support, the plugin is translated correctly again
- Fix error message that was displayed when dates of dripped memberships were saved

1.0.0.3
----------------------------------------------------------------------
- Add better error handling to the upgrade routine
- Fix a major bug in the automatic import wizard that prevented the plugin from importing old Membership data
- Fix wrong redirect during setup wizard that ended in "Not allowed to view page" errors
- Fix some typos in admin pages
- Fix the protection rule for "Friendship Request" in the BuddyPress Add-on
- Fix a bug in the Coupons Add-on that discarded changes instead of saving them
- Rename page "Protected Content" to "Protection Rules"

1.0.0.2
----------------------------------------------------------------------
- Fix compatibility issues with PHP 5.2.4 - note that you still need PHP 5.3 to use the Stripe Gateways

1.0.0.1
----------------------------------------------------------------------
- Fix some PHP notices and warnings that did happen during first setup

Membership2 1.0.0.0
----------------------------------------------------------------------
- Plugin name changed from Protected Content to Membership2
- New network-wide protection mode added (see Membership2 > Help page)
- New official plugin API added (see Membership2 > Help page)
- New Payment gateway added: Stripe Subscriptions
- New option in Membership Payment settings to disable individual payment gateways.
- Improved payment settings page to use number-input fields instead of text-fields
- Fix issue where Simulation (Test) mode added HTML code to all Ajax responses
- Fix blank screen after submitting the password reset form
- Minor improvements all over the place

1.1.1.6
----------------------------------------------------------------------
- Add wp-config option MS_NO_SHORTCODE_PREVIEW (details on the Help > Advanced Settings page)
- Improve shortcode logic to not show duplicate login forms in rare, theme-specific cases
- Fix bug that caused missing expiration date for admin-assigned memberships
- Fix a rare error 'float expected but string found' in billings module
- Fix minor issue with wrong filter parameter

1.1.1.5
----------------------------------------------------------------------
- Add "autofocus" attribute to login shortcode
- Add filter "ms_model_pages_redirect_to" to customize membership redirects
- Add new attributes to the login shortcode to customize field labels and placeholders
- Improve the Import Tool to handle large import files without throwing memory limit exceptions
- Improve preview of the [ms-protected-content] shortcode for admins
- Fix various small issues with the login shortcode HTML code
- Fix javascript collision with ACF Pro plugin
- Fix display of invoice status in the admin Billings section

1.1.1.4
----------------------------------------------------------------------
- Added new automatic email notification: Subscription Renewed
- Improved descriptions of automatic email notification settings
- Improved i18n integration in the Billings module, Invoice display and in the Account page
- Improved the invoice and subscription workflow with Trial Memberships
- Improved media protection to protect whole HTML output instead of post-content only
- Improved Mailchimp integration: Firstname/Lastname are now also transfered to Mailchimp
- Improved lots of front-end pages by adding new CSS classes that can be used to customize the layout
- Fixed XSS vulnerability (add_query_arg/remove_query_arg)
- Fixed bug with Stripe gateway that striped the cent amount from the charged amount
- Fixed the Protection meta-box in post and page editor
- Fixed the protection shortcode for Guest/Default memberships
- Fixed bug that created duplicate invoices when processing automatic email notifications
- Fixed bug that prevented the Signup Email notification from being sent to members
- Fixed issues with assigning correct subscription status right after first signup
- Fixed missing pagination in Media Protection list
- Fixed the Auto-Opt-In option in Mailchimp integration
- Fixed conflict with WooCommerce where category list did not show any products
- Fixed bug in Registration workflow that allowed guests to subscribe to memberships
- Fixed some attributes in the [ms-membership-login] shortcode, e.g. "label_" values
- Fixed some issues in the Custom Post Type protection pages
- Fixed bug in the Page protection page that did not display all pages in some cases
- Fix some issues and plugin conflicts with the Member-Capability Add-on

1.1.1.3
----------------------------------------------------------------------
- Fix wrong redirection in the [ms-register-user] shortcode
- Fix error that preveted 100% discounted invoices from being marked as paid
- Add a lot of options to the [ms-membership-account] shortcode (details in "Help > Shortcodes")
- Add a timeout to refresh the price of unpaid invoices after 7 days

1.1.1.2
----------------------------------------------------------------------
- Add compatiblity for new  Stripe Gateway API (update from 2015-02-18)
- Add new Media Protection option to manually protect files in the Protected Content page
- Fix the Media Protection rule, some configurations did protect too many files
- Fix error when paying with the Authorize.net payment gateway
- Fix an issue where a static blog-page would not display any posts
- Fix an issue with the protection shortcode so it works for users with multiple memberships
- Fix comment protection rules
- Improve layout of the Registration form and validation notes
- Add a filter to customize redirection after login: apply_filter('ms-ajax-login-redirect')

1.1.1.1
----------------------------------------------------------------------
- Make Membership2 compatible with WangGuard plugin
- Add some registration hooks for compatiblity with WordPress code

1.1.1.0
----------------------------------------------------------------------
- Fix simulation of dripped content
- Fix Protected Content section for Advanced Menu Protection rules
- Fix the User selection when manually creating a new invoice
- Fix More-Tag protection to correctly display the protection message
- Fix Media Protection settings [you might need to resave permalinks]

1.1.0.9
----------------------------------------------------------------------
- Fix bug that did not allow users to enter a limited Coupon code
- Fix simulation mode for memberships with recurring payments
- Fix small glitch in the Admin UI when Category Add-on is disabled
- Fix the "Insert Variables" dropdown in Automated Email Settings
- Fix the "More Tag" and "Comment" protection rules
- Fix an error caused by manually creating invoices
- Fix protection bug that caused protected posts to show in post-list
- Improve some descriptions in Admin Settings

1.1.0.8
----------------------------------------------------------------------
- Fix critical bug that deactivated all subscriptions for some sites
- Fix the Member Capabilities rules
- New Add-on "Category Protection" allows disabling the Category rules

1.1.0.7
----------------------------------------------------------------------
- Fix bug in dripped memberships that prevented content-revealing
- Fix bug where multiple memberships would protect each others posts

1.1.0.6
----------------------------------------------------------------------
- Fix issue with translated version of plugin
- Fix problems with php versions older than 5.3.0

1.1.0.5
----------------------------------------------------------------------
- Add plugin modifiers (details in Membership2 > Help > Advanced)
- Fix import process to not send out emails
- Fix the IPN URL displayed in the PayPal-Standard settings
- Restore Payment Gateway settings if lost during 1.0 to 1.1 update

1.1.0.4
----------------------------------------------------------------------
- Fix problems in upgrade logic of dripped memberships from 1.0 to 1.1
- Category Protection is not deactivated by "Individual Posts" Add-on

1.1.0.3
----------------------------------------------------------------------
- Write an update log that logs any changes made to the DB
- Improve the Member-Details popup with infos on subscription/payments

1.1.0.2
----------------------------------------------------------------------
- Fix Add-ons "Individual Custom Posts" and "Individual Posts"
- Create a DB snapshot before upgrading

1.1.0.1
----------------------------------------------------------------------
- Fix problem where Protection-Shortcode was not working in 1.1
- Fix a PHP warning that happened during upgrade to 1.1
- Fix glitch in Add-ons page where some settings were disabled

1.1
----------------------------------------------------------------------
- Improved and much simpler UI!
- Better and shorter Setup wizard!
- Membership types dropped: Tiered, Content-Type (converted to Standard)
- New Import Tool to create export files and import data
- New Import-From-Memberships interface
- New Add-on: Admin Side Protection
- New Add-on: Member Capabilities
- New Add-on: User-Role Memberships
- New Add-on: Taxamo (addresses EU VAT regulations)
- New layout of the Add-on page
- Many small bugfixes, layout improvements and much more...

1.0.4.9
----------------------------------------------------------------------
- Fix an JavaScript error in the page front-end
- Fix Manual gateway Purchase button to correctly display images (URL)

1.0.4.8
----------------------------------------------------------------------
- Fix 100 % discount logic; payment gateway is skipped now
- Fix incompatibility with E-Newsletter plugin
- Fix incompatibility with PopUp Pro and Google Maps
- Fix PHP warning displayed to some users when signing up to Membership
- Some other small improvements and fixes

1.0.4.7
----------------------------------------------------------------------
- Fix rewrite rules on plugin update/activation (solves payment-issues)
- Fix PayPal Single settings did not save email address in rare cases
- Fix duplicate display of BuddyPress/bbPress rules in overview
- Fix coupons with 100% reduction are working correctly now
- Improve the [ms-memberhship-buy] shortcode to also work for guests
- Improve subscription to free memberships: payment screen is skipped

1.0.4.6
----------------------------------------------------------------------
- Fix problems with plugin settings after upgrading
- Fix issue where Front-End pages were not working (e.g. with Jetpack)

1.0.4.5
----------------------------------------------------------------------
- Add new Help section with documentation of shortcodes
- Fix: Membership Pages use default WordPress posts instead of URL
- Fix: Menu items are correctly generated when a Membership is created
- Memberships with pending payments can be cancelled by the member
- A ton of small bugfixes and minor improvements

1.0.4.4
----------------------------------------------------------------------
- Add individual URL group permissions on membership level
- Add column with gateway status to the payment settings
- Fix bug where registration did not work directly after initial setup
- Fix caption of the "Login" button in the login page
- Fix a lot of small issues in the Members page
- Fix bugs with Comment protection
- Fix BuddyPress permissions (Add-on)
- Many small improvements and bugfixes all over the place

1.0.4.3
----------------------------------------------------------------------
- Add new Member-Filter that displays users with pending payments
- Fix protection of menu-items when user has multiple memberships
- Fix permission issues with protection shortcode
- Fix small bugs with several shortcodes
- Remove access to registration page while plugin is disabled

1.0.4.2
----------------------------------------------------------------------
- Add new Add-on to replace whole menus per membership-level
- Some small bugfixes

1.0.4.1
----------------------------------------------------------------------
- Fix error when testing memberships
- Fix PHP notices

1.0.4
----------------------------------------------------------------------
- Add new Add-on that allows to disable Multiple-Membership mode
- Add new Add-on to change protection of special pages (e.g. search results)
- Add Simulation Infos to explain which rule protected a certain page
- Fix default protection of special pages
- Fix assignment of private memberships via members-list
- Fix membership status-flag in database
- Fix access to unprotected pages is now possible

1.0.3
----------------------------------------------------------------------
- Fix member model fields not persisting

1.0.2
----------------------------------------------------------------------
- Add class to page body to indentify membership of the current user
- Add option to send different email when registering for a free membership
- Fix image-url of loading animation in one css file
- Fix logout word showing in protected-content page
- Fix undefined variable in members model
- Fix credit card info text

1.0.1
----------------------------------------------------------------------
- Fix slow Ajax Login
- Add handler for password reset
- Fix orphan children when deleting parent membership
- Refactories

1.0.0
----------------------------------------------------------------------
- Initial version.


539341-1527557735