- Added: Member Content: Avada: Don't restrict Header, Page Title Bar and Footer Layout Sections
- Fix: Member Content: REST API: Restrict the excerpt, which could include restricted content
- Fix: Member Content: Don't display restricted content when the Plugin isn't connected to Kit, or Kit can't be reached
- Fix: Member Content: Restrict content output in AJAX requests e.g. a Theme's "load more" button
- Fix: Member Content: Don't disclose attachments of restricted Pages and Posts in the REST API and attachment pages
- Fix: Member Content: Don't include restricted Pages and Posts in search results when the search only matches restricted content
- Fix: Don't load QuickTags scripts and styles on the frontend site unless an editor is used
- Fix: Settings: Non-inline Forms: Limit Display: Only display one non-inline form per session when multiple Default Forms (Site Wide) are specified
- Added: Broadcasts: Export: Send To setting, to send draft Broadcasts to all subscribers, a Tag or a Segment
- Added: Broadcasts: Export: Make Public setting, to publish Broadcasts to your Kit Newsletter site, using the Post's published date and featured image
- Added: Broadcasts: Export: Greeting, Sign-off and Read on the Web settings
- Added: Broadcasts: Export: Open in Kit row action for exported Posts
- Updated: Broadcasts: Export: Update the existing draft Broadcast when exporting a Post again, instead of creating a duplicate
- Updated: Broadcasts: Export: Use the Post's excerpt as the Broadcast's preview text
- Updated: WordPress Libraries to 2.8.1
- Added: Settings: Broadcasts: Separate Import and Export settings panels
- Updated: Broadcasts: Export: Convert relative links and image URLs to absolute URLs
- Updated: Broadcasts: Export: Remove responsive image attributes, which email clients don't support
- Fix: Member Content: Restrict content in REST API responses
- Fix: Member Content: Restrict content in RSS and Atom feeds
- Fix: Member Content: Restrict content in archives, such as the blog, categories and search results
- Fix: Member Content: WooCommerce: Restrict Product descriptions in the Store API and Product blocks
- Added: Member Content: WooCommerce: Hide price, description and Add to Cart button on restricted Products, and prevent adding them to the cart
- Updated: MCP: Use the MCP Adapter Plugin, instead of bundling the MCP Adapter library
- Updated: Performance: Autoload Plugin classes, reducing memory usage
- Updated: Broadcasts: Use
v4/postsAPI endpoint - Updated: WordPress Libraries to 2.8.0
- Fix: Subscriber ID: Verify numeric subscriber IDs in URLs using the
sh_kitparameter, and sign the subscriber ID cookie. Use theconvertkit_subscriber_allow_unverified_idfilter to permit unverified subscriber IDs - Fix: Broadcasts: Importer: Retain dividers and H4 to H6 headings
- Fix: Settings: OAuth: Verify the connection request originated from the Plugin before connecting to Kit, and require the
manage_optionscapability to connect or disconnect - Fix: Setup Wizard: Verify the connection request originated from the Plugin before connecting to Kit
- Fix: Form Builder: Subscribe as active when no Form is specified and a Tag or Sequence is set
- Fix: Form Builder: Tag and add to Sequence when adding the subscriber to a Form fails
- Fix: Form Builder: Subscribe and store entry when the Name field is removed
- Fix: Form Builder: Always require the Email field
- Fix: Form Builder: Display validation errors on the submitted form only, when a Page has multiple forms
- Fix: Form Builder: Submit form to the URL it was displayed on
- Fix: Form Builder: Unique field IDs when a Page has multiple forms
- Fix: Form Entries: Support WordPress 6.1 and older by not using the
%iplaceholder - Fix: Form Entries: Only permit sorting by known columns
- Fix: Form Entries: Export: Escape double quotes and prevent formula injection in CSV file
- Fix: Form Entries: Return the entry ID when updating an existing entry
- Fix: Form Entries: Search: Treat
%and_as literal characters - Fix: Form Entries: Don't run a delete query when no entries are selected
- Fix: Form Entries: Check user permissions for bulk actions, and export CSV file with
text/csvcontent type - Fix: reCAPTCHA: Fail verification when the token's action is missing or doesn't match
- Fix: reCAPTCHA: Submit the clicked form when a Page has multiple forms
- Fix: reCAPTCHA, Cloudflare Turnstile: Handle invalid verification responses without PHP warnings
- Fix: Cloudflare Turnstile: Don't submit forms on page load
- Fix: Cloudflare Turnstile: Submit the clicked form when a Page has multiple forms
- Fix: Member Content: Login Form: Load spam protection script, fixing logins failing when reCAPTCHA or Cloudflare Turnstile is enabled
- Fix: Forminator: Don't subscribe spam, draft or abandoned form entries
- Fix: Forminator: Use the first name when the Name field has multiple fields
- Fix: Forminator: Don't add to Form when creating the subscriber fails
- Fix: Forminator: Referrer URL includes the site's subdirectory
- Fix: Importers: Only replace exact third party Form IDs in shortcodes and blocks e.g. Form ID 1 no longer matches 12
- Fix: Importers: AWeber: Match blocks by Form ID
- Fix: Importers: Preserve backslashes in Post content
- Fix: Settings: Tools: Import Configuration: Display error when the uploaded file isn't a JSON object
- Fix: MCP: Preserve backslashes in Post content when inserting or updating Kit blocks and shortcodes
- Fix: MCP: Insert blocks and shortcodes at the correct position when content contains nested or void elements e.g.
<hr> - Fix: MCP: Report Ability read-only, idempotent and destructive annotations correctly
- Fix: MCP: Skip invalid Abilities, Resources and Prompts registered via filters
- Fix: Post Settings: Prevent
rest_meta_database_errorwhen third party Plugins also save metadata by removing duplicate Kit post metadata - Fix: Member Content: Permit Search Engine Crawlers: Recognize DuckDuckBot as a crawler
- Fix: Member Content: Display dropdown filter in Posts and Pages tables when only Forms exist
- Fix: Member Content: Configure/display cache plugin notices when Member Content enabled via the Setup Wizard
- Fix: Member Content: Read 6 digit code when both Login Form Block/Shortcode and modal on the same Page/Post
- Fix: Member Content: Re-enable form inputs when an invalid JSON response or server error, instead of leaving them disabled
- Fix: Member Content: Setup Wizard: Remove "ConvertKit" wording
- Fix: MCP: Removed unused "require_tag_login" setting
- Fix: MCP: Claude Desktop: Updated instructions for connecting. See Docs: https://help.kit.com/en/articles/16729038-using-the-kit-plugin-s-mcp-server-on-your-wordpress-website#h_6ff6f06cdb
- Added: Member Content: Divi: Login Widget
- Added: Member Content: Elementor: Login Widget
- Fix: Form Builder: Validate email address
- Fix: Form Builder: Display errors on submission
- Added: Member Content: Login Form Block and Shortcode
- Added: MCP: Prompts and Resources for common tasks
- Added: Settings: MCP: Improve UI
- Added: MCP: Log errors when creating MCP server fails
- Fix: Settings: MCP: Documentation link
- Fix: Landing Pages: Exclude anchor links from URL conversion
- Updated: WordPress Libraries to 2.7.0
- Added: MCP Server and Abilities/Tools
- Fix: Shortcodes: Custom Content: Support signed subscriber IDs, fixing
PHP Fatal error: Uncaught TypeError - Fix: Tools: Replace
WP_Filesystemwithfile_get_contents, fixingPHP Fatal error: Uncaught TypeError - Fix: Logs: Logs are now stored outside the Plugin folder at
wp-content/uploads/kit-logs, ensuring Plugin checksum verification passes - Updated: WordPress Libraries to 2.6.1
- Added: Settings: Deprecation warning when using Legacy Form or Legacy Landing Page
- Added: Setup Wizards: Member Content: Check WordPress user can create and publish the chosen Post Type
- Added: Setup Wizards: Landing Page: Check WordPress user can create and publish Pages
- Added: Setup Wizards: Plugin:
manage_optionscapability is required to configure the Plugin via the Setup Wizard, replacingedit_postscapability - Added: Bulk Edit: Skip Posts user does not have
edit_postcapability for - Added: Caching: Only automatically configure caching plugins if the user has the
manage_optionscapability - Added: Post Settings: Check WordPress user has
edit_postcapability when saving - Added: Category Settings: Check WordPress user has
edit_termcapability when saving - Added: Broadcasts: Export: Check WordPress user has
edit_postcapability to export a Post to a Kit Broadcast - Updated: WordPress Libraries to 2.6.0
- Added: Post Settings: Deprecation warning when using Legacy Form or Legacy Landing Page
- Removed: Legacy Forms from settings dropdowns. Existing Legacy Form settings will be honored, but deprecated in the future
- Removed: Legacy Landing Pages from settings dropdowns. Existing Legacy Form settings will be honored, but deprecated in the future
- Added: Settings: Spam Protection: Cloudflare Turnstile option
- Updated: Settings: reCAPTCHA: Moved to Spam Protection section
- Fix: Form Builder: "This block has encountered an error" when Plugin disconnected from Kit
- Fix: Member Content: Tags: Require Login is now always enabled, to ensure subscribers authenticate to access gated content
- Removed: Kit Forms: Store subscriber ID as cookie when submitting an embedded Kit form
- Added: Settings: Tools: Kit Legacy Forms: Migrate from legacy forms to newer Kit forms
- Fix: Settings: Tools: Migrations: Use
forminstead ofidfor [convertkit_form] shortcode when migrating from third party form Plugins - Fix: Uninstall: Improve Access and Refresh Token revokation
- Updated: WordPress Libraries to 2.1.7
- Fix: Pages: Add New: Dropdown menu alignment and mobile layout
- Fix: Block Editor: Refresh button icon alignment
- Fix: Block Editor: Settings Sidebar: Improve descriptions and links to match Classic Editor
- Fix: Settings: Broadcasts: Refresh settings on save
- Removed: Unused methods
restrict_content_enabledandrestrict_contentonConvertKit_Settings_Broadcastsclass
- Fix: Settings: Button height in WordPress 7.0
- Fix: Form Builder: Set
inactivesubscriber state when a Kit Form is specified - Fix: Form Builder: Support subscribing to a Legacy Form
- Fix: Block Editor: Settings Sidebar: Correct logo size in options menu
- Added: Block Editor: Settings Sidebar: Refresh Resources
- Fix: Page/Post Settings: Member Content: Include Forms when Refresh Resources button clicked
- Fix: LiteSpeed Cache: Exclude Forms from LiteSpeed Cache's
JS Combinesetting, ensuring Forms display
- Added: Block Editor: Form, Landing Page, Tag and Member Content settings moved to block editor sidebar
- Fix: Resources: Delete cached resources when structure invalid e.g. when upgrading from < 1.6.0 to 1.9.6 or higher
- Updated: WordPress Libraries to 2.1.6
- Added: Settings: Revoke Access and Refresh Tokens, and remove from settings, when
Disconnectbutton clicked - Added: Uninstall: Revoke Access and Refresh Tokens, and remove from settings, when the Plugin is deleted (Plugins > Kit > Delete)
- Added: Remove v3 API Secret if detected in settings
- Updated: WordPress Libraries to 2.1.5
- Fix: Downgrade WordPress Libraries to 2.1.3, resolving issues in 3.2.2 and 3.2.2.1
- Fix: Fatal error: Cannot redeclare trait ConvertKit_API\ConvertKit_API_Traits
- Fix: Only run
get_subscriber_id_from_requestwhen viewing Pages with "Add a Tag" configured, to improve performance - Removed: Global
validate_and_store_subscriber_idmethod; Custom Content and Member Content functionality performs necessary subscriber ID validation - Updated: Use WordPress Libraries 2.1.4
- Fix: Divi 5: Fatal error when activating Theme
- Fix: Removed errant
<html>and<head>tags when Settings > Kit > Form Position = After element
- Added: Minify CSS into single frontend.css resource
- Added: Minify JS into single frontend.min.js resource
- Added: Settings: Advanced: Option to disable Add New button for Landing Pages and Member Content
- Updated: Blocks: Broadcasts: Improve REST API
- Updated: Classic Editor (TinyMCE/Quick Tags): Improve REST API
- Updated: Blocks: Use apiVersion 3 when WordPress version is 6.3 or higher
- Fix: Classic Editor (TinyMCE/Quick Tags): CLosing tag on
colorinput types was missing - Fix: Blocks: Specify apiVersion in registerBlockType, to honor loading apiVersion 2 or 3 blocks
- Added: Settings: Tools: Campaign Monitor to Kit Form Importer: Support replacing shortcodes with single quotation marks
- Updated: Blocks: Broadcasts: Use REST API, replacing admin-ajax.php
- Updated: Classic Editor (TinyMCE/Quick Tags): Use REST API to fetch modal views, replacing admin-ajax.php
- Updated: Member Content: REST API improvements
- Fix: Setup Wizard: Only register form importers when on Setup Wizard screen for performance
- Added: Setup Wizard: Replace third party detected forms with Kit Forms
- Added: Settings: Tools: ActiveCampaign to Kit Form Importer
- Added: Settings: Tools: Campaign Monitor to Kit Form Importer
- Added: Settings: Tools: MailPoet to Kit Form Importer
- Added: Settings: Tools: Newsletter Plugin to Kit Form Importer
- Added: Settings: Tools: Importers: Support migrating blocks from AWeber, MC4WP, MailPoet and Newsletter, as well as shortcodes
- Added: Settings: Tools: AWeber for WordPress Plugin to Kit Form Importer
- Added: Settings: Member Content: Container CSS Class setting
- Added: Member Content: Automatically add
grve-containerCSS class for Impeka Theme - Fix: Form Builder: Set email field type=email
- Fix: Blocks: Use Spinner when ProgressBar component unavailable in WordPress versions older than 6.3
- Updated: Blocks: Use apiVersion 2
- Added: Blocks: Field controls: Use 40px default size
- Fix: Blocks: Static flag warning
- Fix: Blocks: Unique
keyprop warning - Fix: Setup Wizard: Replace
ConvertKitwithKitin browser tab/window title - Updated: Use WordPress Libraries 2.1.3
- Fix: Settings: Improve logic to automatically delete invalid Access Tokens
- Fix: Settings: Disconnect: Immediately disconnect Plugin from Kit, instead of loading resources first
- Fix: Settings: Disconnect: Remove cached Custom Fields and Sequences
- Updated: Use WordPress Libraries 2.1.2
- Fix: Block Registration: Improve Frontend Performance
- Fix: Settings: Move hooks to ensure invalid Access Tokens are automatically deleted
- Added: Settings: Tools: Mailchimp for WordPress to Kit Form Importer
- Fix: Settings: Non-inline Forms: Correctly output
data-kit-limit-per-session - Fix: Settings: Automatically delete invalid Access Tokens
- Fix: Member Content: Courses: Next/Previous Links compatibility for WordPress 6.9
- Fix: Landing Pages: Prevent LazyLoad Plugin from lazy loading images on Landing Pages, which would result in missing images
- Updated: Blocks: Refresh Resources: Use REST API, replacing admin-ajax.php
- Updated: Refresh Resources: Use REST API, replacing admin-ajax.php
- Updated: Member Content: Use REST API, replacing admin-ajax.php
- Updated: Use WordPress Libraries 2.1.1
- Removed: Unused
convertkit_store_subscriber_id_in_cookieAJAX function
- Fix: Member Content: Product: Display 'no access' notice when logged in and no access
- Added: Settings: Improve override description wording to make clearer how it operates
- Fix: Settings: Handle
WP_Errorgracefully when attempting to fetch Kit account information
- Added: Blocks: Form Builder: Settings: Display fields conditionally based on configuration
- Added: Blocks: Broadcasts: Settings: Display fields conditionally based on configuration
- Added: Classic Editor: Broadcasts: Settings: Display fields conditionally based on configuration
- Added: Divi: Broadcasts: Settings: Display fields conditionally based on configuration
- Added: Elementor: Broadcasts: Settings: Display fields conditionally based on configuration
- Fix: Settings: Don't refresh resources via API when request is AJAX or CRON
- Fix: Member Content: Use correct Post ID and include correct Post URL in subscriber verification email
- Added: Blocks: Form Builder: Option to subscribe to Kit Form, to trigger incentive email
- Added: Settings: Advanced: Option to opt in to usage reports
- Fix: Member Content: Improve performance in admin UI by optimising query and only running query when Posts created/edited/deleted
- Added: Refresh resources button: show loading indicator until refresh is complete
- Updated: WordPress Coding Standards for JS and CSS
- Updated: Use WordPress Libraries 2.1.0
- Fix: Member Content: Improve login form layout on mobile
- Fix: Blocks: Form Builder: Typo on block description
- Added: Blocks: Form Builder: Display asterisk for required fields
- Added: Settings: Form Entries: Filter by API result
- Fix: Landing Pages: Prevent Autoptimize lazy loading images on Landing Pages, which would result in missing images
- Updated: Improved HTML parsing for Broadcasts and Form Builder block
- Added: Blocks: Form Builder. Create your own subscription forms with custom fields, tag and sequence support, within the block editor
- Added: Blocks: Form: Alignment option
- Added: Settings: Form Entries: View, search, delete and export entries submitted via Form Builder blocks
- Added: Settings: Non-inline Forms: Option to only display one non-inline form per session
- Fix: Settings: Improve Intercom help integration
- Updated: Settings: Renamed
Site Widesection toNon-inline Forms - Updated: Settings: Moved reCAPTCHA settings from Member Content to General settings, as reCAPTCHA is used for both the Form Builder and Member Content
- Updated: Settings: Documentation links
- Updated: Settings: Improved wording on
Disable ScriptsandDisable CSS, to make clearer what these settings do
- Added: Blocks: Form: Margin, padding and background color options
- Added: Debug: Forms:
data-kit-source-post-idattribute to scripts when Debugging enabled - Added: JS: Emit
kit_subscriber_id_removed_from_urlevent when theck_subscriber_idis removed from a URL - Fix: Debloat Plugin: Exclude Forms from Debloat's Defer and Delay JS
- Fix: Classic Widgets: Form: Uncaught error: Call to undefined method
ConvertKit_Resource_Forms::output_select_field_all - Fix: Blocks: Refactored and removed unnecessary duplicate render callback functions in the block editor
- Fix: Form Trigger: Revert running
scripttags throughwp_kses, as WordPress.com strip the script tag
- Fix: Form Block: Correctly style "No Content" message when selecting a modal form
- Fix: Member Content: Display all Posts if filter = All content
- Fix: Broadcasts, Form Trigger and Product Blocks: Improve rendering accuracy between block editor and frontend site
- Fix: Sanitization and security enhancements
- Added: Broadcasts Block: Display order option
- Added: Broadcasts, Form Trigger and Product Blocks: Use
get_block_wrapper_attributesfor blockclassandstyleattributes - Added: Broadcasts, Form Trigger and Product Blocks: Typography options
- Added: Broadcasts, Form Trigger and Product Blocks: Margin and padding options
- Added: Member Content:
All member-only contentoption added to filter dropdown in Posts and Pages tables - Fix: Member Content: Replace
Members onlywithmember-only - Fix: Automatically refresh Access Token when expired
- Fix: Broadcasts: Remove emoijs from Permalink whem importing Broadcasts to WordPress Posts
- Fix: Coding Standards: Use
wp_doing_cronfunction, instead ofDOING_CRONconstant
- Added: Member Content: Permits Apple, DuckDuckGo, OpenAI Search, Perplexity and Yandex to crawl Member Content if the Permit Search Engine Crawlers option is enabled
- Fix: Classic Editor: Display refresh button icon
- Updated: Require PHP 7.1 or greater
- Updated: Use WordPress Libraries 2.0.9
- Fix: Divi Theme: Register modules correctly (Broadcasts, Form, Form Trigger, Product)
- Fix: Fatal error
Uncaught Error: Class "ConvertKit_Admin_Bulk_Edit" not foundwhen using Solid Central (previously iThemes Sync) - Fix: Use
add_filterforconvertkit_admin_settings_register_sectionshook
- Fix: Divi Builder: Display Visual Editor / TinyMCE buttons when Divi Builder or Divi Theme active
- Fix: Member Content: Improved support for Uncode Theme
- Updated: Use WordPress Libraries 2.0.8
- Added: Member Content: Support for Uncode Theme
- Fix: Member Content: Prevent fatal error when both
Add a TagandMember Contentsettings defined on a Page, and the visitor has entered the Member Content code / clicked the magic link via email - Fix: Default Forms (Site Wide): Don't output non-inline site wide forms on 404 or search pages
- Fix: Gutenberg / Block Editor: Improved method for block editor detection to prevent loading JS when a page builder is active
- Fix: Remove
load_plugin_textdomaincall, as it's not needed since WordPress 4.6 - Fix: Issue client ID, site-specific v4 API Access and Refresh Token when upgrading from < 2.5.0
- Fix: Member Content: Only automatically configure caching Plugins if Member Content is used on a Page, Post or Custom Post
- Updated: Use WordPress Libraries 2.0.7
- Fix: Member Content: Set
wordpress_ck_subscriber_idcookie to beat WP Engine's server caching - Fix: Settings: Forms: Check Post Type of main Post, to ensure correct form is output when multiple Posts output on a singular Post, Page or CPT
- Added: Broadcasts (Beta):
convertkit-broadcastbody CSS class to Posts imported from Kit Broadcasts, to allow targeted CSS styles - Fix: Broadcasts (Beta): Remove table borders and background colors added by Elementor on imported Kit Broadcasts
- Fix: Member Content: Support magic links in emails
- Fix: Tools: Import & Export: Include Broadcasts settings
- Added: Member Content: Tags: Display login link when
Require loginoption enabled - Added: Member Content: Option to gate content by Kit Form
- Added: Default Forms (Site Wide): Option to honor
Nonesetting on Page, Post and Custom Post level - Updated: Use WordPress Libraries 2.0.6
- Added: Member Content: Option to require login when gating content by Tag. Subscribers receive an email with a magic link / code to securely access member-only content
- Added: Broadcasts (Beta): Option to export WordPress Pages and Custom Post Types to draft Kit Broadcasts using
Create Broadcast in Kitoption in admin tables - Added: Settings: Intercom help integration
- Fix: Remove
ck_subscriber_idfrom URL usingreplaceState, ensuring current URL is only stored once in browser history
- Added: Populate the
referrerproperty in Kit when Contact Form 7 or Forminator is configured to subscribe an email address to a Kit Form - Added: Settings: Group Settings in UI
- Added: Refresh resources button to update the list of Kit Forms / Products when using an applicable block or shortcode
- Added: Member Content: Support using a signed subscriber ID when viewing content gated by Kit Tag
- Fix: Settings: Uncaught TypeError when clicking Save Changes at Settings > Kit when a Kit account has no resources and no checkboxes are checked
- Updated: Kit WordPress Libraries to 2.0.6
- Added: Member Content: Automatically configure WP Rocket to not cache when the
ck_subscriber_idcookie is present, to ensure Member Content correctly displays - Fix: Don't strip hash from URL, ensuring anchor links work
- Added: Settings: Default Forms (Site Wide): Option to specify more than one non-inline site wide Form
- Added: Settings: Member Content: Option to enable Google reCAPTCHA v3 when using Member Content by Tag functionality
- Fix: Fatal error when a non-inline Form specified in Plugin, Post or Category settings and Form Position set to
After element
- Removed:
convertkit_store_subscriber_id_in_cookieAJAX call, as logic exists server side
- Added: Categories:
Noneoption added to specify no Form displays on Posts assigned to the Category - Added: Honor Block Visibility Plugin's conditions when used on a Kit Form block set to output a non-inline Form
- Fix: Character encoding when a Form is set to display after a specific element at
Settings > Kit > Form Position - Fix: Settings: Broadcasts: Ensure
Import Nowdisplays - Fix: Broadcasts: Automatically reschedule cron event for importing Broadcasts to WordPress Posts, if removed
- Added: OAuth: Issue site-specific Access and Refresh Token when using the same Kit account on multiple WordPress sites
- Fix: Exclude Forms from WP Rocket Minification and Combine
- Updated: ConvertKit WordPress Libraries to 2.0.5
- Added: Settings: Broadcasts: Option to import images to the WordPress Media Library when importing Broadcasts to WordPress Posts
- Added: Broadcasts: Remove heading title from content when it matches the Broadcast's title
- Fix: Broadcasts: Retain
figureandfigcaptionelements when importing Broadcasts to WordPress Posts
- Added: Broadcasts: Exclude Polls when importing Broadcasts to WordPress Posts
- Added: Settings: Forms: Only display Form settings if Forms exist in Kit
- Fix: Add a Tag: Honor setting when defined on individual WordPress Pages and Posts, using the v4 API Access Token
- Added: Settings: Option to output Default Forms after a given number of elements (paragraphs, headings, images)
- Fix: Kit branding tweaks and secondary button colors
- Fix: Landing Pages: Replace Cloudflare JS
typeprefixes, to ensure JS runs - Updated: Changed branding to Kit
- Updated: Kit WordPress Libraries to 2.0.4
- Added: Settings: Option to output Default Forms above, below or above and below content
- Fix: Settings: Initialize Forms Resource class when no public Post Types (resolves PHP Uncaught Error:
Call to a member function non_inline_exist() on bool) - Fix: Landing Pages: Correctly parse HTML, honoring redirect if "Redirect to an external page" defined on Landing Page in Kit
- Fix: Query separator / question mark incorrectly appended to URLs when
ck_subscriber_idcookie set - Fix: JS Uncaught TypeError:
Cannot read properties of null (reading ‘matches’) - Fix: PHP Warning:
Attempt to read property “base” on null - Updated: Kit WordPress Libraries to 2.0.3
- Added: Remove jQuery as a dependency from some backend JS
- Fix: Fatal error
Uncaught TypeError: Kit_API_V4::get_subscriber(): Argument #1 ($form_id) must be of type int, string givenwhen a blank or non-numericck_subscriber_idsupplied in the URL
- Added: Divi: Kit Broadcasts Module
- Added: Divi: Kit Form Trigger Module
- Added: Divi: Kit Product Module
- Fix: Landing Pages: Honor redirect if "Redirect to an external page" defined on Landing Page in Kit
- Fix: Preserve other URL query parameters when removing
ck_subscriber_id
- Added: Pages: Add New Landing Page Setup Wizard, to easily create a WordPress Page that displays a Kit Landing Page
- Added: Divi: Kit Form Module
- Updated: Pages: Landing Page + Member Content Wizards now display in a dropdown button
- Fix: Contact Form 7: Set subscriber to
inactivewhen a Kit Form is specified, honoring the Form's opt in setting. - Fix: Forminator: Set subscriber to
inactivewhen a Kit Form is specified, honoring the Form's opt in setting. - Fix: WishList Member: Set subscriber to
inactivewhen a Kit Form is specified, honoring the Form's opt in setting.
- Added: WishList Member: Option to just subscribe email, subscribe to a Form, Tag or Sequence or unsubscribe
- Fix: Contact Form 7: Typo on description text
- Fix: Forminator: Typo on description text
- Fix: Contact Form 7: Update description on settings screen to reflect new settings
- Fix: Forminator: Update description on settings screen to reflect new settings
- Fix: WishList Member: Fatal error
Uncaught TypeError: Kit_API_V4::add_subscriber_to_form(): Argument #1 ($form_id) must be of type int, string given
- Added: Contact Form 7: Option to just subscribe email, or subscribe to a Form, Tag or Sequence
- Added: Forminator: Option to just subscribe email, or subscribe to a Form, Tag or Sequence
- Fix: Landing Pages: Prevent Perfmatters lazy loading images on Landing Pages, which would result in missing images
- Updated: Kit WordPress Libraries to 2.0.1
- Added: Use Kit v4 API and OAuth
- Updated: Kit WordPress Libraries to 2.0.0
- Added: Categories: Option to display specified Kit Form on Category archives
- Fix: Move "Add a Tag" logic to backend when tagging a subscriber, instead of using AJAX
- Fix: Settings: Don't import Broadcasts to WordPress Posts when viewing Settings screen, for performance
- Fix: Broadcasts (Beta): Check
DOMDocumentavailable to parse Broadcasts, instead of producing a fatal error - Fix: Autoptimize: Don't output duplicate Forms when Autoptimize's
Defer JSoption is enabled - Updated: Removed upgrade path from Plugin versions below 1.4.1
- Fix: Member Content: Display Content when using a frontend Page Builder, such as Beaver Builder
- Fix: Forms: Sticky Bar: Set
z-indexCSS property to ensure Sticky Bar Forms correctly display over some WordPress Theme headers and menus
- Fix: WP-Rocket: Display Forms when WP-Rocket's
Delay JavaScript Executionoption is enabled - Fix: Perfmatters: Display Forms when Perfmatters'
Delay JavaScriptoption is enabled - Fix: Broadcasts (Beta): Improve parsing of Broadcasts when removing unsubscribe and hidden sections
- Fix: Debug Log: Change log file location to log subfolder, with .htaccess and index.html protection
- Fix: Debug Log: Mask email addresses, first names and signed subscriber IDs
- Added: Products: Block and Shortcode: Option to immediately load checkout step when button clicked, instead of Product image and description
- Fix: Siteground Speed Optimizer: Display Forms when Siteground's
Combine JavaScript Filesoption is enabled - Fix: LiteSpeed Cache: Don't output duplicate non-inline Forms when LiteSpeed Cache's
Load JS Deferredoption is enabled - Fix: Member Content: Improved UI on mobile devices
- Added: Remove jQuery as a dependency from Setup Wizard, Modals and Refresh buttons
- Added: Forms: Automatically center inline forms on non-block Themes
- Fix: Forms: Remove bottom margin on non-inline forms
- Fix: Setup Wizard: Preview Form link for Pages would incorrectly display a Post
- Fix: Landing Pages: Prevent WP Rocket caching and lazy loading images on Landing Pages, which would result in missing background images
- Fix: Classic Editor: Modal window: Don't display vertical scrollbar on Safari
- Fix: Member Content: Refresh button: Populate Tags and Products in applicable option groups
- Fix: Member Content: Refresh button: Define correct option values on refresh, ensuring settings save successfully.
- Fix: Member Content: Corrected grammar for
member-only
- Added: Settings: Option to specify Default Form on public Custom Post Types
- Added: Custom Posts: Option to specify Form and Tag on individual public Custom Post Types
- Added: Member Content: Support for Member Content functionality on public Custom Post Types
- Added: Removed jQuery as a dependency from Bulk Edit, Quick Edit and TinyMCE JS
- Fix: Divi: Allow scrolling when editing using the Divi Builder in tablet or mobile view
- Fix: Jetpack Boost: Prevent inline Forms from displaying in footer when added to a Page or Widget area when Jetpack Boost Plugin active
- Fix: Settings: Remove whitespaces from API Key and Secret when saving
- Fix: Broadcasts (Beta): Improve descriptions to make clear that only public Broadcasts are imported to WordPress
- Added: Member Content: Option to permit search engines to crawl Member Content at
ConvertKit > Member Content > Permit Search Engine Crawlers - Added: Removed jQuery from frontend JS and as a dependency
- Fix: Site Editor: Use
enqueue_block_assetshook instead ofenqueue_block_editor_assetshook - Updated: WordPress Libraries to 1.4.1
- Added: Broadcasts (Beta): Option to store ConvertKit Broadcast thumbnails as WordPress Post's Featured Image
- Added: Products: Block and Shortcode: Option to include a discount code
- Added: Products: Block and Shortcode: Option to disable modal on mobile. Recommended if the ConvertKit Product is a digital download (PDF) being purchased on mobile, to ensure the subscriber can immediately download the PDF once purchased.
- Fix: ConvertKit Error: Could not load Plugin class
outputwhen editing, quick or bulk editing a Post.
- Added: Settings: Display ConvertKit Form's format (inline, slide in, sticky bar, modal) where a
selectdropdown option is presented - Fix: Settings: Default Form (Site Wide): If defined, honor non-inline Form specified at Page, Post or Post Category level, to avoid two non-inline forms displaying
- Fix: Settings: Moved Documentation tab to Help link in header, for compat. with smaller screen resolutions
- Added: Member Content: Display log in and authentication code forms in modal to better match ConvertKit
- Added: Broadcasts (Beta): Define WordPress Post Author when importing ConvertKit Broadcasts
- Fix: Broadcasts (Beta): Don't show next scheduled date and time immediately after clicking
Import Now - Fix: PHP Warning: Use of deprecated
FILTER_SANITIZE_STRING
- Added: Member Content: Output manual or generated excerpt if no read more tag present in the Post's content
- Fix: Member Content: Force padding on buttons to prevent Themes overriding button layout
- Fix: Member Content: Add
requiredattribute on form fields
- Added: Member Content: Updated UI of gated content screens to better match ConvertKit
- Added: Settings: Member Content: Separate text settings can be configured for display when restricting by ConvertKit Tag
- Added: Member Content: Improve UI of authentication code screen
- Fix: Don't attempt to append ConvertKit Forms to unsupported Post Types
- Added: Broadcasts (Beta): Define WordPress Post status (Draft, Pending Review, Private or Published) when importing ConvertKit Broadcasts
- Added: Settings: General: Option to display a site wide non-inline form
- Updated: WordPress Libraries to 1.4.0
- Added: Broadcasts (Beta): Option to export WordPress Posts to draft ConvertKit Broadcasts
- Added: Member Content: Wizard: Option to restrict content by ConvertKit Tag
- Fix: Member Content: Check Product or Tag exists in ConvertKit before restricting content
- Fix: Form Trigger Block: Add spacing to button on non-block themes
- Fix: Form Trigger Block: Render button in Gutenberg to better match frontend output when changing background color
- Fix: Product Block: Add spacing to button on non-block themes
- Fix: Product Block: Render button in Gutenberg to better match frontend output when changing background color
- Added: Member Content: Option to restrict content by ConvertKit Tag, displaying a subscription form and subscribing the entered email address to the tag
- Added: Member Content: Posts: Display Filter dropdown in Posts table
- Fix: Member Content: Always enable Member Content options, ensuring imported Paid Broadcasts correctly show / hide content.
- Fix: Prevent blank submenu entries displaying under
Dashboardmenu when using a third party admin menu editor Plugin - Updated: ConvertKit WordPress Libraries to 1.3.9
- Fix: Settings: Member Content: Added missing
forlabel attributes - Fix: Settings: Broadcasts: Added missing
forlabel attributes - Fix: Posts: Add / Edit Category:
forlabel attribute now matches the field ID - Fix: Select2: Remove whitespace on tooltip hover
- Fix: Blocks: Include
editorScriptinblock.json
- Added: Forminator: Option to map Forminator Forms to ConvertKit Forms, to subscribe email addresses at Settings > Kit > Forminator
- Added: Forminator: Option to Enable Creator Network Recommendations modal on individual Forms at Settings > Kit > Forminator
- Added: Blocks: Register blocks using block.json
- Fix: Landing Pages: Use WordPress Site Icon as favicon, if defined
- Added: Broadcasts (Beta): Automatically publish public ConvertKit Broadcasts as WordPress Posts. Head over to
Settings > Kit > Broadcaststo get started. - Updated: WordPress Coding Standards
- Updated: ConvertKit WordPress Libraries to 1.3.8
- Fix: Use
file_get_contentsinstead ofWP_Filesystemfor reading plugin files, to avoid fatal error on activation when file ownership/permission issues occur - Fix: Block Editor: Prevent block error in WordPress 6.0 and lower by checking if
useAnchoris available
- Added: Contact Form 7: Option to Enable Creator Network Recommendations modal on individual Forms at Settings > Kit > Contact Form 7
- Added: Form Trigger: Block: When no API Key specified, link to Setup Wizard in a popup window to complete setup
- Added: Form: Block: When no API Key specified, link to Setup Wizard in a popup window to complete setup
- Added: Product: Block: When no API Key specified, link to Setup Wizard in a popup window to complete setup
- Updated: Member Content: Removed beta label
- Added: Broadcasts: Shortcode: Tabbed UI when adding broadcasts through the Classic or Text Editor
- Added: Broadcasts: Block: Moved pagination settings to own sidebar panel
- Fix: Classic Editor: Insert button would stop working when switching from Text Editor to Classic Editor
- Fix: Uncaught Error: Call to undefined method ConvertKit_Resource_Forms::get_by()
- Added: Form Trigger: Block: Display message with link when no API Key specified, or no non-inline Forms exist in ConvertKit
- Added: Form Trigger: Shortcode: Display message with link when no API Key specified, or no non-inline Forms exist in ConvertKit
- Added: Forms: Shortcode: Display message with link when no API Key specified, or no inline Forms exist in ConvertKit
- Added: Products: Shortcode: Display message with link when no API Key specified, or no Products exist in ConvertKit
- Fix: Bulk & Quick Edit: Show contextual icons for Form, Tag and Member Content settings, instead of the default Form icon
- Fix: Settings: Conditionally load CSS and JS depending on the section (General, Tools, Member Content)
- Fix: Settings: Link to ConvertKit form creator when no Forms exist in ConvertKit
- Fix: Use higher quality SVG icons for blocks, shortcodes and formatters
- Updated: ConvertKit WordPress Libraries to 1.3.6
- Added: Broadcasts: Options to display grid, images, descriptions and/or read more link
- Added: Broadcasts: Output as single column on smaller screen resolutions
- Added: Forms: Block: Display message with link when no API Key specified, or no Forms exist in ConvertKit
- Added: Products: Block: Display message with link when no API Key specified, or no Products exist in ConvertKit
- Fix: Settings: Disable CSS: Improve description of Disable CSS functionality, making it clearer what this setting does
- Fix: Use
esc_urlinstead ofesc_attrfor linkhrefproperties
- Added: Elementor: ConvertKit Form Trigger Block
- Added: Member Content: Automatically configure WP Fastest Cache and WP-Optimize Plugins to not cache when the
ck_subscriber_idcookie is present, to ensure Member Content correctly displays - Added: Member Content: Display a notice if Litespeed Cache, W3 Total Cache or WP Super Cache Plugins are active and have not been configured to exclude caching when the
ck_subscriber_idcookie is present - Fix: Elementor: ConvertKit Product: Button icon was missing
- Fix: Block Editor: Don't display options to link text to display a non-inline form if no forms exist in ConvertKit
- Fix: Block Editor: Don't display options to link text to display a Product or Tip Jar if no Product / Tip Jar exists in ConvertKit
- Fix: Settings: Escape tab links on output
- Added: ConvertKit Form Trigger Block, outputting a button which displays a non-inline form (modal, slide in, sticky bar) when pressed
- Added: ConvertKit Form Trigger Shortcode, outputting a button which displays a non-inline form (modal, slide in, sticky bar) when pressed
- Added: Block Editor: Link text to display a non-inline form (modal, slide in, sticky bar) when pressed
- Added: Block Editor: Link text to display a ConvertKit Product or Tip Jar when pressed
- Fix: Forms: Output non-inline scripts once per form, to avoid the same form displaying twice when embedded two or more times in a page
- Fix: Forms: Output non-inline scripts using the
wp_footerhook, ensuring modal overlays fill the screen - Fix: Member Content: Append
ck-cache-bustquery parameter after entering code, to prevent plugin / host caching showing stale data - Fix: Settings: Tools: Import / Export: Include Member Content settings in import and export configuration
- Fix: Settings: Member Content: Display warning notice that web host caching / caching plugins must be configured to disable caching when the
ck_subscriber_idcookie is present
- Fix: Improve UI compatibility for buttons in WordPress 5.x, using
button-heroCSS class instead of custom padding - Updated: ConvertKit WordPress Libraries to 1.3.4
- Added: Link to Setup Wizard on Plugins screen
- Added: Improved ConvertKit Icons in Classic Editor and block editor for Broadcasts, Forms, Products and Custom Content
- Fix: Post: Settings: PHP notices when settings are not an array
- Fix: Landing Pages and Legacy Forms: Deprecated
mb_convert_encoding()message in PHP 8.2
- Added: Member Content (Beta): Require subscribers to purchase a ConvertKit Product to access specific Pages on your WordPress site. Head over to
Settings > Kit > Member Contentto get started. - Fix: Product: Block and Shortcode: Set stylesheet ID to
convertkit-product-css, to match other blocks - Fix: Blocks: Use wp.serverSideRender instead of soon to be deprecated wp.components.ServerSideRender
- Fix: Forms: Preview: Support for previewing and editing Legacy Forms
- Fix: Improved performance in WordPress Admin when invalid API credentials specified on new installation
- Fix: Display notice in WordPress Admin with link to settings screen when invalid API credentials specified
- Added: Settings: ConvertKit: Documentation tab
- Added: Forms: Link to edit form in ConvertKit when previewing a Page, Post or Custom Post containing a ConvertKit form
- Fix: Display Forms, Landing Pages, Products and Tags in alphabetical order when listed in a
<select>dropdown - Fix: Form: Block and Shortcode: Check Forms exist in ConvertKit before outputting Block / Shortcode options
- Fix: Form: Shortcode: Remove unused API Key output
- Fix: Product: Block: Preview: Improved performance when previewing the Product block to determine if a ConvertKit Product was specified in the Block's settings
- Fix: Product: Shortcode: Remove unused API Key and data-attributes output
- Fix: Elementor 3.9.0+ compatibility
- Updated: ConvertKit WordPress Libraries to 1.3.0
- Fix: Honor "Add a tag" setting when enabled on a Page/Post
- Fix: PHP Warning: Cannot modify header information - headers already sent, when ?ck_subscriber_id included in request URI in some Page Builders (e.g. Elementor)
- Fix: PHP Warning: Trying to access array offset on value of type null
- Fix: Broadcasts: Strip slashes on output when pagination clicked and Broadcasts are reloaded
- Fix: Broadcasts: Sanitize and escape HTML attributes on output
- Fix: Forms: Escape HTML attributes on output
- Fix: Products: Sanitize and escape HTML attributes on output
- Fix: Products: PHP warning when attempting to parse an invalid Product URL
- Fix: Landing Pages: Catch and log when an error occurs fetching a Landing Page
- Fix: Remove double forwardslash on product.css
- Added: Categories: Option to specify ConvertKit Form to display when adding a new Post Category
- Fix: Bulk & Quick Edit: Improve layout of ConvertKit settings on desktop and mobile
- Fix: Post: Improve layout of ConvertKit settings on desktop and mobile
- Fix: Categories: Improve layout of ConvertKit settings on desktop and mobile
- Fix: Products: Block: Display preview when adding new block
- Fixed: Removed argument count on
in_admin_footeraction calls
- Added: Broadcasts: Block: Display message in editor when no Broadcasts exist in ConvertKit
- Fixed: Settings: Contact Form 7: Render screen correctly when no Forms in ConvertKit
- Fixed: Settings: WishList Member: Render screen correctly when no Forms in ConvertKit
- Added: ConvertKit Products Block, to output a button linking to a ConvertKit Product or Tip Jar
- Added: ConvertKit Products Shortcode, to output a button linking to a ConvertKit Product or Tip Jar
- Added: Gutenberg: Option to link text or button to a ConvertKit Product or Tip Jar
- Added: Classic Editor: Option to link text or button to a ConvertKit Product or Tip Jar
- Added: Settings: Improved UI
- Added: Broadcasts: Shortcode: Options to specify background, text and link colors
- Added: Broadcasts: Elementor: Options to specify background, text and link colors
- Added: Settings: General: Links added to preview Default Form for each Post Type
- Added: Setup Wizard for new installations
- Fix: Text Editor: Quicktag Buttons: Position and size modal window correctly to avoid scrollbars and whitespace
- Fix: Widgets: Legacy Forms Widget: "The convertkit_form block was affected by errors and may not function properly" when attempting to add legacy form widget
- Development: Moved /lib folder to managed repository
- Added: Settings: Tools: Use WordPress' Site Info to populate System Info section
- Added: Refresh button: Show error notification when refreshing fails
- Fix: Widgets: Broadcasts Block: JSON response error when attempting to save Broadcasts Block in a Widget area
- Fix: Classic (Visual) and Text Editor: Insert shortcode into correct editor when multiple editor instances exist (e.g. WooCommerce Products)
- Fix: API: Show error notification when API returns HTTP 500 and 502 errors, instead of showing PHP warnings
- Fix: Bulk and Quick Edit:
forlabel attribute now matches the field ID
- Added: Refresh button for Form, Landing Page and Tag fields to fetch latest data from ConvertKit account
- Fix: Bulk Edit: Don't display fields when no Pages / Posts exist
- Added: Bulk and Quick Edit Form and Tag when viewing list of Pages/Posts
- Fix: Performance: Don't perform API requests on every WordPress Administration screen when no Forms, Tags or Landing Pages exist
- Fix: API: Prevent fatal error when API returns null instead of expected array
- Added: Elementor Page Builder: ConvertKit Broadcasts Widget
- Fix: Integration: WishList Member: Unsubscribe email address from ConvertKit if 'unsubscribe' configured and member level removed
- Fix: Remove double forwardslash on some enqueued scripts and styles
- Added: Broadcasts: Option to enable pagination on block/shortcode
- Added: ConvertKit Broadcasts Block when editing Widgets using the block editor in WordPress 5.8+
- Added: ConvertKit Form Block when editing Widgets using the block editor in WordPress 5.8+
- Fix: ConvertKit Broadcasts Block/Shortcode: Fetch all Broadcasts from ConvertKit, not just the first 50
- Fix: Settings: Added label element for setting field names
- Fix: PHP Warning: Cannot modify header information, caused by QuickTags modal template output
- Fix: Text Editor: Quicktag Buttons: Block could not be found error when using a Quicktag
- Added: ConvertKit Broadcasts Block, to output a list of ConvertKit broadcasts
- Added: ConvertKit Broadcasts Shortcode [convertkit_broadcasts], to output a list of ConvertKit broadcasts
- Added: Settings: Tools: Import and Export configuration
- Fix: Page/Post: If a specific Form is selected that no longer exists in ConvertKit, fallback to the Default Form setting
- Added: Elementor Page Builder: ConvertKit Form Widget
- Fix: Default Form would not display on Posts assigned to Categories, where Categories were created prior to 1.9.6.0 and site uses PHP 8.0 or greater
- Fix: Categories: Improved wording of Form setting on per-Category level
- Fix: Default Form would not display on Posts due to regression in 1.9.7.1
- Fix: Default Form would not display on Posts due to regression in 1.9.7.0
- Fix: ConvertKit Form Block: Order Form names alphabetically
- Fix: Prevent Select2 styling from applying to non-Plugin elements
- Added: ConvertKit Form Block: When editing, display the Form Name if a non-inline form has been selected, as non-inline forms cannot be previewed in the editor
- Fix: Include email address in API request when attempting to fetch subscriber ID by email when ConvertKit Form is submitted with no email address
- Fix: Performance: Don't query API to fetch subscriber ID by email when ConvertKit Form is submitted with no email address
- Fix: Localization: Corrected path to load language files
- Fix: Plugin Activation: Parse error when using PHP 7.2 or below due to trailing comma in sprintf() call
- Added: ConvertKit Form Block for Gutenberg
- Added: Select2 dropdown for Forms, Landing Pages and Tags with search functionality for improved UX.
- Fix: Legacy Forms: Removed erronous , and tags from markup
- Fix: Render Legacy Form when shortcode is copied from app.convertkit.com for a Legacy Form
- Fix: Don't check for Landing Page when viewing any non-Page public Post Type which doesn't support Landing Pages
- Fix: PHP Notice: Undefined index landing_page when upgrading from 1.4.6 or earlier
- Fix: PHP Notice: Undefined index tag when upgrading from 1.4.6 or earlier
- Fix: Render Legacy Landing Pages
- Fix: Render Form Shortcode when a new ConvertKit Form ID specified that does not yet exist in Plugin's cached Form Resources
- Fix: Character encoding issue on Landing Pages
- Fix: Removed unused .scripts directory and .MD files
- Added: ConvertKit Form Shortcode Button for Classic Editor
- Added: Text Editor: Quicktag Buttons for inserting ConvertKit Forms and Custom Content
- Added: Settings: ConvertKit: Logo and branding header
- Added: Option to specify ConvertKit API Key and Secret as constants
CONVERTKIT_API_KEYandCONVERTKIT_API_SECRETin wp-config.php - Added: Settings: ConvertKit: General: Different Default Forms can be specified for Pages and Posts
- Added: Settings: ConvertKit: General: Enabling Debug option will also output data to browser console and inline HTML comments
- Added: Settings: ConvertKit: Tools: Option to Download Log to text file
- Added: Settings: ConvertKit: Tools: Option to Download System Info to text file
- Added: PHP 8.x compatibility
- Added: Developers: Action and filter hooks. See https://github.com/ConvertKit/convertkit-wordpress/blob/1.9.6/ACTIONS-FILTERS.md
- Fix: PHP warnings on new installations when adding/editing Pages or Posts where the plugin was not yet configured
- Fix: PHP 8.x: PHP Deprecated warnings where required parameters wrongly followed optional parameters
- Fix: gzinflate() data error
- Fix: Deprecated edit_category_form_fields warning
- Fix: Integration: WishList Member: Unsubscribe Action 'Unsubscribe from all' now honored when selected and saved
- Fix: Ensure code meets WordPress Coding Standards
- Fix: Use WP_Filesystem instead of PHP functions to read/write log file, per WordPress Coding Standards
- Fix: Fixed an issue where the ConvertKit shortcode would not function properly.
- Fix: Updated GitHub zip URL for build.
- Fix: Changed how API responses are logged.
- Fix: Reduced Debug output to improve performance.
- New: Increase minimum supported WordPress version to 4.9 and maximum supported WordPress version to 5.6.2
- Fix: Restore original plugin file name (
wp-convertkit.php), which reverts the breaking file name change (plugin.php) released in 1.9.3 - Fix: Fixed inconsistent refreshing of forms in the ConvertKit forms dropdown
- Fix: Fixed occasional "undefined variable" notices regarding the API key and API secret
- Tweak: Add ConvertKit plugin information to useragent of plugin API requests
- New: Increase minimum supported WordPress version to 4.8 and maximum supported WordPress version to 5.5.3
- Fix: Fix occasional "undefined variable" notice when viewing ConvertKit forms dropdown
- Fix: Only log transients from
get_form()method when debugging is enabled - Tweak: Remove
sslverify => falseargument from main ConvertKit API call
- Fix issue that prevented Google fonts from loading on landing pages
- Fix issue that resulted in multiple failed API calls for non-existent subscribers passed in via query parameter
- Fix bug that prevented "refresh forms" button on settings page from working
- Allow appending forms to WooCommerce products
- Fix bug that prevented setting "none" for form on a post from overriding category setting
- Add account name to settings page
- Fix bug that could result in fatal error with certain other plugins active
- Add additional server debug info for tech support
- Displays tags/LPs/forms alphabetically
- Several edge-case bug fixes
- Removes confusing utf8 warning on settings page
- Fix false positive detection of character set issues related to using emojis in forms & landing pages
- Don't show error on tools tab on first visit with logging turned on
- Fix code conflict with some other plugins that resulted in PHP warnings being displayed
- Fixed problem with a library that was only compatible with PHP 7+
- Adds checks and notices for outdated character set (utf8 vs. utf8mb4) use
- Add notice to metabox on blog archive page that our plugin does not do anything on this page
- Update library to make plugin work with PHP 7.3 (previously, landing pages did not work)
- Fix issue where global default form would never show for some categories
- Fix include path for system status box on tools tab
- Fix bug that caused fatal error on upgrade
- Fix bug that caused fatal error on upgrade
- New: Significantly improve performance of plugin by only attempting to tag visitors if needed (not on every page)
- New: Add option to disable javascript entirely (prevents tagging and custom content features from working)
- Fix conflict with Yoast SEO plugin
- Fix bug that prevented plugin from working with PHP 7.3
- Fix bug that prevented changing a category default form back to None
- Clarify that both API key and secret are required
- Fix bug that stripped out URL query parameters unrelated to ConvertKit
- Better handle refreshing list of forms in the connected ConvertKit account
- Added tools tab with debug log and system info boxes
- Fixed a bug that would show a PHP notice in some cases
- Fixed two bugs that would sometimes result in the custom content feature failing
- Fixed a bug that would sometimes cause WishList Member integration settings to not save
- Fixes issues with Contact Form 7 integration not saving form settings.
- Adds button to refresh on settings page, to fetch new forms added to the connected ConvertKit account.
- Fix for this message when Landing Page is set to None: PHP Notice: Undefined offset: 0
- Fix for new form builder being used in shortcode with "form" attribute instead of "id"
- Fix for landing pages not showing in the admin area drop down
- Fix for showing new landing pages on the front end of the site
- Added jquery to landing pages as new landing page builder does not include it
- Add support for new form builder
- Remove unnecessary API calls
- Store form/landing page/tag data in WP Options
- Add update routine for refreshing local convertkit data
- Fix for error in javascript added to landing pages.
- Fix for applying tags based on page views on initial visit. This adds an ajax call to each visit which some customers expressed concern about. We will add a way to remove this in an upcoming version.
- Fix for adding ck_subscriber_id to cookie
- Added a default form setting for post categories
- Clean up logging
- Remove admin ajax calls from each page load
- Remove api calls from the dashboard list posts page
- Add dependency to javascript enqueue to fix javascript error on landing pages
- Fixed plugin settings link
- Added javascript subscriber tagging to landing pages
- Fixed encoding of javascript.
- Fixed localization of data.
- Removing console.log from js.
- Added saving subscriber_id after visitor fills out ConvertKit form
- Added saving subscriber_id when visitor lands on site from ConvertKit email link
- Added "Add a tag" to Posts/Page metabox
- Added convertkit_content shortcode to show content to subscribers who have a tag
- Removed transient for API calls.
- Changed widget to use option setting instead of making API call.
- Reduced number of API calls while the site is being browsed.
- Updated contributors
- Fix _get_meta_defaults() because Posts and Pages set to Default were not showing forms.
- Updated ConvertKit_API::_get_api_response() to inflate response body if necessary.
- Fixed API response not getting unzipped
- Added check for multibyte string PHP extension
- Fixed CF7 mapping not showing all forms
- Changed log file to write locally instead of using WP_Filesystem
- Code refactor with WordPress Code Standards
- Added ability to tag a customer when WishList Member membership lapses
- Added WishList Member tag a customer
- Removed curl and replaced with wp_remote_request
- Fix for landing pages not appearing.
- Added code to API to not return status_code 404 content
- Uncommented logging around api calls.
- Do not show 404 page content when shortcode is used with form ID that does not exist
- If ConvertKit API is unavailable fail gracefully
- Fix for Contact Form 7 message sending when no ConvertKit forms are mapped
- Removed archived forms from the list of available forms in settings page
- Added i18n support
- Added Contact Form 7 integration. Site admins can now map CF7 name and email fields to CK subscription.
- Verified functionality with latest version of WishlistMember
- Add WP widget for form
- Updates form version to v6
- Add logger to help troubleshoot issues
- Add link to CK account if no forms available
- Add notice if can't connect to API
- Fixed issue with WishlistMember integration where members were not being subscribed.
- Add upgrade routine to change ID to form_id for API version 3.0
- Update ConvertKit API to version 3.0
- Fix WishList Member email sent to CK API when shopping cart used.
- Fix crash when API response is slow
- Avoid calling API endpoints when no forms need to be shown
- Fixes issue with illegal offset showing warning message
- Fix bug showing warning messages for some users
- Fix bug showing error messages for some users
- Updated for compatibility with WordPress 4.3
- Another fix for a pesky bug causing syntax errors
- Fixes a bug causing syntax error when getting options
- Added WishList Member integration
- Updated API methods
- Fixed a warning that appeared sometimes when no forms were loaded.
- Updated to use responsive forms
- Initial release