- Fixes a bug in the download table search that caused no results to be returned in all cases.
- Fix/improvment on exclusions to default to empty array if no exclusions exist.
- Code cleanup: syntax improvements.
- Fixes logic issue for validating download when using the WP-Members PayPal extension.
- Changed 'wpmem_dp_verify' from a filter to an action hook, still works the same for applying custom validation.
- Broke up default validations (logged in, membership, expiration) into separate actions.
- Added wpmem_dp_do_error() API function for handling custom validation when using wpmem_dp_verify action.
- Added wpmem_dp_do_error_url filter for customizing the error redirect URL.
- Fixes undefined function wpmem_dp_file_upload().
- Fixes onboarding issues.
- Updated deprecated function wpmem_chk_exp() to use wpmem_is_user_current() (WP-Members PayPal Subscriptions extension version 0.9.3 or higher required).
- Updated deprecated function wpmem_inc_login() to use wpmem_login_form() (WP-Members core plugin verison 3.3.0 or higher required).
- Fixes accessing files that have multiple memberships assigned (previously threw an array error).
- Fixes error in export when there is no username for the recorded ID (such as when a user is deleted, but the download record remains).
- Fixes undefined array key "meta_value" error in stats table.
- Bug fix for [wpmem_file] shortcode.
- Added attributes to [wpmem_dp_list] (see documentation) to allow for adjusting the list order and displaying file dates.
- Improved [wpmem_video] shortcode to disallow right click over video (prevent easy access to download file).
- Update [wpmem_file] shortcode to not use alternate name for $post object (avoid global by reference default $post object).
- Bug fix in api function wpmem_dp_get_all_keys() for [wpmem_file] shortcode (and possibly other use cases).
- New API function: wpmem_dp_file_url() - gets the URL of a file by key.
- New API function: wpmem_dp_get_file_post() - gets the post object of a specific file key.
- New API function: wpmem_dp_user_can_access()
- New API function: wpmem_dp_file_exists()
- New API function: wpmem_dp_upload_dir_args()
- New API function: wpmem_dp_protected_folder()
- New API function: wpmem_dp_protected_file_path()
- New [wpmem_pdf_embed] shortcode.
- Adds file import process using WP-CLI.
- Updated updates API.
- Updated video player shortcode to accept key without naming the attribute (i.e. key only, not key=key_value), but key=key_value will work, too.
- Updated file table in admin panel to give a button to copy the file key or shortcode - cleans up the table view.
- Added messaging if file upload returns an error.
- Fix issue with validation and messaging when file is restricted to a membership.
- Added wpmem_dp_file_disposition filter.
- Updated updates API to 1.3.1.
- Added support for customized basedir in WP-Members 3.3.8 ($wpmem->upload_base).
- Fix issue where admin would indicate incorrect folder permissions even if expected permissions were set.
- Only load if WP-Members is installed (checks for $wpmem global object); gives error message if not.
- Fix issue in stats file selector dropdown if file has no title (replace with file name instead).
- Check folder permissions on install, set to 750.
- Improve file table query.
- Added progress bar to CLI bulk update functions.
- Added added wpmem_db_get_file_info() and wpmem_dp_user_can_access() API functions.
- Added checks for stream header mime type and disposition (expect to expand this and add filters in future versions).
- Updated wpmem_dp_download_header_args filter hook, adds $file as a parameter.
- Allows for files to be unrestricted. (While unrestricted files will be stored and served from the restricted folder, users do not need to be logged in to access. This still allows the file access to be tracked for logged in users.)
- Allows for membership requirement (if memberships are enabled).
- Updated updates API to 1.3.0.
- Adds WP CLI commands (considered experimental at this point).
- WP CLI command: list - Lists files currently in Download Protect, or accepted mime types for moving
- WP CLI command: move - Moves all files (of accepted mime types, always ignores image files), or specified mime types (i.e. all PDFs, but no other types). Can do "dry run" to display what will be moved.
- WP CLI command: rename - Renames file by ID.
- WP CLI commands can be used directly (i.e. wp dp list), or as a subcommand of the WP-Members CLI (3.3.5+) (i.e. wp mem dp list).
- Fixes bug in initial install if no /wpmembers/ uploads directory exists.
- Adds wpmem_dp_directory_permissions filter hook for customizing the default 750 directory permissions.
- Download tracking is now optional.
- Fixed an issue that prevented being able to change/update a file title without uploading a file.
- Added a default text display if not file title exists.
- Added "title" shortcode attribute for [wpmem_file].
- Fixed a bug that placed a nonce on the stats table when viewing your own (admin) profile. This nonce causes the admin to be unable to update their own profile.
- Fixed a bug that caused errors in download statistics export.
- Fix bug in stats table if $user is not an object.
- Sets downloads folder permissions for use with nginx.
- Added wpmem_dp_file_list_args filter.
- Added wpmem_dp_file_list_row filter.
- Added wpmem_dp_download_header_args filter.
- Added folder permissions validation.
- Upgrade updates class to 1.2.0.
- Fix errors due to updates class syntax.
- Moved script enqueue to 'upload_files' capability (from 'manage_options') so users without manage_options capability can still upload files.
- Added French translation.
- Fix bulk file delete (for both multiple and individually selected files).
- Fix file update, merged upload handling for update and new files, this corrects issue with missing field mime type on updated files (and other properties).
- Changed file key to generate from random rather than file slug to avoid collisions based on file names.
- Changed default date format for stats display to YYYY-MM-DD (can filter this with wpmem_dp_stats_date_format).
- File table in Media is now sortable by title, file, key, and date. Added date column.
- Added setting to customize number of rows in the files table (default: 20), the stats table (default: 20), and user profile (default: 5).
- Added user profile tab for stats (using WP-Members 3.2.5 user profile tabs).
- Added protected file link to Media Manager file display.
- Updated to only display user column if full stats table (don't display user if viewing on the user profile).
- Updated to only load datepicker scripts on Downloads tab (for export by date).
- Fixed bug in download error that excluded the file key when logging in.
- Bug fix path for install file.
- Bug fix for db table constant (replaced with object var).
- Add file search.
- Set up defaults if no download error page is set so we don't get php errors.
- Replaced constants with object vars.
- Upgrade plugin updates API to localized version 1.1.0
- Code review and cleanup.
- Updated udpates API to version 1.0.2
- Updated translation files.
- Added data export features.
- Fixes an issue with download link after login where the file key was not being passed.
- Fixes potential error notice if link is being generated for a file that no longer exists.
- Switch to new updates API.
- Changes the attachment slug generation. Previously, it took the left side of the first "." in the filename. This did not allow for filenames like "11.1.pdf" and "11.2.pdf" to generate unique values for the file key. This updates changes that to provide a unique key and unique slug.
- Fix issues with bulk menu file delete.
- Fix add new form post action when loading after deleting a file (make sure post url does not contain action=delete).
- Fixed issue with uninstall routine (function naming conflict with the A|O extension).
- Fixed issue with missing .htaccess file in downloads directory (at install, and update).
- Fixed missing shortcode [wpmem_file].
- Made translation ready (POT available in /languages/ folder).
- Fixed issue with WP_List_Table. Removed extra nonce when displaying table as part of the user profile page (so page can be updated).
- Initial release.