= 3.5 Released November 21st, 2017 =
* Save VideoCaptions in custom meta, if imported.
* Only show public post types in post type select option.
* Added documentation FAQ example for mapping to pre-existing categories and sub-categories.
* Manual import messages will now also be saved to the log.
* Switched PUC check to plugins_loaded hook
* Switched Log File to Log Messages in database. Avoids server/file/PHP quirks.
* Allow YouTube captions check if field is empty.
* Allow category filter hook to return null to skip creation under user conditions.
* YouTube bugfix: captions were not showing in post content in certain conditions.
* YouTube bugfix: import comment replies option was not recognized as checked in certain conditions.
* YouTube bugfix: comment replies now import correct publish date.
= 3.4 Released August 27th, 2017 =
* Added support for GiantBomb API.
* Added ability to translate title and/or description.
* Added ability to gradually import a result set.
* Added support for MS Azure translator API.
* YouTube: added option to import video captions if available.
* Skip keyphrases now works on word boundaries and not sub-strings.
* Added ability to update entries in Contus Video Gallery plugin (Snaptube theme).
* Added built-in support for premium theme [Video](http://mythemeshop.com/themes/video/).
* Added built-in support for premium theme [Easy Video Site](https://www.easyvideosite.com/shop/wordpres
* Added built-in support for premium theme [Zetatube](http://www.mytubepress.com).
* Added built-in support for premium theme [VideoTouch](https://themeforest.net/item/videotouch-video-wo
* Check for updates on WP schedule instead of plugin_init.
* Updated support for Spin Rewriter’s new 2.0+ plugin rename.
* Added replace phrases marker to “=>”.
* Fix for VideoPro theme 2.0 update – custom meta field changes.
* Limit WP get_users() call to 100 authors max to avoid memory issues. Use filter ‘vb_get_users_args’ to
* Contus Video Gallery plugin – fix to import Vimeo in their special Embed video format.
* Allow custom meta fields to be set to 0.
* YouTube: fetch new comment replies when updating an existing import.
= 3.3 Released October 27th, 2016 =
* Added actions ‘vb_custom_utility_function’ and ‘vb_custom_utility_page’ for user defined Utility Functions.
* Added template tag %VideoRating%. If not supplied by API, calculated by likes vs disklikes on a 5 point scale.
* Replaced WP comment_exists() with internal comment_exists() to avoid duplicate date issue.
* Fixed default toggles for certain query checkboxes.
* Ensure WordPress via cron loads its includes/image.php file.
* Better checking for duplicate post titles.
* YouTube: If HD thumb selected on non-HD video, the next largest thumb by ratio (16:9 or 4:3) will be used.
* YouTube: filter ‘youtube_comment’ applies to both comments and their replies.
* Only show Video Blogster Preview admin widget if videoEmbed has iframe, object, or embed code.
= 3.2 Released September 28th, 2016 =
* Display full taxonomy hierarchies in Create the Posts tab.
* Added Main Settings option to change default timeout for API requests.
* Remove Trash Images now applied immediately to permanently deleted posts.
* Added template tags %VideoTags% and %VideoCats%
* Added separate start delay field for Scheduler’s Utility Functions.
* MixCloud: For cloudcasts, make additional API request for each show as it has more data.
* Added built-in support for plugin [WordPress Popular Posts].
* Added built-in support for premium theme [VideoZine].
* Server and shutdown errors will now be logged (database failures, memory issues, etc) to help you resolve any server problems.
* workaround for when oEmbed response is non-Unicode compliant. This is from videos using certain Unicode symbols in title that YouTube does not verify before sending oEmbed json data. In short, \U should be \u or json_decode would fail.
* handle double quoted json strings in custom meta values & addslashes to %VideoEmbed%.
* Do not apply ‘Skip’ rules when updating/applying changes to existing videos.
* Do not fetch thumnbnail on updates unless featured image is missing.
* Fix for unchecking ‘Import featured image’.
* Fix for comparing videoID integers to strings on blacklist.
* MixCloud Fix for CloudFlare’s possible mismatch in TLS SNI Host Header when querying oEmbed code.
* MixCloud: Fix for url check on keyphrase search.
* NOTE! turned off meta field dynamic validation by default (was used to fix custom meta fields on premium themes if user did not set them correctly). Can be enabled, but fixing them statically recommended. See [FAQ documentation].
= 3.1 Released August 16th, 2016 =
* Vimeo: Added json filter to better handle their strict rate limits enacted Aug 9th.
* Vimeo: can now import videos by user.
* Added ‘advanced filters’ to all API forms for rarely used options.
* Added Video Blogster Preview side metabox to Post Edit page.
* Added Process the Results option to update existing posts instead of just skipping duplicates.
* Added built-in support for premium theme [OneVideo].
* Added built-in support for premium theme [VideoPro].
* function check for WordPress comment_exists() function.
* RSS: parse enclosure shorthand notation if used.
* verify_thumbnail: no longer check image content-length in header response as some API servers do not provide content-length or leave it at 0, even for valid image files (Hulu, SoundCloud, Spotify).
* Allow query args in API image names (Hulu).
= 3.0 – Released May 25th, 2016 =
* Support WordPess 4.5 change to get_terms function for custom taxonomies.
* Remove any query parameters when using custom image names.
* VideoTube theme – don’t create WP categories or tags because theme has it’s own custom taxonomies.
* VideoFly theme – don’t create WP categories because theme has it’s own custom taxonomy.
* Only show taxonomies for custom post types in ‘Create the Posts’ tab.
* Added option to skip videos based on duration.
* YouTube – added option to fetch Most Popular videos for the specified region and category.
* Will now try to determine theme and plugin custom data dynamically.
* Added transients for API categories to mitigate API timeouts.
* Created a new default YouTube API key. Clear field and save if you wish to use it.
* Added Scheduler extra hook checks to help avoid possible WP-Cron race conditions.
* Added Scheduler/Logger singletons to help avoid possible WP-Cron race conditions.
* Better parsing of video DateTimes, with fallback.
* Show error message if unable to retrieve categories from API.
* Ensure logfile loads at most the last 1MB of data.
* Added option to skip videos that have no video thumbnails.
* Verify video thumbnails sent from API are actually 200 OK, with fallback.
* moved import tags options to ‘Create the Posts’ tab.
* Added detection for Entry Views plugin.
* Added built-in support for premium theme [Furious](http://www.videoblogsterpro.com/get/furious/).
* Split get_posts function into chunks to avoid possible server memory limits.
* disable unneccessary WP object caching on get_posts function to avoid possible server memory limits.
* Google Translate updated to use official API, requires API key.
= 2.9.2 – Released March 16th, 2016 =
* if running utlity funcs manually, try to extend script time.
* SoundCloud: apply advanced filters for any query
* function check for mod_php5 apache modules
* turn off suppression of errors for wpdb functions.
* named cronjobs for Scheduler and Utility funcs.
* Added template tag %VideoChannelId% (Youtube only).
* allow fractional hours for the Scheduler (not recommended)
* Added built-in support for premium theme [VideoFly].
* replaced curl with wp_remote_get
2.9.1 – Released March 2nd, 2016 =
* Removed array shorthand notation in GoogleTranslate for older PHP versions.
* YouTube comment query field ‘searchTerms’ not used if empty.
* YouTube: changed thumbnail import order to give ratio higher precedence.
* Don’t change post date when applying changes to existing videos.
= 2.9.0 – Released Febrary 20th, 2016 =
* Added support for [Spotify]
* Fix for Google Translate changes.
* Added alternative way to import images to avoid WP bug if /tmp dir is full.
* Added built-in support for premium theme [NewsTube].
= 2.8.6 – Released Febrary 2nd, 2016 =
* Include helper files when doing scheduled runs.
= 2.8.5 – Released January 29th, 2016 =
* sanitize post title before checking for duplicate titles
= 2.8.4 – Released January 18th, 2016 =
* Added pre-check for curl extension for PHP.
* Added is_numeric extra check on certain fields.
* Added extra debug info for DateTime exceptions.
* Added changed SpinRewriter WordPress option name for latest version.
* MixCloud – Ensure URL ends with ‘/’.
= 2.8.3 – Released December 23rd, 2015 =
* Return WordPress error code on WordPress errors.
* Updated Google Translate parameters for latest change.
= 2.8.2 – Released December 11th, 2015 =
* Theme helper files weren’t included if directory path wasn’t lowercase.
* Moved duplicate post title check to AFTER video title modification options.
= 2.8.1 – Released December 10th, 2015 =
* Published posts did not have KSES filters removed for 2.8 change.
= 2.8 – Released December 4th, 2015 =
* Envato API class tweak
* Tweak to sentence removal to keep original formatting.
* Split video feeds into tabs for easier reading.
* Split mass edit into tabs for easier reading.
* Added ‘VideoPublish’ to post meta to save video publish date.
* Posts are now published after featured image and comments are attached, to accommodate other plugins/code that trigger on publish post, such as SNAP.
* max field size for Import X videos increased from 3 to 5 (up to 65535 videos).
* YouTube – videoSyndication field now defaults to Yes.
* wrapper checks around helper files for GoogleTranslate, Admin Filter by Custom Fields
= 2.7 – Released October 27th, 2015
* Added detection for premium theme [Avada].
* Added detection for premium theme [Goodwork].
* Added detection for premium theme [SimpleMag].
* Added detection for premium theme [Enfold].
* Added detection for premium theme [Video Member].
* DailyMotion – Added option to query videos published after/before a certain date.
* Licensing check now directly through new Envato API.
* Support button reflects status. Added Rate/Review button. Changed buttons color.
* Added message for those who don’t know their Envato Username.
* Added detection for Yoast SEO plugin.
* Added ability to copy existing feeds.
* YouTube: Specific message for oEmbed requests for Unauthorized embeds where the license holder does not wish the video to be embedded outside of YouTube.
* Added template tags %VideoPublish% and %VideoPublish8601%
* If logfile is left blank, will reset logfile to the default.
* Contus plugin helper – ensure default Google Adsense is 0.
* VideoTube theme helper – ensure post type is ‘video’.
= 2.6.0 Released October 1st, 2015 =
* Added support for [MixCloud]
* YouTube – Added option to query videos published after/before a certain date.
* Added built-in support for premium theme [Sahifa].
* Added built-in support for premium theme [Valenti].
* Added built-in support for premium theme [Snaptube].
* Added a VideoID Blacklist to Main Settings with an automatic option.
* Added option ‘Skip videos if it DOES contain one of these keyphrases’.
* Updated option ‘Skip videos if it DOES NOT contain one of these keyphrases’.
* Increased input field for custom meta field values from 64 to 256.
* Enable Scheduler will notify you if DISABLE_WP_CRON is defined.
* Moved 3rd party theme/plugin support code to use filters.
* Premium theme support now at runtime to detect any theme changes.
* Added filter vb_valid_taxonomies to set them explicitly.
* Added filters vb_get_taxonomies and vb_get_terms. If site has too many taxonomies, WordPress can run out of memory trying to read them all. Filters can be used to limit max number of terms or prevent loading them completely.
* Added action hook for ‘custom_utility_function’
* MixCloud – get proper track duration
* DailyMotion – Scheduler Checker – verify video status is ‘ready’ or ‘published’.
= 2.5.0 Released September 1st, 2015 =
* Added built-in support for premium theme [Newspaper].
* Added built-in support for premium theme [True Mag].
* Added built-in support for premium theme [deTube].
* Added built-in support for premium theme [VideoTube].
* YouTube – added option to order imported comments by time or relevance.
* YouTube – added option to filter comments by search terms.
* YouTube – added option to import replies to comments.
* YouTube – Checker now trashes post if the video on YouTube is rejected for a violation.
* User may now set their own API keys in Main Settings.
* Minimum Views database variable changed from max 32767 to 16777215.
* SoundCloud – added filters ‘soundcloud_search_query’, ‘soundcloud_comments_query’, ‘soundcloud_comment’.
* SoundCloud – now converts video duration from milliseconds to HH:MM:SS
* RSS – various changes and double checks. Changed WordPress call to straight SimplePie. See current documentation.
* YouTube – added missing filter ‘youtube_comment’.
* Fixed post ID reported on ‘Fetching missing thumb’ info message.
* Show last 1 MB of log file in case of large size.
* Clear Scheduler toggle if > hour in case of WP-Cron or server failure.
* Fixed bug where custom field wasn’t saved for a new Make Video Feed.
= 2.4.0 Released August 7th, 2015 =
* RSS: Will extract link from item enclosure if available as VideoUrl template tag.
* Log File: Added new display level ‘Video Skipped’ to toggle those messages.
* Added video duplicate compatibility with videos previously imported by plugin ‘YouTube Video to Post’.
* ALL SITES – Added ability to toggle featured image import. (Use %VideoImage% template tag for hotlink url.)
* ALL SITES – Added ability to set image size or quality to import.
* YouTube – Added option to query for only high or standard definition videos.
* YouTube – API change: Extract tags from video->snippet->tags if available.
* YouTube – Will use feed’s regionCode when showing available categories. US is default.
* DailyMotion – Report full error message returned by the API.
* Added ability to catch and report any exception when querying/parsing oEmbed XML element.
* Added error message if site server unable to extend script time as needed.
* WordPress get_posts() was not returning some custom post types for post_type ‘any’.
* SoundCloud – Comments were still imported if 0 comments requested. Fixed.
= 2.3.3 Released July 1st, 2015 =
* YouTube – Added ability to set image size/quality to import.
* YouTube – Removed PHP 5.3 DateInterval function to convert ISO 8601 duration.
* Better placement for flood_comment filter removal/restore.
* Changed require_once to include_once in case WordPress is missing files.
* SpinRewriter code updated to handle it’s v1.3 change. Added 7 second delay between spins to avoid their new 7 second interval check.
= 2.3.2 Released June 15th, 2015 =
* YouTube – The API for playlistItems does not provide video category, duration, or statistics so now Video Blogster will only grab video IDs from playlistItems and then call video.list for those IDs to access ALL video data.
* Added get_video_info filter so user can modify any imported video data.
* Removed WordPress flood filter check when importing comments.
* Video Blogster as singleton.
* Bugfix for not saving Skip videos with duplicate titles value.
* Added ability to add Custom Field array Values. Thanks to Ryan Yang.
= 2.3.1 Released May 31st, 2015 =
* Added template tag and custom meta field for VideoEmbed code.
* Added filter support for custom plugins/themes like [Contus WordPress Video Gallery].
* Switched back to wp_insert_comment to avoid WordPress wp_die for duplicates in wp_new_comment.
* Updated .pot language file
= 2.3.0 Released May 21st, 2015 =
* NOTE: Those updating from v2.2.1 will have to manually update. [Read this post]
* Added support for [SoundCloud]
* YouTube: queries to their API that time out will automatically retry.
* Switched wp_insert_comment to wp_new_comment to sanitizate and validate.
* Wrapper for wp_create_category
* Updated PUC module to v 2.0
* PUC: changed esc_url to esc_url_raw
* Added option to skip videos with duplicate titles.
* Changed all ‘video skipped’ messages to critical to avoid confusion.
* Bugfix on option ‘Apply changes to existing videos?’ in some cases.
= 2.2.1 Released April 24th, 2015 =
* Vulnerability fix for add_query_args in PUC module.
= 2.2.0 Released April 23rd, 2015 =
* Allow script codes in Post Content Template.
* Added support for [WP Auto Spinner]
* Bugfix for catching ‘Skip videos older’ field with incorrect format. Thanks to dukekansal.
* Added support for RSS feeds.
* YouTube: Replace API v2 comment query with v3.
* YouTube: Added ability to filter by safeSearch.
* YouTube: Added support to filter by relevanceLanguage (though YouTube results are poor imo).
* Old PHP compatibility: removed utf-8 check on htmlentities.
* Moved check for valid PHP and WP versions to beginning of activation.
* Switched NOWDOC to HEREDOC for older PHP versions.
* Backwards compatability all the way back to PHP 5.2
* Bugfix in Mass Edit sometimes setting an empty value.
* Fetching missing thumbnails log message updated to ‘critical’.
= 2.1.0 Released March 4th, 2015 =
* Bugfix to allow for 0 values in Mass Edit section of Show Video Feeds.
* Added option to set minimum tag length.
* Added ability to skip videos older than a date.
* Display/log messages can now be filtered. See Log File settings page.
* Added support to attach custom taxonomies by post type.
* Added ability to Filter by Custom Fields in Dashboard -> Posts and Pages.
* Added ‘View Videos’ icon shortcut in Show Video Feeds page for each feed.
* Now automatically recognizes videos imported previously by PHP My Video Blog.
* All Utility functions enabled by default.
* Using lEnforcer for license checks.
* PUC – no automatic updates for unlicensed versions.
* Added ability to use Google Translate on title and description.
* Added ability to remove first X sentences from description and remove any sentence containing Y.
* Swapped order so ‘Replace phrases’ option happens before ‘Linkify’ option. Thanks to Ewooky.
= 2.0.0 Released Jan 23rd, 2015 =
* Added more fields available to mass edit on Show Video Feeds page.
* Added ability to Linkify all URLs in video description and/or comments.
* Bugfix for displaying invalid code sequences in older PHP versions. Credit to akexer.
* Added ability to name each feed.
* Added ability to set each feed Active or Inactive.
* Added confirmation dialog before deleting feed(s).
* DailyMotion: Bugfix for checking for more than 10 broken embeds. Thanks to Ewooky.
* Script will dynamically increase PHP max_execution_time to fetch unlimited videos, unless using an older version of PHP with safe mode on, in which case you can increase max_execution_time manually from an option in Main Settings.
* Added ability to set custom meta fields with imported video data to ensure compatibility with other themes/plugins using their own custom meta fields.
* Expanded qAssoc field to 128 chars.
* Added ability to replace phrases with spintax support in video Title and/or Description.
* Added support for template tag %VideoDuration8601% for duration in [ISO 8601 format].
* Added support for template tag %VideoImageLocal% for featured image local url.
* Added ability to set post format (standard, video, etc.).
* YouTube: Added option filter for Syndicated videos.
* Added check to ensure imported categories are capitalized.
* Added Post Image Template field for custom image names. Requested by AudioRay.
* Added schema.org markup to default post template. [See FAQ7]
* Added ability to skip importing videos with less than X views.
* Added ability to ignore certain tags when importing tags.
* New YouTube API key for v2.0.0
* Bugfix: preg_quote around pTitleRemoveChars to escape * + ? etc.
* Added modules for adult video sites*. [See sites supported]
* Added i18n support and .pot translation file. Need translations!
* Added post meta support for ‘VideoSkip’. [Requested by AudioRay]
* Now converts DailyMotion ratings into Likes/Dislikes meta.
* Better error catching for Vimeo and DailyMotion.
* Renamed classes/files for better modular support.
* Moved Scheduler Settings to ‘Scheduler’ page.
* Moved Log File Settings to ‘Log File’ page.
* BugFix: Auto-publishing videos with WP-Postviews activated created 2 custom fields.
* Determine supported video modules dynamically.
* Consolidated regenerate_thumbnails function, uses new meta key VideoImage.
* More info displayed with verbose option checked.
* Added template tags for Views, Likes, Dislikes, and Favorites
* If server ‘allow_url_fopen’ set to false then use alternate method to get meta tags.
= 1.2.0 Released Dec 12, 2014 =
* Added ability to process retroactively. [Requested by AudioRay]
* Updated documentation and moved it online.
* Added Utility Function: Remove Trash Images.
* Utility function values now saved and used by Scheduler.
* Added Process Option: Process videos retroactively (those imported v 1.2+).
* Bugfix: Apply template tag %VideoImage% in post excerpt if used.
* Vimeo: Added video user->name to VideoAssociation.
* Hulu: Added video show-name to VideoAssociation & tags.
* DailyMotion: Added video owner.username to VideoAssociation.
* Added new meta keys: VideoFeed, VideoOrigTitle, VideoOrigDesc, VideoImage, VideoUrl.
* YouTube: Check and skip when a ‘Deleted Video’ is returned by the API.
* Moved ‘Remove all URLs’ option to occur before ‘Limit video description’.
* Additional validation on custom update checker.
* Added minimum WordPress and PHP version check on activation.
* Added Envato license check. Support is for customers not warez sites.
* Added option to remove chars from title. [Request by Janisa]
* Bugfix: ‘Limit title/desc by chars’. [Reported by Janisa]
* Show the image url if a WP error message occurs in grab_thumbnail().
= 1.1.0 Released Nov 17th, 2014 =
* Hulu Added Feature: Ability to grab video by video ID.
* Added Feature: Utility function to re-request missing post thumbnails.
* Added Feature: Ability to delete or quick edit multiple video feeds.
* Switched to ‘any referrer’ Youtube browser application key.
* Check and replace any unsafe characters in thumbnail title.
* Added Utility Functions to menu
= 1.0.1 Released Nov 6th, 2014 =
* Added license button link
* Fix exception if timezone isn’t set in WordPress. Convert to local time.
* Added check and error message if unable to read log file.
= 1.0 Released Nov 3rd, 2014 =
* Initial Release