CINXE.COM
Version Deployment – Freemius
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html lang="en-US"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v19.10 - https://yoast.com/wordpress/plugins/seo/ --> <title>Version Deployment – Freemius</title> <meta name="description" content="Freemius manages its repository for secure downloads and unified code management. Serving premium products while simplifying code for developers." /> <link rel="canonical" href="https://freemius.com/help/documentation/selling-with-freemius/deployment/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Version Deployment – Freemius" /> <meta property="og:description" content="Freemius manages its repository for secure downloads and unified code management. Serving premium products while simplifying code for developers." /> <meta property="og:url" content="https://freemius.com/fs-site/help/documentation/selling-with-freemius/deployment/" /> <meta property="og:site_name" content="Freemius" /> <meta property="article:publisher" content="https://www.facebook.com/freemius" /> <meta property="article:modified_time" content="2024-09-16T07:30:51+00:00" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:image" content="https://simg.freemius.com/docs/fb-open-graph.jpg" /> <meta name="twitter:site" content="@freemius" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://freemius.com/fs-site/help/documentation/selling-with-freemius/deployment/","url":"https://freemius.com/fs-site/help/documentation/selling-with-freemius/deployment/","name":"Version Deployment – Freemius","isPartOf":{"@id":"https://freemius.com/fs-site/#website"},"datePublished":"2016-10-12T07:49:21+00:00","dateModified":"2024-09-16T07:30:51+00:00","description":"Freemius manages its repository for secure downloads and unified code management. Serving premium products while simplifying code for developers.","breadcrumb":{"@id":"https://freemius.com/fs-site/help/documentation/selling-with-freemius/deployment/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://freemius.com/fs-site/help/documentation/selling-with-freemius/deployment/"]}]},{"@type":"BreadcrumbList","@id":"https://freemius.com/fs-site/help/documentation/selling-with-freemius/deployment/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://freemius.com/fs-site/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https://freemius.com/fs-site/help/"},{"@type":"ListItem","position":3,"name":"Documentation","item":"https://freemius.com/fs-site/help/documentation/"},{"@type":"ListItem","position":4,"name":"Selling with Freemius","item":"https://freemius.com/fs-site/help/documentation/selling-with-freemius/"},{"@type":"ListItem","position":5,"name":"Version Deployment"}]},{"@type":"WebSite","@id":"https://freemius.com/fs-site/#website","url":"https://freemius.com/fs-site/","name":"Freemius","description":"Monetization Platform for Plugin & Theme Developers","publisher":{"@id":"https://freemius.com/fs-site/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://freemius.com/fs-site/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://freemius.com/fs-site/#organization","name":"Freemius","url":"https://freemius.com/fs-site/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://freemius.com/fs-site/#/schema/logo/image/","url":"https://freemius.com/fs-site/wp-content/uploads/2016/12/logo.svg","contentUrl":"https://freemius.com/fs-site/wp-content/uploads/2016/12/logo.svg","caption":"Freemius"},"image":{"@id":"https://freemius.com/fs-site/#/schema/logo/image/"},"sameAs":["https://www.linkedin.com/company/freemius","https://www.facebook.com/freemius","https://twitter.com/freemius"]}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel='dns-prefetch' href='//s.w.org' /> <link rel='stylesheet' id='wp-block-library-css' href='https://freemius.com/fs-site/wp-includes/css/dist/block-library/style.min.css?ver=6.0.2' type='text/css' media='all' /> <style id='global-styles-inline-css' type='text/css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--duotone--dark-grayscale: url('#wp-duotone-dark-grayscale');--wp--preset--duotone--grayscale: url('#wp-duotone-grayscale');--wp--preset--duotone--purple-yellow: url('#wp-duotone-purple-yellow');--wp--preset--duotone--blue-red: url('#wp-duotone-blue-red');--wp--preset--duotone--midnight: url('#wp-duotone-midnight');--wp--preset--duotone--magenta-yellow: url('#wp-duotone-magenta-yellow');--wp--preset--duotone--purple-green: url('#wp-duotone-purple-green');--wp--preset--duotone--blue-orange: url('#wp-duotone-blue-orange');--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} </style> <link rel='stylesheet' id='elementor-icons-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/eicons/css/elementor-icons.min.css?ver=5.14.0' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-frontend-legacy-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/css/frontend-legacy.min.css?ver=3.5.6' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-frontend-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/css/frontend.min.css?ver=3.5.6' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-post-15449-css' href='https://freemius.com/fs-site/wp-content/uploads/elementor/css/post-15449.css?ver=1722778769' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-pro-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor-pro/assets/css/frontend.min.css?ver=3.5.2' type='text/css' media='all' /> <link rel='stylesheet' id='font-awesome-5-all-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/font-awesome/css/all.min.css?ver=3.5.6' type='text/css' media='all' /> <link rel='stylesheet' id='font-awesome-4-shim-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/font-awesome/css/v4-shims.min.css?ver=3.5.6' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-global-css' href='https://freemius.com/fs-site/wp-content/uploads/elementor/css/global.css?ver=1722776150' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-post-15465-css' href='https://freemius.com/fs-site/wp-content/uploads/elementor/css/post-15465.css?ver=1722776150' type='text/css' media='all' /> <link rel='stylesheet' id='tablepress-default-css' href='https://freemius.com/fs-site/wp-content/tablepress-combined.min.css?ver=157' type='text/css' media='all' /> <link rel='stylesheet' id='fs-site-css' href='https://freemius.com/fs-site/wp-content/themes/freemius-wp-theme/dist/styles/main.css?ver=1721725973' type='text/css' media='all' /> <link rel='stylesheet' id='google_fonts/source_code_pro-css' href='//fonts.googleapis.com/css?family=Source+Code+Pro&subset=latin,latin-ext' type='text/css' media='all' /> <link rel='stylesheet' id='google-fonts-1-css' href='https://fonts.googleapis.com/css?family=Montserrat%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CPoppins%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&display=auto&ver=6.0.2' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-icons-shared-0-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/font-awesome/css/fontawesome.min.css?ver=5.15.3' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-icons-fa-brands-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/font-awesome/css/brands.min.css?ver=5.15.3' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-icons-fa-solid-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/font-awesome/css/solid.min.css?ver=5.15.3' type='text/css' media='all' /> <script type='text/javascript' src='https://freemius.com/fs-site/wp-includes/js/jquery/jquery.min.js?ver=3.6.0' id='jquery-core-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/font-awesome/js/v4-shims.min.js?ver=3.5.6' id='font-awesome-4-shim-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/themes/freemius-wp-theme/dist/scripts/materialize-6cc32837af.js' id='materialize-js'></script> <link rel="https://api.w.org/" href="https://freemius.com/wp-json/" /><link rel='shortlink' href='https://freemius.com/?p=87' /> <script type="text/javascript"> (function () { window.__is_eu = false; window.__is_gdpr = false; }()); </script> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/js-cookie/2.1.4/js.cookie.min.js"></script> <script type="text/javascript" src="//js.freemius.com/fs/script-manager.js?v=3"></script> <!-- Google tag (gtag.js) --> <script type="text/javascript"> FS.Scripts.addTrackingScript(function () { // Dynamically inject gtag script. FS.Scripts.injectScript('//www.googletagmanager.com/gtag/js?id=G-KLSWMPC8SV', { async: true }); window.dataLayer = window.dataLayer || []; window.gtag = function() {dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-KLSWMPC8SV'); }); </script> <!-- Facebook Pixel Code --> <script> FS.Scripts.addTrackingScript(function(){ !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','//connect.facebook.net/en_US/fbevents.js'); fbq('init', '926380567447247'); fbq('track', "PageView"); }); </script> <!-- End Facebook Pixel Code --><script type="text/javascript"> FS.Scripts.addTrackingScript(function(){ window.smartlook||(function(d) { var o=smartlook=function(){ o.api.push(arguments)},h=d.getElementsByTagName('head')[0]; var c=d.createElement('script');o.api=new Array();c.async=true;c.type='text/javascript'; c.charset='utf-8';c.src='//rec.smartlook.com/recorder.js';h.appendChild(c); })(document); smartlook('init', '044b28d90a7bb06ea65d0794a2cee9f1fcc8fd7f'); }); </script><!-- Begin AdRoll Embed Code --> <script type="text/javascript" id="inspectletjs"> FS.Scripts.addTrackingScript(function(){ adroll_adv_id = "HDB442H3WZGRPP454AICJU"; adroll_pix_id = "EJBU7OCODBCR7HGEFJSXJ5"; (function () { var _onload = function(){ if (document.readyState && !/loaded|complete/.test(document.readyState)){setTimeout(_onload, 10);return} if (!window.__adroll_loaded){__adroll_loaded=true;setTimeout(_onload, 50);return} var scr = document.createElement("script"); var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "http://a.adroll.com"); scr.setAttribute('async', 'true'); scr.type = "text/javascript"; scr.src = host + "/j/roundtrip.js"; ((document.getElementsByTagName('head') || [null])[0] || document.getElementsByTagName('script')[0].parentNode).appendChild(scr); }; if (window.addEventListener) {window.addEventListener('load', _onload, false);} else {window.attachEvent('onload', _onload)} }()); }); </script> <!-- End AdRoll Embed Code --> <style type="text/css" id="wp-custom-css"> button, input, optgroup, select, textarea { font-family: "Montserrat", sans-serif; } .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option { width: 50%; } .elementor-field-option input[type=radio]:checked, .elementor-field-option input[type=radio]:not(:checked) { opacity: 100%; position: relative; margin-right: 5px; pointer-events: auto; } .wedocs-single-wrap .wedocs-sidebar ul.doc-nav-list li a { font-family: 'Poppins'; } .wedocs-single-wrap .wedocs-single-content { padding-top: 20px; } #main.docs .wedocs-single-wrap code { padding: 0 10px; text-wrap: pretty; } .wedocs-single-wrap .wedocs-single-content article .entry-content img { border-color: transparent; } .wedocs-inner .section { padding: 0; } .wedocs-single-wrap .wedocs-single-content .wedocs-inner { max-width: 825px; } .wedocs-single-wrap .wedocs-single-content article .entry-table-of-contents ul li { list-style: none;} @media screen and (max-width: 520px) { #main.docs .wedocs-single-wrap p { font-size: 16px; } } .wedocs-single-wrap .wedocs-single-content article .entry-table-of-contents ul li { list-style: none; } #main.docs .wedocs-single-content article .entry-content blockquote p:first-child { margin-top: 0; } #main.docs .wedocs-single-content article table tr td:has(blockquote:only-child) { padding: 0; } #main.docs .wedocs-single-content article table tr td:has(blockquote:only-child) blockquote { margin: 0; } #main.docs .wedocs-single-content article table tr td:has(blockquote) blockquote:last-child:not(:only-child) { margin-bottom: -16px; margin-left: -5px; margin-right: -5px; } .wedocs-single-wrap .wedocs-single-content article .entry-content span.param-type { text-transform: unset; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; } .wedocs-single-content code, .wedocs-single-content pre { font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; } </style> </head> <body itemscope itemtype="http://schema.org/WebPage" id="deployment_page" class="docs-template-default single single-docs postid-87 deployment elementor-default elementor-kit-15449"> <div class="navbar-fixed pop-down "> <nav> <ul> <li class="nav-section nav-section--logo"><a href="/" class="brand-logo left" title="Home"></a></li> <li class="nav-section nav-section--primary"> <!-- Features --> <div class="nav-menu-item nav-menu-item--root nav-menu-item--dropdown nav-menu-item--features"><button>Features<i class="nav-menu-item--submenu--nub"> </i></button><div class="nav-menu-item--submenu"> <div class="nav-menu-item--submenu--content"> <a class="nav-menu-item nav-menu-item--large nav-menu-item--blue nav-menu-item--active nav-menu-item--feature-comparison" href="/wordpress/features-comparison/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Features Comparison</em> <span>Compare Freemius to EDD, WooCommerce, and CodeCanyon/ThemeForest.</span> </div> </a> <a class="nav-menu-item nav-menu-item--large nav-menu-item--purple nav-menu-item--software-licensing" href="/wordpress/software-licensing/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Software Licensing</em> <span>Control what features to enable based on the plan and number of site activations.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--blue nav-menu-item--buy-button" href="/wordpress/checkout/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Buy Button</em> <span>Easily embed a buy button on your website.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--green nav-menu-item--subscriptions" href="/wordpress/recurring-payments-subscriptions/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Subscriptions</em> <span>Build a sustainable recurring revenue stream.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--orange nav-menu-item--automatic-updates" href="/wordpress/automatic-software-updates/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Automatic Updates</em> <span>Manage and deploy versions all in one place.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--orange nav-menu-item--sales-taxes" href="/wordpress/collecting-eu-vat-europe/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>EU VAT & UK VAT</em> <span>Offload VAT handling to Freemius.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--blue nav-menu-item--us-sales-taxes" href="/us-sales-tax-and-economic-nexus/"> <svg id="prefix__Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 74 74"><g><path class="cls-1" d="M47.3931096,53.152965s11.7753226-3.0368686,20.0388955-5.0957819c5.2724801-1.3136694,6.3249718,4.4930815,3.2684448,6.0885815-3.4967355,1.8252822-27.7897494,12.8963102-34.2153625,12.8963102-4.180075,0-12.6831475-6.1915056-16.2076742-5.9856905-3.5245246.2058068-9.1586208,1.4406809-9.1586208,1.4406809l-1.8008526-16.7018678,16.8251086-.5659812,21.2500613,7.9237489Z"/><path class="cls-3" d="M31.6142093,50.5460179s8.3509919,6.6005547,12.5202123,7.2034084c5.2415611.7579131,6.5929358-3.8352131,6.0843225-5.3760091-1.0231386.3629626-3.7174861.8481515-3.7174861.8481515l-14.8870487-2.6755508Z"/><path class="cls-1" d="M10.8272257,45.880953c1.4406819-1.0462109,10.3954421-5.0080874,14.762637-5.0080874,4.2524073,0,14.5140787,4.3563506,20.5561428,7.8144404,1.9841739,1.1356165,2.8160642,3.5465549,1.6818066,5.5315077l-.0000041.0000083c-1.036624,1.8140879-3.2262609,2.3422436-5.181724,1.6062635-4.27439-1.6087575-10.7917598-4.6959344-10.7917598-4.6959344"/><path class="cls-5" d="M6.6595331,67.0420748h.0000098c2.7943037,0,5.0595334-2.0957859,5.0595334-4.6810652v-15.6855444c0-2.5852793-2.2652297-4.681061-5.0595334-4.681061h-.0000098c-2.7943029,0-5.0595331,2.0957817-5.0595331,4.681061v15.6855444c0,2.5852793,2.2652302,4.6810652,5.0595331,4.6810652Z"/></g><circle class="cls-2" cx="49.6874994" cy="23.2599222" r="19.0874989"/><path class="cls-4" d="M38.826351,18.8289028c0-2.7745067,1.9399681-4.773998,4.6549517-4.773998s4.6549517,1.9994913,4.6549517,4.773998-1.9399681,4.773998-4.6549517,4.773998-4.6549517-1.9994913-4.6549517-4.773998ZM41.4222883,32.4949275c-.0886773-.0898921-.1190463-.1797841-.0291542-.2684615l14.0231635-18.4995458c.0898921-.0898921.1797841-.1190463.2684615-.0303689l1.9095992,1.5524604c.0898921.0886773.1190463.1785694.0303689.2684615l-13.9648551,18.498331c-.0886773.0898921-.1785694.120261-.2684615.0303689l-1.9691223-1.5512456ZM45.0932862,18.7997486c0-1.0155375-.6863381-1.7310298-1.6119835-1.7310298-.9244306,0-1.6107688.7154923-1.6107688,1.7310298,0,1.0143227.6863381,1.729815,1.6107688,1.729815.9256454,0,1.6119835-.7154923,1.6119835-1.729815ZM51.2387456,28.9138217c0-2.7745067,1.9399681-4.773998,4.6549517-4.773998s4.6549517,1.9994913,4.6549517,4.773998c0,2.7757215-1.9399681,4.773998-4.6549517,4.773998s-4.6549517-1.9982765-4.6549517-4.773998ZM57.5056809,28.8846675c0-1.0143227-.6863381-1.7310298-1.6119835-1.7310298-.9244306,0-1.6107688.7167071-1.6107688,1.7310298s.6863381,1.729815,1.6107688,1.729815c.9256454,0,1.6119835-.7154923,1.6119835-1.729815Z"/></svg> <div class="nav-menu-item--title"> <em>US Sales Tax</em> <span>Pass sales tax liability to Freemius.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--green nav-menu-item--cart-recovery" href="/wordpress/cart-abandonment-recovery/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Cart Abandonment Recovery</em> <span>Recover lost sales with automated emails.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--purple nav-menu-item--affiliate-platform" href="/wordpress/affiliate-platform/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Affiliate Platform</em> <span>Manage affiliates. Track clicks, visits & referrals.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--blue nav-menu-item--analytics" href="/wordpress/insights/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Analytics & Usage Tracking</em> <span>Get actionable insights on user behavior.</span> </div> </a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--blue nav-menu-item--user-dashboard" href="/wordpress/user-dashboard/"> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>User Dashboard</em> <span>A fully-featured members area for customers.</span> </div> </a> </div> </div></div> <!--/ Features --> <!-- Developers --> <div class="nav-menu-item nav-menu-item--root nav-menu-item--dropdown nav-menu-item--developers"><button>Developers<i class="nav-menu-item--submenu--nub"> </i></button><div class="nav-menu-item--submenu"> <div class="nav-menu-item--submenu--content"> <a class="nav-menu-item nav-menu-item--large nav-menu-item--active nav-menu-item--documentation" href="/help/documentation/"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Documentation</em> <span>Start by integrating your WordPress plugin or theme in 5 mins to get all our platform features.</span> </div> </div></a> <div class="nav-menu-item--submenu--submenu"> <ul> <li class="nav-menu-item--submenu--submenu--title">Get Started</li> <li><a href="/help/documentation/selling-with-freemius/getting-started/" target="_blank">Getting Started 馃殌</a></li> <li><a href="/help/documentation/wordpress-sdk/integrating-freemius-sdk/" target="_blank">Integration & Config</a></li> <li><a href="/help/documentation/wordpress-sdk/testing/" target="_blank">Testing & Debugging</a></li> <li><a href="/help/documentation/selling-with-freemius/deployment/" target="_blank">Version Deployment</a></li> <li><a href="/help/documentation/wordpress-sdk/software-licensing/" target="_blank">Licensing API</a></li> <li><a href="/help/documentation/selling-with-freemius/freemius-checkout-buy-button/" target="_blank">Buy Button JS API</a></li> </ul> <ul> <li class="nav-menu-item--submenu--submenu--title">Popular Topics</li> <li><a href="/help/documentation/selling-with-freemius/your-earnings/" target="_blank">Getting Paid</a></li> <li><a href="/help/documentation/selling-with-freemius/selling-add-ons-extensions/" target="_blank">Selling Add-Ons</a></li> <li><a href="/help/documentation/selling-with-freemius/selling-bundles-and-memberships/" target="_blank">Bundles & Memberships</a></li> <li><a href="/help/documentation/selling-with-freemius/free-trials/" target="_blank">Offering Free Trials</a></li> <li><a href="/help/documentation/users-account-management/users-dashboard/" target="_blank">Users' Dashboard</a></li> </ul> </div> <div class="nav-menu-item--submenu__double-split"> <a class="nav-menu-item nav-menu-item--small nav-menu-item--wordpress-sdk" href="https://github.com/Freemius/wordpress-sdk" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>WordPress SDK</em> </div> </div></a> <a class="nav-menu-item nav-menu-item--small nav-menu-item--php-sdk" href="https://github.com/Freemius/php-sdk" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>PHP SDK</em> </div> </div></a> <a class="nav-menu-item nav-menu-item--small nav-menu-item--purple nav-menu-item--system-status" href="https://status.freemius.com/" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>System Status</em> </div> </div></a> <a class="nav-menu-item nav-menu-item--small nav-menu-item--purple nav-menu-item--changelog" href="/changelog/" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Changelog</em> </div> </div></a> </div> </div> </div></div> <!--/ Developers --> <div class="nav-menu-item nav-menu-item--root nav-menu-item--customers"><a href="/customers/">Customers</a></div> <div class="nav-menu-item nav-menu-item--root nav-menu-item--pricing"><a href="/pricing/">Pricing</a></div> <div class="nav-menu-item nav-menu-item--root nav-menu-item--dropdown nav-menu-item--blog"><a href="/blog/">Blog<i class="nav-menu-item--submenu--nub"> </i></a><div class="nav-menu-item--submenu"> <div class="nav-menu-item--submenu--content"> <a class="nav-menu-item nav-menu-item--large nav-menu-item--purple nav-menu-item--active nav-menu-item--blog-popular" href="/blog/#popular" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Popular</em> <span>Actionable data-driven content for WordPress plugin, theme, and SaaS developers.</span> </div> </div></a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--blue nav-menu-item--blog-latest" href="/blog/#latest" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Latest</em> <span>Get the most up-to-date posts from our Blog.</span> </div> </div></a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--blue nav-menu-item--blog-business" href="/blog/category/business-models/" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Business</em> <span>Grow your bottom line with a focus on ROI.</span> </div> </div></a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--orange nav-menu-item--blog-marketing" href="/blog/category/marketing/" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Marketing</em> <span>Learn new ways to sell your plugins or themes.</span> </div> </div></a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--green nav-menu-item--blog-customer-support" href="/blog/category/support/" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Customer Support</em> <span>Discover support best practices and tips.</span> </div> </div></a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--blue nav-menu-item--blog-interviews" href="/blog/category/interviews/" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Interviews</em> <span>Hear from the greatest minds in WordPress.</span> </div> </div></a> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--orange nav-menu-item--blog-product-releases" href="/blog/category/release-notes/" target="_blank"><div> <i class="fs-icon"></i> <div class="nav-menu-item--title"> <em>Product Releases</em> <span>Stay up to date with Freemius Release Notes.</span> </div> </div></a> </div> </div></div> </li> <li class="nav-section nav-section--mobile-trigger"> <div class="nav-menu-item nav-menu-item--root"> <a class="mobile-menu-trigger" href="#" data-activates="nav-mobile"><i class="fa fa-bars fa-fw fa-2x"></i></a> </div> </li> <li class="nav-section nav-section--login"> <div class="nav-menu-item nav-menu-item--root nav-menu-item--dropdown nav-menu-item--login"><a href="#" class="secondary">Log In <i class="fa fa-fw fa-sort-desc"></i><i class="nav-menu-item--submenu--nub"> </i></a><div class="nav-menu-item--submenu"> <div class="nav-menu-item--submenu--content"> <a class="nav-menu-item nav-menu-item--large nav-menu-item--developer-login" href="https://dashboard.freemius.com/login/"><div> <img src="https://simg.freemius.com/layout/developer-login-icon.svg" alt="" /> <div class="nav-menu-item--title"> <em>Developer Dashboard - Sellers</em> <span>Manage your products, plans & pricing, customers, affiliates, reviews, etc.</span> </div> </div></a> <a class="nav-menu-item nav-menu-item--large nav-menu-item--user-login" href="https://users.freemius.com/login"><div> <img src="https://simg.freemius.com/layout/user-login-icon.svg" alt="" /> <div class="nav-menu-item--title"> <em>User Dashboard - Buyers</em> <span>Manage your profile, websites, downloads, licenses, invoices, subscriptions, etc.</span> </div> </div></a> </div> </div></div> <div class="nav-menu-item nav-menu-item--root nav-menu-item--signup"><a href="https://dashboard.freemius.com/register/">Sellers Sign Up</a></div> </li> <li class="nav-section nav-section--mobile"> <div id="mobile_menu" class="nav-menu-item--submenu--content" style="display: none"> <i class="fa fa-close fa-2x"></i> <div class="links--primary"> <span class="mobile-menu-title">Features</span> <ul> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--blue nav-menu-item--feature-comparison" href="/wordpress/features-comparison/"> <i class="fs-icon"></i> <span>All Features</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--purple nav-menu-item--software-licensing" href="/wordpress/software-licensing/"> <i class="fs-icon"></i> <span>Licensing</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--green nav-menu-item--subscriptions" href="/wordpress/recurring-payments-subscriptions/"> <i class="fs-icon"></i> <span>Subscriptions</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--orange nav-menu-item--automatic-updates" href="/wordpress/automatic-software-updates/"> <i class="fs-icon"></i> <span>Automatic Updates</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--blue nav-menu-item--buy-button" href="/wordpress/checkout/"> <i class="fs-icon"></i> <span>Buy Button</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--blue nav-menu-item--analytics" href="/wordpress/insights/"> <i class="fs-icon"></i> <span>Analytics</span> </a> </li> </ul> <ul> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--blue nav-menu-item--user-dashboard" href="/wordpress/user-dashboard/"> <i class="fs-icon"></i> <span>User Dashboard</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--purple nav-menu-item--affiliate-platform" href="/wordpress/affiliate-platform/"> <i class="fs-icon"></i> <span>Affiliate Platform</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--green nav-menu-item--cart-recovery" href="/wordpress/cart-abandonment-recovery/"> <i class="fs-icon"></i> <span>Cart Recovery</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--orange nav-menu-item--sales-taxes" href="/wordpress/collecting-eu-vat-europe/"> <i class="fs-icon"></i> <span>EU VAT</span> </a> </li> <li> <a class="nav-menu-item nav-menu-item--medium nav-menu-item--active nav-menu-item--blue nav-menu-item--us-sales-taxes" href="/us-sales-tax-and-economic-nexus/"> <i class="fs-icon"></i> <span>US Sales Tax</span> </a> </li> </ul> </div> <div class="links--secondary"> <ul> <li><a class="nav-menu-item" href="/pricing/">Pricing</a></li> <li><a class="nav-menu-item" href="/customers/">Customers</a></li> <li><a class="nav-menu-item" href="/help/documentation/">Documentation</a></li> </ul> <ul> <li><a class="nav-menu-item" href="/about/">About Us</a></li> <li><a class="nav-menu-item" href="/blog/">Blog</a></li> <li><a class="nav-menu-item" href="/help/faq/">FAQ</a></li> </ul> </div> <div class="clearfix"> </div> <div class="links--login"> <a class="nav-menu-item nav-menu-item--buyer-login" href="https://users.freemius.com/login">User Login - Buyers <i class="fa fa-arrow-right"></i></a> <a class="nav-menu-item nav-menu-item--seller-login" href="https://dashboard.freemius.com/login/">Developer Login - Sellers <i class="fa fa-arrow-right"></i></a> </div> <div class="clearfix"> </div> </div> </li> </ul> </nav> </div> <script type="text/javascript"> (function ($, undef) { var $navbar = $('.navbar-fixed'), $mobileMenu = $('#mobile_menu'); $('.mobile-menu-trigger').click(function () { $mobileMenu.show(200); return false; }); $('#mobile_menu .fa-close').click(function(){ $mobileMenu.hide(200); }); $(document).mouseup(function(e){ // If the target of the click isn't the container if(!$mobileMenu.is(e.target) && $mobileMenu.has(e.target).length === 0){ $mobileMenu.hide(200); } }); $(document).ready(function () { //-------------------------------------------------------------------------------- //region Login //-------------------------------------------------------------------------------- var $loginMenuItem = $('.nav-menu-item--dropdown'), $loginPopupTrigger = $loginMenuItem.find('> a, > button'); $loginPopupTrigger.mouseenter(function(){ var $parent = $(this).parent(); $loginMenuItem.each(function(i, e){ if (e != $parent[0]) { $(e).removeClass('active'); } }); $parent.addClass('hover'); }); $loginMenuItem.mouseleave(function(){ // $(this).parent().removeClass('hover'); $loginMenuItem.removeClass('hover'); }); $loginPopupTrigger.click(function(){ var $menuItem = $(this).parent(); if ($menuItem.hasClass('active')) { $menuItem.find('.nav-menu-item--dropdown').removeClass('active hover'); } else { $menuItem.addClass('active'); } return ('a' === $trigger.prop('nodeName').toLowerCase()); }); // Hide login options when clicking outside the login pop-up. $(document).mouseup(function(e) { if (!$loginMenuItem.is(e.target) && $loginMenuItem.has(e.target).length === 0) $loginMenuItem.removeClass('active hover'); }); //endregion /* Side Sharing -------------------------------------------------------------- */ var wrap = $(document), didScroll, scrollTop; /* Header -------------------------------------------------------------- */ var header = $('.navbar-fixed'), headerHeight = 15; wrap.scroll(function (e) { /* Side Sharing -------------------------------------------------------------- */ scrollTop = $(this).scrollTop(); if (scrollTop < headerHeight) { header.removeClass('floating'); } else { header.addClass('floating'); } didScroll = true; }); var scrollToSection = function ($section) { $('html, body').animate({ scrollTop: $section.offset().top - $headerNav.height() - 15 }, 200); }; // Adds a proper offset to anchor links so the header won't hide the beginning of the target anchor. var $headerNav = header.find('nav'); $('.hentry').on('click', 'a[href^="#"]', function() { scrollToSection($($(this).attr('href'))); }); // Add anchors to h1, h2, and h3 headers. $('.wedocs-inner h1, .wedocs-inner h2, .wedocs-inner h3').each(function(){ var $this = $(this); if (null == $this.attr('id') || false === $this.attr('id') || '' === $this.attr('id').trim()) { var id = $this.text() .toLowerCase() .trim() .replace(/^[0-9]+/, '') .replace(/[^0-9a-z]/g, ' ') .trim() .replace(/\s+/g, '_'); $this.attr('id', id); $this.hover(function () { $(this).append('<a class="dynamic-anchor" href="#' + id + '" style="color: #666; margin-left: 10px;"><i class="fa fa-link"></i></a>'); }, function () { $(this).find('a.dynamic-anchor').remove(); }); } }); if (window.location.hash) { var $section = $(window.location.hash); if ($section.length > 0) { setTimeout(function () { scrollToSection($section); }, 500); } } }); })(jQuery); </script> <div class="wrap" role="document"> <div class="content"> <main class="main"> <div class="page-header page-header--no-cover page-header--only-menu"> <div class="container"> </div> </div> <div id="primary" class="content-area"> <main id="main" class="site-main docs" role="main"> <div class="wedocs-single-wrap" style="position: relative"> <div class="wedocs-single-content"> <ol class="wedocs-breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="https://freemius.com/"> <span itemprop="name">Home</span></a> <meta itemprop="position" content="1" /> </li><li class="delimiter">→</li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="https://freemius.com/help/documentation/"> <span itemprop="name">Documentation</span></a> <meta itemprop="position" content="3" /> </li><li class="delimiter">→</li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="https://freemius.com/help/documentation/selling-with-freemius/"> <span itemprop="name">Selling with Freemius</span></a> <meta itemprop="position" content="2" /> </li> <li class="delimiter">→</li> <li><span class="current">Version Deployment</span></li></ol> <div class="wedocs-inner"> <article id="post-87" class="post-87 docs type-docs status-publish hentry"> <header class="entry-header"> <h1 class="entry-title">Version Deployment</h1> <a class="print-page" href="javascript:window.print()" title="Print this article"><i class="fa fa-print"></i></a> </header> <!-- .entry-header --> <div class="entry-content"> <p>There are two main reasons why Freemius manages its own repository and deployment process:</p> <ol> <li>To be able to securely serve premium plugin/theme downloads and updates to customers who own a valid license.</li> <li>To simplify code management by allowing developers to maintain only one code base which contains all of their plugin/theme functionality. A free, WordPress.org compliant version is automatically generated for them, using a custom PHP Preprocessor.</li> </ol> <h2>Deploying to Freemius</h2> <ol> <li>Login to your <strong>Freemius Dashboard</strong> and head over to the <strong><i>Deployment</i></strong> section.</li> <li>Zip your plugin’s or theme鈥檚 root folder and upload it by clicking the <strong>[ + Add New Version]</strong> button, located at the top.</li> </ol> <p>The processor will auto-generate <strong>two versions</strong> of your plugin:</p> <ul> <li><strong>A premium version</strong>: One that’s identical to your uploaded version, which includes all of the code. Will be available for download ONLY for customers with a valid license (paid or trial).</li> <li><strong>A free version</strong>: The same code, stripped from all of your paid features. This stripped down version is what your users will be able to download first.<br /> In case your original plugin is compatible with the official <a href="https://wordpress.org/plugins/about/guidelines/" rel="noopener noreferrer" target="_blank">WordPress.org guidelines</a> – the free version, will also be compatible, as all premium code was stripped.</li> </ul> <blockquote class="warning"><p>The premium version will not be available for download or update for your customers until you change the release status to <strong>Released</strong>. If you have a beta program, you can also flag the release as <strong>Beta release</strong> to make it only available for customers who are part of the beta program.</p></blockquote> <blockquote class="tip"><p>If you already developed free and premium versions that are fundamentally different, you can either <a href="https://freemius.com/help/documentation/wordpress-sdk/gists/#merging_different_free_and_premium_product_versions_into_one_with_freemius">merge the versions into a single code base</a> or ignore the free version generated by Freemius. If you go with the 2nd option, make sure also to integrate the SDK into your free version and set the <code>is_premium</code> flag to <code>false</code> to indicate the SDK that it is running in the scope of the free version.</p></blockquote> <h3>Deployment Automation</h3> <p><strong><a href="https://github.com/CodeAtCode/freemius-suite" target="_blank" rel="noopener noreferrer">freemius-suite</a></strong>: a Python based Bash library for packaging, deployment, and releasing a new product version via Freemius.</p> <blockquote><p> <strong>Credits:</strong> Created & maintained by <a href="https://github.com/Mte90" target="_blank" rel="noopener noreferrer">Daniele Scasciafratte</a> </p></blockquote> <p><strong><a href="https://www.npmjs.com/package/gulp-freemius-deploy" target="_blank" rel="noopener noreferrer">gulp-freemius-deploy</a></strong>: a niffty Gulp NPM library for packaging and deploying a new product version via Freemius.</p> <blockquote><p> <strong>Credits:</strong> Created & maintained by <a href="https://github.com/jamesckemp" target="_blank" rel="noopener noreferrer">James Kemp</a> </p></blockquote> <h2>Free Version Auto Generation / Premium Logic Stripping / PHP Preprocessor</h2> <p>The deployment PHP Preprocessor will automatically strip out any premium code – based on the following rules:</p> <h3>Stripping Premium Only PHP Logic</h3> <p>All logic within the <code>if</code> statements containing usage of license related methods with the <code>__premium_only</code> suffix will automatically be stripped from the free version.</p> <pre class="brush: php; title: ; notranslate" title=""> // This IF block will be auto removed from the Free version. if ( my_fs()->is__premium_only() ) { // This IF will be executed only if the user in a trial mode or have a valid license. if ( my_fs()->can_use_premium_code() ) { // ... premium only logic ... } } // This "if" block will be auto removed from the Free version. if ( my_fs()->is_plan__premium_only('starter') ) { // ... logic related to starter plan and higher plans ... } </pre> <h3>Stripping Premium Only CSS & JavaScript Logic</h3> <p>Simply wrap the code you’d like to exclude with the following meta comments:</p> <pre class="brush: jscript; title: ; notranslate" title=""> (function($){ /*! <fs_premium_only> */ // ... my premium only code ... /*! </fs_premium_only> */ })(jQuery); </pre> <p>In the future, we’ll provide a richer JavaScript SDK which will handle license-related logic in a similar manner to how our PHP SDK does it.</p> <h4>Developing a Gutenberg or JavaScript driven plugin with webpack?</h4> <p>To preserve Freemius meta comments from being stripped by <a href="https://www.npmjs.com/package/uglifyjs-webpack-plugin#preserve-comments" target="_blank" rel="noopener noreferrer">webpack’s uglifyjs</a>, configure <code>webpack.config.js</code> as follows:</p> <pre class="brush: jscript; title: ; notranslate" title=""> module.exports = { optimization: { minimizer: [ new UglifyJsPlugin({ uglifyOptions: { output: { comments: /\<\/?fs_premium_only\>/i, }, }, extractComments: true, }), ], }, }; </pre> <h3>Stripping Premium Only PHP Functions</h3> <p>To add a function which will only be available in your premium plugin version, simply add the <code>__premium_only</code> suffix to the function鈥檚 name. Make sure that all lines that call that method either directly, or by using hooks, are also wrapped in the <strong>premium only</strong> logic:</p> <pre class="brush: php; title: ; notranslate" title=""> class My_Plugin { function init() { ... // This "if" block will be auto removed from the free version. if ( my_fs()->is__premium_only() ) { // Init premium version. $this->admin_init__premium_only(); add_action( 'admin_init', array( &$this, 'admin_init_hook__premium_only' ) ); } ... } // This method will be only included in the premium version. function admin_init__premium_only() { ... } // This method will be only included in the premium version. function admin_init_hook__premium_only() { ... } } </pre> <h3>Stripping Premium Only Files/Folders</h3> <p>There are two ways to exclude files from your <strong>free version</strong>:</p> <ol> <li>Add <code>__premium_only</code> just before the file extension. For example: <code>functions__premium_only.php</code> will only be included in the premium plugin/theme version. <em>This works for all type of files, not only for PHP.</em></li> <li>For <strong>plugins</strong>, add <code>@fs_premium_only</code> (a special meta tag) to the plugin’s main PHP file header. Example: <pre class="brush: php; title: ; notranslate" title=""> /** * Plugin Name: My Awesome Plugin * Plugin URI: http://my-awesome-plugin.com * Description: Create and manage Awesomeness right in WordPress. * Version: 1.0.0 * Author: Awesomattic * Author URI: http://my-awesome-plugin.com/me/ * License: GPLv2 * Text Domain: myplugin * Domain Path: /langs * * @fs_premium_only /lib/functions.php, /premium-files/ */ if ( ! defined( 'ABSPATH' ) ) { exit; } // ... my code ... </pre> <p>The file <code>/lib/functions.php</code> and the directory <code>/premium-files/</code> will be removed from the free plugin version.</p> </li> <li>For <strong>themes</strong>, add <code>@fs_premium_only</code>, a special meta tag, to the theme’s main <code>style.css</code> file header. Example: <pre class="brush: css; title: ; notranslate" title=""> /** * Theme Name: My Awesome Theme * Theme URI: http://my-awesome-theme.com * Description: Create and manage Awesomeness right in WordPress. * Version: 1.0.0 * Author: Awesomattic * Author URI: http://my-awesome-theme.com/me/ * License: GPLv2 * Text Domain: mytheme * * @fs_premium_only /premium-functions.php, /premium-files/ */ body { ... } span { ... } </pre> </p> </li> </ol> <h3>Ignoring Folders Processing</h3> <p>If your product has a lot of code and/or many files, we created a special <code>@fs_ignore</code> meta tag to direct the PHP Preprocessor to ignore a given collection of files or folders that don’t need processing. For example, if you have a <code>vendors</code> folder with 3rd party libraries that should remain untouched in both the free and paid versions, that folder would be a great candidate for the <code>@fs_ignore</code> tag.</p> <p>For <strong>plugins</strong>, add <code>@fs_ignore</code> to the plugin’s main PHP file header..</p> <p>For <strong>themes</strong>, add <code>@fs_ignore</code> to the theme’s <code>style.css</code> stylesheet.</p> <p>This is similar to the <code>@fs_premium_only</code> <a href="#stripping_premium_only_files_folders">example above</a>.</p> <h3>Handling Premium <code>readme.txt</code></h3> <p>In case you have a premium-only product (without a free version), the <a href="/help/documentation/wordpress-sdk/">WordPress SDK</a> will fetch it from our API instead of WordPress.org. For freemium plugins and themes, just like you only need to maintain a single version of your product, we’ve built a special markdown-friendly syntax to control which pieces of your readme.txt will show up on either the free or the premium version, or on both.</p> <h4>Premium-only <code>readme.txt</code> Content</h4> <p>If you wish to add content to appear only for the paid version, use the following syntax in your readme.txt:</p> <pre class="brush: plain; title: ; notranslate" title=""> [//]: # fs_premium_only_begin Whatever goes in here will only appear in the premium readme [//]: # fs_premium_only_end </pre> <h4>Free-only <code>readme.txt</code> Content</h4> <p>For content to appear only inside the free version use the following syntax in your readme.txt:</p> <pre class="brush: plain; title: ; notranslate" title=""> [//]: # fs_free_only_begin Whatever goes in here will be only in the free readme [//]: # fs_free_only_end </pre> <h4>Common <code>readme.txt</code> Content</h4> <p>For content to appear on both the free and the premium <code>readme.txt</code> files, you do not need to wrap it in any syntax.</p> <h4>Example of a Freemium <code>readme.txt</code></h4> <p>If you deploy a freemium product with the following readme:</p> <pre class="brush: plain; title: ; notranslate" title=""> === My Awesome Product === Requires at least: 3.0 Tested up to: 4.9 Stable tag: 3.1.0 License: GPLv2 or later == Description == This is the best product ever! == Installation == 1. Upload the product to your blog. 2. Activate it. [//]: # fs_premium_only_begin 3. Enter the license key you received after the purchase and activate it. [//]: # fs_premium_only_end == Change Log == [//]: # fs_premium_only_begin = 1.0.0 = * New: New premium feature! [//]: # fs_premium_only_end [//]: # fs_free_only_begin = 1.0.0 = * New: New free feature! [//]: # fs_free_only_end </pre> <p>The free <code>readme.txt</code> will look like this:</p> <pre class="brush: plain; title: ; notranslate" title=""> === My Awesome Product === Requires at least: 3.0 Tested up to: 4.9 Stable tag: 3.1.0 License: GPLv2 or later == Description == This is the best product ever! == Installation == 1. Upload the product to your blog. 2. Activate it. == Change Log == = 1.0.0 = * New: New free feature! </pre> <p>And the premium <code>readme.txt</code> will look like this:</p> <pre class="brush: plain; title: ; notranslate" title=""> === My Awesome Product === Requires at least: 3.0 Tested up to: 4.9 Stable tag: 3.1.0 License: GPLv2 or later == Description == This is the best product ever! == Installation == 1. Upload the product to your blog. 2. Activate it. 3. Enter the license key you received after the purchase and activate it. == Change Log == = 1.0.0 = * New: New premium feature! </pre> </div> <!-- .entry-content --> <div class="entry-footer row section"> <div class="col m12 l6 entry-contact"> <!-- --> <i class="fa fa-envelope"></i> Still stuck? <a href="/cdn-cgi/l/email-protection#e695939696899492a6809483838b8f9395c885898b">How can we help?</a> </div> <div class="col m12 l6 entry-date"> <time datetime="2024-09-16">Last updated on September 16, 2024</time> </div> </div> <nav class="wedocs-doc-nav"><h3 class="assistive-text screen-reader-text">Doc navigation</h3><span class="nav-prev"><a href="https://freemius.com/help/documentation/selling-with-freemius/so-what-does-freemius-do/">← So, what exactly does it do?</a></span><span class="nav-next"><a href="https://freemius.com/help/documentation/selling-with-freemius/your-earnings/">Getting Paid (Your Earnings) →</a></span></nav> </article> <!-- #post-## --> </div> </div> <div class="wedocs-sidebar"> <div class="wedocs-sidebar__container"> <form role="search" method="post" class="search-form wedocs-search-form" action="https://freemius.com/help/documentation/search/"> <div class="wedocs-search-input"> <input type="search" class="search-field" placeholder="Search" value="" title="Search for:"/> <button type="submit" class="fa fa-search"></button> </div> </form> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script type="text/javascript"> (function ($) { $('.search-form.wedocs-search-form').on('submit', function () { var search = $(this).find('input').val().toLowerCase().trim(); if ('' === search) { return false; } $(this).attr('action', $(this).attr('action') + encodeURIComponent(search) + '/'); }); })(jQuery); </script> <ul class="doc-nav-list"> <li class="page_item page-item-7251 page_item_has_children"><a href="https://freemius.com/help/documentation/getting-started/">Getting Started with Freemius</a> <ul class='children'> <li class="page_item page-item-30127"><a href="https://freemius.com/help/documentation/getting-started/creating-an-account/">Creating an Account</a></li> <li class="page_item page-item-30126"><a href="https://freemius.com/help/documentation/getting-started/integrating-your-first-product/">Integrating your First product</a></li> <li class="page_item page-item-30128"><a href="https://freemius.com/help/documentation/getting-started/setup-product-pricing-plans-refunds/">Setup Product Pricing, Plans & Refunds</a></li> <li class="page_item page-item-30129"><a href="https://freemius.com/help/documentation/getting-started/integration-with-sdk/">Integration with SDK</a></li> <li class="page_item page-item-30130"><a href="https://freemius.com/help/documentation/getting-started/deployment-process/">Deployment Process</a></li> <li class="page_item page-item-30131"><a href="https://freemius.com/help/documentation/getting-started/explore-the-developer-dashboard/">Explore the Developer Dashboard</a></li> <li class="page_item page-item-30132"><a href="https://freemius.com/help/documentation/getting-started/explore-the-user-dashboard/">Explore the User Dashboard</a></li> <li class="page_item page-item-30133"><a href="https://freemius.com/help/documentation/getting-started/our-pricing/">Our Pricing</a></li> <li class="page_item page-item-30134"><a href="https://freemius.com/help/documentation/getting-started/making-your-first-sale/">Making Your First Sale</a></li> <li class="page_item page-item-30135"><a href="https://freemius.com/help/documentation/getting-started/next-steps/">Next Steps</a></li> <li class="page_item page-item-30136"><a href="https://freemius.com/help/documentation/getting-started/where-to-get-help/">Where to Get Help</a></li> <li class="page_item page-item-30137"><a href="https://freemius.com/help/documentation/getting-started/advanced-topics/">Advanced Topics</a></li> </ul> </li> <li class="page_item page-item-43 page_item_has_children current_page_ancestor current_page_parent"><a href="https://freemius.com/help/documentation/selling-with-freemius/">Selling with Freemius</a> <ul class='children'> <li class="page_item page-item-51"><a href="https://freemius.com/help/documentation/selling-with-freemius/so-what-does-freemius-do/">So, what exactly does it do?</a></li> <li class="page_item page-item-87 current_page_item"><a href="https://freemius.com/help/documentation/selling-with-freemius/deployment/" aria-current="page">Version Deployment</a></li> <li class="page_item page-item-120"><a href="https://freemius.com/help/documentation/selling-with-freemius/your-earnings/">Getting Paid (Your Earnings)</a></li> <li class="page_item page-item-326"><a href="https://freemius.com/help/documentation/selling-with-freemius/dunning-failed-payments/">Dunning & Failed Payments</a></li> <li class="page_item page-item-3961"><a href="https://freemius.com/help/documentation/selling-with-freemius/free-trials/">Offering Free Trials</a></li> <li class="page_item page-item-647"><a href="https://freemius.com/help/documentation/selling-with-freemius/refund-policy/">Refund Policy</a></li> <li class="page_item page-item-1354"><a href="https://freemius.com/help/documentation/selling-with-freemius/selling-add-ons-extensions/">Selling Add-Ons / Extensions</a></li> <li class="page_item page-item-3909"><a href="https://freemius.com/help/documentation/selling-with-freemius/selling-bundles-and-memberships/">Selling Bundles & Memberships</a></li> <li class="page_item page-item-32327"><a href="https://freemius.com/help/documentation/selling-with-freemius/saas-integration/">SaaS Integration</a></li> <li class="page_item page-item-32341"><a href="https://freemius.com/help/documentation/selling-with-freemius/integrating-license-key-activation/">Integrating License Key Activation</a></li> <li class="page_item page-item-3568"><a href="https://freemius.com/help/documentation/selling-with-freemius/license-renewals-mechanism/">The License Renewals Mechanism</a></li> <li class="page_item page-item-2770"><a href="https://freemius.com/help/documentation/selling-with-freemius/license-utilization/">License Utilization</a></li> <li class="page_item page-item-3590"><a href="https://freemius.com/help/documentation/selling-with-freemius/software-updates-distribution/">Software Updates and Distribution</a></li> <li class="page_item page-item-3600"><a href="https://freemius.com/help/documentation/selling-with-freemius/freemius-checkout-buy-button/">Freemius Checkout / Buy Button JavaScript API</a></li> <li class="page_item page-item-26288"><a href="https://freemius.com/help/documentation/selling-with-freemius/applying-css-customization/">Applying CSS Customization</a></li> <li class="page_item page-item-3619"><a href="https://freemius.com/help/documentation/selling-with-freemius/proration/">Prorating Upgrades & Downgrades</a></li> <li class="page_item page-item-5963"><a href="https://freemius.com/help/documentation/selling-with-freemius/multi-currency/">Multi-Currency Pricing & Support</a></li> <li class="page_item page-item-3941"><a href="https://freemius.com/help/documentation/selling-with-freemius/email-deliverability/">Email Deliverability</a></li> <li class="page_item page-item-11857"><a href="https://freemius.com/help/documentation/selling-with-freemius/product-retirement/">Product Retirement</a></li> </ul> </li> <li class="page_item page-item-44 page_item_has_children"><a href="https://freemius.com/help/documentation/analytics-insights/">Analytics & Insights</a> <ul class='children'> <li class="page_item page-item-191"><a href="https://freemius.com/help/documentation/analytics-insights/user-data/">User & Websites Data</a></li> <li class="page_item page-item-319"><a href="https://freemius.com/help/documentation/analytics-insights/insights-dashboard/">The Insights Dashboard</a></li> <li class="page_item page-item-478"><a href="https://freemius.com/help/documentation/analytics-insights/user-feedback/">User Feedback</a></li> </ul> </li> <li class="page_item page-item-2851 page_item_has_children"><a href="https://freemius.com/help/documentation/wordpress-sdk/">WordPress SDK</a> <ul class='children'> <li class="page_item page-item-53"><a href="https://freemius.com/help/documentation/wordpress-sdk/integrating-freemius-sdk/">Integration & Configuration</a></li> <li class="page_item page-item-56"><a href="https://freemius.com/help/documentation/wordpress-sdk/opt-in-message/">Opt-in Screen</a></li> <li class="page_item page-item-4753"><a href="https://freemius.com/help/documentation/wordpress-sdk/wp-admin-account/">WP Admin Account</a></li> <li class="page_item page-item-59"><a href="https://freemius.com/help/documentation/wordpress-sdk/software-licensing/">Handling Licensing</a></li> <li class="page_item page-item-10026"><a href="https://freemius.com/help/documentation/wordpress-sdk/gutenberg-block-integration/">Gutenberg Block Integration</a></li> <li class="page_item page-item-9696"><a href="https://freemius.com/help/documentation/wordpress-sdk/license-activation-issues/">Known License Activation Issues</a></li> <li class="page_item page-item-68"><a href="https://freemius.com/help/documentation/wordpress-sdk/testing/">Testing</a></li> <li class="page_item page-item-7137"><a href="https://freemius.com/help/documentation/wordpress-sdk/tabs-navigation/">Tabs Navigation</a></li> <li class="page_item page-item-2856"><a href="https://freemius.com/help/documentation/wordpress-sdk/text-strings-customization/">Text & Strings Customization</a></li> <li class="page_item page-item-86"><a href="https://freemius.com/help/documentation/wordpress-sdk/debugging/">Debugging</a></li> <li class="page_item page-item-4727"><a href="https://freemius.com/help/documentation/wordpress-sdk/gists/">Misc Gists</a></li> <li class="page_item page-item-9856"><a href="https://freemius.com/help/documentation/wordpress-sdk/freemius-sdk-contribute/">Contributing to the Freemius SDK</a></li> <li class="page_item page-item-14126"><a href="https://freemius.com/help/documentation/wordpress-sdk/safe-mode-clone-resolution-duplicate-website/">Safe Mode & Clone Resolution</a></li> </ul> </li> <li class="page_item page-item-4749 page_item_has_children"><a href="https://freemius.com/help/documentation/users-account-management/">Users Account Management</a> <ul class='children'> <li class="page_item page-item-31756"><a href="https://freemius.com/help/documentation/users-account-management/downloads/">Downloads</a></li> <li class="page_item page-item-31759"><a href="https://freemius.com/help/documentation/users-account-management/orders-history/">Orders History</a></li> <li class="page_item page-item-7627"><a href="https://freemius.com/help/documentation/users-account-management/support-contact-form/">Support Contact Form</a></li> <li class="page_item page-item-31764"><a href="https://freemius.com/help/documentation/users-account-management/earn-becoming-an-affiliate/">Earn – Becoming an Affiliate</a></li> <li class="page_item page-item-17284"><a href="https://freemius.com/help/documentation/users-account-management/license-security/">License Security</a></li> <li class="page_item page-item-7124"><a href="https://freemius.com/help/documentation/users-account-management/sso-single-sign-on-wordpress/">Single Sign-On for WordPress</a></li> </ul> </li> <li class="page_item page-item-9253 page_item_has_children"><a href="https://freemius.com/help/documentation/release-management/">Release Management</a> <ul class='children'> <li class="page_item page-item-9251"><a href="https://freemius.com/help/documentation/release-management/staged-rollouts/">Staged Rollouts</a></li> </ul> </li> <li class="page_item page-item-45 page_item_has_children"><a href="https://freemius.com/help/documentation/marketing-automation/">Marketing Automation</a> <ul class='children'> <li class="page_item page-item-5213"><a href="https://freemius.com/help/documentation/marketing-automation/transactional-emails/">Automated Emails Sent by Freemius</a></li> <li class="page_item page-item-313"><a href="https://freemius.com/help/documentation/marketing-automation/events-webhooks/">Events & Webhooks</a></li> <li class="page_item page-item-1908"><a href="https://freemius.com/help/documentation/marketing-automation/cart-abandonment-recovery/">Cart Abandonment Recovery</a></li> <li class="page_item page-item-15865"><a href="https://freemius.com/help/documentation/marketing-automation/special-coupons-discounts/">Special Coupons & Discounts</a></li> <li class="page_item page-item-15906"><a href="https://freemius.com/help/documentation/marketing-automation/reviews/">Ratings and Reviews</a></li> </ul> </li> <li class="page_item page-item-3872 page_item_has_children"><a href="https://freemius.com/help/documentation/affiliate-platform/">Affiliate Platform</a> <ul class='children'> <li class="page_item page-item-3873"><a href="https://freemius.com/help/documentation/affiliate-platform/affiliate-program-activation/">Activating The Affiliate Program</a></li> <li class="page_item page-item-3884"><a href="https://freemius.com/help/documentation/affiliate-platform/onboarding-affiliate-marketers/">Onboarding Affiliate Marketers</a></li> <li class="page_item page-item-3899"><a href="https://freemius.com/help/documentation/affiliate-platform/affiliate-terms-customization/">Affiliate Terms Customization</a></li> <li class="page_item page-item-4399"><a href="https://freemius.com/help/documentation/affiliate-platform/paying-affiliates-commission/">Paying Affiliates Commission</a></li> <li class="page_item page-item-3902"><a href="https://freemius.com/help/documentation/affiliate-platform/known-affiliate-link-issues/">Known Affiliate Link Issues</a></li> </ul> </li> <li class="page_item page-item-422 page_item_has_children"><a href="https://freemius.com/help/documentation/integrations/">3rd Party Integrations</a> <ul class='children'> <li class="page_item page-item-423"><a href="https://freemius.com/help/documentation/integrations/help-scout/">Help Scout Integration</a></li> <li class="page_item page-item-1387"><a href="https://freemius.com/help/documentation/integrations/mailchimp-integration/">MailChimp Integration</a></li> <li class="page_item page-item-8556"><a href="https://freemius.com/help/documentation/integrations/appsumo-lifetime-deals/">AppSumo & Lifetime Deals</a></li> </ul> </li> <li class="page_item page-item-26206 page_item_has_children"><a href="https://freemius.com/help/documentation/security/">Security</a> <ul class='children'> <li class="page_item page-item-26207"><a href="https://freemius.com/help/documentation/security/two-factor-authentication-2fa/">Two-Factor Authentication (2FA)</a></li> <li class="page_item page-item-33236"><a href="https://freemius.com/help/documentation/security/team-member-role-management/">Team Member & Role Management</a></li> </ul> </li> <li class="page_item page-item-46 page_item_has_children"><a href="https://freemius.com/help/documentation/migration/">Migration</a> <ul class='children'> <li class="page_item page-item-103"><a href="https://freemius.com/help/documentation/migration/migrating-from-edd-to-freemius/">Migrating from Easy Digital Downloads to Freemius</a></li> <li class="page_item page-item-7958"><a href="https://freemius.com/help/documentation/migration/migrating-from-codecanyon-to-freemius/">Migrating from CodeCanyon to Freemius</a></li> <li class="page_item page-item-15799"><a href="https://freemius.com/help/documentation/migration/migrating-from-themeforest-to-freemius/">Migrating from ThemeForest to Freemius</a></li> </ul> </li> </ul> </div> <script> (function($){ var $window = $(window), $content = $('.wedocs-single-content'), $sidenav = $('.wedocs-sidebar__container'), $sidenavList = $sidenav.find('.doc-nav-list'), $sidenavSearch = $sidenav.find('.wedocs-search-form'), $header = $('.page-header'), $footer = $('.elementor-location-footer'), contentVerticalMargin = 25; var scroll = function () { if ($sidenav.height() - 13 > $content.height() - $window.scrollTop()) { $sidenav.css({ position: 'absolute', bottom : '20px', top : 'auto' }); } else if (36 <= $window.scrollTop()) { $sidenav.css({ position: 'fixed', top : '64px', bottom : 'auto' }); } else { $sidenav.css({ position: 'relative', top : 'auto', bottom : 'auto' }); } }, prepare = function () { console.log(Date.now(), 'prepare'); $window.unbind('scroll', scroll); if ($window.width() < 992) { $sidenav.css({ position: 'relative', top : 'auto', bottom : 'auto' }); } else { if ($window.height() - $header.height() < $sidenav.height()) { $sidenavList.css({ maxHeight: ( $window.height() - $header.height() - $sidenavSearch.height() - contentVerticalMargin ), overflow : 'auto' }); } else { $sidenavList.css({ maxHeight: 'auto', overflow : 'hidden' }); } // Sticky sidebar on desktop. $window.scroll(scroll); } }; prepare(); $window.resize(prepare); }(jQuery)); </script> </div> <!-- .wedocs-single-content --> </div><!-- .wedocs-single-wrap --> </main> <!-- .site-main --> </div><!-- .content-area --> </main><!-- /.main --> </div><!-- /.content --> </div><!-- /.wrap --> <div data-elementor-type="footer" data-elementor-id="15465" class="elementor elementor-15465 elementor-location-footer" data-elementor-settings="[]"> <div class="elementor-section-wrap"> <section class="elementor-section elementor-top-section elementor-element elementor-element-be1c24c elementor-section-height-min-height elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-items-middle" data-id="be1c24c" data-element_type="section" data-settings="{"background_background":"classic"}"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-row"> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6366593a" data-id="6366593a" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <section class="elementor-section elementor-inner-section elementor-element elementor-element-5e3d22ad elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5e3d22ad" data-element_type="section"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-row"> <div class="elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-2f8ac1a1" data-id="2f8ac1a1" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <div class="elementor-element elementor-element-69de06a0 elementor-widget elementor-widget-heading" data-id="69de06a0" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h3 class="elementor-heading-title elementor-size-medium">Features</h3> </div> </div> <div class="elementor-element elementor-element-1572a71 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="1572a71" data-element_type="widget" data-widget_type="icon-list.default"> <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> <li class="elementor-icon-list-item"> <a href="/wordpress/features-comparison/"> <span class="elementor-icon-list-text">Features Comparison</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/software-licensing/"> <span class="elementor-icon-list-text">Software Licensing</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/checkout/"> <span class="elementor-icon-list-text">Checkout & Buy Button</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/recurring-payments-subscriptions/"> <span class="elementor-icon-list-text">Recurring Payments & Subscriptions</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/automatic-software-updates/"> <span class="elementor-icon-list-text">Automatic Software Updates</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/collecting-eu-vat-europe/"> <span class="elementor-icon-list-text">Complete EU VAT Handling</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/cart-abandonment-recovery/"> <span class="elementor-icon-list-text">Cart Abandonment Recovery</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/affiliate-platform/"> <span class="elementor-icon-list-text">Affiliate Platform</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/insights/"> <span class="elementor-icon-list-text">Analytics & Usage Tracking</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/user-dashboard/"> <span class="elementor-icon-list-text">User Dashboard</span> </a> </li> </ul> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-20b6b615" data-id="20b6b615" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <div class="elementor-element elementor-element-544cbe09 elementor-widget elementor-widget-heading" data-id="544cbe09" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h3 class="elementor-heading-title elementor-size-medium">Product</h3> </div> </div> <div class="elementor-element elementor-element-6616b713 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="6616b713" data-element_type="widget" data-widget_type="icon-list.default"> <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> <li class="elementor-icon-list-item"> <a href="/blog/gdpr-wordpress-plugin-theme/"> <span class="elementor-icon-list-text">GDPR Readiness</span> </a> </li> <li class="elementor-icon-list-item"> <a href="https://freemius.com/us-sales-tax-and-economic-nexus/"> <span class="elementor-icon-list-text">Sales Tax Compliance</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/collecting-eu-vat-europe/"> <span class="elementor-icon-list-text">EU VAT Collection</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/blog/strong-customer-authentication/"> <span class="elementor-icon-list-text">SCA & 3DS 2.0</span> </a> </li> <li class="elementor-icon-list-item"> <a href="https://freemius.com/changelog/" target="_blank"> <span class="elementor-icon-list-text">Changelog</span> </a> </li> </ul> </div> </div> <div class="elementor-element elementor-element-1ab60cfa elementor-widget elementor-widget-heading" data-id="1ab60cfa" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h3 class="elementor-heading-title elementor-size-medium">Compare with</h3> </div> </div> <div class="elementor-element elementor-element-65f23499 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="65f23499" data-element_type="widget" data-widget_type="icon-list.default"> <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> <li class="elementor-icon-list-item"> <a href="/freemius-vs-edd/"> <span class="elementor-icon-list-text">Easy Digital Downloads</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/freemius-vs-woocommerce/"> <span class="elementor-icon-list-text">WooCommerce</span> </a> </li> </ul> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-540d92b6" data-id="540d92b6" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <div class="elementor-element elementor-element-6d45709 elementor-widget elementor-widget-heading" data-id="6d45709" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h3 class="elementor-heading-title elementor-size-medium">Company</h3> </div> </div> <div class="elementor-element elementor-element-7ff0ea86 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="7ff0ea86" data-element_type="widget" data-widget_type="icon-list.default"> <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> <li class="elementor-icon-list-item"> <a href="/about/"> <span class="elementor-icon-list-text">About Us</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/pricing/"> <span class="elementor-icon-list-text">Pricing</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/customers/"> <span class="elementor-icon-list-text">Customers</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/careers/"> <span class="elementor-icon-list-text">Careers</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/brand-assets/"> <span class="elementor-icon-list-text">Brand Assets</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/cdn-cgi/l/email-protection#c0b3b5b0b0afb2b480a6b2a5a5ada9b5b3eea3afad"> <span class="elementor-icon-list-text">Contact</span> </a> </li> </ul> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-5fc9aa90" data-id="5fc9aa90" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <div class="elementor-element elementor-element-d0f2187 elementor-widget elementor-widget-heading" data-id="d0f2187" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h3 class="elementor-heading-title elementor-size-medium">Learn</h3> </div> </div> <div class="elementor-element elementor-element-460d0a3 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="460d0a3" data-element_type="widget" data-widget_type="icon-list.default"> <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> <li class="elementor-icon-list-item"> <a href="https://freemius.com/blog" target="_blank"> <span class="elementor-icon-list-text">Blog</span> </a> </li> <li class="elementor-icon-list-item"> <a href="https://plugin.fm" target="_blank"> <span class="elementor-icon-list-text">plugin.fm Podcast</span> </a> </li> <li class="elementor-icon-list-item"> <a href="https://www.youtube.com/freemius" target="_blank"> <span class="elementor-icon-list-text">YouTube</span> </a> </li> </ul> </div> </div> <div class="elementor-element elementor-element-3d89d35b elementor-widget elementor-widget-heading" data-id="3d89d35b" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h3 class="elementor-heading-title elementor-size-medium"><a href="/careers/">Careers</a></h3> </div> </div> <div class="elementor-element elementor-element-70e3cbbb elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="70e3cbbb" data-element_type="widget" data-widget_type="icon-list.default"> <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> <li class="elementor-icon-list-item"> <a href="https://freemius.com/careers/business-development-manager/"> <span class="elementor-icon-list-text">Business Development Manager</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/careers/senior-full-stack-developer/"> <span class="elementor-icon-list-text">Senior Full Stack Developer</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/careers/migrations-specialist/"> <span class="elementor-icon-list-text">Migrations Specialist</span> </a> </li> </ul> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-20 elementor-inner-column elementor-element elementor-element-38fa992f" data-id="38fa992f" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <div class="elementor-element elementor-element-3572aa47 elementor-widget elementor-widget-heading" data-id="3572aa47" data-element_type="widget" data-widget_type="heading.default"> <div class="elementor-widget-container"> <h3 class="elementor-heading-title elementor-size-medium">Helpful Links</h3> </div> </div> <div class="elementor-element elementor-element-6abf45b3 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="6abf45b3" data-element_type="widget" data-widget_type="icon-list.default"> <div class="elementor-widget-container"> <ul class="elementor-icon-list-items"> <li class="elementor-icon-list-item"> <a href="/help/faq/"> <span class="elementor-icon-list-text">FAQ</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/help/documentation/"> <span class="elementor-icon-list-text">Documentation</span> </a> </li> <li class="elementor-icon-list-item"> <a href="/wordpress/resources/"> <span class="elementor-icon-list-text">Free Resources</span> </a> </li> <li class="elementor-icon-list-item"> <a href="https://github.com/Freemius/wordpress-sdk"> <span class="elementor-icon-list-text">WordPress SDK</span> </a> </li> <li class="elementor-icon-list-item"> <a href="https://github.com/Freemius/php-sdk"> <span class="elementor-icon-list-text">PHP SDK</span> </a> </li> <li class="elementor-icon-list-item"> <a href="https://status.freemius.com/"> <span class="elementor-icon-list-text">System Status</span> </a> </li> </ul> </div> </div> <div class="elementor-element elementor-element-7686f70b elementor-widget elementor-widget-html" data-id="7686f70b" data-element_type="widget" data-widget_type="html.default"> <div class="elementor-widget-container"> <a href="https://www.g2.com/products/freemius/reviews" target="_blank" rel="nofollow noopener"><img src="https://images.g2crowd.com/uploads/report_medal/image/1004327/medal.svg" alt="High performer fall 2023 banner" style="max-width: 100px; margin: 0 10px;" /></a> </div> </div> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-inner-section elementor-element elementor-element-6cb1afa4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6cb1afa4" data-element_type="section"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-row"> <div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-22a3ce1b" data-id="22a3ce1b" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <div class="elementor-element elementor-element-48e063aa copyright elementor-widget elementor-widget-text-editor" data-id="48e063aa" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <div class="elementor-text-editor elementor-clearfix"> <footer class="content-info" style="border: none; background: none;"> <div class="copyright"> Copyright 漏 Freemius 庐, Inc.</div> </footer> </div> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-429ba55" data-id="429ba55" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <div class="elementor-element elementor-element-4440c7c0 e-grid-align-right e-grid-align-mobile-center elementor-shape-rounded elementor-grid-0 elementor-widget elementor-widget-social-icons" data-id="4440c7c0" data-element_type="widget" data-widget_type="social-icons.default"> <div class="elementor-widget-container"> <div class="elementor-social-icons-wrapper elementor-grid"> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-facebook-f elementor-repeater-item-cabf61c" href="https://www.facebook.com/freemius" target="_blank"> <span class="elementor-screen-only">Facebook-f</span> <i class="fab fa-facebook-f"></i> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-twitter elementor-repeater-item-435e50e" href="https://twitter.com/freemius" target="_blank"> <span class="elementor-screen-only">Twitter</span> <i class="fab fa-twitter"></i> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-linkedin-in elementor-repeater-item-bafde0c" href="https://www.linkedin.com/company/freemius" target="_blank"> <span class="elementor-screen-only">Linkedin-in</span> <i class="fab fa-linkedin-in"></i> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-repeater-item-c20fbe2" href="https://www.youtube.com/freemius" target="_blank"> <span class="elementor-screen-only">Youtube</span> <i class="fab fa-youtube"></i> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-rss elementor-repeater-item-f0e2e4e" href="/blog/" target="_blank"> <span class="elementor-screen-only">Rss</span> <i class="fas fa-rss"></i> </a> </span> </div> </div> </div> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-inner-section elementor-element elementor-element-6dcd8d1d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6dcd8d1d" data-element_type="section"> <div class="elementor-container elementor-column-gap-default"> <div class="elementor-row"> <div class="elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-6eb7f9ee" data-id="6eb7f9ee" data-element_type="column"> <div class="elementor-column-wrap elementor-element-populated"> <div class="elementor-widget-wrap"> <div class="elementor-element elementor-element-6d2ab4d0 elementor-widget elementor-widget-text-editor" data-id="6d2ab4d0" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <div class="elementor-text-editor elementor-clearfix"> <a style="text-decoration: none;" title="Terms of Service" href="/terms/">Terms of Service</a> 路 <a style="text-decoration: none;" title="Terms of Service" href="/terms/vendor/">Vendor Terms</a> 路 <a style="text-decoration: none;" title="Privacy" href="/privacy/">Privacy Policy</a> 路 <a style="text-decoration: none;" title="Privacy" href="/privacy/cookies/">Cookies Policy</a> </div> </div> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> </section> </div> </div> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script type="text/javascript">window.DocsBotAI = window.DocsBotAI || {}, DocsBotAI.init = function (c) { return new Promise(function (e, o) { var t = document.createElement("script"); t.type = "text/javascript", t.async = !0, t.src = "https://widget.docsbot.ai/chat.js"; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(t, n), t.addEventListener("load", function () { window.DocsBotAI.mount({ id: c.id, supportCallback: c.supportCallback, identify: c.identify, options: c.options, signature: c.signature }); var t; t = function (n) { return new Promise(function (e) { if (document.querySelector(n)) return e(document.querySelector(n)); var o = new MutationObserver(function (t) { document.querySelector(n) && (e(document.querySelector(n)), o.disconnect()) }); o.observe(document.body, { childList: !0, subtree: !0 }) }) }, t && t("#docsbotai-root").then(e).catch(o) }), t.addEventListener("error", function (t) { o(t.message) }) }) };</script> <!--- Note: FS.Scripts.addTrackingScript takes consent from the user (if they are from GDPR countries). --> <script type="text/javascript"> FS.Scripts.addTrackingScript(function(){ !function(e,t,n){function a(){var e=t.getElementsByTagName("script")[0],n=t.createElement("script");n.type="text/javascript",n.async=!0,n.src="https://beacon-v2.helpscout.net",e.parentNode.insertBefore(n,e)}if(e.Beacon=n=function(t,n,a){e.Beacon.readyQueue.push({method:t,options:n,data:a})},n.readyQueue=[],"complete"===t.readyState)return a();e.attachEvent?e.attachEvent("onload",a):e.addEventListener("load",a,!1)}(window,document,window.Beacon||function(){}); DocsBotAI.init({ id: "Xik3b1YRd9UQ6kZVWBM2/c3rSKLsy2LZeSbgn3DcD", supportUrl: '#', // DocsBot AI beacon Contact Support link to open up help scout. supportCallback: function (event, history) { event.preventDefault(); DocsBotAI.unmount(); Beacon('init', 'ccb9fdee-f672-46f1-9d74-73206965a8f7'); // Add Helpscout Beacon widget. Beacon('open'); }, options: { customCSS: ` .docsbot-chat-bot-avatar-container { background-color: transparent !important; border: 1px solid #94a3af !important; box-sizing: border-box !important; overflow: hidden !important; } .docsbot-chat-bot-avatar-icon img { width: 28px !important; height: auto !important; } `, }, }); }); </script><style type="text/css"> #cookies_opt_in { position: fixed; bottom: 0; padding: 30px 50px; background: #eee; font-size: 17px; z-index: 999; left: 0; right: 0; width: 100%; box-shadow: -1px -1px 3px rgba(0,0,0,0.3); -moz-box-shadow: -1px -1px 3px rgba(0,0,0,0.3); -webkit-box-shadow: -1px -1px 3px rgba(0,0,0,0.3); } #cookies_opt_in button { border: 1px solid #666; } #cookies_opt_in_disclaimer { margin-right: 350px; top: 30px; right: 50px; } #cookies_opt_in_actions { max-width: 320px; position: absolute; top: 30px; right: 50px; } #cookies_opt_in_actions .btn { text-transform: uppercase; text-decoration: none; text-align: center; letter-spacing: .5px; -webkit-transition: .2s ease-out; -moz-transition: .2s ease-out; -o-transition: .2s ease-out; -ms-transition: .2s ease-out; transition: .2s ease-out; cursor: pointer; color: #343434; box-shadow: none; background-color: #fff !important; font-family: sans-serif; } #cookies_opt_in_actions .btn:hover { box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15); } @media (max-width: 1024px) { #cookies_opt_in button, #cookies_opt_in a { display: block; width: 170px; margin-bottom: 10px; } #cookies_opt_in_disclaimer { margin-right: 200px; } } @media (max-width: 650px) { #cookies_opt_in_actions { position: initial; max-width: 100%; } #cookies_opt_in button, #cookies_opt_in a { width: 100%; } #cookies_opt_in_disclaimer { margin-right: 0; margin-bottom: 10px; } } </style> <div id="cookies_opt_in" style="display: none"> <div id="cookies_opt_in_disclaimer">We use tools, such as cookies, to enable essential services and functionality on our site and to collect data on how visitors interact with our site, products and services. By clicking CONTINUE, you agree to our use of these tools for advertising, analytics and support</div> <div id="cookies_opt_in_actions"> <button class="btn white btn-flat" onclick="FS.Scripts.optIn()">Continue</button> <a href="/privacy/cookies/" class="btn white btn-flat">Learn More</a> </div> </div> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shCore.js?ver=3.0.9b' id='syntaxhighlighter-core-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPhp.js?ver=3.0.9b' id='syntaxhighlighter-brush-php-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushJScript.js?ver=3.0.9b' id='syntaxhighlighter-brush-jscript-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushCss.js?ver=3.0.9b' id='syntaxhighlighter-brush-css-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/scripts/shBrushPlain.js?ver=3.0.9b' id='syntaxhighlighter-brush-plain-js'></script> <script type='text/javascript'> (function(){ var corecss = document.createElement('link'); var themecss = document.createElement('link'); var corecssurl = "https://freemius.com/fs-site/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css?ver=3.0.9b"; if ( corecss.setAttribute ) { corecss.setAttribute( "rel", "stylesheet" ); corecss.setAttribute( "type", "text/css" ); corecss.setAttribute( "href", corecssurl ); } else { corecss.rel = "stylesheet"; corecss.href = corecssurl; } document.head.appendChild( corecss ); })(); SyntaxHighlighter.config.strings.expandSource = '+ expand source'; SyntaxHighlighter.config.strings.help = '?'; SyntaxHighlighter.config.strings.alert = 'SyntaxHighlighter\n\n'; SyntaxHighlighter.config.strings.noBrush = 'Can\'t find brush for: '; SyntaxHighlighter.config.strings.brushNotHtmlScript = 'Brush wasn\'t configured for html-script option: '; SyntaxHighlighter.defaults['pad-line-numbers'] = false; SyntaxHighlighter.defaults['toolbar'] = false; SyntaxHighlighter.all(); // Infinite scroll support if ( typeof( jQuery ) !== 'undefined' ) { jQuery( function( $ ) { $( document.body ).on( 'post-load', function() { SyntaxHighlighter.highlight(); } ); } ); } </script> <link rel='stylesheet' id='e-animations-css' href='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/animations/animations.min.css?ver=3.5.6' type='text/css' media='all' /> <script type='text/javascript' id='wedocs-scripts-js-extra'> /* <![CDATA[ */ var weDocs = {"ajaxurl":"https:\/\/freemius.com\/fs-site\/wp-admin\/admin-ajax.php","nonce":"a44e70cfd9"}; /* ]]> */ </script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/wedocs/assets/js/frontend.js?ver=6.0.2' id='wedocs-scripts-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/themes/freemius-wp-theme/dist/scripts/main-901d4cf89a.js' id='sage/js-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor-pro/assets/js/webpack-pro.runtime.min.js?ver=3.5.2' id='elementor-pro-webpack-runtime-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.5.6' id='elementor-webpack-runtime-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.5.6' id='elementor-frontend-modules-js'></script> <script type='text/javascript' id='elementor-pro-frontend-js-before'> var ElementorProFrontendConfig = {"ajaxurl":"https:\/\/freemius.com\/fs-site\/wp-admin\/admin-ajax.php","nonce":"eb93088917","urls":{"assets":"https:\/\/freemius.com\/fs-site\/wp-content\/plugins\/elementor-pro\/assets\/","rest":"https:\/\/freemius.com\/wp-json\/"},"i18n":{"toc_no_headings_found":"No headings were found on this page."},"shareButtonsNetworks":{"facebook":{"title":"Facebook","has_counter":true},"twitter":{"title":"Twitter"},"linkedin":{"title":"LinkedIn","has_counter":true},"pinterest":{"title":"Pinterest","has_counter":true},"reddit":{"title":"Reddit","has_counter":true},"vk":{"title":"VK","has_counter":true},"odnoklassniki":{"title":"OK","has_counter":true},"tumblr":{"title":"Tumblr"},"digg":{"title":"Digg"},"skype":{"title":"Skype"},"stumbleupon":{"title":"StumbleUpon","has_counter":true},"mix":{"title":"Mix"},"telegram":{"title":"Telegram"},"pocket":{"title":"Pocket","has_counter":true},"xing":{"title":"XING","has_counter":true},"whatsapp":{"title":"WhatsApp"},"email":{"title":"Email"},"print":{"title":"Print"}}, "facebook_sdk":{"lang":"en_US","app_id":""},"lottie":{"defaultAnimationUrl":"https:\/\/freemius.com\/fs-site\/wp-content\/plugins\/elementor-pro\/modules\/lottie\/assets\/animations\/default.json"}}; </script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor-pro/assets/js/frontend.min.js?ver=3.5.2' id='elementor-pro-frontend-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/waypoints/waypoints.min.js?ver=4.0.2' id='elementor-waypoints-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-includes/js/jquery/ui/core.min.js?ver=1.13.1' id='jquery-ui-core-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/swiper/swiper.min.js?ver=5.3.6' id='swiper-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/share-link/share-link.min.js?ver=3.5.6' id='share-link-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/lib/dialog/dialog.min.js?ver=4.9.0' id='elementor-dialog-js'></script> <script type='text/javascript' id='elementor-frontend-js-before'> var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnTwitter":"Share on Twitter","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Extra","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Extra","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}}}, "version":"3.5.6","is_static":false,"experimentalFeatures":{"e_import_export":true,"e_hidden_wordpress_widgets":true,"theme_builder_v2":true,"landing-pages":true,"elements-color-picker":true,"favorite-widgets":true,"admin-top-bar":true,"form-submissions":true},"urls":{"assets":"https:\/\/freemius.com\/fs-site\/wp-content\/plugins\/elementor\/assets\/"},"settings":{"page":[],"editorPreferences":[]},"kit":{"active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":87,"title":"Version%20Deployment%20%E2%80%93%20Freemius","excerpt":"","featuredImage":false}}; </script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.5.6' id='elementor-frontend-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor-pro/assets/js/preloaded-elements-handlers.min.js?ver=3.5.2' id='pro-preloaded-elements-handlers-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor/assets/js/preloaded-modules.min.js?ver=3.5.6' id='preloaded-modules-js'></script> <script type='text/javascript' src='https://freemius.com/fs-site/wp-content/plugins/elementor-pro/assets/lib/sticky/jquery.sticky.min.js?ver=3.5.2' id='e-sticky-js'></script> </body> </html> <script type='text/javascript'> (function(){ var corecss = document.createElement('link'); var themecss = document.createElement('link'); var corecssurl = "https://freemius.com/fs-site/wp-content/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css?ver=3.0.9b"; if ( corecss.setAttribute ) { corecss.setAttribute( "rel", "stylesheet" ); corecss.setAttribute( "type", "text/css" ); corecss.setAttribute( "href", corecssurl ); } else { corecss.rel = "stylesheet"; corecss.href = corecssurl; } document.head.appendChild( corecss ); })(); SyntaxHighlighter.config.strings.expandSource = '+ expand source'; SyntaxHighlighter.config.strings.help = '?'; SyntaxHighlighter.config.strings.alert = 'SyntaxHighlighter\n\n'; SyntaxHighlighter.config.strings.noBrush = 'Can\'t find brush for: '; SyntaxHighlighter.config.strings.brushNotHtmlScript = 'Brush wasn\'t configured for html-script option: '; SyntaxHighlighter.defaults['pad-line-numbers'] = false; SyntaxHighlighter.defaults['toolbar'] = false; SyntaxHighlighter.all(); // Infinite scroll support if ( typeof( jQuery ) !== 'undefined' ) { jQuery( function( $ ) { $( document.body ).on( 'post-load', function() { SyntaxHighlighter.highlight(); } ); } ); } </script> </body> </html> <!-- Dynamic page generated in 0.441 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2024-11-24 02:26:39 --> <!-- super cache -->