{"id":415,"date":"2016-05-10T09:40:52","date_gmt":"2016-05-10T09:40:52","guid":{"rendered":"https:\/\/www.fastcomet.com\/blog\/?p=415"},"modified":"2022-06-10T07:04:15","modified_gmt":"2022-06-10T07:04:15","slug":"versionpress-3-0","status":"publish","type":"post","link":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0","title":{"rendered":"VersionPress 3.0 &#8211; Base Improvements and New Features Added"},"content":{"rendered":"\n<p class=\"has-drop-cap\">VersionPress 3.0 has been released officially on the 28th of April and is a prime example of what transitioning to open source can bring to the table of application features and improvements.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\"> <strong>New Options and Improvements<\/strong> <\/h2>\n\n\n\n<p><strong>There are various new options and improvements which are worth mentioning like:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Filtering<\/strong> &#8211; You are now able to search for changes by authors, dates, commit messages, WordPress actions, etc.<\/li><li><strong>Bulk undo<\/strong> \u2013 Changes to the website that involved multiple actions like trashing a post and then deleting it forever can be reverted by selecting both and restoring the post.<\/li><li><strong>Environment tracking<\/strong> &#8211; VersionPress 3.0 tracks from which environment a change originated. This provides another way of easily orienting yourself in the changes on your website.<\/li><\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"505\" src=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/vp-history-overview.jpg\" alt=\"VersionPress 3 Environment Tracking\" class=\"wp-image-783\" srcset=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/vp-history-overview.jpg 770w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/vp-history-overview-300x197.jpg 300w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/vp-history-overview-768x504.jpg 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/figure>\n<\/div>\n\n\n<p><strong>Some core version improvements show that a strong base is an important part of a stable platform:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Serialized data<\/strong> is diff- and merge-friendly which improves IDs in sticky posts and widgets.<\/li><li><strong>Date modified fields are handled correctly<\/strong> \u2013 Merge conflicts from tracking post_modified and post_modified_gmt fields for posts before the installation of VersionPress is now avoided.<\/li><li><strong>Changes on adjacent lines no longer create conflicts<\/strong> \u2013 When different users update adjacent lines, merging the changes they made no longer creates a conflict.<\/li><li><strong>Shortcodes with IDs work across environments<\/strong> &#8211; Shortcodes will now update IDs correctly across environments. A new *- <code>shortcode.yml<\/code> has been developed to support this change.<\/li><li><strong>Database writes<\/strong> \u2013 Database related writers like view counters, plugin actions etc now do not create excessive amounts of commits but instead have a configurable interface with a default value of once per hour. This is implemented in order to remove commits flooding.<\/li><li><strong>Configurable entity handling<\/strong> &#8211; Some entities just should not be part of the repository such as transient options or spam comments. VersionPress 3.0 introduces a better, extensible ignoring mechanism to deal with such entities.<\/li><li><strong>Ignoring of specific database columns<\/strong> \u2013 As the name suggests, you can now fully ignore specific database columns or ignore dynamically computed by PHP functions values.<\/li><li><strong>Initial support for custom directory layouts<\/strong> &#8211; WordPress location, wp-content, plugins or uploads directories are now customizable. However, the structure needs to be defined before VersionPress is activated.<\/li><li><strong>Data updates via query() are now understood<\/strong> &#8211; Previously, VersionPress handled data updates via the <strong>insert()<\/strong>, <strong>update()<\/strong> and <strong>delete()<\/strong> methods which support 99 % of the changes. Now, that last 1 % is added by supporting the <strong>query()<\/strong> method.<\/li><li><strong>Common config<\/strong> \u2013 as most of the information in <strong>wp-config.php<\/strong> is environment-specific this file was ignored. However, values like <code>WP_CONTENT_DIR<\/code> and <code>WP_PLUGIN_DIR<\/code> add a config file named wp-config.common.php which is committed into the repository and required from the standard<code> wp-config.php<\/code> file.<\/li><li><strong>General reliability improvements<\/strong> \u2013 improvements in how VersionPress stores and parses internal data formats. VersionPress 3.0 covers everything that vanilla WordPress 4.5 does.<\/li><\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"528\" src=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/vp-full-diff-view.jpg\" alt=\"VersionPress 3 General Reliability Improvements\" class=\"wp-image-782\" srcset=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/vp-full-diff-view.jpg 770w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/vp-full-diff-view-300x206.jpg 300w, https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/vp-full-diff-view-768x527.jpg 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\"> <strong>Other Notable Changes<\/strong> <\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Better update method that keeps the same <strong>INI<\/strong> files and <strong>VPIDs<\/strong> across VersionPress releases which makes inspecting history much easier.<\/li><li><strong>vpconfig.neon<\/strong> (custom configuration format) was replaced by the standard <code>wp-config.php<\/code> constants.<\/li><li><a href=\"https:\/\/ne-on.org\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">NEON<\/a> file format was replaced with a similar but more common <a href=\"http:\/\/yaml.org\/\">YAML<\/a>.<\/li><li><strong>PHP 5.6+<\/strong> is now required.<\/li><li>VersionPress underwent security and general code reviews<\/li><\/ul>\n\n\n\n<p>As much has changed in VersionPress 3.0, the platform cannot be upgraded from previous releases and a full re-activation is required. The recommended procedure is:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li style=\"text-align: justify;\">Put your website in maintenance mode<\/li><li style=\"text-align: justify;\">Deactivate VersionPress<\/li><li style=\"text-align: justify;\">Delete the contents of<strong> wp-content\/plugins\/versionpress<\/strong> and extract the latest version there.<\/li><li style=\"text-align: justify;\">Activate &amp; initialize the plugin again.<\/li><li style=\"text-align: justify;\">Disable maintenance mode.<\/li><\/ul>\n\n\n\n<p>These improvements are sure to bring a better experience as VersionPress 3.0 provides more control and choices for users.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>VersionPress 3.0 has been released officially on the 28th of April and is a prime example of what transitioning to open source can bring to the table of application features and improvements.<\/p>\n","protected":false},"author":3,"featured_media":649,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[256],"tags":[89,78,44],"class_list":["post-415","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-partner","tag-update","tag-wordpress"],"featured_image_src":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/VersionPress3.0.jpg","author_info":{"display_name":"Antoniy","author_link":"https:\/\/www.fastcomet.com\/blog\/author\/antoniy"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>VersionPress 3.0 - Base Improvements and New Features Added | FastComet<\/title>\n<meta name=\"description\" content=\"Check out the changes new VersionPress 3.0 introduces \u27a8 New Search Feature, Bulk Undo, and Commit Tracking per Environment. ? Read our blog!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VersionPress 3.0 - Base Improvements and New Features Added | FastComet\" \/>\n<meta property=\"og:description\" content=\"Check out the changes new VersionPress 3.0 introduces \u27a8 New Search Feature, Bulk Undo, and Commit Tracking per Environment. ? Read our blog!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0\" \/>\n<meta property=\"og:site_name\" content=\"FastComet Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-10T09:40:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-06-10T07:04:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/VersionPress3.0.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"576\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Antoniy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antoniy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VersionPress 3.0 - Base Improvements and New Features Added | FastComet","description":"Check out the changes new VersionPress 3.0 introduces \u27a8 New Search Feature, Bulk Undo, and Commit Tracking per Environment. ? Read our blog!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0","og_locale":"en_US","og_type":"article","og_title":"VersionPress 3.0 - Base Improvements and New Features Added | FastComet","og_description":"Check out the changes new VersionPress 3.0 introduces \u27a8 New Search Feature, Bulk Undo, and Commit Tracking per Environment. ? Read our blog!","og_url":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0","og_site_name":"FastComet Blog","article_published_time":"2016-05-10T09:40:52+00:00","article_modified_time":"2022-06-10T07:04:15+00:00","og_image":[{"width":1024,"height":576,"url":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/VersionPress3.0.jpg","type":"image\/jpeg"}],"author":"Antoniy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Antoniy","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0","url":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0","name":"VersionPress 3.0 - Base Improvements and New Features Added | FastComet","isPartOf":{"@id":"https:\/\/www.fastcomet.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0#primaryimage"},"image":{"@id":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0#primaryimage"},"thumbnailUrl":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/VersionPress3.0.jpg","datePublished":"2016-05-10T09:40:52+00:00","dateModified":"2022-06-10T07:04:15+00:00","author":{"@id":"https:\/\/www.fastcomet.com\/blog\/#\/schema\/person\/9c06dae35ff0e0a3a169eeae762a08d2"},"description":"Check out the changes new VersionPress 3.0 introduces \u27a8 New Search Feature, Bulk Undo, and Commit Tracking per Environment. ? Read our blog!","breadcrumb":{"@id":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.fastcomet.com\/blog\/versionpress-3-0"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0#primaryimage","url":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/VersionPress3.0.jpg","contentUrl":"https:\/\/www.fastcomet.com\/blog\/wp-content\/uploads\/2016\/05\/VersionPress3.0.jpg","width":1024,"height":576},{"@type":"BreadcrumbList","@id":"https:\/\/www.fastcomet.com\/blog\/versionpress-3-0#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.fastcomet.com\/blog"},{"@type":"ListItem","position":2,"name":"VersionPress 3.0 &#8211; Base Improvements and New Features Added"}]},{"@type":"WebSite","@id":"https:\/\/www.fastcomet.com\/blog\/#website","url":"https:\/\/www.fastcomet.com\/blog\/","name":"FastComet Blog","description":"FastComet Web Hosting Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.fastcomet.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.fastcomet.com\/blog\/#\/schema\/person\/9c06dae35ff0e0a3a169eeae762a08d2","name":"Antoniy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.fastcomet.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/bebc2fa14b210e2e79c8a90be5e115a9b1cae5a04fe1151f238a76958c85a8ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bebc2fa14b210e2e79c8a90be5e115a9b1cae5a04fe1151f238a76958c85a8ed?s=96&d=mm&r=g","caption":"Antoniy"},"description":"Antoniy\u2019s primary goal at FastComet is helping grow our client base through affiliates and strategic partnerships. It is all about statistics analysis, communication with our affiliates, working on various campaigns, searching the web for trends and generating ideas for future projects. You're likely to run across him at some point in the FastComet Community, too because he loves getting in and interacting with our great customers. You can always count on him to come up with strategic ideas for the team and is always searching for the smartest ways to spread our brand and services worldwide.","sameAs":["https:\/\/www.fastcomet.com"],"url":"https:\/\/www.fastcomet.com\/blog\/author\/antoniy"}]}},"_links":{"self":[{"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/posts\/415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/comments?post=415"}],"version-history":[{"count":8,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/posts\/415\/revisions"}],"predecessor-version":[{"id":7926,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/posts\/415\/revisions\/7926"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/media\/649"}],"wp:attachment":[{"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/media?parent=415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/categories?post=415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fastcomet.com\/blog\/wp-json\/wp\/v2\/tags?post=415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}