TWEAK: Remove cnShortcode::register() and register shortcodes in Connections_Directory::hooks() on the init hook to consistent with current coding standards.
TWEAK: Change folder capitalization from includes/shortcode to includes/Shortcode to match current naming conventions.
TWEAK: Remove use of deprecated methods in cnTemplate_Customizer::controlStrings().
TWEAK: Change Entry::prepareAttributes() from public to private.
TWEAK: Replace deprecated cnShortcode_Connections::shortcode() in cnDashboardMetabox::recent().
BUG: Ensure cnScript::maybeEnqueueStyle() returns true when the [cn-entry] shortcode is used.
BUG: Pass the correct attributes in cnTemplatePart::loadTemplateError() when initiating Upcoming_List.
BUG: The connectionsEntryList() method (template tag) should call cnShortcode_Connections::view() not cnShortcode_Connections::shortcode().
NEW: Introduce Entry\Functions::getPhone() and Entry\Functions::getEmail().
NEW: Add a copy to the clipboard button to the system info admin screen.
NEW: Introduce the cn_entry_output_category_items_class filter.
NEW: Introduce the Do_Shortcode trait.
NEW: Introduce _fragment::exists().
NEW: Introduce _fragment::__toString().
NEW: Introduce \Shortcode\Upcoming_List.
NEW: Introduce \Template\Hook_Transient.
TWEAK: Remove instance of deprecated cnFormObjects::open().
TWEAK: Update the community-supplied Members template to function without errors or warnings before moving it to a separate add-on.
TWEAK: Remove the legacy community Members template.
TWEAK: Add trailingslashit() to cnTemplate::getPath() and cnTemplate::getURL().
TWEAK: Update the accessed directly validation to be consistent with current coding standards.
TWEAK: Remove the use of deprecated cnHTTP::verifySSL().
TWEAK: Trim system info text to remove leading/trailing whitespace.
TWEAK: Add term slug to item class names.
TWEAK: Update \rinvex\country library to version 9.0.
TWEAK: Remove use of deprecated cnHTML::attribute() function in cnTemplatePart::returnToTop().
TWEAK: Add parameter type declaration to cnTemplatePart::returnToTop().
TWEAK: Move the class.geo.php file to the /includes/geo/ folder.
TWEAK: Remove the deprecated cnGeo::AO_Regions() method.
TWEAK: Remove the deprecated cnGeo::BG_Regions() method.
TWEAK: Remove the deprecated cnGeo::CA_Regions() method.
TWEAK: Remove the deprecated cnGeo::AU_Regions() method.
TWEAK: Remove the deprecated cnGeo::BD_Regions() method.
TWEAK: Remove the deprecated cnGeo::BR_Regions() method.
TWEAK: Remove the deprecated cnGeo::GB_Regions() method.
TWEAK: Remove the deprecated cnGeo::ES_Regions() method.
TWEAK: Remove the deprecated cnGeo::HK_Regions() method.
TWEAK: Remove the deprecated cnGeo::HU_Regions() method.
TWEAK: Remove the deprecated cnGeo::CN_Regions() method.
TWEAK: Remove the deprecated cnGeo::NZ_Regions() method.
TWEAK: Remove the deprecated cnGeo::ID_Regions() method.
TWEAK: Remove the deprecated cnGeo::IN_Regions() method.
TWEAK: Remove the deprecated cnGeo::IR_Regions() method.
TWEAK: Remove the deprecated cnGeo::IT_Regions() method.
TWEAK: Remove the deprecated cnGeo::JP_Regions() method.
TWEAK: Remove the deprecated cnGeo::MX_Regions() method.
TWEAK: Remove the deprecated cnGeo::MY_Regions() method.
TWEAK: Remove the deprecated cnGeo::NP_Regions() method.
TWEAK: Remove the deprecated cnGeo::PE_Regions() method.
TWEAK: Remove the deprecated cnGeo::ZA_Regions() method.
TWEAK: Remove the deprecated cnGeo::TH_Regions() method.
TWEAK: Remove the deprecated cnGeo::TR_Regions() method.
TWEAK: Add return type declaration.
TWEAK: Remove the abandoned and experimental qTip shortcodes and templates.
TWEAK: Call cnShortcode_Connections::shortcode() instead of the template tag connectionsEntryList() when rendering the recently added/edited dashboard widgets.
TWEAK: Utilize \Shortcode\Upcoming_List in the "upcoming" admin dashboard widgets and the Upcoming Editor Block.
TWEAK: Replace the [upcoming_list] shortcode callback with \Shortcode\Upcoming_List.
TWEAK: Move the connectionsEntryList() and connectionsUpcomingList() template tags to the global functions.php file.
TWEAK: Remove the inc.shortcodes.php file as the template tags and the [upcoming_list] shortcode callback are no longer utilized, and the file no longer contains any code.
TWEAK: The \Shortcode\Entry class does not need to extend the cnShortcode class.
TWEAK: First pass at restructuring \Shortcode\Entry to match current coding standards.
TWEAK: Second pass at restructuring \Shortcode\Entry to match current coding standards.
TWEAK: Remove use of deprecated cnHTML::attribute() methods on Template's admin page.
TWEAK: Remove use of deprecated method cnHTML::attribute() in cnTemplatePart::updated().
TWEAK: Add class properties to remove "Creation of dynamic property" PHP deprecation notices.
TWEAK: Extend cnTemplatePart with stdClass to remove "Creation of dynamic property" deprecation notices.
TWEAK: Do not set dynamic object property to prevent a PHP deprecation notice.
TWEAK: Move a set of actions from Upcoming_List::generateHTML() to Upcoming_List::loadTemplate().
TWEAK: Minor tweak to coding style when applying filters in \Shortcode\Upcoming_List.
TWEAK: No need to initiate a new variable to hold the instance of Connections_Directory in cnTemplateFactory::loadTemplate().
TWEAK: Remove unused commented-out code.
TWEAK: The \Shortcode\Conditional_Content class does not need to extend the cnShortcode class.
TWEAK: The \Shortcode\cnThumb class does not need to extend the cnShortcode class.
TWEAK: The \Shortcode\cnThumb_Responsive class does not need to extend the cnShortcode class.
TWEAK: The \Shortcode\cnShortcode_Connections class does not need to extend the cnShortcode class.
TWEAK: Remove unnecessary local variable in cnShortcode::removePBR().
TWEAK: Deprecate cnShortcode::view() and move to cnShortcode_Connections::view().
TWEAK: Update \Blocks\Directory::render() to utilize cnShortcode_Connections::view() instead of the deprecated cnShortcode::view() method.
TWEAK: Deprecate both cnShortcode::addFilterRegistry() and cnShortcode::clearFilterRegistry(). Replaced with \Template\Hook_Transient.
TWEAK: First pass at integrating the advanced search into the base plugin.
BUG: Increment and decrement operators must be bracketed when used in string concatenation.
BUG: Fix the wp_remote_post() check in the system info.
BUG: Add noop callback to Google Maps API parameters.
BUG: Use the correct Spanish translation for Spain. It seems the Catalan translation was used.
BUG: Correct bug in _fragment::clear() where, in some cases, the fragment cache would not be cleared.
BUG: Do not remove the cn_list_atts_permitted-{$templateSlug}cn_list_atts-{$templateSlug} filters in the [upcoming_list] shortcode.
BUG: Correct bug in pre_do_shortcode_tag filter callbackDo_Shortcode::maybeDoShortcode() that caused filter to return incorrectly.
OTHER: Correct misspellings.
DEV: phpDoc corrections.
DEV: phpDoc updates.
DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
DEV: Correct minor phpcs whitespace issues.
DEV: The CASE body must start on the line following the statement.
DEV: Disable Class name must begin with a capital letter, and the Class name is not valid phpcs issues.
DEV: Each array item in a multi-line array declaration must end in a comma.
DEV: Parameter comment must end with a full stop.
DEV: Visibility must be declared on the method.
DEV: There must be exactly one blank line after the file comment.
DEV: No space found before comment text.
DEV: Remove unused commented-out code.
DEV: Correct code tab indentation.
DEV: Bump tested to version 6.2.
DEV: Add @todo in code.
DEV: Add phpDoc to class properties.
DEV: Add an inline comment regarding hyphens in shortcode tag names.
DEV: Add @todo to make a note to move where two actions are initiated.
DEV: Add file header.
DEV: Add cnShortcode class phpDoc.
DEV: Remove unnecessary line returns.
10.4.39 03/06/2023
NEW: Introduce the Search and Submit fields to the Fields API.
NEW: Introduce polyfill for ctype_digit().
NEW: Introduce Request::isSearch().
NEW: Introduce Request::hasQuery().
NEW: Introduce the "Tests" Tools tab and a tool to test wp_remote_(get|post)() requests.
TWEAK: Deprecate the cn_loaded action hook in favor of the Connections_Directory/Loaded action hook triggered on the plugins_loaded action hook to have it run reliably, as it is possible for add-ons to be loaded by WP before Connections is loaded.
TWEAK: Add additional core WordPress constants to the System Info tool.
TWEAK: Rename a variable to make it more clear as to the intended function of its value.
TWEAK: Cleanup code cnTemplatePart::formOpen().
TWEAK: Add deprecated filter for cn_form_open_action.
TWEAK: Refactor _validate::isInteger() and _validate::isPositiveInteger() to ensure the correct result across additional inputs.
TWEAK: Remove usages of cnSanitize::field() with the raw context.
TWEAK: Move the rendering of the postbox to bulk import categories to the new Connections_Directory/Admin/Page/Tools/Tab/Import action hook.
DEV: Remove unused commented out line of code.
DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
DEV: phpDoc corrections.
DEV: Deprecated cnSanitize::string().
10.4.34 12/02/2022
NEW: Introduce _format::secondsToHuman().
TWEAK: Update deprecation message for the number input field type.
TWEAK: Move CSV Batch Import classes to the autoloader.
TWEAK: Move CSV Batch Export classes to the autoloader.
BUG: Add additional checks to help ensure the PHP warning "array_push() expects parameter 1 to be array" is not triggered with the Yoast SEO integration.
OTHER: Bump tested to.
I18N: Update POT file.
I18N: Update MO files.
DEV: phpDoc corrections.
DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
DEV: Update package-lock.json.
DEV: Add make-pot npm script.
DEV: Update Transifex config.
DEV: Add npm script to make POT and push/pull PO/POT files from Transifex.
DEV: Update dist files.
10.4.33 11/10/2022
NEW: Introduce a polyfill for json_validate() added to PHP 8.3.
NEW: Introduce _validate::isFileJSON() and _validate::isJSON().
NEW: Introduce \Request\List_Table_Logs.
NEW: Introduce \Hook\Action\Admin\Log_Management.
TWEAK: Remove use of deprecated cnFunction::decodeJSON() method.
TWEAK: Refactor the system info actions to utilize \Hook\Action\Ajax\Response and \Hook\Action\Ajax\Settings_Export_Import.
TWEAK: Refactor and \Hook\Action\Ajax\Settings_Export_Import and \Hook\Action\Ajax\Category_Metabox_Height to utilize \Hook\Action\Ajax\Response to reduce code duplication.
TWEAK: Remove unused import.
TWEAK: Refactor to utilize \Hook\Action\Admin\Log_Management.
TWEAK: Deprecate _color::maybeHashHEXColor() and _format::maybeHashHEXColor().
TWEAK: Remove unused import.
TWEAK: Remove use of deprecated method cnSanitize::hexColor() throughout.
TWEAK: Remove use of deprecated method cnFormatting::maybeHashHEXColor() throughout.
TWEAK: Remove use of deprecated method _color::maybeHashHEXColor() throughout.
TWEAK: Remove use of deprecated method cnUtility::remapRange() throughout.
BUG: Default taxonomy labels should inherit from taxonomy name.
BUG: Prevent possible undefined index notice in the Directory Block.
OTHER: Remove commented out code.
DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
DEV: phpDoc updates.
DEV: Update .scrutinizer.yml config.
DEV: Update composer.json config.
DEV: Update phpcs.xml config.
DEV: Update package-lock.json.
10.4.18 03/28/2022
NEW: Introduce Utility\_deprecated::_file().
TWEAK: Move the Browser library from the composer vendor folder to the Libraries folder.
TWEAK: Move the wsScreenOptions library from the composer vendor folder to the Libraries folder.
TWEAK: Move the rinvex\countries library from the composer vendor folder to the Libraries folder.
TWEAK: Update the rinvex\Country library.
TWEAK: Move the pear\File_IMC library from the composer vendor folder to the Libraries folder.
TWEAK: Move the ForceUTF8\Encoding library from the composer vendor folder to the Libraries folder.
TWEAK: Remove the EDD_SL_Plugin_Updater library.
TWEAK: Move the parseCSV library from the composer vendor folder to the Libraries folder.
TWEAK: Add placeholder files in the composer vendor folder that load the parseCSV library from Libraries folder.
TWEAK: Move various legacy javascript libraries from the composer vendor folder to the scripts vendor folder.
DEV: When minifying javascript using webpack drop console should be utilized to remove console statements from production files.
DEV: Set allowedTextDomain in .eslintrc.
DEV: Address most items flagged by eslint in jquery.mapblock.js.
DEV: Use webpack to package the assets for the jQuery Map Block script.
DEV: Update .eslintrc configuration.
DEV: Use webpack to package the assets for the jQuery Validation library.
10.4.17 03/18/2022
NEW: Introduce \Request\Int_Array.
NEW: Introduce \Request\Manage_Bulk_Actions.
NEW: Introduce \Request\Manage_Filter.
TWEAK: Update Google Maps API URI.
TWEAK: Update bulk entry management actions to utilize \Request\Int_Array for improved validation and sanitization while removing code duplication and complexity.
TWEAK: Refactor cnAdminActions::deleteEntry() to utilize \Request\ID for improved data validation, sanitation, and removing code duplication. Note this contains a breaking change to the method signature.
TWEAK: Refactor cnAdminActions::entryManagement() to utilize \Request\Manage_Bulk_Action for improved data validation and sanitization.
TWEAK: Refactor the Manage admin page to utilize cnUser::getScreenOption() instead of deprecated cnUser methods.
TWEAK: Refactor cnAdminActions::saveUserFilters() to utilize \Request\Manage_Filter and remove use of deprecated cnUser methods for improved validation, sanitization, and reduce code duplication.
TWEAK: Remove unnecessary escaping.
TWEAK: Match bulk actions class to WP core.
TWEAK: Remove final from \Request\Input::getSchema() so it can be overridden.
TWEAK: Deprecate many of the methods in cnUser in favor of a single utility method to reduce code duplication.
TWEAK: Set default value for the Manage admin page bulk actions to -1 to match WordPress core.
TWEAK: Use submit_button() to output the Manage admin page bulk actions apply button to match WordPress core.
TWEAK: Use submit_button() to output the Manage admin page filter button to match WordPress core.
TWEAK: Change manage admin page form method from post to get to match WordPress core.
TWEAK: Change the keyword search and initial character filters to the form get method.
TWEAK: Utilize \Field\Select to build the dropdown for the Manage admin page bulk actions.
I18N: Correct the screen option strings not ready for translation.
BUG: Correct bug in logic that determines whether the phone number HTML is shown or not.
OTHER: Correct misspellings.
OTHER: Inline comments must end in full-stops, exclamation marks, or question marks.
OTHER: Remove unnecessary break statements.
OTHER: Space found before semicolon.
OTHER: Newline required after opening brace.
DEV: phpDoc updates.
DEV: Remove use of deprecated method.
DEV: Add Leaflet vendor libraries as dependencies.
DEV: Update webpack.config.js to copy Leaflet libraries to the assets' vendor folder.
DEV: Update the Leaflet vendor libraries.
DEV: Remove commented out code.
DEV: Deprecate cnUser::resetFilterPage().
DEV: Tweaks to phpcs.xml.
DEV: Add code sample to exclude the "View All" page from indexing.
10.4.16 03/04/2022
NEW: Add the address and position parameters to cnRetrieve::emailAddresses().
NEW: Add support for email to cnRetrieve::getEntryBy().
TWEAK: Add span around the name honorable suffix separator, so it can be selected via CSS.
TWEAK: Extract 'if' statement with common parts.
SECURITY: Sanitize a couple values passed to the term tree walker.
OTHER: Inline comments must end in full-stops, exclamation marks, or question marks.
OTHER: Correct grammar, misspellings, punctuation, and spacing cnRetrieve.
DEV: Remove use of deprecated methods in cnRetrieve.
DEV: Remove phpStorm @noinspection tag.
DEV: Add phpcs ignore statements to cnRetrieve.
DEV: Remove use of deprecated method in a couple of the term list walkers.
10.4.15 02/18/2022
NEW: Introduce _array::random().
TWEAK: PHP 8.1 compatibility fixes.
TWEAK: Remove redundant is_admin() check.
TWEAK: Return false if null is passed to _format::toBoolean.
TWEAK: Tighten logic as to when to output the Entry data blocks.
TWEAK: Remove deprecated init_get() call in the system info.
TWEAK: Remove two unused deprecated validation functions.
TWEAK: Update cnCollection::random() to utilize _array::random().
TWEAK: Add version parameter to Google Maps API request URL.
BUG: Correct function name.
OTHER: Correct misspelling.
DEV: phpDoc updates.
DEV: Update LeafletJS to latest.
DEV: Correct code indent.
DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
10.4.14 02/10/2022
BUG: Set the default publish action to the sanitized request variable and allow filter to override it.
10.4.13 02/07/2022
TWEAK: Update the Upcoming Block index.js file to utilize the block.json for registering the block metadata and split out the edit and save callbacks to separate files for easier maintainability.
TWEAK: When registering the Carousel and Team Blocks pass the style parameter as strings instead of arrays.
BUG: Correct default for no results when registering the Upcoming Block.
OTHER: Update URL to PHP data interval formatting.
OTHER: Rename onChange event variables, so they do not conflict with previously declared variables of the same name.
OTHER: Add "translators" comment.
DEV: Apply eslinit and wp-prettier to the Upcoming Block index.js file.
DEV: Apply Prettier to .eslintrc.
DEV: Add allowedTextDomain to rules for @wordpress/i18n-text-domain in .eslintrc.
DEV: Add @wordpress/npm-package-json-lint-config.
DEV: phpDoc updates.
DEV: Update Composer required PHP version.
DEV: Add johnpbloch/wordpress-core-installer to allow-plugins in composer.json.
DEV: Update dist files.
10.4.12 02/02/2022
TWEAK: Apply eslinit and wp-prettier to the Directory Block index.js file.
TWEAK: Rename onChange event variables, so they do not conflict with previously declared variables of the same name.
TWEAK: Update the Directory block to break out the edit and save callbacks to improve maintenance.
BUG: Change isEditorPreview default block value from true to false.
BUG: On mobile, set the default option to disabled/hidden, so it is not selectable by the user when using the mobile OS native select control.
BUG: Add missing return on error when processing a logo image.
DEV: Format webpack.config.js using prettier.
DEV: Adjust .eslintrc config to add path to babel config.
DEV: Update npm packages.
DEV: Correct .editorconfig syntax error.
DEV: Add Prettier config.
DEV: Add stylelint and config.
DEV: phpDoc corrections.
DEV: Switch from Prettier to WP_Prettier.
DEV: Remove the eslintConfig key from package.json since the config exists in .eslintrc.
DEV: Update dist files.
10.4.11 01/28/2022
NEW: Introduce Content_Block::isActive().
NEW: Introduce _::isWPVersion().
NEW: Introduce cnScript::getAssetMetadata().
NEW: Introduce Carousel::registerScripts() and Carousel::registerStyles() and enqueue block assets when required.
NEW: Introduce Team::registerStyles() and enqueue block assets when required.
TWEAK: Enqueue Content Block scripts only when displayed and not globally.
TWEAK: Change cnScript::maybeEnqueueStyle() from private to public.
TWEAK: Check of the current queried object id is the directory homepage id in cnScript::maybeEnqueueStyle().
TWEAK: Remove registration of old/out of date admin/frontend RTL styles.
TWEAK: Rename script handle for the Management Content Block for consistency.
TWEAK: Change the action hook in which the Management Content Block script is registered.
TWEAK: Update the Last Viewed and Recently Viewed Content Blocks to register their own assets on enqueue them only when required.
TWEAK: Remove the global enqueueing of block assets.
TWEAK: Enqueue Content Block styles only when it is active and on the directory homepage and not globally.
TWEAK: Move the Recently Viewed Content Block assets to a sub folder to improve organization. Use imports in scripts instead of referencing globals to enable code completion.
TWEAK: Move the Related Content Block assets to a sub folder to improve organization.
TWEAK: Move the shared Content Block assets to a sub folder to improve organization.
TWEAK: Move the brandicon assets to a sub folder to improve organization.
TWEAK: Move the fonticonpicker assets to a sub folder to improve organization.
TWEAK: Rename source styles for consistency.
TWEAK: Remove unused style assets.
TWEAK: Rename blocks.js to index.js for consistency. Adjust import path for consistency.
TWEAK: Remove the public entry point for blocks in favor of individual block entry points so block assets can be loaded as necessary instead of globally.
TWEAK: Add the script and style handles to the Nearby and Related Content Blocks so the can be loaded as required instead of globally.
TWEAK: Register Blocks with blocks.json if the WordPress version is 5.8 or greater.
TWEAK: Use imports in Block scripts instead of referencing globals to enable code completion.
TWEAK: Do not import Block style. Use webpack entry to process separately.
TWEAK: Enqueue the RTL styles built by webpack.
TWEAK: Remove registration and enqueuing of global Block script.
TWEAK: Update the registration and enqueuing of the Block Editor assets.
TWEAK: Update the URL and file path of the iconpicker library when registering its assets.
BUG: The Recently Viewed API Endpoint should not parse requests or apply query filters.
BUG: Do not set default for the template attribute as it causes the setting to be lost during saving.
OTHER: Correct misspellingS.
DEV: Remove unused import.
DEV: phpDoc updates.
DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
DEV: Remove commented out code.
DEV: Adjust phpcs parallel value.
DEV: Qualifier can be replaced with an imports.
DEV: Correct code alignment.
DEV: Rename variable.
DEV: Add style entry point for Block components.
DEV: Update package.json.
DEV: Update webpack.config.js.
DEV: Update dist files.
DEV: Update node packages.
DEV: Delete .jshintrc.
DEV: Add .eslintrc.
DEV: Remove use of deprecated file_loader and url-loader.
DEV: Remove deprecated commented out code.
DEV: Bump minimum WordPress version to 5.3.
10.4.10 01/14/2022
TWEAK: Multiple placeholders should be ordered.
TWEAK: Ensure parameter is cast to boolean.
TWEAK: Ensure the Team Block table headings are translation ready.
TWEAK: Allow the Additional Options field to override the parse_request parameter.
TWEAK: Ensure map tile images are set at opacity of 1 to prevent themes from hiding them.
TWEAK: Remove the div from around the do_meta_boxes() function call on the admin Manage page so WordPress will properly apply CSS classes for different screen-sizes/orientations.
BUG: Add missing text domains.
BUG: The translation $text arg must be a single string literal.
BUG: Correct excluding categories in the Team Block.
BUG: Hook rank_math/head is an action, not a filter.
OTHER: Correct misspellings.
DEV: Output phpcs security report to a separate file.
DEV: Missing space before array closer.
DEV: Spaces must be used for mid-line alignment; tabs are not allowed.
DEV: Code cleanup, adding/removing spaces to ensure code formatting compliance.
DEV: The CASE body must start on the line following the statement.
DEV: There must be no space before the colon in a CASE statement.
DEV: CASE statements must be defined using a colon.
DEV: String does not require double quotes; use single quotes instead.
DEV: Parenthesis should always be used when instantiating a new object.
DEV: phpDoc formatting corrections.
DEV: Array double arrow not aligned correctly.
DEV: Correct switch case statement formatting.
DEV: Array double arrow not aligned correctly.
DEV: Scope keyword must be followed by a single space.
DEV: Add a couple more phpcs reports.
DEV: Equals sign not aligned correctly.
DEV: Array keys must be surrounded by spaces unless they contain a string or an integer.
DEV: Empty array declaration must have no space between the parentheses.
DEV: Expected 1 space after array opener.
DEV: Each item in a multi-line array must be on a new line.
DEV: Expected 1 space before closing PHP tag.
DEV: Expected 0 spaces between parenthesis of function declaration.
DEV: There must be no blank line following an inline comment.
DEV: Empty block comment not allowed.
DEV: The static declaration must come after the visibility declaration.
DEV: Multi-line function call not indented correctly.
DEV: Logical operator "and" is prohibited; use "&&" instead.
DEV: Expected 1 space before opening brace.
DEV: There must be a single blank line after a tag group.
DEV: Expected 1 space before opening brace.
DEV: Space found before semicolon.
DEV: Expected 0 spaces between argument and comma.
DEV: Additional blank lines found at end of doc comment.
DEV: phpDoc updates.
DEV: PHP tags must be on a line by themselves.
DEV: Expected space before asterisk.
DEV: Short array syntax is not allowed.
DEV: Empty lines are not allowed in multi-line function calls.
DEV: Inline PHP statement must end with a semicolon.
DEV: Short form type keywords must be used.
DEV: Usage of ELSE IF is discouraged; use ELSEIF instead.
DEV: Concat operator must be surrounded by a single space.
DEV: Array closer not aligned correctly.
DEV: A gettext call containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.
DEV: The use of function sizeof() is forbidden; use count() instead.
DEV: Add config:allow-plugins to composer.json.
DEV: Updates to .travis.yml.
DEV: There must be no blank lines before the file comment.
10.4.9 01/07/2022
NEW: Add support for the %title%, %organization%, and %department% tokens when setting the name format when calling the getNameBlock() method.
TWEAK: Hook into the upgrader_process_complete action to clear addon plugin update checks.
BUG: Team block should not parse request queries.
SECURITY: Utilize esc_attr() instead of esc_html() when HTML escaping attribute values.
DEV: Use Yoda Condition checks, you must.
DEV: Equals sign not aligned with surrounding assignments.
DEV: Space found before comma in argument list.
DEV: The CASE body must start on the line following the statement.
DEV: Remove unnecessary break statement in switch branch.
DEV: Remove unnecessary blank lines.
DEV: Add additional security sniffs to the phpcs report.
DEV: Minor webpack.config.js cleanup.
10.4.8 12/22/2021
NEW: Introduce the Request Input API.
NEW: Introduce _::var_dump_to_error_log().
TWEAK: Remove unnecessary attribute escaping.
TWEAK: Add additional label parameters that can be utilized when registering a custom taxonomy.
TWEAK: Refactor _::var_dump() as a variadic and utilize _::var_dump_to_error_log() for code deduplication.
TWEAK: Remove direct access to $_GET and $_POST super globals and use the Request Input API instead for improved input validation and sanitization while reducing code duplication.
TWEAK: Refactor of processEntryCategory() to remove isset() and empty() checks on request variable. Sanitize the result.
BUG: Wrong escaping function. href, src, and action attributes should be escaped by esc_url(), not by esc_attr().
BUG: Utilize esc_attr__() instead of esc_html__() when escaping attribute values.
BUG: Add missing return value.
BUG: Set up object and property if not set to prevent PHP related notices and errors when sorting categories during CSV export.
BUG: Add missing return value to _::getIP().
SECURITY: Sanitize server IP address request variable.
DEV: When a multi-item array uses associative keys, each value should start on a new line.
DEV: Use Yoda Condition checks, you must.
DEV: Remove unused commented out code.
DEV: There must be no blank lines before the file comment.
DEV: Equals sign not aligned with surrounding assignments.
DEV: Reflow code.
DEV: Correct if/else statement with common parts.
DEV: String does not require double quotes; use single quotes instead.
DEV: Tabs must be used to indent lines; spaces are not allowed.
DEV: Array double arrow not aligned correctly.
DEV: Language constructs must be followed by a single space.
DEV: Concat operator must be surrounded by a single space.
DEV: Correct array code format.
DEV: Do strict comparison.
DEV: No space found after comma in argument list.
DEV: Add phpDoc file header.
DEV: Extract common parts of if/else statement.
DEV: Parameter comment must end with a full stop.
DEV: Parenthesis should always be used when instantiating a new object.
10.4.7 12/01/2021
NEW: Introduce _::isDevelopmentEnvironment().
TWEAK: Update mShot API URI.
TWEAK: Collapse duplicate case statements.
TWEAK: Minor refactor of cnEntry_HTML::gethCardTelType() and cnEntry_HTML::gethCardAdrType(), renaming of variables to be more clear and update phpDoc.
TWEAK: Add the cn-phone-number-type-{$type} class to the phone number HTML block to allow each phone type to be selected by CSS.
TWEAK: Move _::isInteger() to _validate::isInteger().
TWEAK: Move _::isPositiveInteger() to _validate::isPositiveInteger().
TWEAK: Add timestamp to template CSS version if site is set to the development environment.
TWEAK: Utilize _array::get() to get request data to avoid undefined index notices.
BUG: Do not use unlink() on an WP_Error object.
SECURITY: Refactor escaping of getTermParents().
SECURITY: Utilize wp_safe_redirect() instead of wp_redirect().
SECURITY: Sanitize admin term list request variables.
DEV: There must be exactly one blank line before the tags in a doc comment.
DEV: Update vendor files.
DEV: Update dist files.
10.4.6 11/16/2021
NEW: Introduce _escape::css().
NEW: Introduce _escape::json().
NEW: Introduce _escape::maybeEcho().
NEW: Introduce _validate::isFloat().
TWEAK: Utilize _escape::maybeEcho() to echo the escaped HTML id attribute.
TWEAK: Utilize _escape::maybeEcho() to echo the escaped encoded JSON.
TWEAK: Utilize _escape::maybeEcho() to echo the escaped HTML attribute value.
TWEAK: Utilize _escape::maybeEcho() to echo the escaped CSS rules.
TWEAK: Utilize _escape::maybeEcho() to echo the escaped HTML tag name.
TWEAK: Utilize _escape::maybeEcho() to echo the escaped HTML class names.
TWEAK: Utilize _escape::maybeEcho() to echo the escaped HTML.
TWEAK: Remove unnecessary echo.
TWEAK: Optimize case statement.
TWEAK: Instead of prefixing a suspicious warning in CSV export data, prefix with a single straight quote. Allow negative floats without prefixing.
TWEAK: Add parameter to cnLog_Email::viewLogItem() to echo value.
TWEAK: Change attribute from return to echo.
TWEAK: Improve _sanitize::filepath().
BUG: Use correct method to display vCard download link in template.
BUG: Add missing text domain.
BUG: Email log cc and bcc fields need to be echoed.
BUG: Value should be returned, not echoed.
SECURITY: All output should be run through an escaping function.
SECURITY: Escape CSS rules.
SECURITY: Sanitize the bulk delete entry IDs.
SECURITY: Escape date block template.
SECURITY: Escape admin date block template.
SECURITY: Escape email block template.
SECURITY: Escape admin email block template.
SECURITY: Sanitize request variable.
SECURITY: Escape the style attribute in Form Fields API.
SECURITY: Escape the ID attribute in the Profile template.
SECURITY: Escape the Entry Meta Content Block.
SECURITY: Escape the Entry Management Content Block.
SECURITY: Escape the admin Dashboard Upcoming Widget.
SECURITY: Escape admin messenger block template.
SECURITY: Escape messenger block template.
SECURITY: Escape admin link block template.
SECURITY: Escape the admin Dashboard Recently Modified Widget.
SECURITY: Escape the admin Anniversary Light template.
SECURITY: Escape link block template.
SECURITY: Escape the admin Anniversary Dark template.
SECURITY: Escape the Default Card template.
SECURITY: Escape the Birthday Light template.
SECURITY: Escape the admin Dashboard Recently Added Widget.
SECURITY: Escape the Members template.
SECURITY: Escape the Default Card template.
SECURITY: Escape URL.
SECURITY: Escape the Default Card template.
SECURITY: Escape the Birthday Dark template.
SECURITY: Escape address block template.
SECURITY: Escape address block template.
SECURITY: Escape admin address block template.
SECURITY: Escape phone block template.
SECURITY: Escape admin phone block template.
SECURITY: Escape the Related Content Block.
SECURITY: Escape the Recently Viewed Content Block.
SECURITY: Escape class names in license notification.
SECURITY: Escape the Entry Meta Content Block.
SECURITY: Escape admin social network block template.
SECURITY: Escape the Carousel Block template.
SECURITY: Escape the Entry Management Content Block.
SECURITY: Escape the Nearby Content Block.
SECURITY: The base export class header and row data should be run thru the escape method incase the base methods are not overridden.
SECURITY: Admin messages need to support HTML when escaped.
SECURITY: Refactor cnCategory::getDescriptionBlock() to remove duplicate code and add escaping.
SECURITY: Escape HTML attribute values.
SECURITY: Use wp_safe_redirect().
OTHER: Remove unnecessary line returns.
OTHER: Remove extra spaces.
OTHER: Remove unnecessary usage of esc_html__().
OTHER: Reflow code.
OTHER: Correct misspellings.
OTHER: Remove unnecessary tab.
OTHER: Lines indented incorrectly.
OTHER: Remove unnecessary double forward slash from inline comment.
OTHER: Remove extra space.
DEV: phpDoc corrections.
DEV: Ignore instance of WordPress.Security.EscapeOutput.OutputNotEscaped.
DEV: The CASE body must start on the line following the statement.
DEV: Use Yoda Condition checks, you must.
DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
DEV: String does not require double quotes; use single quotes instead.
DEV: Tabs must be used to indent lines; spaces are not allowed.
DEV: Array double arrow not aligned correctly.
DEV: Remove unnecessary parenthesis.
DEV: Concat operator must be surrounded by a single space.
DEV: Ignore instance of WordPress.Security.NonceVerification.Missing
DEV: Remove inline comments.
DEV: Remove @todo.
DEV: phpcs rule tweaks.
DEV: Ignore instance of WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
DEV: Ignore instance of WordPress.WP.GlobalVariablesOverride.Prohibited.
DEV: Space found before comma in argument list.
DEV: Simplify ternary.
DEV: There must be no blank lines before the file comment.
DEV: When a multi-item array uses associative keys, each value should start on a new line.
DEV: Add phpDoc to template.
DEV: Ignore instance of PEAR.NamingConventions.ValidClassName.Invalid.
DEV: Ignore instance of PEAR.NamingConventions.ValidClassName.StartWithCapital.
DEV: Rename variable.
DEV: Do type check after encoding value as JSON to ensure its a string.
DEV: Simplify switch statement.
DEV: Array closer not aligned correctly.
DEV: Add phpDoc.
DEV: Qualifier is unnecessary and can be removed.
DEV: Equals sign not aligned with surrounding assignments.
DEV: Remove unused import.
DEV: Refactor of \Form\Field::stringifyCSSAttributes().
DEV: Move common HTML functions from \Form\Field namespace to the \HTML namespace.
DEV: Move HTML helper functions from namespaced global functions to public static functions in namespaced class.
DEV: Remove unnecessary parameter from method to be consistent with signatures of other methods in utility class.
DEV: Convert quotes.
DEV: Expected exactly one space after opening parenthesis.
DEV: Opening PHP tag must be on a line by itself.
DEV: Inline PHP statement must end with a semicolon.
DEV: Opening brace should be on the same line as the declaration.
DEV: Remove extra spaces in function parameters.
DEV: Comma not allowed after last value in single-line array declaration.
DEV: Parameter comment must end with a full stop.
DEV: Remove unused commented out code.
DEV: Remove unnecessary string concat.
DEV: Deprecate cnTemplate::includeFunctions() and cnTemplate::printCSS().
DEV: Remove @noinspection tag.
DEV: Code format inline comment.
DEV: phpDoc alignment.
DEV: Deprecated argument.
DEV: Parenthesis should always be used when instantiating a new object.
DEV: Equals sign not aligned correctly.
DEV: phpcs.xml configuration tweak.
DEV: Expected 1 space after closing brace.
DEV: Language constructs must be followed by a single space.
DEV: Expected 1 space after "=".
DEV: Move imports.
DEV: Missing space before array closer.
DEV: Expected 1 space after "&&".
DEV: Expected exactly one space before opening parenthesis.
DEV: Closing PHP tag must be on a line by itself.
DEV: Correct code flow.
DEV: Usage of ELSE IF is discouraged; use ELSEIF instead.
DEV: Add/remove extra spaces.
DEV: Newline required after opening brace.
DEV: Expected 1 space(s) after closing parenthesis.
DEV: There must be no space between the "array" keyword and the opening parenthesis.
DEV: Use spaces instead of tabs for midline alignment in phpDoc.
DEV: Remove duplicate switch branches.
DEV: Reflow multiline function call to single line.
DEV: The DEFAULT body must start on the line following the statement.
DEV: Deprecate arguments in cnHTML::attribute().
DEV: Remove HTML inspection flags.
DEV: Add phpcs WP security report.
10.4.5 10/22/2021
NOTICE: Requires at least WordPress 5.2.
NEW: Introduce Utility\_sanitize.
NEW: Introduce _validate::isCSV().
NEW: Introduce _sanitize::filePath().
NEW: Introduce phpcs.xml.
TWEAK: Discard current character query variable if supplied string is longer than a single character.
TWEAK: Use absint() instead of esc_attr() when using the Entry ID query var on the Manage admin page.
TWEAK: Escape html of setting description.
TWEAK: Process echoed JavaScript through esc_js().
TWEAK: Process map pin popup through wp_kses_post().
TWEAK: Remove unnecessary newlines.
TWEAK: Delete commented out code.
TWEAK: Refactor tabbed sub-panels on the Templates admin page to eliminate several phpcs WPCS warnings.
TWEAK: Remove HTML URL from translation.
TWEAK: Add target="_blank" to template author URL.
TWEAK: Change a couple private method to public so they can be access in filter callback.
TWEAK: Utilize the collection renderer to render the social networks on the manage admin page.
TWEAK: Correct send by AJAX check.
TWEAK: Set json_decode() to return associative array instead of object.
TWEAK: Use wp_json_encode() instead.
TWEAK: Increment operators should be used where possible.
TWEAK: Use CN_parseCSV version 1.1 during category import for PHP8 compatibility.
TWEAK: Introduce mapping method to map CSV data to new structure on CN_parseCSV 1.1.
TWEAK: Force balanced tags in _escape::html().
TWEAK: Utilize wp_safe_redirect() instead of wp_redirect().
TWEAK: Remove incorrect use of esc_html__() when registering settings.
TWEAK: Change the upgrade notice and changelog from p tags to div tags on the Plugins admin page.
TWEAK: Passing the $delimiter as the second parameter to preg_quote() is strongly recommended.
SECURITY: Validate and sanitize $_GET['page'].
SECURITY: Validate and sanitize $_GET['cn-action'].
SECURITY: Sanitize usage of a non-sanitized input variable.
SECURITY: All translated strings should be run through an escaping function.
SECURITY: Sanitize usage of a non-sanitized input variable.
SECURITY: All output should be run through an escaping function.
SECURITY: Use esc_html__ instead of __().
SECURITY: Sanitize admin keyword search field.
SECURITY: Sanitize current character request query variable.
SECURITY: Process the status filter links through wp_kses().
SECURITY: Sanitize search query variable for pagination links.
SECURITY: Correct class name escaping.
SECURITY: Wrong escaping function, using esc_attr() in a context outside of HTML attributes may not escape properly.
SECURITY: Use isset() or empty() to check the index exists before using it and sanitize request variable.
SECURITY: Sanitize CSV file upload path.
SECURITY: Validate if file is a CSV file.
SECURITY: scape anchor text when outputting an anchor permalink.
SECURITY: Process the rank string through wp_kses_post() before outputting.
SECURITY: Escape edit permalink string.
SECURITY: Escape delete entry permalink string.
SECURITY: Escape permalink title attribute for vCard anchors.
SECURITY: Correctly strip tags and escape dashboard widget text.
SECURITY: Escape vCard permalink string.
SECURITY: Escape the no results string.
SECURITY: Escape the submit button title attribute.
SECURITY: Escape the title attribute of the current character.
SECURITY: Escape term list options.
SECURITY: Escape classnames.
SECURITY: Escape arguments passed to _deprecated_argument(), _deprecated_function(), and _deprecated_hook().
SECURITY: Escape attributes when generating a permalink using _url::permalink().
SECURITY: Escape arguments passed to wp_dropdown_pages().
SECURITY: Escape plugin upgrade notice and changelog on Plugin admins page.
SECURITY: Escape admin notices.
COMPATIBILITY: Backport is_gd_image() from WordPress 5.6 to fix issues with resizing images using the GD library.
OTHER: Replace quotes.
OTHER: Correct typos.
OTHER: A gettext call containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.
OTHER: Remove extra parenthesis.
OTHER: Remove error_log() call.
DEV: Update composer.json.
DEV: Correct function spacing in passed arguments.
DEV: Ignore global override warning.
DEV: When a multi-item array uses associative keys, each value should start on a new line.
DEV: Inline control structures are not allowed.
DEV: Use of extract() is not recommended.
DEV: Parenthesis should always be used when instantiating a new object.
DEV: Opening brace must be the last content on the line.
DEV: There must be no blank lines before the file comment.
DEV: Inline comments must end in full-stops, exclamation marks, or question marks.
DEV: Use Yoda Condition checks, you must.
DEV: Use isset() or empty() to check the index exists before using it.
DEV: Each array item in a multi-line array declaration must end in a comma.
DEV: Inline PHP statement must end with a semicolon.
DEV: Opening/closing PHP tags must be on a line by themselves.
DEV: TRUE, FALSE and NULL must be lowercase.
DEV: Ignore instance of WordPress.NamingConventions.PrefixAllGlobals.
DEV: Ignore instance of WordPress.Security.EscapeOutput.OutputNotEscaped.
DEV: Ignore instance of WordPress.Arrays.MultipleStatementAlignment.
DEV: Ignore instance of WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound.
DEV: Ignore instance of phpcs:disable PEAR.NamingConventions.ValidClassName.StartWithCapital.
DEV: Opening PHP tag must be on a line by itself.
DEV: Closing PHP tag must be on a line by itself.
DEV: Ignore instance of WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound.
DEV: Add composer script.
DEV: Ignore instance of Generic.Commenting.DocComment.SpacingBeforeTags.
DEV: The CASE body must start on the line following the statement.
DEV: Detected usage of a possibly undefined superglobal array index: $_GET['id']. Use isset() or empty() to check the index exists before using it.
DEV: The DEFAULT body must start on the line following the statement.
DEV: Equals sign not aligned with surrounding assignments.
DEV: Add inline code comments and doc block.
DEV: Use mb_strlen() instead of strlen().
DEV: Ignore instance of WordPress.Security.ValidatedSanitizedInput.InputNotSanitized.
DEV: Remove instances of deprecated functions.
DEV: Array double arrow not aligned correctly.
DEV: Tabs must be used to indent lines; spaces are not allowed.
DEV: Missing short description in doc comment.
DEV: Concat operator must be surrounded by a single space.
DEV: HTTP links are not secure.
DEV: String concat is not required here; use a single string instead.
DEV: Ignore instance of Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps.
DEV: String "
" does not require double quotes; use single quotes instead.
DEV: Swap quotes.
DEV: Assignments must be the first block of code on a line.
DEV: Remove esc_url() from link since it escaped later.
DEV: Opening/closing parenthesis of a multi-line function call must be the last content on the line.
DEV: Remove unused local variable $wp_roles.
DEV: Ignore instance of phpcs:ignore WordPress.Security.NonceVerification.Recommended.
DEV: Ignore instance of phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped.
DEV: Correct array code alignment.
DEV: Remove unnecessary escaping.
DEV: phpDoc updates.
DEV: Ignore instance of phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
DEV: Ignore instance of phpcs:disable Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
DEV: Check variables are set before access.
DEV: Ignore instance of phpcs:ignore Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps.
DEV: Ignore instance of phpcs:ignore WordPressVIPMinimum.Performance.FetchingRemoteData.FileGetContentsUnknown
DEV: Remove unnecessary validation when processing category CSV import.
DEV: Ignore instance of phpcs:ignore WordPress.Security.NonceVerification.Missing
DEV: Remove commented out code.
DEV: Check array key exists before access.
DEV: Ignore instance of phpcs:ignore WordPress.Security.NonceVerification.Missing,WordPress.Security.ValidatedSanitizedInput.InputNotSanitized.
DEV: Correct ternary syntax.
DEV: Remove unnecessary conditional.
DEV: Logical operator "or" is prohibited; use "||" instead.
DEV: "include" is a statement not a function; no parentheses are required.
DEV: WPCS fixes.
DEV: .gitignore PHPCS-report.txt.
DEV: Add "Requires at least" and "Requires PHP" to the plugin header.
10.4.3 09/27/2021
SECURITY: Entry data on the Manage admin page should be escaped to prevent high level WordPress Users to perform Cross-Site Scripting attacks.
10.4.2 09/23/2021
COMPATIBILITY: Add compatibility shim for the All-in-One Video Gallery plugin.
TWEAK: Ensure value is object before accessing its properties.
10.4.1 09/14/2021
NEW: Introduce _::isInteger() and _::isPositiveInteger().
NEW: Introduce the suppress_filters parameter in cnRetrieve::entries().
TWEAK: Use self shortcode keyword instead of classname when checking instance of object.
TWEAK: Utilize the suppress_filters property in cnRetrieve::upcoming().
TWEAK: Utilize suppress_filters in the admin dashboard widgets.
TWEAK: Check to make sure object property is set before use.
TWEAK: Remove unnecessary isset() check.
TWEAK: Action to register templates should be run before templates are activated.
TWEAK: Add check for instance of self when initiating the template factory.
TWEAK: Update action hooks to call cnTemplateFactory::maybeActivate().
TWEAK: Add call to cnTemplateFactory::maybeActivate() in cnTemplateFactory(). Needed to support the new Widget Editor because it seems the rest_init hook does not fire or is not fired in time to render the widget previews. Templates are required to be activated because templates are used to render the widgets.
OTHER: Correct typos.
DEV: phpDoc corrections.
DEV: phpDoc updates.
10.4 09/03/2021
NEW: Introduce the _::isEmpty() and _::notEmpty() helper methods.
NEW: Introduce the _string::applyPrefix() helper method.
NEW: Introduce the Fields API.
NEW: Introduce the helper _escape class.
NEW: Introduce cnScript::maybeEnqueueStyle().
TWEAK: Remove unreachable break statements in switches.
TWEAK: Ensure deprecated messages are shown only when the environment type is set to development.
TWEAK: Allow overflow-x and overflow-y as valid inline style attributes.
TWEAK: Check for instance of Label before calling a method.
TWEAK: Update deprecated method call with the updated replacement.
TWEAK: Remove use of deprecated form field methods used on the Manage admin page.
TWEAK: Conditionally enqueue the Leaflet library.
TWEAK: Replace one-off code of fields in the Metabox API with fields created using the Fields API.
TWEAK: Replace one-off code of fields in the Settings API with fields created using the Fields API.
TWEAK: Change the init priority of the Metabox API to 11.
BUG: Correct translated country name.
BUG: Return empty string as default case in switch for HTML fields.
BUG: No need to assign the CPT field in the Settings API to the variable as it will be rendered in the recursive call.
OTHER: Readme.txt correction.
OTHER: Correct misspellings.
OTHER: Removed unused global variable.
OTHER: Remove extra semi-colon.
INTEGRATION: Update The Rank Math integration to change the robots meta to noindex the paginated directory results.
COMPATIBILITY: Remove the single shortcode filter if the PageLayer plugin is active.
DEV: phpDoc corrections.
DEV: Public function should be static.
DEV: Correct code formatting.
DEV: phpDoc updates to cnHTML; deprecating all methods.
DEV: Add _deprecated_function() calls to cnHTML methods.
DEV: Add _deprecated_argument() calls to cnHTML methods.
10.3.2 07/23/2021
TWEAK: Use of the _deprecated::_func() rapper function for _deprecated_function() to ensure warnings are not triggered during AJAX or REST requests even if WP_DEBUG is enabled. Message will only trigger when environment type is set to development.
BUG: Do not set offset when querying Entry URLs while building the sitemap url index when the page number is 0 (zero).
10.3.1 07/19/2021
NEW: Introduce Taxonomy\Partial\getTermParents().
TWEAK: No need to import the core Connections Directory object on the term taxonomy admin pages since it is not utilized.
TWEAK: Deprecate cnTemplatePart::getCategoryParents() and refactor to utilize Taxonomy\Partial\getTermParents().
TWEAK: Remove instances of cnTemplatePart::getCategoryParents() and refactor to utilize Taxonomy\Partial\getTermParents().
TWEAK: Ensure Content Block callback is callable before registering the action callback.
TWEAK: Ensure taxonomy term permalink returns a string before escaping and rendering the permalink HTML.
TWEAK: Ensure term is an array and not empty before attempting to traverse the term results.
TWEAK: Minor refactor of Content_Block::isPermitted() to ensure callback is callable and if return value is not a bool, return false.
TWEAK: Set the default value in Content_Block::heading() to an empty string as the default to prevent a possible null as the return value.
TWEAK: Set the default value of label in Content_Block\Entry\Taxonomy::content() to an empty string as the default to prevent a possible null as the return value.
BUG: The category__in and category__not_in parameters should be parse as arrays.
BUG: Correct form ID name on the term taxonomy admin page to be consistent with WP core.
BUG: Ensure the force_home and home_id parameters are passed in the Taxonomy Term widget to prevent PHP notices about undefined indexes.
DEV: phpDoc corrections.
DEV: Remove unused import.
DEV: Updates to .composer.json.
DEV: Updates to .gitignore.
10.3 07/10/2021
NEW: Introduce _length(), deprecate cnGEO::convert(), and refactor instances of cnGEO::convert() to utilize _length().
NEW: Introduce Taxonomy::getQueryVar() and Taxonomy::isPublicQueryable() methods.
NEW: Introduce Query\Taxonomy and Query\Term classes.
NEW: Introduce the cn-template-is-single class to the shortcode markup.
TWEAK: Correct allow_public_override shortcode settings label and description.
TWEAK: Rename lock parameter in cnRetrieve::entries() to parse_request.
TWEAK: Replace qualifier with import.
TWEAK: Replace deprecated method with replacement method.
TWEAK: Correct replacement method for deprecated method.
TWEAK: Remove the legacy wp_current_category shortcode parameter.
TWEAK: Use absolute path to include deprecated category functions. The processEntryCategory() was not a global function as it should have been, it was local to another function.
TWEAK: Update _::decodeJSON to include additional error messages.
TWEAK: Refactor _::maybeJSONdecode() to be faster and more reliable.
TWEAK: Remove unnecessary break.
TWEAK: Combine global functions into a single file.
TWEAK: Extract helper functions from the cnTerm object. Introduce _getTermChildren, _getTermHierarchy, _padTermCounts and several more helper functions.
TWEAK: Update cnTerm to use new taxonomy helper functions.
TWEAK: Use the _deprecated_function() wrapper function in the cnTerm file.
TWEAK: Remove use of deprecated method.
TWEAK: Add deprecated filter hooks for backwards compatibility.
TWEAK: Replace legacy cnTerm_Objectclass with Taxonomy\Term.
TWEAK: Remove use of deprecated methods in the legacy cnCategory class.
TWEAK: The name suffix should have a comma between it and the surname.
TWEAK: The pagination template code had duplicate code in the if/else statement. Extract it.
TWEAK: Change the classname cn-is-single to cn-list-item-is-single for more accurate targeting.
TWEAK: Add timestamp to the template custom CSS file version string for cache busting.
TWEAK: When parsing query request variables; parse arrays, filter, decode, and unslash.
TWEAK: Refactor cnRetrieve::entries() to utilize both Request and Query\Taxonomy to remove code duplication and optimize query performance.
TWEAK: Move the Connections_Directory/Taxonomy/{$this->getSlug()}/Sanitize_Terms filter to Taxonomy\AttachTerms.
BUG: Add missing search results messages when filtering by district and county.
BUG: Cast string to float.
BUG: Do not disable the term checklist option when not displaying in the admin.
BUG: Pass raw Organization and Department fields to cnURL::permalink() slug attribute.
BUG: Correct return value isHierarchical().
BUG: Correctly order the country/region permalinks in the pagination.
BUG: Pass raw names when creating permalinks for county, district, city, state, zipcode, and country permalinks.
DEV: phpDoc corrections.
DEV: Update package.json with latest dev dependencies and webpack.config.js configuration options.
DEV: Update dist files.
DEV: Update vendor files.
DEV: Comment out unused code, marked for removal at later date.
DEV: Update package.json dependencies.
DEV: Introduce wp_get_environment_type() for backwards compatibility.
DEV: Introduce action/filter deprecation hooks. During AJAX, REST or if WP Environment is set to "production", messages will be logged instead of output on screen.
DEV: Use new deprecated filter hook wrapper function in the deprecated filters files.
DEV: Use new deprecated action hook wrapper function in the deprecated action file.
DEV: phpDoc corrections.
DEV: Add @todos.
OTHER: Update copyright year.
OTHER: Bump support WordPress version to 5.8.
10.2 04/15/2021
FEATURE: First pass at adding custom taxonomy API.
NEW: Introduce 'object_ids' parameter in cnTerm::getTaxonomyTerms().
NEW: Introduce the Connections_Directory/Content_Blocks/Register filter.
TWEAK: Do array check be attempting to marge array to prevent potential PHP notice in some scenarios.
TWEAK: Move the WordPress mShot integration class to the integration folder and adjust the namespace accordingly.
TWEAK: Remove use of deprecated class cnFormatting in cnCategory.
TWEAK: Enable the transform URL in the Rank Math integration.
TWEAK: Register the namespaced rewrite tags which will be used to generate the rewrite rules.
TWEAK: Add noreferrer and nofollow attributes to the social media network links.
TWEAK: Ensure date is instance of DateTime before adding to date to Entry Dates.
TWEAK: Ensure date is instance of DateTime before setting the date format when adding backwards support for the anniversary and birthday date fields.
TWEAK: Update [connections] shortcode defaults to use the cnShortcode::getHomeID() helper method for the home_id shortcode attribute.
TWEAK: Ensure cloned fields are shown.
TWEAK: Remove use of deprecated click jQuery function.
TWEAK: Remove use of deprecated bind jQuery function.
TWEAK: Remove use of deprecated method cnFormatting::maybeJSONdecode() in cnMeta.
TWEAK: Use strnatcasecmp when sorting the admin menu array key index.
TWEAK: Add class parameter to form tag.
TWEAK: Add support for a default value for the text field input in the Settings API.
TWEAK: Utilize cnShortcode::getHomeID() and set the force_home attribute default to false in the callbacks for the view all list action and the character index.
TWEAK: Add echo attribute to the term list walker renderer.
TWEAK: Add categorychecklist class to the term list walker so it inherits the proper styles from WP.
TWEAK: Utilize cnMetaboxAPI::defaultPageHooks() when registering core default entry metaboxes.
TWEAK: Use strict comparison in cnTerm::descendants().
TWEAK: Do not set variable in comparison in cnTerm::descendants().
TWEAK: Eliminate the possibility of a trailing comma in the entry categories list when using the Split Categories addon.
TWEAK: Reset the Entry category block properties to their defaults after rendering.
TWEAK: Remove the locality, region, and postal code from the request query vars.
TWEAK: Use self instead of static when initiating SEO integration classes since they are final classes.
TWEAK: Only add the SEO filters if the [connections shortcode or Directory block is used on the queried post.
TWEAK: Check if the query post object is a support post type in the canonical redirect when on the front page.
BUG: The persistent log taxonomy should not have rewrite rules generated.
BUG: Only custom post types that are publicly queryable and have rewrite rules should be valid options when choosing to enable custom post type support.
BUG: Correct implode() usage. Array must be 2nd parameter.
BUG: Prevent characters from being removed from the beginning/end of post titles.
BUG: Refactor cnEntry::getCategory() to display attached children categories no matter the descendent depth.
BUG: Correct hook registration.
BUG: Add the missing schema for the bio and notes fields to the REST API endpoint.
COMPATIBILITY: Invalidate the Rank Math sitemaps cache when adding/deleting/updating and Entry.
COMPATIBILITY: Update plugin compatibility checks for WP Mail Logging and Email Log Plugin to be PHP 8.0 compliant.
COMPATIBILITY: Compatibility with the Post Categories by User for WordPress plugin by preventing this plugin from hiding the categories on the Connections admin pages.
OTHER: Update max WordPress version in compatibility check.
OTHER: Correct misspelling.
OTHER: Correct code formatting.
DEV: Remove commented out code.
DEV: Add a couple of todo's.
DEV: phpDoc corrections.
DEV: Add deprecated SiteShot file for loading via legacy code. Reorder the class alias to prevent a PHP warning message.
DEV: Remove curly bracket array access from CSV library.
DEV: Update min/max PHP and WP requirements.
DEV: Correct PHP8 optional parameter before required parameter notice.
10.1 12/15/2020
FEATURE: Support for Yoast SEO sitemaps.
FEATURE: Support for Rank Math sitemaps.
TWEAK: Change the date format used in the sitemaps from DATE_ATOM to DATE_W3C.
TWEAK: Change Provider::getQueryArgs() from protected to public so it can be used in integrations.
TWEAK: Add several public methods to Provider so the protect/private properties can be accessed for integrations.
TWEAK: The persistent logs should not be public queryable.
TWEAK: Only supported custom types should be used when defining a Directory Homepage ID.
TWEAK: Use the set_screen_option_connections instead of the set-screen-option filter hook needed for the Screen Options tab settings to be saved appropriately.
TWEAK: If only a single instance of Connections is on a page, no need to add the instance ID to he sitemap index links.
DEV: phpDoc updates.
DEV: Inline code comment.
DEV: Remove no inspection tag.
10.0 12/08/2020
FEATURE: Support for WordPress sitemaps.
TWEAK: Ensure the persistent log posts do not display in the WP sitemaps if the site is in debug mode.
TWEAK: Use rawurlencode() when encoding the permalink for department, organization, district, county, locality, region, and country.
BUG: Correct find shortcode logic.
OTHER: Update readme.txt to make mention of the support of the native sitemaps support introduced in WordPress 5.5.
9.17 11/24/2020
TWEAK: Remove use of deprecated methods cnSanitize::htmlClass() and cnFunction::escAttributeDeep()` in the term list class.
TWEAK: Remove use of deprecated method cnValidate::userPermitted().
TWEAK: Remove use of deprecated methods cnSanitize::htmlClass() and cnFunction::escAttributeDeep()` in the term list class.
TWEAK: Do not apply the wpseo_title filter in the admin.
TWEAK: Comment out code legacy Yoast SEO compatibility code.
TWEAK: Do not apply array_filter() to shortcode $atts when viewing the single Entry detail/profile page.
TWEAK: Apply clear float fix to the form.
TWEAK: Use the get_cananical_url filter instead of the page_link filter to set the canonical page URL.
TWEAK: Relation separator should be within a span tag.
TWEAK: Add a few filters which should be reset between shortcode instances.
TWEAK: Use self when referencing method.
TWEAK: Add random support to the [cn-entry] shortcode.
TWEAK: Ensure the force_home option for the [cn-entry] shortcode is a boolean.
OTHER: Update readme.txt support link.
OTHER: Update fontawesome from 5.13.0 to 5.15.1.
DEV: Correct code formatting.
DEV: Update package.json dependencies.
DEV: Update webpack.config.js.
DEV: Update dist files.
9.16 11/06/2020
TWEAK: Add filter to the [cn-content] shortcode to support the Page Builder plugin by SiteOrigin.
OTHER: Remove the legacy social network icons to reduce plugin package size.
DEV: Code alignment.
DEV: Correct the replacement method for a deprecated method debug message.
DEV: Remove use of deprecated method cnValidate::userPermitted().
DEV: Remove use of deprecated method cnCountry::getCode().
DEV: Remove use of deprecated method cnOptions::getDateOptions().
DEV: Remove use of deprecated method cnFormatting::toCamelCase().
DEV: Remove use of deprecated method cnFunction::isDimensionalArray().
DEV: Remove use of deprecated method cnEntry::getFullFirstLastName().
DEV: Remove use of deprecated methods cnSanitize::htmlClass() and cnFunction::escAttributeDeep()` in the term list class.
DEV: Remove use of deprecated method cnUser::getFilterPage().
DEV: Remove use of deprecated method cnUtility::getUUID().
DEV: Remove use of deprecated method cnFormatting::maybeJSONencode().
DEV: Remove use of deprecated method cnFormatting::maybeJSONdecode().
DEV: Remove use of deprecated method cnUtility::toNumericHash().
DEV: Remove use of deprecated method in cnRetrieve.
9.15 10/30/2020
TWEAK: Pass additional parameters to the Connections_Directory/Shortcode/Conditional_Content/is_condition/{$this->atts['condition']} filter.
DEV: Change class variable from private to protected.
DEV: Add deprecated notices throughout so usages can be removed and old code cleaned up.
9.14 10/22/2020
NEW: Introduce the [cn-content] shortcode.
TWEAK: Rename "Custom Fields" metablock and Content Block to "Custom Metadata Fields" to help reduce confusion between "Custom Fields" and "custom fields".
TWEAK: Rename the "Entry Meta" Content Block to "Entry Metadata" for uniformity.
TWEAK: Minor tweak to ensure the section head di is not rendered if both the current character and repeat character index are disabled.
TWEAK: Add version check for Yoast SEO. Minimum supported version is 14.0.
TWEAK: Minor tweaks to the [cn-entry] shortcode initialization.
OTHER: CSS tweak, change double-quote to single-quote to match style.
DEV: Add phpDoc to filter.
DEV: Remove use of a couple deprecated methods.
DEV: Update dist files.
9.13 10/06/2020
NEW: Introduce Rank Math integration.
NEW: Introduce cnSEO::getImageMeta().
TWEAK: If both the Entry excerpt and bio are empty, fallback to the Entry address for the Entry meta description.
TWEAK: Add additional check to see if Yoast SEO is active or not before setting up integration.
TWEAK: Set Yoast SEO integration to run at priority 15, after Yoast SEO sets itself up.
TWEAK: Use cnSEO::getImageMeta() within the Yoast SEO integration. Providing common logic which is shared with the other SEO integrations.
TWEAK: Use self instead of static.
TWEAK: Tweak the fallback meta description to include address (for organization) and title|department|organization (for individuals).
BUG: Correct bug in address to string helper where district would output instead on county.
OTHER: Deprecate Yoast_SEO::getImageMeta()
DEV: phpDoc correction.
9.12 10/01/2020
NEW: Improve Yoast SEO integration.
NEW: Introduce the Connections_Directory/Content_Block/Content/{$id} action.
TWEAK: Change priority of the cnSEO::metaDesc() action callback to 1.
TWEAK: Declare cnSEO::metaTitle() as public.
TWEAK: Limit meta description to 155 characters.
TWEAK: Remove the Content-Length header when downloading vCard to deal with some web hosts which seem to add BOM to downloads corrupting the vCard.
DEV: Correct phpDoc and add missing deprecated file call.
DEV: phpDoc updates in cnSEO.
DEV: Add @todo for Rank Math compatibility.
DEV: Lay foundation for the new Conditional Content shortcode.
9.11 09/21/2020
NEW: Introduce _string::toKebabCase().
NEW: Introduce the Connections_Directory/Content_Block/Entry/Categories/Attributes filter.
DEV: Move the color utility class to its own namespaced file.
DEV: Move the dateutility class to its own namespaced file.
DEV: The _date class should be final.
DEV: Move the string utility class to its own namespaced file.
DEV: Move the formatting utility class to its own namespaced file.
DEV: cnSanitize::currency() should be static.
DEV: Remove unnecessary break statement.
DEV: Add _deprecated_file() calls to a couple deprecated files.
DEV: Add _deprecated_function() to a couple deprecated methods.
DEV: phpDoc updates.
DEV: Move the siteshot utility class to its own namespaced file.
DEV: Move the utility functions class to its own namespaced file.
DEV: Move the URL utility class to its own namespaced file.
DEV: Add _deprecated_function() to the cnValidate::attributesArray() method.
DEV: Move the validate utility class to its own file.
DEV: Deprecate methods in the cnUtility class nad move code to the _ class to consolidate utility methods under a shortcode classname.
DEV: Moved several methods to be in the proper utility class and deprecated the existing methods.
DEV: Deprecate and pair on unused methods in cnValidate.
9.10 09/10/2020
FEATURE: Introduce the Recently Viewed and Last Viewed Content Blocks.
NEW: Introduce the Connections_Directory/Block/Carouse/Query_Parameters filter.
NEW: Add the link field to the Entry REST endpoint.
NEW: Add support for the exclude parameter in the REST API.
NEW: Introduce the Recently Viewed REST API Endpoint.
TWEAK: Check for instance of cnAddress before access its properties.
TWEAK: Keep core WP Editor from displaying the slider navigation text in the Carousel Block.
TWEAK: Rename cn-user.js to frontend.js.
TWEAK: Delete the frontend.min.js file as it is not needed since webpack will minify file.
TWEAK: Remove unused code in the frontend.js file.
TWEAK: Make a single call to cnQuery::getVar() when rendering an Entry on the frontend for improved performance.
TWEAK: Remove several unnecessary object buffers when rendering an Entry.
TWEAK: Rename Entry render variable to be more descriptive.
TWEAK: Move logic on whether to display the character index and section head to within where the Entry is rendered.
TWEAK: Remove the cn-list-head div.id attribute.
TWEAK: Remove the cn-list-foot div.id attribute.
TWEAK: Apply array_unique() and array_filter() to the list head and body container classes.
TWEAK: Remove the cn-list-foot div.id attribute.
TWEAK: Remove the legacy connections-list class from the body container.
TWEAK: Move setting $is_single to outside of the loop. No need to set it on each iteration.
TWEAK: Cleanup the applied body classes. The cn-list-row and cn-list-row-alternate is applied only in the list view. Introduce the cn-list-item and cn-is-single classes.
TWEAK: Minor CSS tweaks to remove unnecessary specificity.
TWEAK: CSS clear after several core list containers. Necessary after removing the class that did the clear from the containers.
TWEAK: Do not show the character index when viewing the single Entry.
TWEAK: Abstract out template body section heading.
TWEAK: Abstract out the generation of the Entry card classes.
TWEAK: Ensure the permission_callback parameter is set when registering REST API Endpoints.
TWEAK: Add check to prevent index not found notice.
TWEAK: Implement limit on the Team Block to ensure page can be saved by WP.
TWEAK: Add 'data-skip-lazy="1" if lazy loading is false.
TWEAK: Move cnArray to a namespaced class and stub out files and autoloading for other utility classes and functions to consolidate and better organize the codebase.
TWEAK: Remove use of a few deprecated React components in the Team and Upcoming blocks.
TWEAK: Add lodash as a script dependency for the frontend script bundle.
TWEAK: Finally deprecate the cnOutput class because it was ambiguous.
TWEAK: Bumped "Tested up to:" to version 5.5 in readme.txt.
TWEAK: Bump "Requires at least:" to version 5.0 in readme.txt.
TWEAK: Update EntryName component with a asPermalink attribute.
TWEAK: Update the frontend script dependencies to support the Recently View Content Block.
TWEAK: Add placeholder support to the Entry Image React component.
TWEAK: Add default image width/height for unknown image types to prevent undefined index notifications.
TWEAK: Deprecate several template actions, replacing them with namespaced hook handles.
BUG: Correct another instance of implode "Passing glue string after array is deprecated." notice.
BUG: Correct the style applied to the .cn-image-none class in the related carousels.
DEV: Remove extra newline.
DEV: Include JavaScript Cookie v2.2.1 as a vendor library.
DEV: Configure webpack entry point to create the frontend javascript bundle.
DEV: Register and enqueue the frontend javascript bundle with WordPress.
DEV: Remove commented code.
DEV: Rename variable to camelCase.
DEV: Remove comment block from CSS.
DEV: phpDoc updates.
DEV: Update Travis testing matrix.
DEV: Update min/max WP version in requirements check.
DEV: Update the dist files.
9.9.1 07/22/2020
TWEAK: Set the related Content Block margin to 0 to ensure margins are not inherited from theme, plugins, and such.
BUG: Correct usage of the cn_load_template filter.
DEV: Update the dist files.
9.9 07/17/2020
FEATURE: Introduce the Entries Nearby Content Block.
NEW: Introduce cnArray::push() helper method.
TWEAK: Make the image not available placeholder responsive friendly while retaining the aspect ratio.
TWEAK: Add a few basic styles to the Entry Actions vs relying on theme styling for lists.
TWEAK: Add a few basic styles for the Content Block layout for better more consistent presentation.
TWEAK: Introduce additional related carousel parameters that can be adjusted via a filter.
TWEAK: Add CSS to make the "image not available" placeholder responsive friendly while maintaining aspect ratio.
TWEAK: Make a few carousel CSS selectors a bit more specific to help ensure they are not easily overridden.
TWEAK: If the Content Block order has not yet been saved, fetch them via cnOptions::getContentBlocks().
TWEAK: Flipped the logic when Content Blocks should be included/excluded.
TWEAK: Remove the hardcoded limit with querying related Entries. Instead, use the supplied attribute.
BUG: Prevent output of empty heading tags in Content Blocks.
BUG: The $blocks variable should always be defined.
OTHER: Readme.txt tweaks.
DEV: Update the dist files.
9.8.2 07/11/2020
TWEAK: Remove unnecessary trim of Content Block IDs.
TWEAK: Simplify logic for excluding/including Content Blocks.
TWEAK: Include/exclude Content Blocks before setting up the block ID to avoid unnecessary processing.
TWEAK: Simplify the default parameters for Content Blocks.
9.8.1 07/09/2020
BUG: Correct logic for the include parameter for Content Blocks.
BUG: Content Blocks need to default to the order of the active blocks and not the order of the active blocks.
NEW: Add id__not_in parameter to cnRetrieve::entries()
NEW: Introduce cnUtility::numHash().
NEW: Introduce the cn_entry_query_random_seed filter.
NEW: Add Entry helper functions class. Includes the relatedTo() helper method.
TWEAK: Pass the entry object in the bio, excerpt and note filter.
TWEAK: Content_Block::content() should echo not return string.
TWEAK: Correct implode() parameters.
TWEAK: Make carousels show one slide and scroll one slide in mobile.
TWEAK: Ensure uniform Content Block ID attribute when rendered via action or thru the Content Block API.
TWEAK: Set called class short-name property when constructing a Content Block to utilize in dynamic hooks.
TWEAK: Update hooks to make them dynamic utilizing the called class short-name.
TWEAK: Move the HTML markup from the heading() method in the Content Block to the render() method for uniformity with other class methods. This also allows for easier setting of the heading parameter to allow for dynamic Content Block headings.
TWEAK: Update the Static Google Maps Content Block to utilize the Entry helper functions class.
OTHER: Correct misspelling.
DEV: Add phpDoc.
DEV: Update rinvex/countries to version 7.0.1.
9.7.2 06/24/2020
BUG: Correct Map Block permissions.
DEV: Standardize namespace and move files to correct folders.
9.7.1 06/23/2020
TWEAK: Strict comparison checks.
TWEAK: Compute the size beforehand, and not on each iteration.
TWEAK: Ensure Google Maps API Key is a string before setting the key as class property.
TWEAK: Check to ensure connections_options is an array before setting class property.
TWEAK: Check to ensure email template is object.
OTHER: Remove use of unnecessary variable for return.
OTHER: Remove unused variable.
OTHER: Correct misspelling.
OTHER: Update URL to license.
DEV: phpDoc corrections.
DEV: Fix code format.
DEV: Suppress IDE HTML tag warnings.
9.7 06/19/2020
NEW: Introduce the cn_csv_export_suspicious_value_prefix filter.
TWEAK: Fix for Team Block which in some scenarios would fail to display in the Block Editor.
TWEAK: Adjust the Settings API filters to 20.
TWEAK: Refactor the new Content Blocks API to tidy up the code making it more maintainable and extensible.
TWEAK: Refactor the Entry categories utilizing the Content Block API.
TWEAK: Refactor the static map and interactive map to utilize the Content Block API.
SECURITY: Add protection against CSV Injection, also known as Formula Injection. thx @rudSarkar for reporting!
BUG: Correct bug which could result in PHP error when all social network types are deselected.
BUG: For button for database upgrade start.
BUG: Correct include/exclude logic when displaying the Content Blocks.
OTHER: Correct typo.
DEV: Update ForceUTF8 to 2.0.4.
DEV: Add @todo.
DEV: Update dist files.
DEV: phpDoc update.
9.6 05/20/2020
NEW: Introduce cnEntry::getDeletePermalink() and cnOutput::deletePermalink().
NEW: Add delete to supported permalink types in cnURL::permalink().
NEW: Introduce the Content Blocks API.
NEW: Introduce the Custom Fields, Entry Meta and Entry Management Content Blocks.
TWEAK: Correct implode() parameter usage for PHP 7.4 so it does not generate a warning.
TWEAK: Check for array key to prevent PHP warning.
TWEAK: Use is_file() instead of file_exists() to test if image exists.
TWEAK: Set font-style of brand icons to normal to help prevent theme's from making them bold and/or italic.
TWEAK: Further improve the REST API by better defining the schema, support the _fields parameter to reduce response size while improving response time and adding support for the DELETE request to delete an Entry.
TWEAK: Improve the Carousel block by querying the REST for only the required fields.
TWEAK: Refactor cnOutput::getContentBlock() to utilize the Content Block API.
TWEAK: Remove the hardcoded "Custom Fields" so it can be refactored using the Content Block API.
BUG: Pass expected parameters for the setted_transient and set_transient_{$key} actions.
BUG: Define variable before use.
OTHER: Correct typo.
OTHER: Correct misspelling.
DEV: Update npm and dev dependencies.
DEV: phpDoc corrections.
9.5.1 04/28/2020
NEW: Introduce the getEditPermalink() and the editPermalink() functions.
TWEAK: Add permalink root to attributes in the cn_permalink filter.
BUG: Fix instances where "Sorry, you are not allowed to access this page." error message would display when attempting to edit a category on the Connections Categories admin page.
DEV: phpDoc updates.
9.5 04/20/2020
NEW: Introduce the [cn-entry] shortcode.
TWEAK: Do not render the character section heads if the character index has been disabled.
9.4.8 04/08/2020
BUG: Add missing image type parameter to the team block template files.
9.4.7 03/30/2020
NEW: Introduce the cn_output_default_content_block_atts filter.
NEW: Introduce the cn_metabox_rte_show_media_button filter.
OTHER: Bump tested up to 5.4.
9.4.6 03/09/2020
BUG: Fix scenario where a default map would display if no geocoded addresses existed. Now no map will display as intended.
DEV: Update dist files.
9.4.5 02/17/2020
TWEAK: Change the default map tile provider from Wikimedia to OSM for the address geocoding in the admin.
9.4.4 02/07/2020
TWEAK: Set OpenStreetMap Tile Server URL to https.
TWEAK: Set Wikimedia OpenStreetMap Tile Server URL to https.
TWEAK: Limit OpenStreetMap min/max zoom to levels with acceptable loading times.
TWEAK: Switch default map tile server from Wikimedia to Nominatim as the Wikimedia map tiles seem to be failing to load.
DEV: Update LeafletJS to 1.6.0.
DEV: Update LeafletJS Control.Geocoder to 1.11.
DEV: Update LeafletJS GoogleMutant to version 0.8.0.
DEV: Include LeafletJS Layer Headers plugin as a vendor library.
DEV: Add additional check for photo path when creating a vCard.
DEV: Update dist files.
9.4.3 01/31/2020
TWEAK: Improve loading speed of the Carousel block.
TWEAK: When querying by cn-char, pass thru wp_unslash() and use only first character if more than one are passed thru query var.
DEV: Update node and npm.
DEV: Run npm update.
DEV: Update dist files.
9.4.2 01/22/2020
BUG: Check to ensure slug not found warning is not generated when displaying entry social network icons.
9.4.1 01/20/2020
TWEAK: Style tweaks to the Carousel Block to improve its display presentation.
BUG: Check that array is returned for carousels in post meta.
9.4 01/17/2020
FEATURE: Introducing the Carousel block.
NEW: Introduce the cn_pagination_links_args filter.
NEW: Introduce support for the categories_in and categories_exclude parameters for the REST API.
NEW: Add entry image types and sizes to REST API response.
NEW: Add entry phone numbers to the REST response.
NEW: Add entry email addresses to the REST response.
NEW: Add entry social networks to REST response.
NEW: Add entry excerpt to the REST response.
NEW: Add parameters to the entry REST API controller to limit excerpt length to support the carousel block.
TWEAK: CSS tweaks to the Team block for improved display.
TWEAK: Update the hierarchical term checklist control to use the CheckboxControl.
TWEAK: Tweak image meta default for quality to match WP core.
TWEAK: Minor CSS tweak to the admin add/edit entry form for better display in WordPress 5.3.
TWEAK: The entry REST response data should only include the raw data in the edit context.
TWEAK: Add lazyload parameter to the getImage method.
TWEAK: Remove !important flag from a few CSS styles for pagination.
TWEAK: Add another couple styles tp keep themes from breaking links in maps.
TWEAK: Add OSM copyright to the Wikimedia map tile service provider.
TWEAK: Add original as preset image size option when getting entry photo for display.
TWEAK: Add the scaled and preset preset option for resting and entry logo.
TWEAK: Ensure the $atts variable passed by WordPress for the shortcode callback is always an array.
TWEAK: Make CSS selectors for social network icons less specific to allow usage in other locations in Connections.
BUG: Add toggle-indicator class so WP styles the toggle correctly.
COMPATIBILITY: The EasyTimetable plugin seems to be globally setting image visibility to hidden instead of using a selector to affect only itself. Add CSS to help ensure Connections images visibility is set to visible.
OTHER: Update the jQuery Validate library to version 1.19.1.
OTHER: Update FontAwesome dependencies.
DEV: Second pass at the carousel block.
DEV: Update dist files.
DEV: Another pass at the carousel block.
DEV: Bump test to version 5.3.
DEV: Add trailing semicolon.
DEV: Introduce the EntryName and EntryImage Block Editor components.
DEV: Remove trailing space.
DEV: Update the css-loader and cssnano webpack dev dependencies.
DEV: Remove unused code from entry REST endpoint.
DEV: Rename method that prepares images for REST response.
DEV: phpDoc corrections.
DEV: Remove extra spaces.
DEV: Update package dependencies and dev dependencies.
DEV: Add drop shadow support to the carousel block.
DEV: CSS tweaks for mobile display of the carousel block.
DEV: Correct color indicator labels in the style section.
DEV: Add slider border color, radius and width options to carousel block options.
DEV: Add support to carousel block to control excerpt length.
DEV: Move the isNumber function from the edit method in the carousel block to its own utility function.
DEV: CSS selector change to match CSS selector used on frontend so arrows will have the assigned background color.
DEV: Add noinspection flag.
DEV: Add template parameters default values and filter to allow other plugins to hook into.
DEV: Rename utility JavaScript file.
DEV: Add support for image border color, width and radius options to the carousel block.
DEV: Default border width and radius to 0 for the carousel slide.
DEV: Fix fatal error when adding a new carousel block.
DEV: Minor CSS tweaks to the carousel block.
DEV: Add support to allow user to choose either the entry photo or logo.
DEV: Correct misspelling in a phpDoc comment.
DEV: Refactor the REST response for entry images to allow response to be altered with passed query parameters.
DEV: When rendering on site frontend the drop shadow should default to false.
DEV: Correct overflow display issue in the block editor.
DEV: Add support to the carousel block to change the image shape from square to circle.
DEV: Correct bug preventing a new carousel from being placed in a post.
DEV: Add support for setting the image crop mode in the carousel block.
DEV: Code cleanup of the carousel block.
DEV: Fix display of image when set as circle in carousel block on mobile device.
DEV: Break blocks JavaScript into two files, one for public and for editor.
9.3.2 10/28/2019
NEW: Add support for limit and category REST API parameters.
TWEAK: More user friendly error message when license status check fails.
TWEAK: Change Google Maps URLs from http to https.
TWEAK: Ensure the Log post type is excluded from WP search results.
OTHER: Lay foundation for the Entry store for the new block editor.
OTHER: Initial work on the new carousel/slider block to display directory entries.
DEV: Update NPM.
DEV: Update Babel Core.
DEV: Update WordPress Style Lint Config.
DEV: Add spacing to webpack.config.js.
DEV: Add rules for processing CSS and fonts to webpack.config.js.
DEV: Update package-lock file.
DEV: Update dist files.
9.3.1 10/02/2019
TWEAK: Add the loading="lazy" tag to support Chrome 76+ of Chrome which supports native lazy loading of images.
TWEAK: Add timestamp to admin JS version so Chrome will load changes.
TWEAK: Set max height of category div to 100% to allow variable height.
BUG: Fix addon plugin install link for multisite.
BUG: Add a check if var is an array and the key exists exists before using it.
BUG: Change target selector for jQuery UI Resizable for the Category metabox so the drag handle does not scroll when scrolling thru the list of categories.
DEV: Update dist files.
9.3 08/23/2019
TWEAK: Add an info box on the Connections Dashboard admin page to improve discoverability of the free addons.
REST API: Introduce the ../wp-json/cn-api/v1/settings/ REST API endpoint.
REST API: Update the schema for all registered settings checkbox fields for better validation and sanitization for the Settings REST API endpoint.
REST API: Couple minor tweaks to the Entry REST endpoint.
OTHER: Remove the TSL logo from the assets.
DEV: phpDoc correction.
9.2 08/16/2019
NEW: Register settings with the WordPress REST API.
TWEAK: Remove the featured partners metabox from the Dashboard.
TWEAK: Remove the Featured partners section from the Connections group on the Add New Plugins admin page.
BUG: Fix the results displayed on the Connections group on the Add New Plugin admin page.
REST API: Add schema properties to all core settings options so they will be registered with the core WordPress REST API.
I18N: Update POT file.
I18N:Update MO files.
9.1.1 08/05/2019
BUG: The Directory block should call the same callback as the shortcode so the login required message can be displayed.
BUG: Ensure when setting a preferred contact detail that it does not cause an empty value to be added.
BUG: Remove test CSS from Directory block.
TWEAK: Check for valid array before attempting to pull a value by key in cnArray::pull().
I18N: Update POT file.
I18N: Update MO files.
DEV: phhDoc correction.
9.1 07/22/2019
NEW: Introduce cnEntry_Social_Network.
NEW: Introduce cnEntry_Social_Networks.
TWEAK: Add cnEntry_Social_Networks and cnEntry_Social_Network to the dependency registry.
TWEAK: Refactor cnEntry to utilize cnEntry_Social_Networks when working with social networks attached to entries.
TWEAK: Limit the requested fields in the page select editor control to the id, parent and title fields to limit processing for faster responses from the server.
TWEAK: Add code to fix the copy entry action. Needs additional testing, leave the action disabled for now.
DEV: phpDoc corrections.
9.0.2 07/10/2019
BUG: Fix hard coded URL fetching the brand icons.
DEV: Update build dependencies.
DEV: Update dist files.
9.0.1 07/02/2019
TWEAK: Extra checks to help ensure no PHP notices are generated by the new social media network fieldset options.
9.0 07/02/2019
FEATURE: Introduce the Social Network filedset config options.
TWEAK: Tweak display of social media icons a bit in the Team Block for improved display.
TWEAK: Add rel="noopener" to social network and website links for increased security.
BUG: Incorrectly applying the link type options filter to the date type option.
DEV: Fix typos in inline code comments.
DEV: Update dist files.
8.44.1 06/12/2019
BUG: Prevent PHP notice from being shown in some cases.
8.44 06/11/2019
NEW: Introduce the cn_frontend_enqueue_styles action.
TWEAK: Clear cached response after plugin update check to ensure when an addon plugin is updated it will not continue to display as an updated is available.
TWEAK: Pass the require attribute to the checkbox field type.
TWEAK: Add required attribute to the select field.
TWEAK: Move class prefixing to occur before adding the required class.
TWEAK: Add error styles to then entry form checkboxes.
TWEAK: Bump max WP version in dependency checker.
TWEAK: Use webpack to bundle admin CSS.
TWEAK: Break out the brandicon and fonticon picker CSS into their own files and import them into the admin CSS file.
TWEAK: Remove the brandicon CSS from the frontend CSS file and and import the brandicon CSS file instead.
DEV: Continue laying the foundation for the font icon picker support for the social network settings.
DEV: Update dist files.
8.43 05/17/2019
TWEAK: Do not save previous entry query results in an array. Doing this made doing REST changes have odd results.
BUG: Check for WP_Error before calling cnCountry::getDivisions() to prevent a potential fatal PHP error.
BUG: Ensure the permalink option for an entry image is converted to a bool.
BUG: When loading Gmagick, properly set the default image quality.
BUG: Additional checks to prevent PHP notices when using the default geocoder.
OTHER: Readme tags tweaks to stay within proposed plugin guidelines.
DEV: Remove unused code.
8.42.1 05/13/2019
NEW: Introduce the cn_export_add_bom filter.
BUG: Correct regression from last update which could cause icon font conflicts.
BUG: Correct the brandicon version when enqueuing the CSS.
8.42 05/10/2019
NEW: Introduce cnRetrieve::getEntryBy().
COMPATIBILITY: Rename the icomoon font-family to Connections-Brandicons to prevent naming conflicts with theme's and other plugins which have not renamed their icomoon icon font libraries.
COMPATIBILITY: Dequeue the Striking theme CSS on the Connections admin pages.
TWEAK: Readme.txt tweaks.
TWEAK: Check if object property is an array before counting to prevent PHP warnings.
TWEAK: Tweak admin CSS enqueuing to enqueue on the required CSS on specific Connections admin pages.
TWEAK: Admin CSS tweaks to ensure Brandicons and FontAwesome do not conflict on the Connections admin pages.
OTHER: Remove commented out HTML code from the settings admin page.
OTHER: Bump Tested up to version 5.2.
OTHER: Continue laying the foundation for the font icon picker support for the social network settings.
OTHER: Update minified admin CSS files.
BUG: Correct social networks fieldset settings ID.
DEV: phpDoc correction.
DEV: Update dist build files.
8.41.2 05/02/2019
TWEAK: Do not clear the addon update check cache when doing addon status check. This causes unnecessary addon update checks to occur.
TWEAK: Since supplied last_checked property is being restored before returning the transient data in update checks, no need to set it with time().
8.41.1 05/02/2019
TWEAK: Use the cached last_checked value from the cn_update_plugins option instead of the value supplied by WordPress since third party plugin libraries alter it in a way that can cause excessive plugin update checks.
TWEAK: Restore timeout value for license status checks.
TWEAK: Remove the action to clear the cn_update_plugins option when wp_clean_plugins_cache() is called to reduce frequency of addon update checks.
8.41 04/30/2019
NEW: Add option to display country names in the address country autocomplete in either English or in their native translation. The later being the default which matches core WordPress when displaying country names for the site language preference.
TWEAK: Tweak to expiration of cached extension status checks.
OTHER: Update EDD-SL Plugin Updater library from 1.6.14 to 1.6.18.
TWEAK: Do not subtract the timeout value from time when setting up the last checked property.
8.40.2 04/26/2019
TWEAK: Update the user agent to match the extension plugin info request.
8.40.1 04/25/2019
TWEAK: Tweak to expiration of cached extension update checks.
DEV: Reverse change to composer.json.
8.40 04/19/2019
NEW: Add brand font icons and use webpack to process the frontend CSS.
NEW: Update the social media icons to use the brandicons.
TWEAK: Default image quality should be 82 not 80 to match WP core.
TWEAK: Remove the legacy/advanced single entry template option.
TWEAK: Suppress the display of the "Custom Fields" metabox by default on new installations matching core WordPress which hide its "Custom Fields" metabox by default unless enabled by the current user.
OTHER: Remove the WP REST API shims since they are no longer required as Connections require WP >= 4.7.12 (WP REST API was added in WP 4.7).
OTHER: Bump minimum required PHP version to 5.6.20 to match WP 5.2.
OTHER: Include the Font Awesome index source maps.
OTHER: Start laying the foundation for the font icon picker support for the social network settings.
BUG: Ensure the permalink setting for the entry image respects the permalinks setting.
DEV: Update clean-webpack-plugin.
DEV: Manage Chosen and Picturefill 3rd party vendor assets using npm/webpack.
DEV: Update Chosen and Picturefill 3rd party vendor asset paths when registering with WP.
DEV: Manage Fontawesome and fontIconPicker 3rd party vendor assets using npm/webpack.
DEV: Remove npm as project level dependency.
DEV: Update the npm autoprefixer dependency.
DEV: Update the package.json engine for npm.
DEV: Commit the updated package-lock.json file.
DEV: Use @wordpress/default as the babel-loader-default.
DEV: Match core WordPress autoprefixer config.
8.39.1 04/09/2019
TWEAK: Update links to plugin site from http to https.
TWEAK: Remove link to features requests forum from dashboard quick links.
TWEAK: Update link to support in plugin meta actions links.
TWEAK: Add support link to admin nav to make it more discoverable for the user.
TWEAK: Rename the Messenger IM option to Live Messenger so it is not confused with the Facebook Messenger.
TWEAK: Do not make Live Messenger IM user ID links since the service was cancelled my MS quite awhile ago.
TWEAK: Adjust processing of Advanced Block Options for the Team block so the internal limit value can be overridden.
BUG: Remove debug code from the Directory block.
BUG: Correct the array index for the excluded categories in the Team block.
OTHER: Bump minimum required PHP version to 5.6 to match WordPress core.
8.39 04/03/2019
FEATURE: Introduce the new Team block.
TWEAK: Sort countries from their native name in the country drop down.
TWEAK: Core WP changes some default admin styles. Tweak the class names assigned to the Manage admin page character index so the render correct in < WP 5.1.
BUG: Honor the public/private override settings when determining if the current user can view.
BUG: Do not import the SCSS files in the Directory block since they are unused.
BUG: Fix undefined index PHP notice when data type was disabled but entry had that type assigned. Now it defaults to the default data type.
DEV: Organize the block components into sub folders.
DEV: Alias @Connections-Directory in webpack so components could be imported using that alias.
DEV: Add JSDoc to the blocks.
DEV: phpDoc correction.
8.38.1 02/20/2019
TWEAK: Logic tweak to prevent array_map() PHP notices from being generated by the shortcode.
TWEAK: No need to assign $response on return.
TWEAK: Check for preg_split() fail.
OTHER: Add missing changelog header.
DEV: phpDoc Correction.
8.38 02/19/2019
FEATURE: Introduce Filters to the Editor Directory block as autocomplete fields to bring the block into feature parity with the shortcode.
NEW: Introduce the AutoComplete REST API endpoint.
TWEAK: Refactor the Upcoming List block to return a Fragment vs. an array to stop React browser console error messages about missing key.
TWEAK: Load block editor scripts in the footer.
TWEAK: Use cnSanitize::args() instead of wp_parse_args() in cnTemplatePart::listAction_ViewAll() to strip unnecessary args to prevent PHP error messages when displaying the character index.
TWEAK: Allow shortcode callback to receive arrays for the filters to support the Directory Editor block.
OTHER: Update Author URL in plugin header.
OTHER: Update URL property in package.json.
OTHER: Remove console logging of the category store.
OTHER: Update frontend minified CSS file.
DEV: Make webpack a little less chatty.
DEV: Add $ as an external dependency to webpack.
DEV: phpDoc correction.
DEV: Add lodash as a block editor dependency.
DEV: Update build files.
8.37 02/04/2019
FEATURE: Add searchable category checklists to the Directory block to allow excluding/including the selected categories in the directory.
NEW: Register the category store.
NEW: Introduce the HierarchicalTermSelector editor component for rendering a searchable category checkbox group.
TWEAK: Bump minimum support WP version to 4.7.12.
TWEAK: CSS tweak to the search input to help keep themes from breaking it.
TWEAK: Do not use time() for version when enqueueing the editor script. Used current plugin version + last modified time.
BUG: It seems the post type meta needs to be passed back as a return value from withSelect() in the page select control so the pages are properly indented for their hierarchy.
BUG: Correct category taxonomy REST base endpoint.
OTHER: Correct mistaken default and named imports/imports.
OTHER: Add whitespace.
OTHER: Remove unused code from directory block.
OTHER: Correct code alignment.
DEV: Reorder package.json keys.
DEV: Add JSDoc comment blocks.
DEV: Tweak Travis config.
DEV: Update Webpack to latest.
DEV: Update build files.
8.36.1 01/15/2019
TWEAK: Update block editor javascript dependencies to include all WP core editor dependencies.
TWEAK: Import withInstanceId from @wordpress/compose instead of pulling it from the global wp object.
TWEAK: Ensure $orderByAtts is defined to prevent PHP warning.
TWEAK: Add a few more styles to help prevent themes from breaking the map.
TWEAK: Add a few prefixed CSS attributes for increased browser compatibility.
OTHER: Update copyright year.
DEV: Update dev dependencies.
DEV: Update minified files.
DEV: Update build files.
8.36 01/14/2019
NEW: Add additional options to the Directory block to bring it closer to feature parity with the [connections] shortcode.
NEW: Allow ordering by any date type, not just anniversary and birthday.
NEW: Introduce cnOptions::getEntryTypeOptions().
NEW: Introduce cnTemplateFactory::getOptions().
NEW: Add an Editor PageSelect component.
TWEAK: Minor CS tweak for mobile device display for the Profile template.
TWEAK: Add additional check before initiating a template class to prevent PHP errors.
TWEAK: No need to add slashes to CSV export cell data.
TWEAK: Add BOM to CSV export file because Excel is dumb.
TWEAK: Add additional option values which the blocks can use as defaults.
BUG: When displaying OSM maps tiles, do not display the layers control.
OTHER: Update some country meta.
DEV: Code formatting.
DEV: Move the range-control component to shared folder for all editor blocks.
8.35 12/27/2018
NEW: Add filters to allow addons to hook into the entry manage action links.
TWEAK: Change text domain registration to priority 1 to support WP Globus.
TWEAK: Normalize date input to YYYY-MM-DD.
TWEAK: Remove unused in page section links on the Connections : manage admin page.
I18N: Update POT file.
I18N: Update MO files.
DEV: Tweak Travis CI config.
8.34 12/14/2018
TWEAK: Remove use of create_function() throughout.
TWEAK: Bump max tested PHP to 7.3.
BUG: Max WP version should be 5.0.
BUG: Do not use PHP 5.3 syntax in cnText_Domain to prevent fatal errors in PHP < 5.3.
BUG: Fallback to get_locale() from get_user_locale() to prevent fatal errors on WP < 4.7.
BUG: Removed unused variable in cnTerm::gettaxonomyTerms().
DEV: phpDoc corrections.
8.33 12/06/2018
NEW: Add support for displaying the original year and years since in the Upcoming List Gutenberg block
NEW: Add support for displaying the original year and years since in the [upcoming_list] shortcode.
TWEAK: Add help text to the Directory block options.
8.32 11/30/2018
BREAKING CHANGE: Renamed the block namespace. If you used the Connections block in WP 5.0-rc1, you'll need to update the block.
FEATURE: Introduce the Upcoming List block for the WordPress 5.0 editor.
NEW: Introduce a no_results option to the [upcoming_list] shortcode so the no results message can be customized.
NEW: Introduce cnDate::GetUpcoming().
TWEAK: No need to use the editor_script parameter in register_block_type() since is is enqueued in the enqueue_block_editor_assets hook.
TWEAK: Check for the wp_set_script_translations() function before registering blocks. It seems this function does not exist when using the Gutenberg plugin. So, lets not support the Gutenberg plugin and support only WP 5.0.
TWEAK: Update the anniversary and birthday template with more specific CSS so they do no conflict.
TWEAK: Rename the Directory block advanced settings field.
TWEAK: Add missing period to upcoming list heading.
TWEAK: Add a default heading to the upcoming list.
TWEAK: Remove unused code from upcoming list.
TWEAK: The list_title option for the [upcoming_list] shortcode should default to an empty string and not null.
TWEAK: Update the dark and light templates for Anniversaries and Birthdays so they support all registered date types.
BUG: Do not attach Chosen to the country field when the field is disabled.
DEV: Add some inline comments to describe the register_block_type() parameters since they are not outlined in the Gutenberg documentation.
DEV: Add inline comment for the html parameter for the registerBlockType() function.
DEV: Reorder the deconstructed wp.i18n methods.
DEV: Add classnames and lodash as dev dependencies to package.json.
8.31 11/23/2018
NEW: WordPress 5.0 Support.
FEATURE: Gutenberg Block to which can be used to insert the directory into the page.
TWEAK: Update the attribution link to Leaflet.
TWEAK: Exclude the Leaflet CSS from Autoptimize.
TWEAK: The custom HTML elements for the map layers control should be hidden.
TWEAK: Remove unnecessary is_admin() check when registering CSS.
DEV: Update package.json with dev dependencies to support webpack.
TWEAK: Use current version for the Map Block JS script for cache busting.
TWEAK: Rename file which registers the settings options.
TWEAK: Default the [cn-mapblock/] shortcode map center to the user defined country/region.
BUG: Properly detect if section is a WP core settings section so it is not prefixed with the plugin ID.
OTHER: Begin work on modern settings API.
DEV: phpDoc correction.
DEV: Fix code alignment/flow.
8.29 11/02/2018
NEW: Display the road map/satellite map options when displaying the Google Maps tiles.
NEW: Add support for the map layer control to the Connections Maps API.
NEW: Update the [cm-mapblock] shortcode to support the map layer control to toggle the display of layer groups. Display the road map/satellite map options when displaying the Google Maps tiles.
NEW: Add "Get Directions" button to map pin popup which opens a Google Maps Direction page.
8.28.5 10/26/2018
TWEAK: Minor tweak to the Profile template to allow the bio to flow up on the detail view.
BUG: Correct bug with the exclude categories option when registering the Category metabox.
8.28.4 10/16/2018
NEW: Include \ForceUTF8\Encoding library.
TWEAK: Now that date types can be customized and/or disabled, do not default to birthday when performing an upcoming query. Instead, return no results.
BUG: Escape email header log items so < and > will be displayed correctly when viewing them.
8.28.3 10/09/2018
TWEAK: Add case for update.php for plugin check timeouts to prevent a plugin update being shown as available after being installed.
BUG: HTML data attributes need to be quoted.
BUG: Sanitize before saving the repeatable fields.
OTHER: Remove extra whitespace.
8.28.2 09/28/2018
TWEAK: Additional tweaks to jQuery Appear to prevent conflicts with older versions of itself.
BUG: Fix map zoom default for when a single marker is being displayed to prevent a blank map.
OTHER: Update the Picturefill polyfill to version 3.0.2.
OTHER: Update jQuery Chosen to 1.8.7.
OTHER: Update Font Awesome to version 5.3.1.
OTHER: Update jQuery qTip to 3.0.3.
OTHER: Remove references/includes to class.upload.php. Has not been utilized in over 4 years. No longer required for backward compatibility.
8.28.1 09/24/2018
TWEAK: Remove the advanced compatibility option to remove the registration of the Google Maps API as it is no longer relevent.
TWEAK: Remove advance compatibility option to define whether the JavaScript libraries are loaded in the page header or footer.
TWEAK: Remove usage of cnOptions::getJavaScriptFooter() throughout.
TWEAK: Refactor deprecated cnOptions::getJavaScriptFooter() and cnOptions::getGoogleMapsAPI() to simply return true.
TWEAK: Couple CSS tweaks to further help prevent theme's from applying styles to map tiles.
TWEAK: Rename jQuery appear to jQuery cnAppear to prevent clashes with older versions of the jQuery plugin.
BUG: Do not bind a popup to the map level marker if no content was captured via the shortcode.
BUG: Autofill state (region) and country not functioning correctly under some circumstances.
I18N: Update POT file.
I18N: Update MO files.
DEV: Remove commented out code.
8.28 09/14/2018
NEW: Bump minimum PHP version to 5.4.
NEW: Introduce the Map API with multiple map tile service providers such as Google Maps, Wikimedia Maps and OpenStreetMaps.
NEW: Add new shortcode which utilizes the new Map API.
NEW: Templates which support displaying maps will default to displaying Wikimedia Maps if Google Maps API has not been setup.
NEW: Templates which support display of maps will now display a map marker for each address added to the entry with a popup displaying the address.
TWEAK: Tweak Divi's Grab first post image option compatibility.
TWEAK: Tweak logic applied for Maps Marker plugin compatibility.
TWEAK: Remove the copy entry action until it can be fixed.
TWEAK: Default the base map tiles to Wikimedia instead of OpenStreetMap when displaying the geocoding map in admin when adding/editing and entry.
TWEAK: Replace spaces with hyphens when escaping the HTML element id attribute.
TWEAK Refactor cnOutput::getMapBlock() to utilize the new Map API.
BUG: The cnHTML::attribute() method had a double 'data' in switch statement. Rename duplicate to 'data-array` to reflect intended application.
OTHER: Remove stray whitespace.
OTHER: Remove EOL from cnOutput::mapBlock().
OTHER: Remove usage of deprecated getJavaScriptFooter() method.
DEV: Add a few helper methods to cnCoordinates to create object from various supplied types.
DEV: Add __String() to cnCoordinates.
8.27 08/31/2018
NEW: Add Algolia as a geocoding provider.
TWEAK: Default to Algolia to geocode address if the Google Maps API Server key has not been set in the settings.
TWEAK: Switch from the goMap library to the Leaflet library to provide mapping and geocoding when clicking the Geocode button while adding an address.
TWEAK: Default to Wikimedia Maps to display maps if the Google Maps API Browser key has not been set in the settings.
DEV: phpDoc corrections
DEV: A package.json update to remove grunt-phpdocumentor.
8.26 08/20/2018
NEW: Introduce multiple service provider geocoding API.
NEW: Refactor entry action to geocode addresses to utilize the new multiple service provider geocode API.
TWEAK: Tweak to cnEntry_Collection_Item::__isset() and cnEntry_Collection_Item::__get() so empty() calls return values as expected.
TWEAK: Remove duplicate code in cnAddress by extending it using cnEntry_Collection_Item to match the other entry object types.
TWEAK: Add toArray method to cnCoordinates.
TWEAK: Move country an coordinates to the Model folder.
TWEAK: Move cnTimezone to Model folder.
TWEAK: Update user-agent sent when doing plugin update check.
TWEAK: Update dependencies registry to account for file path changes.
TWEAK: Remove old geocoding functions.
DEV: phpDoc additions and corrections.
8.25.1 08/06/2018
BUG: Add limit parameter to cnOutput::getDateBlock() to correct index not defined PHP notice.
DEV: phpDoc correction.
8.25 08/01/2018
TWEAK: Refactor the Manage admin page to utilize cnEntryDates::render().
TWEAK: Refactor cnEntry_Output::getDateBlock() to utilize the cnEntry_Dates objects render() method using templates.
TWEAK: Remove unused parameters from methods in cnOutput.
BUG: Correct a couple typos in cnEntry_Dates::render().
I18N: Update POT file.
I18N: Update MO files.
DEV: phpDoc correction.
8.24 07/27/2018
NEW: Introduce cnString::replaceFirst() and cnString::replaceLast().
TWEAK: Refactor cnEntry to utilize cnEntry_Dates.
TWEAK: Refactor cnShortcode::single() to utilize cnString::replaceFirst().
TWEAK: Use wp_kses_post() instead of esc_html() to display setting descriptions so HTML such as links can be used.
TWEAK: Add missing link to documentation in the content block setting descriptions.
I18N: Update POT file.
I18N: Update MO files.
OTHER: Correct copy/paste error within some inline code comments.
8.23 07/23/2018
BUG: Honor the $saving parameter when querying entry data from its object cache.
8.22 07/18/2018
FEATURE: Introduce the Date Fieldset configuration options.
NEW: Introduce cnEntry_Dates() and cnEntry_Date().
TWEAK: Init a new cnMessenger object instead of stdClass when creating "dummy" objects for the messenger fieldset.
TWEAK: Ensure $screen is instance of WP_Screen before accessing methods.
TWEAK Make data parameter in cnAddress, cnPhone, cnEmail_Address, cnLink and cnMessenger optional. Default to array.
TWEAK: Init each entry template field with the corresponding object instead of a generic stdClass.
TWEAK: If there are no active entry types, use the default entry type.
BUG: Get default messenger type instead of default email type in the messenger fieldset.
BUG: Sanitize messenger user ID correctly.
OTHER: Add trailing comma to array.
DEV: phpDoc corrections.
8.21 06/11/2018
TWEAK: Remove usage of $connections global from cnOutput::vcard().
TWEAK: Update cnText_Domain::create() to accept the plugin basename parameter.
TWEAK: Tweak the cnText_Domain::register()$priority parameter to accept a value of load so the text domain is loaded instead of registered via the plugins_loaded action hook.
TWEAK: Requirements check for tested up to compatibility only compares major.minor ignoring release version.
TWEAK: Remove unused parameters from methods in cnOutput.
TWEAK: Refactor cnEntry_Output::getLinkBlock() to utilize the cnEntry_Links objects render() method using templates.
I18N: Add translation text context for person "Title" and link "Title" so the can be translated individually.
COMPATIBILITY: Compatibility tweak for the MayaShop theme. Remove the filter being applied to the clean_url being applied by the theme.
BUG: cnOutput::renderMetaBlock() should echo, not return.
DEV: Some phpDoc cleanup.
8.20 06/01/2018
NEW: Load plugin only if the current environment passes the requirements checks.
NEW: Bump minimum WP version to 4.5.3.
NEW: Introduce cnRequirements_Check.
TWEAK: Disable the no shortcode 404 trigger. Once again foiled by visual page builders!
TWEAK: Add the address property to cnLink for backwards compatibility.
TWEAK: Strip tags when displaying the upgrade notice.
TWEAK: Tweak regex for parsing the extensions changelog text to be compatible with EDD-SL >= 3.6.
TWEAK: Add Settings heading to the settings admin page.
TWEAK: Slight refactor of cnText_Domain to make it plugin-agnostic, not rely on plugin constants, so it can be utilized by add-ons to reduce code duplication.
BUG: If link title is blank, use the link URL.
BUG: Remove extra div/unclosed tags on the manage admin page.
COMPATIBILITY: Divi, disable the "Grab the first post image" option on pages where the [connections] shortcode exists.
8.19.1 05/09/2018
BUG: If link title is blank, use the link URL.
BUG: Add the address property to cnLink for backwards compatibility.
8.19 05/02/2018
NEW: Introduce the cn_customizer_image_options filter.
NEW: Introduce cnEntry_Links() and cnLink().
NEW: Introduce helper methods maybeUnserialize() and fromMaybeSerialized() to cnEntry_Object_Collection.
NEW: Introduce cnEntry_Image.
TWEAK: Ensure link URL is a string before prefixing it and passing it to the objects property.
TWEAK: Update cnLink with helper methods for attaching a link to an image and add helper methods to get which image the link might be attached to.
TWEAK: Update cnEntry_Links, added support to filter links attached to images.
TWEAK: Move the messenger back compatibility logic from cnEntry to cnEntry_Messenger_IDs.
TWEAK: Refactor cnEntry to utilize cnEntry_Links.
TWEAK: Init the cnEntry_Image object and refactor code, moving the legacy image processing logic to cnEntry_Image.
TWEAK: If shortcode is not found in post content and a registered query var is detected, trigger a 404.
DEV: phpDoc updates.
DEV: Remove dead commented out code from constructor in cnEntry.
DEV: Remove unused method properties in cnEntry.
DEV: Remove unused private method in cnEntry.
DEV: Remove unused properties in cnEntry.
DEV: Change satooshi/php-coveralls to php-coveralls/php-coveralls in composer.json.
TWEAK: Switch all is_a() instances of to instanceof.
TWEAK: Update teh jQuery Validate library to 1.17.0.
TWEAK: Add option to cnOutput::getImage() to enable the logo/photo to be a entry permalink unless overridden by an assigned link.
TWEAK: Update the Default Entry Card template so the logo/photo will be a permalink to the entry.
TWEAK: Update the Profile template so the logo/photo will be a permalink to the entry.
TWEAK: Rename cnSEO::trigger404() to cnSEO::trigger404_entryNotFound().
OTHER: Correct misspelling.
DEV: phpDoc corrections.
DEV: Remove unused variables.
8.17 04/13/2018
FEATURE: Add link fieldset configuration options.
TWEAK: Change class constant access syntax to be compatible with php5.3.
TWEAK: Minor tweak to logic to ensure the preferred array value does not create a new messenger ID object when updating from array.
TWEAK: Create instance of cnPhone instead of stdClass when creating a new phone number object when creating a "dummy" placeholder object for the phone fieldset.
TWEAK: Create instance of cnEmail_Address instead of stdClass when creating a new email address object when creating a "dummy" placeholder object for the email fieldset.
TWEAK: Set the cnEntry::getLinks() default value for type to query to NULL instead of the registered core types so all links will be queried vs. only the registered types.
TWEAK: Change default date format of cnEntry::getFormattedTimeStamp() to use the WordPress default date format set by the user in the settings.
TWEAK: When saving/updating an entry, the added date time and updated date time should be saved in UTC.
TWEAK: Update various spots in the code to account that the last updated and date added timestamps are in UTC so they will properly be cconverted into the current user's timezone.
TWEAK: Change cnEntry::getDateAdded() to use the user's defined date format from the WP settings.
TWEAK: Add time to cnEntry::getFormattedTimeStamp() default date format. Default to user's defined date time format from the WP settings.
TWEAK: Add time to cnEntry::getDateAdded() default date format. Default to user's defined date time format from the WP settings.
TWEAK: Remove the hardcoded date time formats used on the Manage admin page so they will display in the users defined date time format in the WP settings.
TWEAK: Ensure cnEntry::getBio() and cnEntry::getNotes() only return strings.
BUG: Correct PHP index not found notice.
BUG: The messenger fieldset was not updated to honor the fieldset settings!
BUG: Version should be string.
OTHER: Remove extra spaces.
OTHER: Remove todo in cnEntry.
OTHER: Remove extra tabs and align span tags.
OTHER: Remove trailing spaces.
OTHER: Remove extra spaces.
I18N: Correct string so it can be translated.
DEV: phpDoc corrections.
DEV: Remove some commented out debug code.
8.16 03/30/2018
FEATURE: Introduce the Instant Messenger Fieldset configuration options.
NEW: Introduce cnEntry_Messenger_IDs and cnMessenger objects.
NEW: Introduce cnText_Domain::register().
TWEAK: Add abstract constructor to cnEntry_Collection_Item.
TWEAK: Add method create() to cnEntry_Collection_Item.
TWEAK: Remove method create() from cnPhone and cnEmail to remove code duplication.
TWEAK: Refactor cnEntry::getIm() and cnEntry::setIm() to utilize the cnEntry_Messenger_IDs object.
TWEAK:Refactor cnEntry_Output::getImBlock() to utilize the cnEntry_Messenger_IDs objects render() method using templates.
TWEAK: Add VERSION constant to the core plugin class to store the plugin version.
TWEAK: Use class VERSION constant to set the global version constant for the plugin version.
TWEAK: Deprecate cnText_Domain::create().
TWEAK: Use cnText_Domain::register() instead of cnText_Domain::create().
TWEAK: Add a few class variables and helper methods to get the plugin path, url and basename.
TWEAK: Use the helper methods to set the global constants for the plugin path, url and basename.
BUG: Phone number was being sanitized as a street address, corrected so it is sanitized as a phone number.
OTHER: Correct misspelling.
DEV: Correct inline documentation.
DEV: phpDoc corrections.
DEV: Correct code indents.
DEV: Add phpDoc block to ConnectionsLoad::hooks().
8.15 03/24/2018
BUG: Ensure cnEntry_Email_Addresses is properly initialized when adding new entry.
8.14 03/23/2018
NEW: Introduce cnEntry_Email_Addresses and cnEmail_Address.
TWEAK: Use array_replace() instead of array_merge() when setting the order of a sortable settings input list.
TWEAK: Refactor cnEntry::getEmailAddresses() and cnEntry::setEmailAddresses() to utilize cnEntry_Email_Addresses and cnEmail_Adress.
TWEAK: Refactor cnEntry_Output::getEmailAddressBlock() to utilize cnEntry_Email_Addresses::render().
TWEAK: Update manage admin page to utilize the new email addresses template.
BUG: Ensure integer is passed to gmdate().
BUG: The method cnRetrieve::entries() is not static, but was called statically.
OTHER: Add the new Certifications add on to the readme.txt file.
OTHER: Correct the version changelog section.
DEV: Correct phpdoc alignment.
DEV: phpDoc corrections.
8.13 03/09/2018
FEATURE: Add new option to the Connections : Manage admin page Screen Option to allow the user to choose between the entry logo or photo as the thumbail.
NEW: Introduce cnUser::getMeta() and cnUser::setMeta().
NEW: Introduce cnUser::getScreenOptions() and cnUser::setScreenOptions().
NEW: Introduce cnUser::getScreenOption() and cnUser::setScreenOption().
TWEAK: Refactor cnUser::getFilterPage() and cnUser::setFilterPage() to use cnUser::getScreenOption() and cnUser::setScreenOption() respectively and then deprecate those methods.
TWEAK: Add connectionsLoad::$user as reference to connectionsLoad::$currentUser.
OTHER: Update the Screen Options library from version 1.3 to 1.4.
OTHER: Update Chosen library from 1.7.0 to 1.8.3.
I18N: Update POT file.
I18N: Update MO files.
DEV: Update package.json.
DEV: phpDoc corrections.
8.12 02/19/2018
NEW: Introduce several new timezone helper methods in cnDate.
TWEAK: Add options to the cnRetrieve::upcoming() method to suport whether or not to check user caps and from timestamp.
TWEAK: Add option to cnRetrieve::entries() to support whether or not to check user caps.
TWEAK: Remove a bunch of unused and unnecessary methods from cnDate.
TWEAK: Use cnDate::getWPUTCOffset() helper method in cnEntry_vCard::getUTCOffset().
TWEAK: Cast result of date('I') to int.
BUG: The wp_script_is() requires a handle to check.
BUG: Correct array to string conversion PHP notice.
DEV: phpDoc corrections in cnDate.
8.11 02/05/2018
NEW: Add support for the plugin bannerS in plugin info REST API responses.
NEW: Add support for the plugin iconS in plugin info REST API responses.
NEW: Add support for opting into beta versions of the installed addons.
TWEAK: Minor tweaks to CN_parseCSV::parse_string() and CN_parseCSV::unparse() to use column indexes rather than column header names as the array index to allow duplicate column names in the source CSV file.
BUG: Link title and url fields were not being sanitized.
TWEAK: Minor CSS tweak to admin widget title, setting min height.
BUG: Fix PHP Warning: natsort() expects parameter 1 to be array, null given.
8.7.1 12/13/2017
TWEAK: Use strtolower() instead of mb_strtolower().
TWEAK: Use strtoupper() instead of mb_strtoupper().
TWEAK: Do not use ternary shorthand, requires PHP > 5.3.
BUG: Update minified CSS/JS files.
BUG: Remove placeholder string in settings.
DEV: Add couple phpDoc references.
8.7 12/12/2017
FEATURE: Introduce field configuration options for the Publish, Name and Address field sets.
NEW: Add United Kingdom counties to cnGEO.
NEW: Introduce cnGEO::getRegionName().
NEW: Introduce cnCountries.
NEW: Introduce the WP REST API countries endpoint/routes.
NEW: Add support for sortable/repeatable checklist fields in the Settings API.
TWEAK: Increase CSS enqueue priority to load last.
TWEAK: Remove the Enfold theme comapatibility hack as it no longer seems necessary after changing the CSS load priority.
TWEAK: Ensure minheight of the search submit button is set to auto to try to override themes which insist on setting a global minheight on submit form fields.
TWEAK: Make img src URL protocol relative.
TWEAK: Make cn_manage_{taxonomy}_custom_column hook an action instead of filter.
TWEAK: Add methods to cnCountry to pull data from the Rinvex\Country library and update existing calls to it to make them compatible to the new country attributs structure.
TWEAK: Refactor cnGeo to utilize cnCountries, deprecating many of the region specific methods.
TWEAK: Make cnGEO::getRegionName() a public static method matching the est of the members in the class.
TWEAK: Do not show labels for hidden text inputs.
TWEAK: Add support for the data attribute in cnHTML::input().
BUG: Check for page hook properties one ata time as they are added to the filter array ro prevent PHP warning notices from being generated on multisite.
BUG: Check to ensure varaiable is array before using in a foreach loop to prevent a PHP warning.
BUG: Correct Illegal string offset and Cannot create references to/from string offsets PHP errors when saving user meta.
DEV: Include the Rinvex\Country library.
8.6.12 11/01/2017
NEW: Introduce support for custom taxonomies.
NEW: Introduce the cn_image_editors filter.
NEW: Introduce the cn_entry_directory_homepage filter.
NEW: Introduce the cn_image_link and cn_image_link-{type} filters.
NEW: Introduce the cn_entry_output_category_items filter.
TWEAK: Some code cleanup of the output for social media networks icons.
TWEAK: Add some RTL CSS in its own CSS file to be conditionally loaded.
BUG: When exporting all, make sure to attempt to JSON decode the option column before access its value.
BUG: Drop the slug index on the connections_terms table.
BUG: Remove debug code from the CSV export all output.
BUG: Correct bug which could prevent the logo/photo URL from being exported.
OTHER: Add reference to the Local Time extension in the readme.txt file.
OTHER: Replace http with https for wordpress.org and connections-pro.com domain links.
DEV: phpDoc corrections.
DEV: Add curly brackets to a variable variable for better code clarity.
8.6.11 09/01/2017
BUG: Fix to allow 0 minutes and seconds by improving check for existing key and ensure it is not false after parsing a datetime format before merging value.
BUG: If the parsed datetime is in 12 hour format, properly convert the time to 24 hour format.
8.6.10 08/25/2017
TWEAK: Rename the getGMTOffset method in cnEntry_vCard to better describe its function.
TWEAK: Add Angola and its provinces.
TWEAK: Tweak to logic to determine if a canonical redirect should be processed or not.
TWEAK: Cache requests to the Google Maps Time Zone API for 24 hours.
TWEAK: Add get_utc_offset() and utc_offset() methods to cnTimezone.
TWEAK: Add getTimezone() to cnAddress which utilizes cnGoogleMapsTimezone().
TWEAK: Update cnRetrieve::setQueryVisibility() to return a query selector of none if the current user does not have the required capabilities to view the object.
TWEAK: Update cnRetrieve::upcoming() to respect the visibility status of the date based on the current user's capabilities.
TWEAK: Update the [upcoming_list] shortcode to utilize cnRetrieve::upcoming() instead of custom query in the shortcode callback to standardize results globally across the core plugin.
BUG: Correct the return value of cnTimezone::get_raw_offset().
BUG: Ensure property exists before using it in cnGoogleMapsTimeZone::queryTimeZone().
BUG: Function should be static.
DEV: Add a few missing phpDoc blocks.
8.6.9 08/11/2017
NEW: Introduce cnGoogleMapsTimeZone wrapper for the Google Timezone API and cnTimezone classes.
NEW: Add Pear File_IMC as a vendor library.
TWEAK: Tweak the require_once logic in the Card and Profile template to allow them to be pulled out and activated as plugins without causing PHP errors when trying to run the Template Customizer.
TWEAK: Rename cnvCard to cnEntry_vCard.
TWEAK: Refactor cnEntry_vCard to utilize the File_IMC_Build_Vcard class.
TWEAK: Correct the value for the label to properly associate it to the search input.
TWEAK: Add a value for the search submit button then use CSS to hide it for a11y.
BUG: Ensure the parsed shortcode atts is an array before attempting to add values to the atts array.
BUG: Deal with custom field names which contain punctuation and other extended characters.
OTHER: Indent with tabs, not spaces.
OTHER: Add missing space.
OTHER: Update the Chosen library from 1.6.1 to 1.7.
8.6.8 07/28/2017
NEW: Auto register custom text and textarea fields with the search the search settings and add logic to the search function to support those fields if enabled in the settings.
TWEAK: Remove option to disable the enqueueing of the core CSS styles.
TWEAK: Prefix textarea id with cn- to avoid conflicting with other plugin's admin notices which assign id to "message" so RTE is loaded on the correct HTML node.
TWEAK: Use get_locale() instead of WPLANG in the System Info.
TWEAK: Set 'autoload' to false on option value.
TWEAK: Check for core template files before including them.
BUG: Include a bugfix to the parseCSV library which corrects unparsing an array with empty "cells".
OTHER: Update "Tested up to:" in readme.
OTHER: Add a "Featured Partners" Dashboard widget and add a "Connections" tab to the Install Plugin admin page featuring all the add-ons.
OTHER: Reorder default positions of the Dashboard widgets.
OTHER: Update the News Dashboard widget.
OTHER: Update minified admin CSS.
OTHER: Update EDD_SL_Plugin_Updater to 1.6.14.
DEV: phpDoc corrections.
8.6.7 07/11/2017
NEW: Add Excerpt field.
NEW: Introduce the cnHTTP class.
NEW: Add support for slider and checkbox Customizer controls for the Template Customizer.
NEW: Introduce cnTemplate::getOption().
TWEAK: Save options column as JSON instead of serialized array.
TWEAK: Allow slashes in template name to permit paths.
TWEAK: Make cnTemplatePart::echoOrReturn() public.
TWEAK: Add support for exporting the order database column in the "Export All" CSV Export tool.
TWEAK: When unknown error occurs after performing a license check, delete the cached response.
TWEAK: Utilize cnArray::set() to set current user manage admin page filters array values.
TWEAK: Set sslverify to true by default when doing remote requests.
TWEAK: Update the "Rate Us" link.
TWEAK: Add missing margin bottom to address CSS block.
BUG: Fix pagination when performing a keyword search on the Connections :: Manage admin page.
BUG: Catch json_decode error while processing a license check.
BUG: No need to append the "more string" if the created excerpt is the same as the input string.
BUG: Correct the output buffer filters before and after the entry list so the action hooks are properly buffered.
BUG: Fix search in the admin s it functions correctly when filtering.
BUG: Fix paginating thru search results in the admin.
BUG: Correct img tag CSS when editing an entry.
COMPATIBILITY: Add support for Presscore theme fancy title.
OTHER: Update minified CSS.
I18N: Update POT file.
I18N: Update MO files.
DEV: Remove HHVM from Travis test matrix since WP is doing the same.
DEV: phpDoc corrections.
DEV: .editorconfig tweaks.
DEV: Update the Gruntfile.js autoprefixer task. Update to match current core WP supported browsers.
DEV: Run CSS thru autoprefixer.
8.6.6 05/23/2017
NEW: Introduce the cn_csv_batch_export_download_headers action hook.
NEW: Introduce the cn_template_register_options-{template-slug} filter.
NEW: Introduce cnImage::download().
TWEAK: Tweak cnEntry_Address:query() to call cnRetrieve::addresses() to query as it it were saving so all addresses would be returned per the supplied args and not limited to the current user permissions.
TWEAK: Tweak cnEntry::getAddresses() to query addresses the user can view when not saving.
TWEAK: Add the screen reader text to the directory pagination to help improve a11y.
TWEAK: Start searching for unique slug at 0 instead of two to better make sure slugs are properly incremented.
BUG: Reset applied filters when when addresses to ensure all addresses are saved to the database.
BUG: Fix bug in cnFilesystem::uniqueFilename() introduce in WP 4.6 when WP change the filename being passed to the callback from the basename to the full name.
BUG: When getting a unique entry slug, the value should be saved in the cnEntry property so a unique entry slug is not queried on subsequent calls.
DEV: phpDoc correction.
DEV: Rename method property name in cnImage::sideload() to be consistent with other similar methods.
DEV: phpDoc correction.
8.6.5 05/04/2017
NEW: Export the link title attribute when exporting a CSV file.
NEW: Introduce the cn_entry_slug filter.
NEW: ADD support for per user setting of the category metabox height.
TWEAK: Minor tweak to template search paths.
TWEAK: Use the entry_type db column instead of the legacy entry_type key from the options array.
BUG: Correct escaping and the links title attribute.
BUG: Correct escaping of name when creating the entry slug.
BUG: Correct the value cn_meta_field_value-{$field['id']} dynamic filter.
DEV: phpDoc corrections.
DEV: Remove WP 4.4 from Travis testing matrix.
DEV: Add a couple JS triggers to the admin JS that can be hooked into to trigger events.
NEW: Introduce cnDate::parseFromFormat() and cnDate::createFromFormat() to provide PHP 5.2 compatible functions for date_parse_from_format() and DateTime::createFromFormat() respectively.
TWEAK: Tweak escaping of search terms.
DEV: Add @todo in cnMetabox_Render::datepickerJS() to use cnFormatting::dateFormatPHPTojQueryUI() instead to convert the PHP datetime format to a compatible jQueryUI Datepicker compatibly format.
8.6.3 04/04/2017
TWEAK: Remove PHP_EOL in hcard address template to eliminate unwanted whitespace in page when being rendered.
BUG: Reset address filters in cnOutput::getAddressBlock().
OTHER: Correct misspelling.
8.6.2 03/31/2017
TWEAK: Use forward slashes for jQuery UI datepicker date format so when the date is parsed with PHP it will be parsed as a US date.
BUG: Reset the cnEntry_Adresses object filters in cnEntry::getAddresses() to allow sub sequent call to the method to return the correct results.
8.6.1 03/28/2017
BUG: If formatted number string is empty when converted to a float, return null so empty check will not fail causing error.
BUG: Correct Fatal error: Uncaught Error: Using $this when not in object context in the address-hard.php template fragment.
8.6 03/24/2017
NEW: Introduce wp_doing_ajax() which was introduced in WordPress 4.7 so it is accessible in older version of WordPress.
NEW: Introduce cnTerm::count().
NEW: Introduce cnArray.
NEW: Introduce cnToArray and cnCollection.
NEW: Introduce cnAddress, cnCountry and cnCoordinates.
NEW: Introduce cnEntry_Addresses.
NEW: Introduce cnUser::canView() and cnUser::canNotView().
NEW: Introduce the cn_entry_permalink filter.
TWEAK: Do not register shortcodes during admin ajax requests.
TWEAK: Add newForwardGeroCoder=false as parameter when initiating the Google maps geocoder in jQuery.goMap().
TWEAK: Reset the list_type query option when filtering the list by entry slug.
TWEAK: Add support for child_of attribute in cnEntry::getCategories() and cnOutput::getCategoryBlock().
TWEAK: Add spans to the category breadcrumb with classes and ids so they can be targeted with CSS.
TWEAK: Ensure the use can only see relationships based on relations status and visibility.
TWEAK: Refactor the plugin to use an autoloader to load classes via a hash table.
TWEAK: Remove unnecessary break statements.
TWEAK: Register all dependencies of cnEntry_Addresses with the autoloader.
TWEAK: Deprecate cnValidate::userPermitted().
TWEAK: Refactor cnEntry::getAddresses() and cnEntry::setAddresses() to utilize cnEntry_Addresses.
TWEAK: Refactor cnRetrieve::addresses to query by the address visibility status.
TWEAK: Refactor cnRetrieve::addresses() to return a multidimensional array instead of an array of objects the the return value can be utilized with cnEntry_Addresses.
TWEAK: Fix the filters so the entry addresses are geocoded when added to cnEntry_Addresses.
TWEAK: Add the core templates folder to the template search path so it will be search when loading template fragments.
TWEAK: No need to utilize sanitize_file_name() when searching for template fragment file names.
TWEAK: No need to save the address object cache to the core entry table on initial update. This is handled by cnEntry::updateObjectCaches() after the entry is updated so the address ID are properly cached.
TWEAK: Annotate cnEntry::update() $wpdb format values for easy identification.
TWEAK: No need to save the address object cache to the core entry table on initial save. This is handled by cnEntry::updateObjectCaches() after the entry is saved so the address ID are properly cached.
TWEAK: Annotate cnEntry::save() $wpdb format values for easy identification.
TWEAK: Add trailing commas after last array item for consistency in code formatting.
TWEAK: Update cnEntry::save() and cnEntry::update() to use cnEntry_Addresses::save().
TWEAK: Do not serialize cnEntry_Addresses object for saving into the object cache, save the array values.
TWEAK: Refactor manage.php and cnOutput::getAddressBlock() to utilize cnEntry_Addresses::render() with template fragments.
TWEAK: Remove stray commented out code.
TWEAK: Add the wpseo_title filter to cnSEO so the page meta title is properly updated when Yoast SEO is installed.
BUG: Ensure logged in user can view public entry and public entry data if the directory does not require login to view and the user does not necessarily have the view public capability which can happen in WP multisite installations.
BUG: Sanitize the textarea metabox field type.
BUG: Do not use esc_textarea() for escaping the metabox textarea for editing as it causes characters to become entities.
REST API: Update terms endpoint phpDoc.
REST API: Rename "resources" in the terms endpoint to be referenced as "terms".
REST API: Standardize error response messages in the term endpoint.
OTHER: Correct misspellings.
I18N: Update POT file.
DEV: Exclude the /tests/* path from grunt tasks.
DEV: phpDoc block corrections.
8.5.32 12/12/2016
TWEAK: Show parent theme name and version in System Info when child theme is active.
TWEAK: Query all matching entry slugs at once instead one at a time when searching for a unique slug.
BUG: Remove use of is_taxonomy_hierarchical() within the cmTerm class because it does not apply.
BUG: Fix "Illegal string offset" in PHP 7.1.
OTHER: Remove stray/extra whitespace after a comma.
OTHER: Introduce cnDB::multisert().
OTHER: Update readme.md so the badges link to the wp.org site.
PHPUnit: Add PHP 7.1 to the test matrix.
8.5.31 12/08/2016
TWEAK: Fix Template Customizer so it loads properly in WordPress 4.7.
REST API: More work done to support the entry endpoint for the REST API.
PHPUnit: Add framework to support unit testing to help ensure even more stable build releases.
8.5.30 11/29/2016
TWEAK: Revert form action to not include the form action.
BUG: Ensure enhanced select renders the placeholder values correctly when viewing on a mobile device.
BUG: Enable search for the Address Line 4, District and Country fields.
OTHER: Correct method capitalization.
DEV: Correct inline code doc punctuation.
I18N: Update POT file.
I18N: Update MO files.
8.5.29 11/10/2016
NEW: Add filter to the document_title_parts filter to properly set the browser tab/window title if wp_title() is not being used by the theme.
TWEAK: Remove the $cached terms params in the Term REST endpoint.
TWEAK: Suppress potential PHP notice from being thrown by unserialize() in cnEntry::getAddresses().
TWEAK: Ensure the home page URL always has a trailing slash in the callback function for the page_link filter.
TWEAK: Add readonly support to cnHML::select() by making the actualy select field disabled and adding a new hidden input with the same name and value.
TWEAK: Only add the search form action attribute if the directory permalink is being added.
TWEAK: Force date format in datepicker because, since WP 4.4, WP sets a default format based on the date format set on the General Settings admin page. Those formats are not compatible with the expected date format to be saved.
TWEAK: Remove unnecessary trailing semi-colon from datepicker init function call.
TWEAK: Remove usage of deprecated $connections global var from cnEntry::getDates().
TWEAK: Set the form action attribute to default to the home_id shortcode default so searches are always from the directory root page.
TWEAK: Add a saving bool parameter to the cnRetrieve class for addresses, phone numbers and such to allow addresses and such to be queried regardless of current logged user permissions.
TWEAK: Update the entries address, phone, etc.. object caches on updates. This is to ensure the ID of each address, phone, etc.. is updated to reflect the ID in the database vs. leaving it as 0.
TWEAK: Convert the WP default date format WP jQuery UI datepicker compatible format.
BUG: Update the [upcoming_list] shortcode so it will function correctly with templates which support the Template Customizer.
BUG: Fix the display of the changelog of add-ons.
DEV: phpDoc Block corrections.
I18N: Update POT file.
I18N: Update MO files.
8.5.28 10/12/2016
NEW: Introduce the connections_page_connections_settings-{tab_name} action hook.
NEW: Introduce the cn_pre_handle_404_retrieve_atts filter hook.
NEW: Introduce cnLicense_Status.
TWEAK: Improve the page load time of the Plugins admin page by batching together license checks into a single HTTP request.
TWEAK: Set option group name one instead of repeating the logic several times in cnSettingsAPI::form().
TWEAK: Add support for the invalid_item_id error status reported by EDD-SL.
TWEAK: Register all item licenses with cnLicense_Status.
TWEAK: Remove unused cnLicense::status() method.
TWEAK: Remove use of transients made obsolete by cnLicense_Status.
BUG: Reset the category_exclude shortcode option if querying entry by slug.
BUG: The connections_license_data should not be autoloaded.
BUG: The basename and slug array values do not need to be set as defaults because they are auto created from file path and item name.
DEV: phpDoc block fixes.
8.5.27 10/08/2016
NEW: Introduce the cn_search_like_shortword filter.
NEW: Introduce cnPlugin_Updater class.
TWEAK: Switch from using EDD_SL_Plugin_Updater to cnPlugin_Updater..
TWEAK: Update WordPress API to 2.0-beta15
TWEAK: Tweak the term slug sanitize_callback to use the WP_REST_Controller::sanitize_slug() callback.
TWEAK: Remove unnecessary break statements in a switch.
TWEAK: Ensure trailing slash in cnLicense::license() request.
BUG: Ensure changelog section existing before trying to parse it.
BUG: The upgrade notice is a string, not an array.
OTHER: Correct misspelling.
OTHER: Update copyright year in cnLicense.
DEV: phpDoc fixes.
8.5.26 09/16/2016
NEW: Add a new CSV export config option to export categories as child_of the defined parent category into their own csv column.
NEW: Add support for the WP REST API. This is alpha status and only supports the directory categories.
TWEAK: Add the cn-left and cn-right class to the Default Entry Card template for easier selection.
TWEAK: Add status codes to return value of cnLicense::statusMessage().
TWEAK: Register settings license field once per item instead of once for all items so cnLicense::field() will be unique per item instead of last item activated.
TWEAK: Optimize cnLicense::field() by removing duplicate code by utilizing cnLicense::statusMessage().
TWEAK: Delete license transient on activate/delete.
TWEAK: Update admin CSS with updates styles for the Settings admin page, Licenses tab.
TWEAK: Trigger 404 if entry not found instead of displaying a "no results" message.
TWEAK: Add try/catch to cnOutput::getDateBlock() to prevent fatal PHP errors when init'ing DateTime() with an invalid date format.
TWEAK: Reset the min/max-width CSS values on the search input on the frontend to fix some of the odd global defaults that themes set.
BUG: Remove include wp-load.php in WordFence Falcon Cache compatibility callback which caused fatal PHP errors.
BUG: Remove px unit from the social media network icon img tags as that is not valid markup.
BUG: Change cn-category-%d from an id to a class because it can be output on the page more than once.
BUG: Add missing $orderBy var to cn_term_clauses filter.
BUG: Fix a couple undefined variable PHP notices being generated by cnvCard.
BUG: Remove unnecessary ob_clean() call in cnvCard.
OTHER: Correct misspellings.
DEV: phpDoc fixes.
DEV: Stub some phpDoc in cnvCard.
DEV: Clean up some code alignment issues in cnvCard.
DEV: Add the WP REST API to the vendors folder.
8.5.25 09/07/2016
BUG: Do not try to get term ancestor hierarchy if the term is a root parent.
COMPATIBILITY: Convert NOWDOC block to HEREDOC block for PHP5.2.x holdouts.
COMPATIBILITY: Add action which should flush the Wordfence Falcon Cache when an entry/term is added/updated/deleted.
TWEAK: Pass WP_Error codes results from wp_remote_get() during license status check so they can be displayed.
8.5.24 09/02/2016
BUG: Fix conflict where the Manage admin page Screen Options would disappear when Broken Link Checker was being used.
COMPATIBILITY: Set current_screen action to priority 9 for compatibility with wsScreenOptions.
TWEAK: Set set-screen-option filter priority to 99 in order to help prevent other plugins from breaking the Manage admin page settings options.
TWEAK: Fix session info alignment in system info.
TWEAK: Update browser info in system info to be compatible with Browser.php 2.0.
TWEAK: Add PHP Arg separator to the system info report.
TWEAK: Use cnFunction::parseStringList() to simplify code in cnOutput::getContentBlock().
TWEAK: HTML markup fixes in cnAdminFunction::displayUpgradeNotice().
TWEAK: Update cnLicense to render the support license key and the plugin's changelog on the Plugins admin page.
OTHER: Update wsScreenOptions to version 1.3 and move to the Vendors folder.
OTHER: Update Browser.php to version 2.0.
DEV: phpDoc Fixes.
8.5.23 08/26/2016
TWEAK: Add the cn-cat-has-children class if a category has children in the term list.
TWEAK: Remove any empty items that might exist as the result of the cn_entry_output_category_item filter being hooked into.
TWEAK: Refactor cnAdminFunction::managePageLimitSave() to be more robust in order to prevent fatal string to array PHP errors.
BUG: Correct the display of the keyword search term result message by removing the duplicate term display.
BUG: Skipped escaped shortcodes in cnShortcode::find() to prevent the escaped Connections shortcode from being "cleaned" and unescaping it.
I18N: Update POT file.
I18N: Update MO files.
8.5.22 08/15/2016
NEW: Introduce cnString::stripTags().
BUG: Correct logic in cnOutput::excerpt() would would prevent the display of a excerpt.
TWEAK: Use cnString::stripTags() instead of wp_strip_all_tags() when creating the excerpt.
TWEAK: Allow span tags within an excerpt.
8.5.21 08/11/2016
NEW: Add support for the district and county filters as shortcode options.
NEW: Introduce cnMetaboxAPI::getFieldType().
NEW: Introduce cnShortcode::removeCodePreTags().
NEW: Introduce cnShortcode::clean().
COMPATIBILITY: Add upload_size_limit filter to define the core WP constants for KB/MB/GB/TB_IN_BYTES if not set for some reason so the wp_max_upload_size() does not return 0.
TWEAK: Add trailing comma in allowed tags in cnString::excerpt().
TWEAK: Use wp_trip_all_tags() instead of strip_tags() in cnString::excerpt().
TWEAK: Change end of sentence characters in cnString::excerpt() from ,;?.! to ?,!.
TWEAK: Add the default option, if set, to the term select drop regardless if "enhanced" is set and true.
TWEAK: Refactor cnMessage::store() to be more robust in order to prevent fatal string to array PHP errors.
TWEAK: Refactor cnShortcode::write() to be more "smart" in writing the option values with/without quotes.
TWEAK: Add filters to conten_save_pre and the_content to remove code and pre tags from around the [connections] shortcode.
TWEAK: Add filter to conten_save_pre to remove fancy/smart quotes from within the [connections] shortcode and its options.
TWEAK: Refactor to remove theme specific exclusion by remove all but the initial shortcode in the content when viewing a single entry profile page.
TWEAK: Remove allow the shortcodes to be registered in the admin again so the clean up filter can be ran against the [connections] shortcode.
TWEAK: Update CSS to ensure dotted line does not display under the abbr tag.
BUG: Remove use of unused variable.
BUG: Ensure the read more string is added at end of excerpt. In some cases it would be inserted between a closing HTML tag and end of sentence character.
OTHER: Spelling corrections.
OTHER: Correct URL to Google Get Browser Key for Google Maps API.
OTHER: Update EDD-SL Plugin Updater to 1.6.5.
OTHER: Add @todo to cnMessage class.
OTHER: Update minified CSS files.
I18N: Update POT file.
I18N: Update MO files.
DEV: phpDoc fixes.
DEV: Code formatting fixes.
8.5.20 07/15/2016
NEW: Introduce the cn_csv_export_fields_config filter.
NEW: Add ability to the CSV Export All tool to export entry meta when registered by plugins.
COMPATIBILITY: Add a custom CSS file for the Enfold theme to help ensure the core Chosen styles are not broken by Enfold.
TWEAK: Export the address line 4, district and county fields when exporting addresses.
TWEAK: Use strlen() when checking for empty URLs before adding a social network link.
TWEAK: Use strlen() when checking for empty URLs before adding a link.
TWEAK: Add placeholder_option attribute in CN_Walker_Term_Select_List_Enhanced.
TWEAK: Add a readonly attribute to cnHTML::group().
TWEAK: Setup the $fields array to be passed to the cn_csv_export_fields_config filter.
BUG: Bracket variable to prevent export errors.
BUG: Correct some action name prefixes in the system info code.
OTHER: Update Chosen to 1.6.1.
OTHER: Remove dead unused code.
DEV: Fix array alignment.
I18N: Include Spanish (Mexico) translation.
I18N: Update POT file.
I18N: Update MO files.
8.5.19 07/07/2016
NEW: Update database schema to support address line 4, district and county fields.
NEW: Introduce cnOutput::excerpt().
NEW: Introduce cnFormatting::toCamelCase().
NEW: Introduce cnFunction::isDimensionalArray().
NEW: Introduce the cn_address-pre_setup filter.
NEW: Introduce the cn_phone-pre_setup filter.
NEW: Introduce the cn_email-pre_setup filter.
NEW: Introduce the cn_im-pre_setup filter.
NEW: Introduce the cn_social_network-pre_setup filter.
NEW: Introduce the cn_link-pre_setup filter.
NEW: Introduce the cn_date-pre_setup filter.
NEW: Add support to cnHTML::attribute() for the HTML5 data attribute.
NEW: Add support to cnHTML::select() for the the HTML5 data attribute.
TWEAK: Use https when reverse geocoding an address utilizing the Google Maps API.
TWEAK: Register the cn-district and cn-county query vars.
TWEAK: Add the rewrite rules for district and county.
TWEAK: Add support for district and county permalinks in cnURL::permalink().
TWEAK: Add settings for the district and county permalink base as well as the options to enable/disable their permalinks when displaying.
TWEAK: Add support for display/db sanitation option in cnSanitize::field().
TWEAK: Add support for adding/updating addess line 4, district and county in cnEntry.
TWEAK: Display the address line 4, district and county field in the Manage admin page.
TWEAK: Update cnOutput::getAddressBlock() to display address line 4, county and district.
TWEAK: Add support for the address district and country fields in cnRetrieve::entries() and cnRetrieve::addresses().
TWEAK: Add the district and county permalink base to the option on update.
TWEAK: Update the admin CSS to tweak the display of the address district and county fields when adding/editing an entry.
TWEAK: Add the Google Maps API browser API key to the query string if it was added in the settings.
TWEAK: When updating an entry, get addresses in the db context for proper sanitization.
TWEAK: Change how spacing is applied for the readonly attribute for the date picker.
TWEAK: Add readonly support to the quicktag field.
TWEAK: Remove pre WP 3.3 backwards compatibility for the rte field.
TWEAK: Add support for the readonly attribute in cnHTML::group().
TWEAK: Add support for registering a field as read only when registering a custom field.
BUG: Fix bug that always set the user to none when adding/editing a linked entry.
BUG: Add missing attribute type in db content in cnSanitize::field().
OTHER: Correct misspelling.
OTHER: Remove stray whitespace.
OTHER: Remove unnecessary break.
OTHER: Update EDD-SL Updater library.
I18N: Update POT file.
I18N: Update MO files.
DEV: phpDoc fix.
8.5.18 06/24/2016
NEW: Introduce cnCategory::getCurrent().
NEW: Introduce cnSanitize::htmlClass().
NEW: Introduce cnFunction::escAttributeDeep().
NEW: Add readonly support to the datapicker custom field type.
TWEAK: The term count span should not be rendered if the show count option false.
TWEAK: Change the form id name for the add/edit categories admin form.
TWEAK: Add file, url, path and basename properties to the cnTerm_Meta_UI class.
TWEAK: Complete refactor of cnOutput::getCategoryBlock().
TWEAK: Add line_4, district and county to permitted valid field in cnEntry::setAddresses() as prep for when those fields are added.
BUG: Search results message should display full query string as first search term.
BUG: Correct the cn_entry_part-($part} filter name. It was using an unset variable rendering it useless.
BUG: Pass the search terms in the cn_search_fulltext_terms filters.
BUG: The page meta title should be returned unchanged when querying by multiple category IDs.
BUG: Correct capitalization of cnCategory::getID().
I18N: Update POT file.
I18N: Update MO file.
OTHER: Correct misspelling.
DEV: phpDoc fix.
8.5.17 06/09/2016
NEW: Add support for a number field within the Settings API.
NEW: Introduce the cn_root_rewrite_rule-landing filter.
NEW: Introduce the cn_root_rewrite_rule-view filter.
NEW: Introduce the cn_page_rewrite_rule-landing filter.
NEW: Introduce the cn_page_rewrite_rule-view filter.
NEW: Introduce the cn_cpt_rewrite_rule-landing filter.
NEW: Introduce the cn_cpt_rewrite_rule-view filter.
NEW: Introduce the cn_permalink-{type} filter.
TWEAK: Use sanitize_html_class() rather than esc_attr() when outputting HTML class attributes.
TWEAK: Tweak to search which should give preference to full string results over individual terms within the string.
TWEAK: Allow 0 to be set as a default value of a setting.
TWEAK: Add support for the force_home and home_id parameters in cnTemplatePart::categoryLinkDescendant() to be passed when creating the category permalinks.
TWEAK: Remove use of the $connections global var in cnTemplateParts::categoryLinkDescendant().
TWEAK: Add support for the force_home and home_id parameters in cnTerm::permalink() to be passed when creating the category permalinks.
TWEAK: Add support for the force_home and home_id parameters in CN_Walker_Term_List::render() to be passed when creating the category permalinks.
BUG: Use proper capitalization for get_the_ID().
I18N: Update POT file.
I18N: Update MO files.
OTHER: Remove several blank lines.
DEV: Fix some minor code alignment issues in cnSettingsAPI.
8.5.16 06/03/2016
NEW: Introduce the cn_entry_action_back_atts filter.
TWEAK: Remove the on_click event handler attached to the back to directory link.
TWEAK: Pass the home_id and force_home shortcode options when creating the back to directory link.
TWEAK: Refactor cnTemplateParts::entryAction_Back method to introduce the cn_entry_action_back_atts filter.
TWEAK: Override the parseCSV core class to implement BOM stripping in the load_data() method.
TWEAK: Remove PHP4 style constructor in the Browser library.
BUG: Correct query bug in cnRetrieve::entries when querying entries by radius.
BUG: Add missing EOL when CN_MULTISITE_ENABLED is TRUE.
OTHER: Remove stray extra spaces.
DEV: phpDoc fixes.
8.5.15 05/13/2016
NEW: Introduce the cn_page_meta_title, cn_page_title_separator and cn_page_title filters in cnSEO.
NEW: Add support for Google Maps API browser and server keys.
NEW: Introduce the cn_form_open_action filter.
NEW: Introduce cnQuery::where() and cnQuery::in() methods.
NEW: Introduce meta_query support to the [connections] shortcode.
TWEAK: Send geocoding queries using https and remove the unneeded sensor parameter.
TWEAK: Use wp_kses_post() rather than esc_html() when escaping search results messages to allow HTML in the messages.
TWEAK: Wrap the term count in a span so it can be selected with CSS.
TWEAK: Remove an PHP_EOL so there is no whitespace between terms in the list in class CN_Walker_Term_List.
TWEAK: When displaying the character index, take into account the users selected visibility filter on the Manage admin page.
TWEAK: Add the wp-content folder as a searchable path for connections-templates.
TWEAK: Add the Kleo template to the template compatibility list for the single shortcode filter.
TWEAK: Utilize cnRetrieve::setQueryVisiblity() in cnRetrieve::entries() to reduce code duplication.
TWEAK: Utilize cnRetrieve::setQueryStatus() in cnRetrieve::entries() to reduce code duplication.
TWEAK: Utilize cnQuery::where() where possible in cnRetrieve to reduce code complexity.
TWEAK: Refactor the way the entry relationship are saved and read to allow an individual to be added to a family multiple times.
TWEAK: When displaying the character index on the Manage admin page it should take into account the users selected visibility filter.
BUG: Correct geocoding query encoding by not double encoding it.
BUG: Correct misspelling of get_the_ID().
BUG: Ensure trailing slash on pagination permalinks.
BUG: Must use a strict check for the linked user meta entry ID and the entry ID retrieved from the Connections table because false = 0 in PHP.
BUG: Add end_el() to the CN_Walker_Term_List class so the children terms are added as child unordered lists within the parent term list item.
BUG: Fix bug in cnRetrieve::setQueryVisibility().
BUG: Do not pass $atts to cnEntry::getFamilyMemebers() as it is unneeded.
OTHER: Correct spelling error.
DEV: phpDoc fixes.
DEV: Correct code alignment and remove extra blanks lines.
8.5.14 04/13/2016
NEW: Add support for the name_format option to the [upcoming_list] shortcode.
NEW: Introduce the cn_pre_save_meta filter.
NEW: Introduce the cn_pre_save_meta_skip and cn_pre_save_meta_skip-{fieldID} filters.
NEW: Introduce the cn_entry_query_clauses filter.
NEW: Introduce the cnQuery class.
NEW: Add support for CPT posts drop down in the cnSettingsAPI.
NEW: Add field alias checkbox-group in cnSettingsAPI.
NEW: Introduce the cpt-checkbox-group field type in cnSettingsAPI.
NEW: Introduce the cn_form_open_default_atts and cn_form_open_atts filters.
NEW: Introduce the cn_pagination_default_atts and cn_pagination_atts filters.
NEW: Introduce cnSettingsAPI::flushRewriteRules() which can be called to set the option to tell Connections to flush the rewrite rules.
NEW: Add a new advanced setting options to enable CPT support and define which CPT/s to add support for.
TWEAK: Replace get_query_var() with cnQuery::getVar() throughout to help prevent poorly coded plugins and themes from breaking Connections.
TWEAK: Register the shortcodes on on the frontend to prevent other plugins from running them in the admin.
TWEAK: User filters to prevent the bio and notes fields from being saved as meta.
TWEAK: Remove the hack that was in place to prevent the bio notes fields from being save as meta.
TWEAK: Add the ordo (Latin for order since ORDER is a SQL reserved keyword) column to the CN_ENTRY_TABLE. Add the upgrade routine to add the column to existing installations. Bump the DB version to 0.3.
TWEAK: Change the home page id select drop down to use the new cpt-pages select drop down field type so CPT posts will be list as options for the directory home page.
TWEAK: Remove use of deprecated function in cnRegisterSettings::sanitizeImageSettings().
TWEAK: Update cnRegisterSettings::sanitizeURLBase() to use cnRegisterSettings::flushRewriteRules().
TWEAK: Add the necessary rewrite rules for the user defined CPT/s to support.
TWEAK: cnTerm::get() used in CN_Walker_Term_List::start_el() can return NULL || an instance of WP_Error, so, lets check for that.
BUG: Remove unused global var in cnEntry.
BUG: Remove errant saveOptions() call in the db upgrade routine. Possible responsible for db upgrades being skipped in rare cases.
BUG: Add a missing saveOptions call in one of the upgrade routines.
BUG: Correct the name cnGEO to cnGeo class call in cnRegisterSettings.
BUG: Fix double POST requests for extension/template update checks.
I18N: Update POT file.
I18N: Update MO files.
OTHER: Fix some minor whitespace issues in the inc.upgrade.php file.
OTHER: Few code styling fixes in cnSettingsAPI.
OTHER: Remove support for WordPress 3.3 in the cnSettingsAPI.
OTHER: Correct misspellings.
DEV: phpDoc fixes.
8.5.13 03/11/2016
TWEAK: General code cleanup of cnMessage to fix phpDoc and correct potential PHP warning/error notices by checking for existing array indexes before working with them.
TWEAK: Refactor cnEntryMetabox::address() to remove duplicate code.
DEV: Add a missing class phpDoc header.
I18N: Update POT file.
I18N: Update MO files.
8.5.12 03/04/2016
BUG: Set format to string for lat/lng instead of float when passing the values thru wpdb->prepare() to prevent them from being rounded at 6 decimal places.
BUG: The "Recently Added" Dashboard widget would show entries in the moderation queue.
BUG: The "Recently Modified" Dashboard widget would show entries in the moderation queue.
BUG: Correct bug in the cnHTML::textarea() method.
TWEAK: Reduce image quality default from 90 to 82 to match upcoming change to WordPress to reduce image sizes without adversely affecting perceived image quality.
TWEAK Check for ABSPATH at top of image editor classes to help prevent direct access.
TWEAK: Escape URL on the Manage admin page for filter by category.
TWEAK: Minor tweaks to the Templates admin page.
TWEAK: The "Awaiting Moderation" Dashboard widget will now show the newest first instead of the oldest.
TWEAK: Refactor cnEntryMetabox::links() to remove duplicate code.
TWEAK: Refactor cnEntryMetabox::dates() to remove duplicate code.
TWEAK: CSS tweaks to the Templates admin page.
OTHER: Correct misspelling.
OTHER: Update the minified CSS and JS files.
DEV: Couple minor phpDoc fixes.
8.5.11 02/12/2016
COMPATIBILITY: Add an Enfold theme compatibility shim when viewing a single entry.'s detail/profile view.
BUG: Correct bug for mouseover hover text for email links so they correctly reflect the email type.
BUG: Correct an error in the admin javascript which prevented a repeatable field from collapsing.
TWEAK: Move the geocode button to be within the address-geo div in the Address field metabox.
TWEAK: Fix the alpha index with many character from overlapping the table header.
TWEAK: Correct the positioning of a the repeatable field toggle arrow.
TWEAK: Add a margin the the #minor-publishing div to fix the spacing of the role capability reset metabox.
TWEAK: Cleanup the address field metabox inputs for a little cleaner presentation.
TWEAK: Add missing container div on the geocode button when editing an entry with an existing address.
TWEAK: Tweak styling of the phone number field metabox to add more whitespace.
TWEAK: Tweak styling of the email address field metabox to add more whitespace.
TWEAK: Tweak styling of the instant messenger field metabox to add more whitespace.
TWEAK: Tweak styling of the social media network field metabox to add more whitespace.
TWEAK: Tweak styling of the link field metabox to add more whitespace.
TWEAK: Tweak positioning of the repeatable fields remove button.
TWEAK: Refactor cnEntryMetabox::phone() to remove duplicate code.
TWEAK: Refactor cnEntryMetabox::email() to remove duplicate code.
TWEAK: Refactor cnEntryMetabox::messenger() to remove duplicate code.
TWEAK: Refactor cnEntryMetabox::social() to remove duplicate code.
OTHER: Correct a few misspellings in cnGeo in the phpDoc.
OTHER: Update EDD_SL_Plugin_Updater to 1.6.3.
OTHER: Remove unused variables in cnEntryMetabox.
DEV: Add a @todo to cnShortcode.
DEV: Minor phpDoc fixes in cnEntryMetabox.
8.5.10 02/05/2016
NEW: Add preferred class names for entry data that has been set as the preferred option. This will allow them to be targeted with CSS to allow differentiation.
NEW: Introduce cnTerm_Object.
NEW: Various changes in cnTerm to bring methods back into alignment with WordPress 4.4.
BUG: Correct bug that prevented the db upgrade routine from running.
BUG: Fix the pagination links when the directory is used on the page set as the WordPress Front Page.
TWEAK: Simplify the logic which determines which entries to retrieve based on entry status.
TWEAK: Simplify the logic to retrieve entries by type.
TWEAK: Simplify the logic to exclude categories which results in fewer db queries.
TWEAK: Simplify the logic to include categories which results in fewer db queries.
TWEAK: Simplify the logic in cnRetrieve::setQueryStatus().
TWEAK: Permit only the supported statuses to be queried in cnRetrieve::setQueryStatus().
TWEAK: Simplify cnRetrieve::recordCount() to use setQueryVisibility() and setQueryStatus().
TWEAK: Make cnRetrieve::addresses() a static method.
TWEAK: Complete refactor of the cnRetrieve::phoneNumbers() method.
TWEAK: Complete refactor of cnRetrieve::emailAddresses().
TWEAK: Complete refactor of cnRetrieve::imIDs().
TWEAK: Complete refactor of cnRetrieve::socialMedia().
TWEAK: Complete refactor of cnRetrieve::links().
TWEAK: Complete refactor of cnRetrieve::dates().
TWEAK: Remove use of deprecated function and unused global var in cnRetrieve::search().
TWEAK: Set the default year from 1970 to 1972 for the legacy anniversary/birthday fields to allows for a Feb 29th date on leap years.
TWEAK: Change cnMeta::updateCache() from private to public because it is required in cnTerm.
TWEAK: Update cnTerm::getRelationships(). Add support for taxonomy, parent and term_taxonomy_id options for the order_by param. Add the parent param to limit results to a given term ID. Add support for term meta queries.
TWEAK: Update cnTerm::getTaxonomyTerms() to support the name and childless params. Add support for term meta queries. Converted to return an array of cnTerm_Object objects.
TWEAK: Update cnTerm::getBy() to make the $taxonomy param optional if the $field param is set to term_taxonomy_id. Convert to return an array of cnTerm_Object objects.
TWEAK: Update cnTerm::get() to make the $taxonomy param optional. Converted it to return an array of cnTerm_Object objects.
TWEAK: Change cnTerm::childrenIDs() to be public.
TWEAK Deprecate cnTerm::get_hierarchy() because it is a duplicate of cnTerm::childrenIDs(). Delete code and return cnTerm::childrenIDs().
TWEAK: Remove use of deprecated method cnTerm::get_hierarchy(). Use cnTerm::childrenIDs() instead.
TWEAK: Remove filter which added support for meta queries cnTerm::getTaxonomyTerms() since it now supports it internally.
TWEAK: Ensure the name attribute is reset before executing cnTerm::getTaxonomyTerms() in the template walker classes.
TWEAK: Refactor cnRetrieve::entryTerms() for better caching of results and update cached results to return array of cnTerm_Object objects.
TWEAK: Refactor cnEntry::getCategory() to use cnRetrieve::entryTerms() and to get the term relationships on demand instead of preloading when cnEntry is created.
OTHER: Remove unused legacy methods in cnRetrieve.
OTHER: Remove unnecessary isset check in cnRetrieve::setQueryVisibility().
DEV: Update phpDoc in a couple cnTerm methods to note the WordPress core equivalent function.
8.5.9 02/01/2016
NEW: Add ABSPATH to the System Info.
NEW: Refactor cnTemplatePart::searchingMessage() to add filters and hooks to make it more configurable for developers.
BUG: Enqueue the JavaScript on the Settings Import/Export admin page.
BUG: Use CN_TEMPLATE_PATH instead of CN_PATH to include the core templates. Remove, the double forward slash.
BUG: Fix unescaped user search term in the admin. Unfiltered user input for the search field being sent directly via echo back to the user's browser.
BUG: Escape role names and capabilities submitted by the Connections : Roles admin page when adding/removing a role capability.
TWEAK: Tweak logic in cnUtility::getUUID() so if openssl_random_pseudo_bytes() fails, it'll gracefully fallback to the compatibility method rather than failing.
TWEAK: Remove instance of $plugindir = get_bloginfo( 'wpurl' ) . '/wp-content/plugins'; as requested by wp.org.
TWEAK: Remove unused global from cnRole::reset().
TWEAK: Add message for user if they do not have access to any admin tools.
TWEAK: Correct the user capabilities for the Tools admin page to better align with the core WordPress user capabilities for the same functions.
TWEAK: Escape role names before resetting them.
TWEAK: Escape URL use to kickoff a DB upgrade.
TWEAK: Code cleanup of the DB upgrade message to make it more readable.
TWEAK: Escape the output for the current character on the Connections : Manage admin page.
TWEAK: Escape the current log type being viewed.
TWEAK: Run absint() on log post ID.
OTHER: Reduce tags as requested by wp.org.
OTHER: Correct misspelling in cnRole::reset().
OTHER: Add newline at EOF in class.capabilities.php.
OTHER: Remove an extra space.
DEV: Use minified files instead of vendor supplied packed files for jQuery goMap and MarkerClusterer per wp.org guidelines.
DEV: Use Yoda condition.
8.5.8 01/08/2016
NEW: CSV export will now export the visibility of address, phone, email and dates.
NEW: CSV export will now export the visibility status of social media, instant messenger and links.
NEW: CSV export will now export the image and logo URL/s.
COMPATIBILITY: Remove spaces after delimiter in CSV export for Excel compatibility.
BUG: Correct bug in setting the radio group name attribute.
BUG: Properly sanitize the address fields when saving an entry.
TWEAK: Remove unused global var $current_user in several methods in cnRetrieve. Remove unused calls to get_currentuserinfo() which will be deprecated in WordPress 4.5.
TWEAK: Move the header breakout fields and field types to be within their switch case so they are only run when needed instead on every field export type.
TWEAK: Correct the user capabilities for the Tools admin page to better align with the core WordPress user capabilities for the same functions.
TWEAK: Add missing user capability checks for system info and remote system info tools.
OTHER: Tweak the default tool tab to be the first registered tab rather than being hard coded.
OTHER: Update link to the documentation page.
OTHER: Remove TimThumb from the vendors folder and most references to it from the code and text since it has not been needed for well over a year now.
DEV: Add ability to register a tab with a user role capability so the user must have that capability in order to access that tool tab.
8.5.7 12/18/2015
COMPATIBILITY: Set the remaining cnEntry properties to an empty string rather than the default NULL for WP 4.4 compatibility.
TWEAK: Add WP max memory limit constant to system info.
OTHER: Remove image setting instructions since they no longer apply.
DEV: Update phpDoc for cnShortcode::view().
I18N: Update POT file.
I18N: Update MO files.
8.5.6 12/10/2015
COMPATIBILITY: Fix for WordPress 4.4. Use an empty string instead of NULL when inserting data for an entry with no value.
TWEAK: Change the checkbox header/footer column from th to td so the correct styling is applied by WP.
TWEAK: Change the column name from "Hierarchy" to "Parent" in the category CSV export.
TWEAK: Add default primary column name to list table classes.
TWEAK: Revert CSS tweaks designed to prevent themes from hiding the vcard class due to it breaking templates layouts.
8.5.5 12/08/2015
NEW: Bulk export the categories as a SCV file.
NEW: Add support to bulk import nested categories.
BUG: When querying the term count field, return an int instead of string.
TWEAK: Increase the filter priority for processing single entry view.
TWEAK: Allow case sensitive term exists checks on case insensitive table collations.
TWEAK: Remove the unfiltered_upload capability from users in cnUpload::file() to enforce the file mime type check.
TWEAK: Another CSS tweak to help ensure themes do not hide the vcard class.
TWEAK: Add delimiter option to cnFunction::parseStringList().
TWEAK: Update cnRetrieve::entries() to use cnFunction::parseStringList() to simplify code.
OTHER: Remove use of deprecated methods in cnRetrieve::categories() and cnRetrieve::category().
OTHER: Update minified files.
DEV: Update .gitignore to ignore the /docs directory.
DEV: Update .gitiattributes to ignore the /docs directory.
DEV: Add grunt-phpdocumentor task.
DEV: phpDoc fixes in cnRetrieve.
DEV: phpDoc fixes for filters in cnTerm::insert().
DEV: Add missing phpDoc to cnUpload::result().
DEV: Correct misspelling in phpDoc.
DEV: First pass at cleaning up the cnUser class.
I18N: Update the POT file.
I18N: Update MO files.
8.5.4 11/11/2015
NEW: Add DESCRIBE table_name output to the system info output.
TWEAK: Use HTML entity code for brackets in template help text to prevent plugins that add the do_shortcode callback to the gettext filter. This will prevent WordPress from attempting to embed the directory instead of displaying the text.
TWEAK: Adjust CSS so themes do not hide the vcard class while not breaking the layout of the Circled template.
OTHER: Removed sensor query var when registering the URL for the Google Maps API as it is not longer required.
OTHER: Trim changelog section readme.txt because it was too long for wp.org to parse properly.
OTHER: Correct misspelling in inline code doc.
I18N: Use esc_html__() for the settings section description callbacks to prevent translations from causing an invalid syntax PHP error.
I18N: Update the POT file.
I18N: Update MO files.
8.5.3 11/09/2015
FEATURE: Family relations are now sortable when adding/editing a Family entry.
FEATURE: Enable support to order_by all date types.
NEW: Introduce cnString::truncate().
BUG: Fix bug where the "more" string would be inserted mid excerpt.
BUG: Correct country codes for North/South Korea.
TWEAK: Add Wairarapa to NZ regions.
TWEAK: Allow users with the unfiltered_html capability to have access to the full rich text editor.
TWEAK: Add logic to the cnShortcode::single() filter to basically ignore the Divi theme. A better fix will have to be implemented at a later date but this will be more than sufficient for now.
TWEAK: Add jquery-ui-sortable as an admin dependency.
TWEAK: Add additional CSS to help ensure themes do not hide the vcard class used within the shortcode.
OTHER: Update minified CSS/JS files.
I18N: Update the POT file.
I18N: Update MO files.
I18N: Correct textdomain on string.
I18N: Add Swedish (Sweden) translation.
I18N: Remove Thai translation.
I18N: Update translations completion in readme.txt.
8.5.2 10/23/2015
NEW: Add support for term meta queries.
NEW: Introduce the Term Meta UI API.
COMPATIBILITY: Dequeue the Themify Customizer scripts because it takes over the Customizer panel when loaded.
BUG: Correct variable names in cnEntry::getBirthday(). Copy/paste strikes again :/
BUG: Change the way the callback strings for a couple settings are escaped because they were causing PHP notices to be displayed for a user.
BUG: Simplify an if statement because wp.org would not allow it to commit as structured.
BUG: Check that an entry was returned before changing post's dates in cnSEO::postDates().
BUG: Check to ensure entry was returned before adjusting the meta page title in cnSEO::filterMetaTitle().
BUG: Check the post and post ID properties are set before checking against them in cnSEO::filterPostTitle().
BUG: Check to ensure entry was returned before adjusting the page title in cnSEO::filterPostTitle().
BUG: Check to ensure entry was returned before adjusting adding page meta desc in cnSEO::metaDesc().
BUG: Ensure $description is set before using to prevent PHP warning in cnSEO::metaDesc().
BUG: Check to ensure entry was returned before added the admin menu node in cnEntry_Action::adminBarMenuItems().
BUG: Correct column ID when selecting a term after it being edited.
BUG: Correct cn_excerpt filter name, removed the double underscore.
TWEAK: Remove used of deprecated methods in cnSEO.
TWEAK: Remove the plugin prefix from Settings API calls in cnSEO.
TWEAK: Check for string length 0 to be more explicit in cnSEO::metaDesc().
TWEAK: Remove unused global $connections var throughout cnSEO.
TWEAK: Update category note about deleting a category that the assigned entries will be reassigned to the default category.
TWEAK: Change admin page titles from h2 tags to h1 tags to be WordPress 4.3+ compliant.
TWEAK: Remove use of deprecated core WP function get_screen_icon() from the Roles admin page.
TWEAK: Remove use of the core WP deprecated function get_screen_icon from the Settings API.
TWEAK: Add id attributes to the list actions and entry actions so they can be easily targets with CSS id selectors.
TWEAK: Make cnShortcode::find() more robust by altering the regex to search only for the tag being searched for rather than all registered shortcode tags.
TWEAK: Alter cnShortcode::single() to work with the $matches returned from cnShortcode::find() instead of the found tag attributes.
TWEAK: Refactor cnFormatting::toBoolean() to use filter_var() to simplify method using a core PHP function.
TWEAK: Tweak the admin publish metabox visibility section so it does not interfere with the Term Meta UI.
TWEAK: Remove unused commented out code in cnvCard.
OTHER: Correct capitalization of CSV in readme.txt and changelog.txt.
OTHER: Correct misspelling of latitude in cnvCard.
I18N: Update POT file.
I18N: Update all MO files.
I18N Add Greek translation.
DEV: phpDoc fixes for cnSEO::metaDesc().
8.5.1 10/10/2015
FEATURE: Add a new CSV export option which can be used to export most entry data into a single CSV file.
NEW: Introduce cnCSV_Export::escape().
BUG: Fix the atts return option in cnShortcode::find().
BUG: Make sure to pass all shortcode options (+slug) so the single entry view to provide backwards compatibility to all shortcode options based templates.
TWEAK: Improve backward support for legacy anniversary field.
TWEAK: Improve backward support for legacy birthday field.
TWEAK: Add the entry type, family name and organization fields to the CSV export for addresses.
TWEAK: Add the entry type, family name and organization fields to the CSV export for dates.
TWEAK: Add the entry type, family name and organization fields to the CSV export for phone numbers.
TWEAK: Add the entry type, family name and organization fields to the CSV export for email.
TWEAK: Rename cnCSV_Export::addSlashesAndQuote() to cnCSV_Export::escapeAndQuote(). Use cnCSV_Export::escape() to excape the CSV text string.
TWEAK: Change usage of cnCSV_Export::addSlashesAndQuote() to cnCSV_Export::escapeAndQuote() throughout.
TWEAK: Remove unnecessary return string in cnCSV_Batch_Export::writeHeaders().
TWEAK: Change the settings export/import tab ID and callback to be more specific to make way for the CSV export tab and callback.
TWEAK: Enqueue the System Info in the System Info tab callback so it only loads on its tab.
8.4.5 09/25/2015
NEW: Update the Profile template to support the Template Customizer.
BUG: Require the plugin update API in remote viewing of system info.
BUG: Prevent duplicate content on single entry profile detail page.
TWEAK: Add the cn-gmap class to the map block so it can easily be selected with CSS.
OTHER: Correct misspelling.
8.4.4 09/17/2015
TWEAK: Remove use of deprecated like_escape() throughout.
TWEAK: Check that json_decode() returned an object before checking value of a property in cnGeo.
TWEAK: Enqueue CSS and JavaScript using relative protocol URL/s.
OTHER: Update Chosen to 1.4.2.
OTHER: Update Font Awesome to 4.4.0.
OTHER: Update jQuery goMap to 1.3.3.
OTHER: Update jQuery qTip to 2.2.1.
OTHER: Update MarkerClustererPlus to 2.1.2.
OTHER: Update picturefill to 2.3.1.
OTHER: Update jQuery validate to 1.14.0.
OTHER: Remove unused jQuery Preload.
OTHER: Remove unused jQuery preloader.
OTHER: Remove unused jQuery spin.
OTHER: Remove unused jQuery spin.js.
8.4.3 09/11/2015
NEW: Introduce cnURL::makeProtocolRelative().
NEW: Introduce cnImage::insertIntoMediaLigrary(). Required further development, to be used in future versions.
BUG: Address bug that prevented the default format attribute from being changed via a filter.
TWEAK: Add updated jQuery UI styles to match the current WP admin style and color schemes.
TWEAK: Add plugin update available info to the System Info.
TWEAK: Update the mshot API URL.
TWEAK: Enqueue the jQuery data picker by handle only when rendering the metabox datepicker control.
8.4.2 08/31/2015
BUG: Properly set form action when using the home_id shortcode option.
NEW: Introduce cnURL::makeRelative().
TWEAK: Move the social media icons to the bottom of the entry contact info in the Default Entry Card.
TWEAK: Hopefully properly deal with hosts that force open_basedir in cnTemplateFactory::scan().
OTHER: Update minified CSS file.
I18N: Fix to make the image/logo hover string translation ready.
8.4.1 08/24/2015
BUG: Fix the home_id shortcode option in cnTemplatePart::formOpen().
BUG: Remove a PHP_EOL in cnHTML::input() which was causing unnecessary spaces to be added between input fields.
BUG: Correct bug preventing activation of individual template types.
TWEAK: Set default template image placeholder to not display by default matching implementation of previous version.
TWEAK: Add default style to remove box styles applied to images by themes.
TWEAK: The category select customizer message needs to be displayed only on the results list view.
8.4 08/12/2015
FEATURE: Introduce the Template Customizer.
FEATURE: Complete rewrite of the Default Entry Card template to support the new Template Customizer.
NEW: Add action which runs after the template's registered CSS and custom CSS files have been enqueued.
BUG: Fix the bottom bulk action control on the categories admin page.
BUG: Check that $atts['selected'] is numeric in CN_Walker_Term_Select_List_Enhanced::render() to prevent PHP notice.
TWEAK: Code cleanup of cnHTML to better meet coding standards and code de-duplication.
TWEAK: Code cleanup of cnMetaboxRender::fields() to better meet coding standards and reduce code duplication by utilizing cnHTML.
TWEAK: cnHTML::echoOrReturn() should be a static method.
TWEAK: Remove the legacy template installer admin action.
TWEAK: Remove the Template and Extension Dashboard metaboxes since they are no longer relevant.
TWEAK: Add link to the new Hobbies extension to the readme.txt file.
TWEAK: Remove deprecated templates.
TWEAK: Add filter to the template to get via the template slug.
TWEAK: Add compatibility filter to used the default template if a deprecated/removed template is being used.
TWEAK: If script debugging is enabled to not check for minified CSS and JS files when loading template assets.
TWEAK: Remove unused var_dump().
TWEAK: Simplify ternary in cnSettingsAPI::registerFields().
TWEAK: Remove padding from the last table row in the metaboxes.
TWEAK: Set height of template thumbnail to auto.
TWEAK: Rename filter cn_list_template_init to cn_load_template.
TWEAK: Apply cn_load_template filter to the function defaults rather than the function $atts.
TWEAK: Tweak to cnOutput::getNotesBlock(). Move the before/after attributes to be hard coded making the attributes empty. This makes it consistent with the other output functions.
TWEAK: Tweak to cnOutput::getBioBlock(). Move the before/after attributes to be hard coded making the attributes empty. This makes it consistent with the other output functions.
TWEAK: Simplify logic which appends the before/after attributes to the output of cnOutput::getImage().
TWEAK: Small Tweak to cnOutput::getOrgUnitBlock() to allow suppression of either/or the org or unit (dept).
TWEAK: Check for string length rather than using empty when checking for the parts of the name so values of 0 are valid.
TWEAK: Check for string length rather than using empty when checking for the parts of the contact name so values of 0 are valid.
TWEAK: Add a containing div around the output of cnOutput::getCategoryBlock().
TWEAK: Simplify logic of cnOutput::getCategoryBlock().
TWEAK: Rename action cn_action_entry_actions-after to cn_entry_actions-after to match naming style.
TWEAK: Make logic for determining if the requested template has been found by checking if it is an object instance of cnTemplate.
TWEAK: Add support to the Settings API for applying settings defaults for the Template Customizer.
TWEAK: Add filter so active template can be overridden and set to the correct template being customized.
TWEAK: Disable the output of the template parts form open/close if the current view is the Customizer preview.
TWEAK: Add the supports property default when a template is registered with cnTemplateFactory.
TWEAK: Complete refactor of the code for the Templates admin page to make it cleaner and more maintainable and enable support for the Template Customizer.
TWEAK: Misc CSS tweaks.
TWEAK: Tweak logic to cnTemplate::getThumbnail() so it only returns a populated array if a thumbnail exists.
OTHER: Remove extra whitespace.
OTHER: Correct misspelling in phpDoc.
OTHER: Update minified CSS files.
I18N: Update the POT file.
I18N: Update the MO files.
DEV: Minor phpDoc fixes in the Metabox API classes.
DEV: Add phpDoc to filter cn_load_template.
DEV: Correct phpDoc for cnOptions::getActivateTemplate().
DEV: Add @link to phpDoc for cnSettingsAPI::addSettingsField().
DEV: Correct param type in phpDoc for cnHTML::attribute().
8.3.3 07/17/2015
FEATURE: The default category "Uncategorized" can now be renamed.
FEATURE: The default category can now be changed to any category.
NEW: Add support for a category field type in the Settings API.
NEW: Introduce cnSettingsAPI::set().
NEW: Introduce cnOptions::getDefaultCategoryID().
BUG: Correct the label for attribute for the search input on the Connections : Manage admin page.
BUG: Remove unused param when using delete_option().
TWEAK: Remove dead code, cnRegisterSettings::getPage().
TWEAK: Remove use of deprecated use of get_screen_icon() on the Connections : Manage admin page.
OTHER: Correct a few more misspellings in inline code comments.
I18N: Update the POT file.
I18N: Update the MO files.
DEV: Correct code spacing in cnRegisterSettings::registerSettingsFields() to bring it up to coding standards.
DEV: Add a couple more properties to the connectionsLoad class that are being set by cnRetrieve::entries() so they are documented.
DEV: Add phpDoc for the global $connections var in cnScript::registerScripts().
DEV: Correct code spacing in cnSettingsAPI::get() to bring it up to coding standards.
DEV: Correct code spacing in cnSettingsAPI::registerFields() to bring it up to coding standards.
8.3.2 07/14/2015
BUG: Fix PHP ternary to be compatible with older version of PHP. This could cause the Connections : Tools admin page to not display.
BUG: Correct anchor target when a link is linked to the image or logo.
BUG: Correct CN_Email_Log_List_Table::column_default() to be compatible with parent::column_default().
BUG: Remove indentation comment from displaying in the System Information.
TWEAK: Ensure data for registering a log type is valid before attempting to register it.
TWEAK: Ensure data for registering an email log type is valid before attempting to register it.
DEV: Prettify class cnImage() to better meet coding standards.
8.3.1 07/10/2015
BUG: Fix PHP error Parse error: syntax error, unexpected T_STATIC in ../wp-content/plugins/connections/includes/class.utility.php on line 1866 on older versions of PHP.
8.3 07/09/2015
FEATURE: Add the Tools admin page with the System Info tab with the ability to email and/or share a secret URL to share the system info.
FEATURE: Introduce the ability to export/import the settings.
FEATURE: Introduce the ability for an admin to view and manage the email logs.
NEW: Introduce cnString::quickRandom().
NEW: Introduce cnString::random().
NEW: Introduce cnFunction::decodeJSON().
NEW: Introduce cnSettingsAPI::getAll(), cnSettingsAPI::download() and cnSettingsAPI::import().
NEW: Introduce cnLog::delete().
NEW: Introduce cnLog::views().
COMPATIBILITY: Include theme compatibility file with a filter to make images and logos compatible in the ProPhoto theme.
BUG: Fix bug in cnOutput::getContentBlock() that prevented the use of the content block name if the content block was registered as a single entry view content block.
BUG: Fix bug throughout cnEmail referring to a nonexistent charSet var.
BUG: Correct param default in cnAdminActions::setEntryStatus().
BUG: Fix reference bug in cnLog::deleteConnected().
TWEAK: Change cnFormatting::toYesNo() to a static method.
TWEAK: Do not create the .htaccess file in the TimThumb folder since it is no longer needed.
TWEAK: Move the vCard download template_redirect action callback function to static method cnvCard::download().
TWEAK: Remove the dead code in the deactivation callback.
TWEAK: Remove the Dashboard System widget.
TWEAK: Remove use of the cnvCard class on the Manage admin page since it is no longer needed.
TWEAK: Refactor cnOutput::getPhoneNumberBlock() to cleanup code and added a couple new filters.
TWEAK: Update cnLog::getConnected() to support getting logs of multiple types.
TWEAK: Update cnLog::getCount() to support getting log count of multiple types.
TWEAK: Make cnLog::types() a public method.
OTHER: Correct misspellings in inline code comments.
I18N: Update the POT file.
I18N: Update all MO files.
DEV: Include the Browser class by Chris Schuld.
DEV: phpDoc fixes.
DEV: Add phpDoc for the vars being extracted in cnAdminMenu::menu().
DEV: Use Yoda conditions.
DEV: Prettify cnvCard() to better meet coding standards.
DEV: Stub phpDoc for cnAdminAction class.
8.2.10 06/26/2015
FEATURE: Allow admins and editors (roles with unfiltered_html capability) to use the Media Manager to insert images in the Bio and Notes fields.
NEW: Introduce the new stateful cnLog().
NEW: Introduce logging of email sent using cnEmail(). This will enable logging of email sent via Contact and Form.
COMPATIBILITY: Add support for the WP Mail Logging plugin.
COMPATIBILITY: Add support for the Email Log plugin.
COMPATIBILITY: Add support for the Log Emails plugin.
COMPATIBILITY: Prevent WP Super Cache from purging the page cache when a log in added/updated by cnLog().
COMPATIBILITY: Prevent WP Rocket from purging the page cache when a log in added/updated by cnLog().
BUG: Ensure bio and notes fields are unslashed before displayed.
BUG: Fix admin sortable repeatable fieldsets.
BUG: Fix limit bug when retrieving phone numbers by type.
BUG: Fix limit bug when retrieving email addresses by type.
BUG: Correct the defaults array initialization in cnOutput::getAddressBlock().
BUG: Remove unused param in cnOutput::getLogoImage().
BUG: Remove unused global cnOutput::getImage().
BUG: Properly init arrays throughout cnOutput().
TWEAK: Add limit support when retrieving addresses.
TWEAK: Remove use of deprecated args sanitation function in cnOutput::getAddressBlock().
TWEAK: Remove use of deprecated function in cnOutput::getImage().
TWEAK: Remove use of deprecated args sanitization function throughout cnOutput().
TWEAK: Rename cnLog() to cnLog_Stateless(), move it to its own folder/file and update its usage in cnImage().
TWEAK: Refactor cnEmail::send(), break it apart into smaller more maintainable methods.
I18N: Update POT file.
I18N: Update all MO files.
I18N: Remove orphaned MO file.
DEV: Cleanup code alignment in cnOutput::getAddressBlock().
DEV: Fix code alignment of defaults array in cnOutput::getImage().
DEV: Correct several phpDoc params errors in cnOutput().
DEV: Adjust filters and actions in cnEmail::send() for better compatibility.
DEV: Prettify code in cnDate() to better meet coding standards.
8.2.9 06/19/2015
FEATURE: Bio and Notes fields now supports oEmbed.
BUG: Default attributes for the slider field type were not properly being set in cnMetabox_Render::fields().
BUG: Remove unnecessary string comparisons before concatenation.
TWEAK: Add support for lifetime support license keys.
TWEAK: Change several instances of hard coded directory separators to the the PHP constant instead.
TWEAK: Add thank you to admin footer.
TWEAK: Add support for the action override option for wp_handle_upload() in wrapper function cnFile::upload().
TWEAK: Add the cn_upload_file_options filter to cnUpload::file() to allow the default overrides passed to wp_handle_upload() to be overridden.
TWEAK: Remove dead code in cnMetabox_Render::fields() in the rte field type.
TWEAK: Update the readme.txt file.
TWEAK: Use cnSanitize::html() for the rte field type in cnMetabox_Render::fields().
TWEAK: Use cnSanitize::quicktag() for the quicktag field type in cnMetabox_Render::fields().
TWEAK: Do not run the string thru wp_kses_post() if the current user has the unfiltered_html capability in cnSanitize::html().
TWEAK: Do not run the string thru wp_kses_data() if the current user has the unfiltered_html capability in cnSanitize::quicktag().
TWEAK: Apply all the filters applied to the post content to both the bio and notes fields when being displayed.
TWEAK: Remove all usages of deprecated admin message functions.
TWEAK: Remove unnecessary call to plugin_basename() when defining plugin constants.
TWEAK: Utilize cnFunction::parseStringList() throughout cnEntry to remove code duplication.
TWEAK: Simplify ternary in cnEntry::setAddresses().
OTHER: Correct a couple misspelling in the phpDoc for cnMetabox_Render::fields().
DEV: Add support for the bio and notes fields in cnSanitize::field(), matching the core WP filters for post_content on the content_save_pre hook.
DEV: Refactor cnEntry::getBio() to use cnSanitize::field().
DEV: Refactor cnEntry::setBio() to use cnSanitize::field().
DEV: Refactor cnEntry::getNotes() to use cnSanitize::field().
DEV: Refactor cnEntry::setNotes() to use cnSanitize::field().
DEV: Refactor cnOutput::getNotesBlock(), removing direct usage of WP_Embed::run_shortcode() and do_shortcode().
DEV: Refactor cnOutput::getBioBlock(), removing direct usage of WP_Embed::run_shortcode() and do_shortcode().
DEV: Refactor loadTextDomain() to be more variable for reuse.
DEV: Move cnFormatting::replaceWhatWith() to cnString::replaceWhatWith().
DEV: Move cnFormatting::normalizeString() to cnString::normalizeString().
DEV: Move cnFormatting::preslashit() and cnFormatting::unpreslashit() to cnURL.
DEV: Move cnFormatting::excerpt() to cnString::excerpt().
DEV: phpDoc usages of the global $wpdb in many of the methods in cnRetrieve.
DEV: Add support for the address fields in cnSanitize::field().
DEV: Add $context param to cnEntry::setAddresses().
DEV: Cleanup phpDoc for cnEntry::setAddresses().
DEV: Complete refactor of cnEntry::getAddresses() for better readability and code standards compliance.
DEV: Add the $context param to cnEntryMetabox::address().
DEV: Cleanup phpDoc of cnEntryMetabox::address().
DEV: Refactor cnRetrieve::setQueryVisibility() for better readability and code standards compliance.
DEV: Complete refactor of cnRetrieve::address() for better readability, code standards compliance and greater flexibility for defining queries.
DEV: Cleanup phpDoc for cnRetrieve::setQueryStatus().
DEV: Update phpDoc for cnRetrieve::addresses().
8.2.8 06/05/2015
BUG: Escape URL for search message clear message button.
BUG: Refactor cnTemplate::locate() to fix inconsistencies in the priority loading order of template override resource files.
TWEAK: Remove use of deprecated function in cnTemplate::filenames().
TWEAK: Add support for the license_not_activable error message response from EDD-SL.
TWEAK: Add support for base name in cnLocate when searching for template files.
TWEAK: Add a filter to cnURL::permalink() so the URL can be filtered.
TWEAK: Add a filter to the URL for cnTemplatePart::searchingMessage().
TWEAK: Set the default template type to 'all' and only override if the list_type option is set in cnTemplateFactory::loadTemplate().
TWEAK: Clear the options/transient caches when the permalink structure is changed.
TWEAK: Remove the notranslate class from a link title.
TWEAK: Remove use of deprecated function in cnLocate::fileNames().
TWEAK: Prefix the contact-block class.
TWEAK: Tweaks to cnOutput::getLinkBlock() so filters to output could be added.
TWEAK: And additional filters to cnOutput::getEmailAddressBlock().
TWEAK: Tweak to add a bit of padding to the metabox table rows.
TWEAK: Tweak logic in cnURL::permalink() to properly id the page_id query var to the site's static home page when the directory and/or widgets are added to the static home page.
TWEAK: Change cnTemplatePart::echoOrReturn() to be a protect function.
TWEAK: Move the before/after action list logic to their own callback functions and add them to the cn_action_list_{before|after} action hooks.
TWEAK: Add the cn_list_{before|after}_body action hooks.
TWEAK: Allow the results list body to be overridden by using a template override file in cnTemplatePart::body().
TWEAK: Remove unnecessary PHP_EOL in cnTemplatePart::body().
TWEAK: Assign get_query_var('cn-view') to the $view var for reuse in switch in cnShortcode::view().
TWEAK: Make the shortcode view switch pluggable in cnShortcode::view() to allow new views to be registered and processed.
TWEAK: Change the default view from card to list to cleanup nomenclature for the forthcoming List View extension.
OTHER: Fix misspelling of search in phpDoc.
OTHER: Fix misspelling in code comment in cnTemplate::getPath().
OTHER: Fix misspelling in phpDoc.
OTHER: Correct misspelling in phpDoc in cnLocate.
OTHER: Fix misspellings in code comment.
DEV: Stub phpDoc for class cnTemplate.
DEV: Fix phpDoc for cnTemplate::__construct().
DEV: Cleanup phpDoc for cnTemplate::getAuthorURL().
DEV: Cleanup phpDoc for cnTemplate::getThumbnail().
DEV: Add a no inspection flag for phpStorm.
DEV: Add basic phpDoc to the Names template.
DEV: Refactor cnOutput::getEmailAddressBlock(). Cleanup code and add additional filters.
DEV: Refactor cnTemplatePart::listAction_ViewAll() to be more readable and add default options so the permalink would be properly resolve to the correct page.
DEV: Refactor cnTemplatePart::entryAction_Back() to be more readable by flowing options on multiple lines.
8.2.7 05/12/2015
BUG: Add missing $default_term property to CN_Term_Admin_List_Table.
BUG: Set maximum character for indexes to 191 when creating indexes to support WordPress 4.2 move to utf8mb4.
BUG: Correct LinkedIn spelling.
BUG: Fix undefined index notice when updating entry meta.
TWEAK: Small schema tweaks when creating the db taxonomy tables.
TWEAK: Add support for WP Mailto Links plugin via a CSS tweak.
OTHER: Fix misspelling of urlencode().
8.2.6 05/01/2015
FEATURE: Introduce cnEntry_DB.
BUG: Correct usage of defined in cnRetrieve::entries() when checking for DOING_AJAX.
BUG: Removed couple unused variables in cnRetrieve:: search().
BUG: Remove extra trailing semi-colon in cnRetrieve::search().
BUG: Properly init the $defaults array in many of the methods in cnEntry.
BUG: Fix bug in cnEntry::Addresses() where incorrect address array was being referenced during argument sanitation and being passed via a filter.
BUG: Remove unused variable in cnEntry::processLegacyLogo().
BUG: Properly init the $where array in cnEntry::update().
BUG: Fix return value in cnSanitize::options().
BUG: Fix bug with the duplicate term check when updating a term.
BUG: Fix the value of the unique ID field of am IM ID.
BUG: Remove unused var in cnTemplatePart::entryActions().
BUG: Remove unused var in cnTemplatePart::JSON().
BUG: Remove unused global in cnOutput::getLogoImage().
BUG: Remove a couple unused vars in cnOutput.
BUG: cnTemplatePart::echoOrReturn() should be declared as static.
BUG: Only attempt to create FULLTEXT indexes if FULLTEXT search is enabled.
BUG: Init array in cnTemplatePart::searchMessage().
BUG: Fix social media field label when adding a new social media URL.
TWEAK: Prune the changelog section of the readme.txt file.
TWEAK: Update the plugin shortcode description in the readme.txt file.
TWEAK: Remove error suppression in cnRegisterSettings::setSearchFields().
TWEAK: Simplify several ternaries used within cnEntry.
TWEAK: Use Yoda Condition checks.
TWEAK: Line wrap long array in cnEntry::setAddresses();
TWEAK: Fix several instance of incorrect array alignment in cnEntry.
TWEAK: Refactor cnEntry::getOriginalImageURL() to be cleaner.
TWEAK: Be more succinct in if statement in cnEntry::getFormattedTimeStamp().
TWEAK: Use cnURL::prefix() to ensure social network URL rather than regex.
TWEAK: Fix misspelling in var name and update usages in cnEntry::processLegacyImages().
TWEAK: Refactor cnEntry::update() to use $wpdb->update() rather than $wpdb->query() when updating the entry table.
TWEAK: Refactor cnEntry::save() so when saving the entry so wpdb::insert() is utilized rather than wpdb::query().
TWEAK: Change the name of Cyrus Island to just Cyrpus to be more correct.
TWEAK: Refactor cnEntry::update() to utilize cnEntry_DB.
TWEAK: Use Yoda condition in cnEntry::save().
TWEAK: Refactor cnEntry::save() to use cnEntry_DB.
TWEAK: Do not show wpdb insert/update errors in cnEntry::save() and cnEntry::update().
TWEAK: Return empty string for list actions if it has been disabled via the settings.
TWEAK: Return empty string for entry actions if it has been disabled via the settings.
TWEAK: Return an empty string for the category description if it has been disabled via the settings.
TWEAK: Minor code cleanup of cnTemplatePart::searchMessage().
TWEAK: Return empty string in cnTemplatePart::noResults().
TWEAK: De-duplicate code to set entry defaults based on entry type before saving/updating.
TWEAK: Remove usage of global $connections var in cnEntry::update().
TWEAK: Fix check to ensure $template is an object of cnTemplate in cnTemplatePart::noResults().
TWEAK: Standardize output logic of most methods in cnOutput to use cnOutput::echoOrReturn() to reduce duplicate code usage.
TWEAK: Replace instances of cnFormatting::normalizeString() to use cnFormatting::replaceWhatWith().
TWEAK: Replace all instances of preg_replace() with cnFormatting::replaceWhatWith() to remove code duplication.
TWEAK: Cleanup web page source code whitespace output from cnOutput to make it more readable.
TWEAK: Simply ternaries in cnOutput::getSocialMediaBlock().
TWEAK: Return empty string in several instances in cnOutput rather than nothing or NULL so output is consistent across all methods.
TWEAK: Cleanup code alignment in cnOutput::getCardTelType().
TWEAK: Cleanup code alignment in cnOutput::getCardAdrType().
TWEAK: Refactor methods in cnTemplatePart to use cnTemplatePart::echoOrReturn() to remove code duplication and simplify output logic.
TWEAK: Simplify cnTemplatePart::formClose().
TWEAK: Cleanup web page source code whitespace output from cnTemplatePart to make it more readable.
TWEAK: Remove unnecessary var init in cnTemplatePart::noResults().
TWEAK: Remove unnecessary var init in cnTemplatePart::submit().
TWEAK: Fix code alignment in cnTemplatePart::header().
TWEAK: Fix code alignment in cnTemplatePart::cards().
TWEAK: Fix code alignment in cnTemplatePart::listActions().
TWEAK: Fix code alignment in cnTemplatePart::entryActions().
TWEAK: Fix code alignment in cnTemplatePart::category description.
TWEAK: Remove use of deprecated function in cnTemplatePart::categoryDescription().
TWEAK: Fix code alignment in cnTemplatePart::JSON().
TWEAK: Fix code alignment in cnTemplatePart::noResults().
TWEAK: Fix several default param values in cnTemplatePart.
TWEAK: Fix default param value in cnOutput::getAnniversaryBlock().
TWEAK: Fix default param value in cnOutput::getBirthdayBlock().
TWEAK: Fix code alignment in cnTemplatePart:cards().
TWEAK: Fix code alignment in cnTemplatePart::footer().
TWEAK: Correct type check in cnOutput::getBirthdayBlock() since default param value was changed.
OTHER: Correct a misspelling in a code comment in cnRetrieve::entries().
OTHER: Correct misspelling of empty.
OTHER: Correct misspelling of character.
OTHER: Correct misspelling if encryption.
DEV: Fix a few exclude errors in .gitattributes.
DEV: Add phpDoc to global $wpdb in cnRetrieve::search().
DEV: A few minor fixes to the phpDoc for several methods in cnRetrieve.
DEV: Add phpDoc to global $wpdb in cnRegisterSettings::setSearchFields().
DEV: Minor fixes to phpDoc for cnRegisterSettings::setSearchFields().
DEV: Update the phpDoc for many of the class properties of cnEntry.
DEV: Remove many extra blanks lines in cnEntry.
DEV: Fix code spacing in several places in cnEntry.
DEV: Update several phpDoc of several methods in cnEntry.
DEV: Add space between foreach and opening paren.
DEV: Delete some commented out dead code in cnEntry::update().
DEV: Fix a misspelling in phpDoc for cnSanitize::checkbox().
DEV: Fix @param var name to match name of actual variable being used.
DEV: Add cnSanitize::id().
DEV: Correct indenting of closing bracket.
DEV: Add @todo in cnEntry to remove the use of a several properties in connectionsLoad.
DEV: Correct return type on cnTemplatePart::entryActions().
DEV: Cleanup phpDoc for cnTemplatePart::categoryDescription().
DEV: Cleanup phpDoc for cnTemplatePart::characterIndex().
DEV: Cleanup phpDoc for cnTemplate::noResults().
DEV: Doc global vars in cnTemplatePart::pagination().
DEV: Doc global vars in cnTemplate::categoryLinkDescendant().
DEV: Correct return type in cnTemplatePart::JSON().
DEV: Add phpStorm no inspection flag for unused var in cnTemplatePart::cards().
DEV: Add new helper method cnEntry_Output::echoOrReturn().
DEV: Change up logic in cnOutput::echoOrReturn().
DEV: Many little cleanup changes to phpDoc in cnOutput.
DEV: Add phpDoc to global var $connections in cnOutput::getPhoneNumberBlock().
DEV: Add phpDoc to a couple instances of $wp_embed in cnOutput.
DEV: Add echoOfReturn() to cnTemplatePart.
DEV: Few minor phpDoc fixes in cnTemplatePart.
DEV: Add blank line to a couple methods in cnTemplatePart.
DEV: Remove extra space after var init.
DEV: Correct param type in phpDoc for cnFormatting::replaceWhatWith().
DEV: Correct phpDoc for global used in cnCategory::getDescriptionBlock().
DEV: Couple phpDoc fix in cnTemplatePart.
8.2.5 04/24/2015
FEATURE: Introduce cnSiteShot.
FEATURE: Introduce cnMeta_Query.
BUG: Fix broken CSS dependency for the jQuery UI Datepicker when in the admin.
BUG: Set correct param default in cnFormatting::sanitizeString().
BUG: Remove unused var in cnColor::rgb2hex2rgb().
BUG: Remove unused global var in cnEntry::getWebsites().
BUG: Add missing 64px icon size to cnOutput::getEmailAddressBlock().
BUG: Correct the img tag name and remove the px from the with and height attributes in cnOutput::getEmailAddressBlock().
BUG: Remove unused var in cnEntry::getLinks().
BUG: Remove dead code in cnURL::prefix().
BUG: Remove unused $updateObjectCache class var in cnEntry.
BUG: Fix bug in typecasting the anniversary and birthday vars in cnEntry::__construct().
BUG: Remove unused var in cnEntry::getAddresses().
BUG: Remove the use of the unused $connections global var in several methods in cnEntry.
BUG: Remove unused $phoneNumbers in cnEntry::getPhoneNumbers().
BUG: Remove unused $emailAddresses var in cnEntry::getEmailAddresses().
BUG: Remove unused $imIDs var from cnEntry::getIm().
BUG: Remove unused $socialMediaIDs from cnEntry::getSocialMedia().
BUG: Remove unused $dates var in cnEntry::getDates().
BUG: Fix bug in cnEntry::update() where the honorific suffix was not be emptied when updating an entry of the organization type.
BUG: No need to set the various image size variation names to class vars in cnEntry because they are no longer used.
BUG: Remove unused class var $websites from cnEntry.
BUG: Fix bug in cnEntry_Action::visibility() where the sanitized entry ID/s where not being used in the query.
BUG: Remove unused var in cnTemplatePart::index().
BUG: Fix bug in the template file override code.
BUG: If an invalid image preset is supplied in cnOutput::getImage() set the image display to false and force the display of the image fallback block with the message stating; "Photo preset %s is not valid."
TWEAK: Move Dashboard template styles to the admin CSS style sheet.
TWEAK: Remove margins on admin widgets "Remove" buttons.
TWEAK: Remove text align left on the bio and notes fields from the front end style sheet.
TWEAK: Add a RTL admin style sheet.
TWEAK: Register and enqueue the RTL admin style sheet is the current local RTL.
TWEAK: Use PHP native function to prefix URL with a protocol.
TWEAK: Add icons that can be used for links.
TWEAK: Remove use of deprecated function call in cnEntry::getWebsites().
TWEAK: Remove use of global $connections in cnEntry::getUpcoming().
TWEAK: If the local is RTL, float right instead of left in the core templates.
TWEAK: Change the licensing API calls to use the new API endpoint.
TWEAK: Declare cnEntry::__construct() as public.
TWEAK: Set default date format from NULL to 'm/d/Y' in cnEntry::getDateAdded() and refactor code accordingly.
TWEAK: Remove use of deprecated function cnValidate::attributesArray() in cnEntry. Now uses cnSanitize::args().
TWEAK: Remove use of deprecated function connectionsLoad::setErrorMessage() in cnEntry. Use cnMessage::set() instead.
TWEAK: Remove usage of deprecated function connectionsLoad::setErrorMessage(). Use cnMessage::set() instead().
TWEAK: Simplify the ternary in cnEntry::setAnniversary().
TWEAK: Simplify the ternary in cnEntry::setBirthday().
TWEAK: No need to set the logo file name to class vars in cnEntry because it is no longer used. The helper methods should always be used instead.
TWEAK: The the user display name by using WP_User::get() rather than the magic __get() method.
TWEAK: Add a few class vars that are being added to the connectionsLoad class.
TWEAK: Use the more explicit is_null() on the $entry param in cnEntry::__construct().
TWEAK: Make cnMeta::tableName() public.
TWEAK: Add meta query support to cnRetrieve::entries().
TWEAK: Add ordering by meta_key support to cnRetrieve::entries().
TWEAK: Add cn_process_status to cnEntry_Action::status().
TWEAK: Add cn_process_visibility action to cnEntry_Action::visibility().
TWEAK: Add cn_process_bulk_delete action to cnEntry_Action::delete().
TWEAK: Use wp_parse_id_list() in cnEntry_Action::visibility() to simplify the method.
TWEAK: Use wp_parse_id_list() in cnEntry_Action::status() to simplify the method.
TWEAK: Remove the params from cnEntry_Action::clearCache() and update the phpDoc.
TWEAK: Move action cn_process_cache-entry action from cnEntry_Action::process() to cnEntry_Action::clearCache().
TWEAK: Add various actions to the cnEntry_Action::clearCache() method so the entry caches are cleared when those actions are fired.
TWEAK: Add the cn_clean_entry_cache action to cnEntry_Action::clearCache() and deprecate the existing cn_process_cache-entry action.
TWEAK: Add cnEntry_action::updateTermCount().
TWEAK: Add actions to update the term taxonomy counts when entry status or visibility has been updated via the bulk actions.
TWEAK: Set $atts['enhanced'] to FALSE if wp_is_mobile() in CN_Walker_Term_Select_List_Enhanced::render().
TWEAK: Ensure URL is escaped in cnLicense::license().
TWEAK: Ensure the entry status filter links on the Manage admin page are escaped.
TWEAK: Ensure the pagination links on the Manage admin page are escaped.
TWEAK: Ensure the entry action links on the Manage admin page are escaped.
TWEAK: Ensure the "Linked to" profile link is escaped on the Manage admin page.
TWEAK: Ensure the image src URLs and logo/photo links are escaped.
TWEAK: Ensure the vCard URL and the icon src URLs are escaped.
TWEAK: Ensure the tab URL on the Settings admin page is escaped.
TWEAK: Ensure the index links in cnTemplatePart::characterIndex() are escaped().
TWEAK: Ensure the character links in cnTemplatePart::index() are escaped.
TWEAK: Add the geometry library to the Google Maps API when it is registered.
TWEAK: Clean up the code for cnOutput::getContactNameBlock().
TWEAK: Check is doing AJAX in cnRetrieve::entries() before processing query vars.
I18N: Update the .pot file.
I18N: Update the .mo files.
OTHER: Fix the page source HTML whitespace in CN_Walker_Term_Radio_Group.
OTHER: Update minified CSS.
OTHER: Fix spelling of $visibility.
OTHER: Fix misspelling of $protocol.
OTHER: Fix misspellings in cnLog.
OTHER: Fix spelling error in phpDoc for cnEntry::getUpcoming().
OTHER: Fix spelling of visibility in phpDoc.
OTHER: Correct the misspelling of empty in several places in cnEntry.
OTHER: Corrected misspelling of preferred in several places in cnEntry.
OTHER: Correct misspelling of overridden in several places in cnEntry.
OTHER: Remove the space between the $wpdb->prepare function and open paren per coding style in several instances in cnEntry.
OTHER: Correct misspelling of var $compatibilityDate().
OTHER: Correct misspelling of apparently in cnEntry.
OTHER: Correct misspelling of cnEntry::displayVisibilityType() and update any instances of its usage.
OTHER: Correct param type for $entry in cnEntry::__construct().
OTHER: Correct param type in cnEntry::setEntryType().
OTHER: Run the Members template thru the phpStorm code formatter to get it much closer to following the coding style guidelines.
OTHER: Update link in readme.txt to point the Live Samples page to the Showcase page.
OTHER: Fix a couple instances of misspellings of department in the phpDoc.
DEV: Cleanup phpDoc in cnScript.
DEV: Cleanup coding style of cnFormatting::toYesNo().
DEV: Cleanup phpDoc for cnFormatting::toBoolean().
DEV: Bring cnValidate::url() up to code style standards.
DEV: Bring cnValidate::email() up to coding standards.
DEV: Bring cnValidate::userPermitted() up to coding standards.
DEV: Cleanup phpDoc for cnURL::encode().
DEV: Clean up phpDoc for cnURL::prefix().
DEV: Cleanup phpDoc for cnURL::fromPath().
DEV: Update phpDoc for cnURL::permalink().
DEV: Fix code formatting in cnUtility::getUUID().
DEV: Cleanup code formatting of cnUtility::remapRange().
DEV: Add phpDoc to cnLog.
DEV: Cleanup code formatting in cnLog.
DEV: Clean up code formatting of the colors array.
DEV: phpDoc fixes in cnColor.
DEV: Cleanup code formatting a couple conditional statements in cnColor.
BUG: When creating an excerpt the more string should only be appended if length is exceeded.
BUG: Add missing var to the cn_meta_field- {type} action.
BUG: Fix CSS border on search message display div.
BUG: In CN_Walker_Term_Select_List_Enhanced::render(), ensure when querying by parent_id ensure that child_of is reset to its default value of 0.
BUG: Refactor cnTerm::tree() to vastly improve its performance.
TWEAK: Replace existing code in cnTemplatePart::categorySelect() to use CN_Walker_Term_Select_List_Enhanced.
TWEAK: Replace \n with PHP_EOL.
TWEAK: Streamline CN_Walker_Term_List a little to make it more efficient.
TWEAK: Set current category in CN_Walker_Term_List.
TWEAK: Use CN_Walker_Term_Check_List to render the link list of categories rather than using cnTemplatePart::categoryLink().
TWEAK: Remove dead code in cnTemplatePart::categoryLink().
TWEAK: Add querying by parent_id support to CN_Walker_Term_List::render().
TWEAK: Update cnTemplatePart::category() to use the cnTemplatePart::categoryChecklist() helper function when layout is not a table.
TWEAK: Update cnTemplatePart::category() to use the cnTemplatePart::categoryRadioGroup() helper function when layout is not a table.
TWEAK: Remove the old code that the new term radio group and checklist walkers replaced.
I18N: Update the POT file.
I18N: Correct settings for _n() keyword in the grunt checktextdomain command.
DEV: Exclude the node_modules folder in the makepot grunt task.
DEV: Add the cnTemplatePart::categoryChecklist() helper function.
DEV: Add the cnTemplatePart::categoryRadioGroup() helper function.
OTHER: Remove unused var.
OTHER: Remove extra white space.
OTHER: Insert whitespace.
OTHER: Fix a couple misspellings.
OTHER: Fix code alignment.
8.2.3 03/26/2015
FEATURE: Add Stitcher to the social media options.
BUG: Fix the path to the markerclusterer library.
BUG: Fix the CN_CUSTOM_TEMPLATE_URL path to properly point to the content_url().
BUG: Adjust the substring position and length in cnRetieve::upcoming() so it only returns MM-DD.
BUG: When performing an upcoming date(s) query, do not convert the date from @@session.time_zone to +00.00 because it caused entries to be returned from +1day more than what should have been returned.
BUG: Make sure to pass the $homeID var when calling get_permalink() when not $wp_rewrite->using_permalink().
BUG: Custom field titles/names should not be wrapped in the
TWEAK: Add notranslate to several areas in cnOutput to prevent Google Translate from translating names and such.
TWEAK: Beautify the admin CSS file.
TWEAK: Beautify the frontend CSS file.
TWEAK: Run admin CSS thru Autoprefixer.
TWEAK: Run the frontend CSS thru Autprefixer.
TWEAK: Remove invalid/old CSS rules. Remove unit on 0 values. Optimize style declarations.
TWEAK: Delete unused sprite.
TWEAK: Remove the icon markup from the Update page ... must have missed it.
TWEAK: Address many issues reported by csslint in cn-admin.css.
TWEAK: Redo classes for quicklink buttons so chained classes are not required for the desired style/hover effect.
TWEAK: Change class name cn-background-blue to cn-button-blue.
TWEAK: Tweak button CSS to more match the admin style buttons.
TWEAK: Remove the usage of the $connections global in cnSchema::addDefaultCategory().
TWEAK: Cleanup admin button styles.
TWEAK: Change the class name button-warning to cn-button-warning.
OTHER: Update minified CSS files.
I18N: Update Arabic translation.
I18N: Update Romanian (Romania) translation.
I18N: Update all translation MO files.
DEV: Update grunt devDependencies versions.
DEV: Add .jshintrc to the .editorconfig file.
DEV: Add the .csslintrc to the .editorconfig file.
DEV: Add lint-css task to grunt.
DEV: Remove invalid rules from .jshintrc.
DEV: Add lint-js task to grunt.
DEV: Add lint-css:strict task to grunt.
DEV: Update .gitignore to ignore the logs folder.
DEV: Add logfile-grunt to devDependencies in package.json.
DEV: A few minor phpDoc fixes in cnTemplatePart.
8.2.2 03/16/2015
TWEAK: Move third party js libraries from assets folder to the vendor folder.
TWEAK: Move the jQuery qTip CSS from the assets folder to the vendor folder.
TWEAK: Update css/js paths to the vendor folder.
TWEAK: Use grunt-contrib-uglify to minify the JS files.
BUG: The select that add the sort_column needs to be part of the query when performing a random query so the query will not fail when filtering by character.
BUG: When updated meta by ID, the value should be unslashed.
BUG: The geocode should not be shown on the frontend.
BUG: No need to runt the category description thru __().
BUG: No need to runt the bio thru __().
BUG: No need to runt the notes thru __().
I18N: Add missing text domains.
I18N: Fix misspelled text domains.
I18N: Update MO files.
I18N: Ignore the connections-en_US.mo file.
I18N: Include the Arabic translation.
I18N: Include the Thai translation.
OTHER: Add Grunt to .gitignore.
OTHER: Update Eclipse in .gitignore.
OTHER: Update Sublime Text in .gitignore.
OTHER: Change phpStorm comment header in .gitignore.
OTHER: Change PO File comment header to i18n and move connections.mo to be under it.
OTHER: Add a Misc section in .gitignore.
OTHER: Change the Misc comment header to Dreamweaver.
OTHER: Remove several unnecessary sections from .gitignore.
OTHER: Add Transifex to .gitignore.
OTHER: Add package.json for Node.js.
OTHER: Add Gruntfile.js.
OTHER: Ignore the build folder.
OTHER: Minor readme.txt changes.
OTHER: Initial readme.md commit.
OTHER: Add grunt-uglify to package.json.
OTHER: Add minify-js to grunt tasks.
OTHER: Add grunt-autoprefixer to package.json.
OTHER: Add prefix-css task to grunt.
OTHER: Add grunt-contrib-cssmin to package.json.
OTHER: Add minify-css task to grunt.
OTHER: Clean up grunt syntax to be uniform.
OTHER: More complete package.json file with a config key to be used in the Gruntfile.js.
OTHER: Update many of the tasks to use the variable from the config key in the package.json file.
TWEAK: Use the new CN_Walker_Term_Select_List walker class to render the category select drop down on the manage admin page.
TWEAK: Refactor the category metabox to use the new CN_Walker_Term_Check_List walker class to render the category checklist.
TWEAK: Refactor cnMeta::add() to allow inserting meta into other tables based on the object type.
TWEAK: Refactor cnMeta::get. Also implement new method cnMeta:updateCache(), a required method of cnMeta::get().
TWEAK: Refactor cnMeta::update().
TWEAK: Refactor cnMeta::delete().
TWEAK: Remove use of local static $cache var from cnMeta.
TWEAK: Remove usage of stripslashes_deep() in cnMeta::add().
TWEAK: Remove the "old style" filters which mimicked the WP core from cnMeta::update().
TWEAK: Use wp_parse_id_list() to sanitize the entry ID/s to delete.
TWEAK: Remove the "pre_term_description" filter right before saving a category so HTML will not be stripped.
TWEAK: Declare cnTerm::get_Hierarchy() as public instead of private.
TWEAK: Streamline return logic of cnLocate::file().
TWEAK: Change some code order of cnTerm::getTaxonomyTerms() to match core WP function get_terms().
TWEAK: Remove the class.template-walker-category-list.php file from being included on plugin load. Use cnTemplatePart::walker() to load and init instead.
TWEAK: Remove the cnCategoryObject class which has been replaced by the new list table and walker classes.
TWEAK: Update the category filter on the manage page to properly check for the "Show All..." option value used by the new term walker class.
TWEAK: Remove the admin notice about the cache folder not being writable.
TWEAK: Rename filter cn_get_entry_terms to cn_get_object_terms.
TWEAK: Rename action cn_set_entry_terms to cn_set_object_terms.
TWEAK: Rename cnTerm::get_entry_terms() to cnTerm::getRelationships().
TWEAK: Rename cnTerm::set_entry_terms() to cnTerm::setRelationships().
TWEAK: Rename cnTerm::remove_entry_terms() to cnTerm::deleteRelationships().
TWEAK: Rename cnTerm::objectCache() to cnTerm::getRelationshipsCache().
TWEAK: Rename cnTerm::update_entry_count() to cnTerm::updateRelationshipCount().
TWEAK: Small refactor to cnTerm::getRelationships() which add a couple filters which can be hooked into.
TWEAK: Declare cnTerm::isAncestorOf() as a public static function.
TWEAK: Clean entry/term relationships on term update.
TWEAK: Clean entry/term relationships on term delete.
TWEAK: Refactor cnEntry::getMeta() to be compatible with the data structure returned by cnMeta::get() due to the cnMeta refactor.
TWEAK: Refactor cnOutput::getMetaBlock() and cnOutput::renderMetaBlock() to be compatible with the data structure returned by cnMeta::get() due to the cnMeta refactor.
TWEAK: Refactor cnAdminActions::processEntryMeta() to be compatible with the refactored cnMeta.
TWEAK: Refactor cnAdminActions::categoryManagement() to be compatible with the new bulk actions structure due to refactoring the categories admin page around WP_List_Table.
TWEAK: Refactor cnAdminActions::saveUserFilters() to be compatible with the new category select on the manage admin page due to refactoring the category select around the Walker class.
TWEAK: Refactor cnEntryMetabox::meta() to query the custom fields meta directly from the db rather thru cnMeta so we can also retrieve the meta ID.
TWEAK: Refactor cnEntryAction::meta() to be compatible with the refactored cnMeta::get() structure so the entry meta can be properly deleted.
TWEAK: Refactor cnRetrieve::entryCategories() to be compatible with the refactoring done to cnTerm.
TWEAK: Change the Settings API priorities from .1 to 0.
TWEAK: Tweak the loading of the plugin textdomain so it's ready for language packs.
TWEAK: Add esc_attr() in the 'edit' context for the 'name' field.
TWEAK: Add esc_html() in the 'display' (default) context for the 'name' field.
TWEAK: Call cnFormatting::toBoolean() statically in _upcoming_list().
TWEAK: Add support for the term meta table activation installation and db update.
TWEAK: Add cnMeta::tableName().
BUG: Delete term meta when a term is deleted.
BUG: Fixed selected terms in the term checklist walker.
BUG: Check to ensure the meta keys are not empty before building the select drop down.
BUG: Append the paged query var to the bulk category actions callback.
BUG: Fix text domains.
BUG: Ensure any template can be used in the the [upcoming_list] shortcode.
BUG: Fix the selected category in the category drop down when using the category slug.
BUG: Remove the use of htmlentities() when retrieving entries by category name.
BUG: Pass an array to end() rather than the results of an expression to avoid possible fatal error.
BUG: Remove the page title and page permalink filters from the wp_list_pages() function.
BUG: Fix applying image opacity when using the Imagick editor.
BUG: Fixed several bugs in cnMeta where vars were named incorrectly.
BUG: Escape the meta key select options in the custom fields metabox.
BUG: Forgot to apply the wpdb table prefix to the table name in cnMeta::tableName().
BUG: cnMeta::deleteByID() should have been declared public static.
OTHER: Fix misspellings in phpDoc in areas of code with edits/changes.
OTHER: Fix phpDoc issues in class.schema.php.
OTHER: Fix phpDoc issues in cnLocate::file().
OTHER: phpDoc fixes in cnTemplatePart::locate().
OTHER: phpDoc fixes in CN_Walker_Term_List.
OTHER: Fix misspelling in cnTemplatePart::load().
OTHER: phpDoc fixes in cnForm.
OTHER: Fix code spacing in areas of code with edits/changes.
OTHER: Fix some misspellings in areas of code with edits/changes.
OTHER: Base phpDoc the plugin constants.
OTHER: Use Yoda conditions in connections.php.
OTHER: Remove extra blank lines in areas of code with edits/changes.
OTHER: Cleanup phpDoc for _upcoming_list().
OTHER: Add minimal phpDoc to cnShortcode_Connections::shortcode().
OTHER: Cleanup phpDoc in cnSEO.
OTHER: phpDoc cleanup of cnMeta.
8.1.7 01/26/2015
BUG: Fix bug which was stripping numeric characters from the entry name when it was being displayed.
BUG: Fix bug where category slugs were not being quoted which cause querying by category slug to fail.
TWEAK: Cleanup logic in cnEntry::setFamilyMembers().
TWEAK: Cleanup/refactor the methods that get the entry name fields in cnEntry.
TWEAK: Set the edit context when displaying the entry "name" fields.
OTHER: Introduce cnSanitize::field().
OTHER: Fix a phpDoc errors.
8.1.6 01/21/2015
BUG: Fixed the “Warning: Cannot use a scalar value as an array” error. This error was shown to users when their web host does not have an image processing library installed on the web server. This error should no longer be shown, however, Connections will not be able to dynamically resize images. A notice in the admin will still be displayed, “The server does not have ImageMagick or GD installed and/or enabled. Either of these are required for WordPress to be able to resize images. Please contact your server administrator.” If you see this notice, you will have to contact your web host and request that they install the GD image processing library.
BUG: White screen when uploading an image. This, I believe, is being caused by an older version of the Imagick image processing library. The older version does not contain a required function and will cause a fatal error when Connections tries to use it. This causes the white screen. To address this, Connections no longer uses that function.
BUG: Fix bug with image URL/s when the protocol is https so they are served securely.
BUG: Fix bug that would copy any images from the connections-images folder to the {entry-slug} folder when adding an entry.
BUG: Add missing stylesheet for datepicker in metabox API.
BUG: Ensure lat/lng are properly formatted preventing PHP from localizing it.
BUG: Fix admin dashboard admin widgets so the so the correct date ranges.
BUG: Allow cnRetrieve::entries() to return results with status ‘pending’ for users with the edit moderated capability.
BUG: Allow the ‘cn_edit_entry_form’ action to be fired if the user’s entry status is approved or pending.
BUG: Show the edit entry admin bar link if the entry status is approved or pending if the user has either edit or edit moderated capabilities.
BUG: Fix undefined index errors.
TWEAK: Add input attribute accept=”image/*” to both the image and logo upload fields.
TWEAK: Ensure that the path and URL to images are updated to the current path to account for moving sites or changing the site’s folder structure.
TWEAK: Ensure sub dir is prefixed with a forward slash in cnUpload::subDirectory(). Since it is now being prepended with a forward slash both path and url needed to be untrailingslashit() so the paths are correct when the two are joined with subdir(). This was done to remain consistent with WP core.
TWEAK: Prevent selection of files that are too large to be uploaded.
TWEAK: Add actions/filters to cnImage::upload().
TWEAK: Ensure other plugins can not override the upload path in cnUpload::File().
TWEAK: Include the Dashboard admin page templates only in the admin.
TWEAK: Only load the System Dashboard widget if the current user can manage options.
TWEAK: Refactor cnEntry::set().
TWEAK: Refactor cnEntry::getName().
TWEAK: Refactor cnOutput::getNameBlock().
TWEAK: Refactor cnOutput::getFamilyMemberBlock().
TWEAK: Refactor cnRetrieve::upcoming().
TWEAK: Refactor portions of cnRetrieve::entries() to be cleaner and more efficient.
TWEAK: Remove unused global var from cnOutput::getNameBlock().
TWEAK: Init the template API on the plugins_loaded action hook.
OTHER: Update EDD-SL Updater to 1.6.
TWEAK: Add the $value options to cnTemplatePart::categorySelect() so the SELECTED options can be set rather than rely on query vars.
TWEAK: Remove unused local vars in cnAdminActions.
TWEAK: Remove several deprecated image related functions.
OTHER: Compatibility fix to prevent s2member from resetting the custom roles and capabilities.
OTHER: Add additional countries and regions to cnGeo.
OTHER: Introduce cnFragment::clear().
OTHER: Introduce CN_Walker_Category_List.
OTHER: Introduce cnImage::maxSize().
OTHER: Introduce cnSanitize::args().
OTHER: Introduce cnFormatting::replaceWhatWith() and cnFormatting::normalizeString().
OTHER: Add get permalink methods to both cnEntry (returns) and cnOutput (echos). Moved directoryHome page to cnEntry.
OTHER: Fix a lot of misspellings in the code inline docs.
OTHER: Fix a lot of phpDoc errors.
I18N: Update Spanish (Spain) translation.
I18N: Update Russian (Russia) translation.
I18N: Add Thai translation.
I18N: Add Romanian (Romania) translation.
8.1.5 10/16/2014
FEATURE: Add cnFormatting::excerpt().
BUG: Fix the use of UTF8 Cyrillic entry slugs throughout. Addresses issue where URL encoded folder names would be created for the images uploaded to an entry.
BUG: The output of get_query_var( 'cn-s' ) does not need to be urldecode().
BUG: Check for empty search terms array after shortwords are removed to prevent invalid db queries.
BUG: Reset the $like array var to ensure valid queries when performing a keyword search.
TWEAK: Use cnFormatting::excerpt() to create the entry bio for improved excerpt creation form several of the premium templates.
TWEAK: Add support autocomplete in cnHTML::input().
OTHER: Remove whitespace.
OTHER: Add .editorconfig.
8.1.4 10/08/2014
BUG: Ensure image is not a WP_Error before trying to access its process log.
BUG: Fix error report when creating entry images. Was not calling correct object.
BUG: Ensure no double slash in paths when uploading an image.
BUG: Make cnEntry_Action::deleteImages() is PHP <= 5.2 compatible.
BUG: Ensure neither $filename or $source are empty in cnEntry_Action::deleteImages().
BUG: Fix undefined index notices when processing new images.
BUG: Fix the "Resize to fit the specified dimensions (no cropping)." image option.
BUG: Fix unclosed br tag in error message triggered when adding images to entries.
BUG: Fix missing %separator% token in replacement string for getLinkBlock() and getContactNameBlock().
BUG: Run setTermRelationships() thru $wpdb->prepare().
BUG: Fix version in changelog and readme.
TWEAK: Add tag option to getTitleBlock();.
8.1.3 10/01/2014
BUG: Add style that should not be added to the img tag attributes.
BUG: Update cnLog to be compatible with change made in WP_Error in WP 4.0 when WP_DEBUG is not defined or FALSE.
BUG: Fixed undefined index error.
TWEAK: Refactor and add filters to cnRetrieve::search().
TWEAK: Move the image style from the span to the img.
TWEAK: Change cn-list-actions from id to class.
TWEAK: Update image_path_exists_failed and image_path_writeable_failed error messages.
OTHER: Prevent themes from setting spans as blocks within Connections HTML markup.
OTHER: Add the cn_list_body_class filter.
OTHER: Add the cn_list_row_class filter.
OTHER: Add limit support when querying phone numbers.
OTHER: Add limit support when querying email addresses.
OTHER: Temporarily disable the HiDPI image in srcset.
OTHER: Add experimental code (disabled) to speedup cnImage when called thru a URL query.
I18N: Update POT file.
8.1.2 09/16/2014
BUG: Fix responsive image CSS bug.
BUG: Fix infinite loop bug when uploading images in a WP multi site installation.
TWEAK: Check for isDot() before calling. PHP5.2/5.3 compatibility.
TWEAK: Change custom template path for multi site back to blogs.dir.
TWEAK: Re-enable attemting to make writable CN_IMAGE_PATH in the upgrade.php file.
TWEAK: Add cnImage::info().
TWEAK: Update cnImage::get() to use cnImage::info().
TWEAK: Fix crop_focus sanitation in cnImage::get().
TWEAK: Add filter cn_get_image_atts.
TWEAK: Add action cn_image_get.
I18N: Update Turkish (Turkey) translation.
8.1.1 09/09/2014
BUG: Fix responsive image support for IE8.
BUG: Fix issue where uploads of PNG file variations would save as JPG instead of PNG.
BUG: In multisite the upload subdir s/b sites not blogs.dir.
BUG: Set the image stream quality if one was not defined in the image query string.
BUG: Take into account default permalink setting when creating the image query string.
BUG: Ensure no duplicate meta title and meta desc on internal pages when using WPSEO.
TWEAK: Refactor code to use CN_IMAGE_PATH and CN_IMAGE_BASE_URL to support CN_MULTISITE_ENABLED.
TWEAK: Add support for registering a content block for list or entry only.
TWEAK: Update cnLog to be compatible with changes made in WP_Error in WP 4.0.
TWEAK: Escape text in a couple anonymous functions to prevent translations from throwing PHP errors.
TWEAK: Force new image uploads to have lowercase file extension. Add support for existing filenames with uppercase file extensions.
TWEAK: Increase execution time and memory limit when processing images.
TWEAK: Remove use of SKIP_DOTS for PHP < 5.3 compatibility.
TWEAK: Support the uploading of GIF/s.
TWEAK: Add info() the the cnUpload class to get Connections related upload paths.
TWEAK: Use cnUpload::info() to define image upload paths.
TWEAK: Disable the admin image check because it somehow prevented access to the plugins/updates.
OTHER: Add Spain regions to cnGEO.
OTHER: Add error message for when $img_path is not set.
I18N: Update POT file.
8.1 09/02/2014
FEATURE: Photo and logo images are now responsive.
FEATURE: Photo and logo images support HiDPI (Retina) devices.
FEATURE: Improve search results for relevancy and shortword search support.
FEATURE: Add new shortcode [cn_thumb].
FEATURE: Add new shortcode [cn_thumbr].
FEATURE: Add new image crop method, fit.
FEATURE: Add SmugMug to social network options.
FEATURE: Register TimThumb compatible query vars and add the CN_IMAGE_ENDPOINT root rewrite endpoint.
BUG: Fix gettext domain for "Name".
BUG: Make sure the visibility options are translation ready.
BUG: Fix invalid HTML markup. Remove p tag from within a span element in the no image block.
BUG: Fix vCard importing on OSX.
BUG: Fix bug that would cause entry meta to be lost during an entry update.
BUG: Fix cnSanitize::string() color callback method name.
BUG: Ensure valid custom metabox before displaying.
BUG: Make country code for Maldives uppercase.
TWEAK: Remove stop words from search.
TWEAK: Only run keyword search when FULLTEXT search is enabled if no results were returned from the FULLTEXT search.
TWEAK: Improve exclude_category exclusion.
TWEAK: Allow changing of entry type when copying and editing an entry.
TWEAK: Complete refactor of the admin js file.
TWEAK: Update frontend pagination links to use paginate_links().
TWEAK: Update CSS to support the pagination markup output by paginate_links().
TWEAK: Move the category separator within the category span.
TWEAK: Change span around entry name in core templates to div.
TWEAK: Add jquery-validate as a script dependency for cn-ui-admin.
TWEAK: Add support for the id attribute on the form tag.
TWEAK: Add id attribute to the add/edit entry form.
TWEAK: Cache category select, category checklist and family relations.
TWEAK: Use actual year in vCard instead of upcoming year for anniversary and birthday dates.
TWEAK: Update the posts dates to reflect the entry currently being viewed.
TWEAK: Add another CSS style for Chosen so theme's do not break it.
TWEAK: Add "Edit Entry" action link to the admin bar.
TWEAK: Set the visibility options only if a user is logged in.
TWEAK: Remove unnecessary manage form actions for metaboxes.
TWEAK: Remove inline styles from images.
TWEAK: Update image settings with better descriptions.
OTHER: Added methods to cnSanitize to sanitize a hex color with/without a hash.
OTHER: Add error message warning if GD or Imagick is not installed.
OTHER: Move class.filesystem.php in folder structure.
OTHER: Register and enqueue Picturefill.
OTHER: Add the CN_IMAGE_DIR_NAME constant.
OTHER: Add the CN_IMAGE_ENDPOINT constant.
OTHER: Introduce cnUpload.
OTHER: Introduce cnImage.
OTHER: Introduce cnLog.
OTHER: Introduce cnColor.
OTHER: Introduce cnCache.
OTHER: Introduce cnFragment.
OTHER: Introduce cnString.
OTHER: Add maybeHashHEXColor().
OTHER: Add remapRange().
OTHER: Add xrmdir().
OTHER: Add several helper methods in cnEntry to handle image metadata.
OTHER: Eliminate the use of Timthumb and class.upload.php from core.
OTHER: Move class.upload.php to the vendor sub-folder.
OTHER: Delete class.upload.php lang files. Not needed.
OTHER: Remove double spaces and trim the result of getName().
OTHER: Remove the use of the cn_preloader.
OTHER: Various checks to deal with empty entry slugs.
OTHER: Add filter so pagination atts can be changed.
OTHER: Update the installation instructions in the readme.txt file.
OTHER: Add screenshots to the readme.txt file.
OTHER: Remove deprecated image option methods.
OTHER: Add color picker support to the metabox api.
OTHER: Add filters to allow the addition of new metadata options.
I18N: Updated Danish translation.
I18N: Updated French (France).
I18N: Update connections.pot file to include new strings.
0.8.14 07/21/2014
FEATURE: Improve responsive readiness of the Dashboard and Manage admin pages.
BUG: Rename the base for of the Single Entry Card template.
BUG: Fix HTML syntax for text areas.
BUG: Fix permalink encoding issue.
BUG: Fix Dashboard column toggle.
BUG: Fix the Screen Options tab display and functions.
BUG: Escape the template file path before including it.
TWEAK: Remove section head relative positioning.
TWEAK: Improve Visibility CSS in metabox header.
OTHER: Update TimThumb to 2.8.14.
I18N: Update German (Germany) translation.
0.8.13 06/20/2014
BUG: Fix logic that determines if cnEntry_Shortcode should process $content for the cn_entry shortcode.
BUG: Fix cnFormatting::toBoolean(). Check if value is bool and return it if it is. Otherwise convert value to bool.
TWEAK: Add submit, textarea & hidden to cnHTML.
TWEAK: Re-order before/after list/entry action hooks to be more consistent.
OTHER: Update EDD_SL_Plugin_Updater to version 1.2.
0.8.12 06/13/2014
FEATURE: Add Goodreads to social media options.
FEATURE: Add IMDb to social media options.
FEATURE: Add Tumblr to social media options.
BUG: Add missing gettext text domain to the "Clear Search" button.
BUG: Fix RTE saving on the Settings admin page.
BUG: Properly search the child template path for custom template files.
TWEAK: Update the Google+ icons.
0.8.11 06/06/2014
BUG: Fixed the Visual editor in the Settings API.
BUG: Fixed the Visual editor on Categories admin page.
BUG: Prevent divide by zero error in pagination.
TWEAK: Add filter for default admin metabox page hooks.
TWEAK: Change cnLocate::file() logic to search for all files in priority order before moving on to the next priority folder.
TWEAK: Change cnTemplate::locate() logic to search for all files in priority order before moving on to the next priority folder.
OTHER: Fix misspelling in phpDoc block.
OTHER: Add cnTemplatePart helper methods used to require template part files.
0.8.10 06/02/2014
BUG: Fixed issue where Visual editor may not work.
0.8.9 05/26/2014
BUG: Remove extra hyphen when checking for template javascript registration action.
0.8.8 05/26/2014
TWEAK: Set width to template table cell to make them evenly spaced.
TWEAK: Remove $atts when retrieving an entry to edit on the front-end.
TWEAK: Clean the publish metabox code.
TWEAK: User get_current_user_id() to reduce db queries.
TWEAK: Cleanup admin CSS and JavaScript script enqueue code.
TWEAK: Remove unused JavaScript code on edit admin pages.
TWEAK: Add filters so plugins can alter the page hooks that the CSS and JS will be enqueued on.
TWEAK: Add actions to allow other plugins to hook into to make it easy to enqueue scripts only on Connections` admin pages.
TWEAK: Use hyphen instead of underscore for CSS and JS slugs.
I18N: Update Danish translation.
I18N: Update Hebrew (Israel) translation.
I18N: Update Hungarian (Hungary) translation.
I18N: Update Portuguese (Brazil) translation.
I18N: Add Nowegian translation.
0.8.7 05/19/2014
TWEAK: Change input type to search on manage page.
TWEAK: Add link to Education level to readme.txt.
TWEAK: Allow linked entry to edit on front-end when Form >= 2.0 is install and activated.
BUG: Fix for cnURL::fromPath() where path would be incorrect for a small number of users. Use wp_normalize_path() if it exists.
BUG: Fix for PHP "Fatal error: Cannot use string offset as an array".
BUG: Fix PHP explode error when enable_category_multi_select=true.
BUG: Fix default region settings sanitation callback which prevented the default region from being set.
I18N: Update French (France) MO file.
I18N: Update Hebrew (Israel) MO file.
I18N: Update Hungarian (Hungry) MO file.
0.8.6 05/09/2014
TWEAK: Change default entry visibility to 'Public'.
TWEAK: Readme.txt file tweaks.
BUG: Fix datepicker so it would function correctly in custom metaboxes.
BUG: Fix broken filter to allow default visibility to be set.
BUG: The 'Cancel' will now link to the current admin page when adding/editing an entry.
BUG: Fix entry status being set when editing an entry with only the 'edit_entry' capability.
BUG: Fix select/drop down when viewed on mobile device.
I18N: Add Hebrew (Israel).
0.8.5 05/02/2014
BUG: Fix logic for template part output that prevented rendering of some template features.
TWEAK: Remove the repeatable character index from the view all endpoint.
OTHER: Add whitespace.
0.8.4 05/02/2014
BUG: Fix the random ordering.
BUG: Fix cnTemplatePart::formOpen().
BUG: Fix CSS URL path string replace for inline CSS.
TWEAK: Admin CSS tweaks for custom metaboxes.
OTHER: Add meta value filter.
0.8.3 05/01/2014
TWEAK: Remove the cn-clear class from the list section heads.
TWEAK: Register Chosen with jquery-chosen-min for legacy support.
0.8.2 04/30/2014
BUG: Fix HTML markup for the "Clear Search" button.
TWEAK: Remove "-min" from several JavaScript registration handles.
TWEAK: Add a few filters to better maintain backward compatibility with several commercial templates.
I18N: Update all MO files.
I18N: Add Catalan.
I18N: Add Russian.
I18N: Add Portugese (Portugal).
0.8.1 04/29/2014
BUG: Fix activation error for users where the server is still running PHP 5.2.
BUG: Fix custom template path folder name.
0.8.0 04/28/2014
FEATURE: Custom Metabox and Fields API.
FEATURE: Introduce Custom Content Blocks.
FEATURE: Introduce cnHTML.
FEATURE: Introduce cnSanitize.
FEATURE: Introduce cnUtility.
FEATURE: Introduce cnEntry_Shortcode.
FEATURE: Introduce cnTemplate_Shortcode.
FEATURE: Introduce CN_License.
FEATURE: Introduce cnLocate.
FEATURE: Complete refactor of cnTemplate.
FEATURE: List Actions are user sortable.
FEATURE: Entry Actions are user sortable.
FEATURE: Add Instagram to social media.
FEATURE: Add option to disable output of core CSS.
FEATURE: Add search query message above results.
TWEAK: Update all core metabox fields to use the new Custom Metabox and Fields API.
TWEAK: Add query to retrieve "individuals" from the database.
TWEAK: Remove the "Select Relation" option from the drop down when creating a family.
TWEAK: Update both cnForm::buildRadio() and cnForm::buildSelect() to use cnHTML.
TWEAK: Make userPermitted a static method.
TWEAK: Add method to return permitted visibility options.
TWEAK: Show only user permitted visibility options.
TWEAK: Register dashboard metaboxes using cnMetaboxAPI.
TWEAK: Remove action which registered dashboard widgets.
TWEAK: Add a filter to addresses which will geocode the address rather than having that logic within the setAddresses() method.
TWEAK: Refactor cnTerms->addterm().
TWEAK: Add plugin header to all core templates so they can be moved to the plugins folder and tweaked in an update safe manner.
TWEAK: Add a readme.txt file to the core templates folder providing instructions on how to tweak core templates in an update safe manner.
TWEAK: Remove use of deprecated jQuery live and toggle functions.
TWEAK: Remove use of $wpdb->escape().
TWEAK: Add seed to rand() to support random pagination.
TWEAK: Add orderby and order support to getTerms().
TWEAK: Reduce query counts.
TWEAK: Add support for cn-cat-in query var.
TWEAK: Update cnRetrieve::entry() to support query by slug.
TWEAK: Add the edit endpoint.
TWEAK: Add the submit endpoint.
TWEAK: Add the search endpoint.
TWEAK: Add the results endpoint.
TWEAK: Move category relationship processing to an action.
TWEAK: Removed unused javascript.
TWEAK: Cleanup CSS registration names and remove unused script registrations.
TWEAK: Change cnFormatting::toBoolean() to a static method.
TWEAK: Move loadTemplate to cnTemplateFactory.
TWEAK: Limit the recently added entries in the dashboard widget to 10.
TWEAK: Remove unnecessary filters in the shortcode.
TWEAK: Add name intial tokens in getNameBlock().
TWEAK: Define preferred db table engine based on db version.
TWEAK: Strip shortcodes from getExcerpt() function.
BUG: Fix the exclude_category shortcode option.
BUG: Fix the img HTML tag output when displaying the social media icons.
BUG: Remove an unused query when adding categories.
BUG: Add DOING_AJAX check to prevent PHP undefined index notices when performing AJAX functions.
BUG: Check for lat/lng in Maps API result to prevent PHP undefined index notices.
BUG: Fix query that orders by anniversary/birthday.
BUG: Check that date_create() hasn't returned FALSE.
BUG: Ensure page title filter is not applied outside main loop.
BUG: Ensure date format is valid for DateTime().
BUG: Fix PHP undefined index notices with image/logo uploads.
BUG: Take user add entry capability and entry status into account when setting an entry's visibility status.
BUG: Fix a couple PHP undefined index notices with the entry logo.
BUG: Fix many translation coding errors.
BUG: Fix vaious minor bugs with vCard support.
OTHER: Add JSON encode.decode helper methods.
OTHER: Remove useage of get_usermeta from cnUser.
OTHER: Remove deprecated function attribute_escape().
OTHER: Add sortable checklist to the Settings API.
OTHER: Update Chosen to version 1.1.0.
OTHER: Update jQuery Validation plugin.
OTHER: Include and register Font Awesome.
OTHER: Add method to cnURL to retrieve URL for supplied file path.
0.7.9.7 04/17/2014
BUG: Load TinyMCE plugin based on WP version.
0.7.9.6 04/17/2014
BUG: Fixed compatibility of the bio and notes field in WP 3.9.
0.7.9.5 02/21/2014
BUG: Fixed double quoting which could cause category queries to fail.
0.7.9.4 02/20/2014
BUG: Fixed URL escaping in pagination links.
BUG: Fix potential XSS issue.
0.7.9.3 10/15/13
FEATURE: The character filter now uses a permalink structure which is more SEO friendly.
BUG: Fixed the character filter when the directory is used on the front page.
0.7.9.2 09/30/13
BUG: Fix bug preventing the copying of an entry.
0.7.9.1 09/23/13
BUG: Critical fix that fixes the path to the inc.upgrade.php file.
0.7.9 09/15/13
FEATURE: Added an exclude_category shortcode option.
FEATURE: The character index now filters by the character clicked rather than just using an in-page link.
FEATURE: Add home_id and force_home shortcode options that will override the setting on the Connections : Settings admin page.
TWEAK: Adjust text domain loading to allow MO files to be saved to and loaded from the WP_LANG_DIR so custom translation are update safe.
TWEAK: Allow most constants to be overridden in the wp-config.php file to permit update safe custom locations.
TWEAK: Add new relative path constants and add them to the Connections : Dashboard System widget.
TWEAK: Update path not found error messages. Message now points to the website where much more info can be provided and more frequently updated.
TWEAK: Purge the legacy template transient on page load of the Connections : Templates admin page.
TWEAK: Check that the template is found before returning its object.
TWEAK: Check that a legacy temnplate's path/files exists before returning its object.
TWEAK: Use relative URL when loading images via TimThumb.
TWEAK: Add constant to allow positioning of the admin menu.
TWEAK: The "Add to addressbook." link will no longer be shown on the core templates if it has been turned off under the entry action settings.
TWEAK: Change structure of core class to be a singleton.
TWEAK: Use an action to register the cnUser class.
TWEAK: Move general admin functions to their own class.
TWEAK: Move the admin menu functions to their own class.
TWEAK: Move the visibility and status bulk action functions to the cnEntry_Actions class.
TWEAK: Add a delete method to the cnEntry_Actions class.
TWEAK: Add the status action to the cnAdminActions class.
TWEAK: Completely redo the record count method for more accurate results.
TWEAK: Use a space instead of no-space when stripping out returns, new lines and tabs from the shortcode output.
TWEAK: Remove the action in the plugin init that registered the Names template and added it to the template file instead.
TWEAK: All core templates are updated to use the new template API.
TWEAK: The upcoming_list shortcode now uses the cnAction_css action hook.
TWEAK: Remove the "scope" attribute from the CSS inserted mid page for FireFox compatibility.
TWEAK: Only add the HTML comment text if WP_DEBUG is set to TRUE.
TWEAK: Remove the form action attribute from the add/edit entry form.
I18N: Update the POT file.
I18N: Add Persian (Iran).
I18N: Add Turkish (Turkey).
I18N: Add Portugese (Brazil).
I18N: Update French (France).
I18N: Update Spanish (Spain).
I18N: Update Hungarian (Hungry).
I18N: Update Dutch (Netherlands).
I18N: Update Italian (Italy).
I18N: Update Polish (Poland).
I18N: Update Danish (Denmark).
I18N: Update German (Germany).
I18N: Add Spanish (Latin America).
I18N: Add Serbian (Latin).
BUG: Fix query string creation when using the Default permalink structure.
BUG: Fix some double slashing when loading template assets.
BUG: Fix malformed HTML being created when the template not found error message was shown.
BUG: Fix a conflict with Formidable.
BUG: Fix the Members template so it at least functions again.
BUG: If no template author waas supplied, return an empty string.
BUG: Fix the edit links on the Connections : Dashboard widgets.
BUG: Remove 'p' from the query string when using the default permalink structure.
BUG: Remove the /feed/ endpoint from the directory subpages because they caused 404 search engine crawl errors.
BUG: Fixed an undefined index notice in the cnTemplateFactory class.
OTHER: Fix typo's on the SEO Settings admin page.
OTHER: Fix typo's in the Names template.
OTHER: Remove all PO files.
OTHER: Add a CREDITS.txt file.
OTHER: Add a LICENSE.txt file.
OTHER: Add a README.txt file to the languages folder providing direction on how to translate the plugin.
OTHER: Remove complete @todo's from the phpDoc.
OTHER: Add a cn_loaded action for extensions and templates to hook into.
OTHER: Add a cn_register_template action for templates to hook into.
OTHER: Update a few doc links to the website.
OTHER: Some general code cleanup.
0.7.8.1 07/25/13
TWEAK: Properly adjust the anniversary and birthday dates t the local timezone when doing the upcoming query.
TWEAK: Use date_i18n() in the getAnniversaryBlock and getBirthdayBlock functions for proper internationalization.
BUG: Fix the sprintf error that prevent the entry categories to be output as classes for custom CSS.
BUG: Fix a couple broken paths from moving files around.
OTHER: Move the role capability check to the activation function to prevent an activate failure.
OTHER: Make the $sep and $seplocation vars optional to prevent other plugins from breaking Connections.
OTHER: Update the page link to the Extensions on the Dashboard.
0.7.8 07/16/13
FEATURE: Add SEO features.
FEATURE: The page meta title, shown in the browser tab/window, will be updated to reflect the current category, entry or region being viewed.
FEATURE: The page meta description will be added. An excerpt from the current category or entry bio will be used.
FEATURE: The page title will be updated to reflect the current category, entry or region being viewed.
FEATURE: The category description now supports HTML input and has been updated to use a RTE.
FEATURE: Optionally show the category description when viewing a category.
TWEAK: Extensive file and folder reorg of the plugin.
TWEAK: Move all admin entry actions to be processed via cnAdminAction().
TWEAK: Add new cnEntry_Action class for public dev access that can handle general entry management such as adding/editing and duplicating an entry.
TWEAK: Added instructions to the Connections : Setting admin page under the Search tab.
TWEAK: Ensure no direct access to any plugin file is permitted.
TWEAK: Remove the deprecated displayMessages() function throughout.
TWEAK: Backward compatibility fixes for Form and CSV Import Extensions.
TWEAK: Update all language files.
TWEAK: Prefixed all query var admin actions with "cn-".
TWEAK: Admin manage pagination and filter by character are handled by cnAdminAction().
TWEAK: Disable ModSec on the image processor folder.
BUG: A few GMT date fixes.
BUG: vCard should now be able to be downloaded over SSL.
BUG: The role capability settings should no longer reset on updates.
0.7.7.1 06/16/13
FEATURE: Add Hungarian translation.
FEATURE: Add Dutch translation.
BUG: Remove urlencode from category slug. This was causing malformed URLs.
BUG: Fixed a couple index undefined errors.
OTHER: Update Danish translation.
OTHER: Update German translation.
OTHER: Update Spanish translation.
OTHER: Update French translation.
OTHER: Update Polish translation.
0.7.7 06/02/13
FEATURE: The organization field can now be set to show as a link and when a user clicks the link, the list will be filtered by that organization.
FEATURE: The department field can now be set to show as a link and when a user clicks the link, the list will be filtered by that department.
FEATURE: The city field can now be set to show as a link and when a user clicks the link, the list will be filtered by that city.
FEATURE: The state field can now be set to show as a link and when a user clicks the link, the list will be filtered by that state.
FEATURE: The zip code field can now be set to show as a link and when a user clicks the link, the list will be filtered by that zip code.
FEATURE: The country field can now be set to show as a link and when a user clicks the link, the list will be filtered by that country.
FEATURE: Add a date format option which will default to the current WP setting.
FEATURE: Add a "lock" shortcode option. When set to true, that shortcode instance will be unaffected for queries.
TWEAK: If an entry is linked to a user, show the user's name and link it to their profile.
TWEAK: Dates will now output localized.
TWEAK: Add before and after entry action hooks.
TWEAK: Minor optimization in the alternate row CSS logic in the shortcode output.
TWEAK: Pass the shortcode $atts to all action hooks.
TWEAK: Output dates using the new dateformat option.
TWEAK: Add filter hook to cnOutput::getImage().
TWEAK: Remove the !important statement from width in the CSS #cn-list span.cn-image img.
TWEAK: Validate and sanitize the image settings.
BUG: Do not output an empty ul container if there are no registered list actions.
BUG: Fixed undefined index error: fulltext_enabled.
OTHER: Moved all admin actions for template administration to cnAdminAction().
OTHER: Moved all admin actions for category administration to cnAdminAction().
OTHER: Prefix all category admin fields to avoid plugin conflicts when processing admin actions.
OTHER: Prefix all role/capability admin fields to avoid plugin conflicts when processing admin actions.
OTHER: Prefix all template admin fields to avoid plugin conflicts when processing admin actions.
OTHER: Spanish translation has been updated.
OTHER: Convert much of the shortcode output to be run thru sprintf() for easier code reading/processing.
OTHER: Removed unused code in the shortcode.
OTHER: Code cleanup of cnOutput::getImage().
OTHER: Ensure default values are in place for the rewrite rules.
OTHER: Add a .htaccess file to the TimThumb folder to ensure it can be called directly.
OTHER: Update the jQuery Fixr option to support the upcoming WP 3.6.
0.7.6.6 04/30/13
NOTICE: Requires WordPress 3.3 or newer.
BUG: Remove merge confict markers in class.settings.php. Why the heck didn't git throw a merge conflict error!
0.7.6.5 04/29/13
NOTICE: Requires WordPress 3.3 or newer.
FEATURE: New entry actions, return to directory link and download vCard link.
BUG: Removed the list actions in the dashboard widgets.
BUG: Use %f when inserting/updating entries for lat/long so wpdb->prepare() properly sanitizes the float values.
BUG: Fix the category_in shortcode option so it returns only entries that are in all the specified categories as it should have been doing.
BUG: Fix logic in cnTemplatePart::categorySelect() to properly set the selected categories in the drop down when being determined from the URL.
BUG: Remove empty string from gettext calls. This was causing Poedit errors.
TWEAK: Add the new $tag attribute to the shortcodes.
TWEAK: Small optimization when requesting the category tree.
TWEAK: Cleanup and improve the legacy template scanning logic.
TWEAK: Don't put a .htaccess file in the connection_images folder. Some servers prevent showing the images.
TWEAK: Add support for onClick to cnURL::permalink().
TWEAK: Add cnTemplatePart::entryActions() and add support for it in the shortcode.
TWEAK: Add filters to tweak the no results message for the upcoming anniversary and birthday dashboard widgets.
OTHER: Update the minified CSS file.
OTHER: Move list actions from the shortcode to the templates parts API.
OTHER: Move the return to top target from the shortcode to the template parts API.
OTHER: Update the shortcode to use the list action and return to top template parts.
OTHER: Add some more CSS to help prevent themes from breaking form inputs ... unfloat them within Connections.
OTHER: Moved the character index from the shortcode to the template parts API.
OTHER: Update the shortcode to use the character index from the template parts API.
OTHER: Remove the cnForm::buildAlphaIndex() method as it no longer used.
OTHER: Add error suppression to ini_set() used in class.upload.php.
OTHER: Add cnTemplatePart::updated().
OTHER: Update all supplied templates to use Add cnTemplatePart::updated().
OTHER: Update all supplied templates to use Add cnTemplatePart::returnToTop()
OTHER: Add cnTemplatePart::noResult() and update the shortcode to use it.
OTHER: Update French translation. Props fxbernard!
OTHER: Move the legacy template installer on the Connections : Templates admin page to the bottom of the page so it is out of site. Added a link to the installation/upgrade instructions.
0.7.6.4 04/06/13
NOTICE: Requires WordPress 3.3 or newer.
FEATURE: Add new cnScript class to manage all registration and enqueueing of the CSS and JS libraries.
BUG: Remove the canonical redirect filter from the front page so Connections queries will be properly handled on the site front page.
BUG: Add missing text domain to allow "Categories:" to be translated.
BUG: Reset the offset and cn-page query var if the results returned are less than current page offset.
BUG: Ensure array is returned even if no search fields were chosen to prevent PHP argument error.
BUG: Set all methods in the cnRegisterSettings class to be static.
BUG: connectionsLoad::start() stated as a static method.
OTHER: Update pot file and sync all lang po files.
OTHER: Change cnTemplatePart::categorySelect() to a static method.
OTHER: Change cnTemplatePart::categorySelectOption() to a static method.
OTHER: Change cnSettingsAPI::field() to a static method.
OTHER: Updated French translation. Props to Fx Benard.
OTHER: Set max-width: none CSS attribute on the return to top image.
OTHER: Set max-width: none !important; on the img tag for Google Maps to prevent themes from rendering the map controls and pin useless.
OTHER: Rename an action hook for better clarity for its purpose.
OTHER: Some code alignment cleanup in the shortcode function.
OTHER: Add additional verbiage to explain the Google Maps API setting.
0.7.6.3 03/19/13
NOTICE: Requires WordPress 3.3 or newer.
BUG: Revert change applied in 0.7.6.2 for updating entries which caused data loss. Rolled back to 0.7.6.1 immediately after discovering the bug.
BUG: Fixed logic that prevented the editing of categories.
OTHER: Add support in the shortcode for the card_single template part.
OTHER: Convert cnURL::permalink() to be a static method.
OTHER: Update phpDoc for cnURL::permalink().
OTHER: Add support for overriding the name link setting in cnOutput::getNameBlock().
0.7.6.2 03/17/13
NOTICE: Requires WordPress 3.3 or newer.
FEATURE: Add new relationship types; Friend, Partner, Significant Other and Spouse.
FEATURE: Add CSS to highlight the current character the list is being filtered by.
BUG: Fix "Template not found." error when the list_type shortcode is used.
BUG: Add a check in the activation hook for the cnRole class and if it isn't found explicitly load it. This should prevent rare upgrade errors users have been encountering.
BUG: Correct the execution order of a couple actions in the [connections] shortcode.
BUG: Add the missing default skeleton CSS for the date block and elements.
BUG: When updating an entry pull the entry details from the db rather than the local class cache objects. This is to prevent duplicate data from being inserted when Link links WP user and a Connections entry.
BUG: Fix a logic bug when scaling logos.
OTHER: Convert most of the methods in the cnSettingsAPI class for reduced memory overhead when calling in actions/filters.
OTHER: Add additional tags to the readme.txt.
OTHER: Update the URL for the Google Maps API.
OTHER: Force the background to be transparent in Google Map div to prevent theme's from messing with the map display with poor CSS.
0.7.6.1 03/12/13
NOTICE: Requires WordPress 3.3 or newer.
FEATURE: Introducing the "Names" template. A simple responsive template which outputs a list of every name within the directory in a column format if the browser supports it.
FEATURE: Add a view all link option that can be turned on. When on, it'll show a link at the beginning of the list which will take you to a list of every entry utilizing the Names template.
FEATURE: Add option to strip \r\n, \r, \n, \t from the shortcode output to help prevent themes that insist on messing with the wpautop filter from corrupting the shortcode output.
FEATURE: Add an option that attempts to restore the use of the WordPress bundled version of jQuery instead of alternate versions that themes insist on using.
FEATURE: Name linking is now turned on by default.
OTHER: Add CSS block placeholder on the templates admin page when a template does not have a thumbnail image.
OTHER: Add cnTemplatePart static class.
OTHER: Refactor cnTemplate to be a reusable object that defines a template and its parts.
OTHER: Load the Google Maps API using SSL when required.
OTHER: If the custom templates folder does not exist or is not writable the install template option will not be visible.
0.7.5.1 03/05/13
BUG: Removed reference to $this in a static method which would cause on error an activation.
0.7.5 03/05/13
FEATURE: Use cnFileSystem to add a blank index.php and a .htaccess file with the no indexes option set for added security to both the images and custom templates folders.
BUG: Remove double slashing in path when including files.
BUG: The dashboard widgets were showing the character index and alpha head if they were turned on in the display settings.
OTHER: Add cnSchama class and move all table creation methods to it out of the main plugin file to reduce memory overhead.
OTHER: Add cnFileSystem class to handle folder and file creation.
OTHER: Add cnMessage class to handle all admin action/error messages. The class is initialized in the admin only to reduce user side memory overhead.
OTHER: Add cnRoles class to manage role capability assignments. This class is initialized in the admin only to reduce user side memory overhead.
OTHER: Add cnAdminAction class. This class will eventually process all admin actions such adding/editing an entry. For now it just processes any changes to the roles settings.
OTHER: Covert many of the core actions to static methods so the core plugin class doesn't have to be pass to actions/filters to reduces overall memory overhead.
OTHER: Move the sanitize methods to the cnSettings class from the cnOptions class.
OTHER: Code clean-up, remove unused and abandoned code to reduce memory overhead.
OTHER: Changed several of the admin error messages to admin notices.
0.7.4.1 02/26/13
BUG: The visibility setting for addresses was not being obeyed.
0.7.4 02/24/13
FEATURE: The entries can now be filtered by initial character on the Connections : Manage admin page.
FEATURE: Add the Display settings tab.
FEATURE: The character index option can now be set via a setting on the Display tab rather than having to set it via the shortcode. The shortcode option is still in place and can be used to override the setting.
FEATURE: Change the rewrite rule for a single entry to point to the detail page. This is to support the ability to be able to chose which template is used to render the single entry based on its type. This can be defined on the Display settings.
FEATURE: Minified CSS and JavaScript files will now be enqueued by default. If SCRIPT_DEBUG is set to TRUE the un-minified files will be enqueued. This matches core WordPress functionality.
FEATURE: Added option to disable keyword search. This will yield more accurate search results in the db tables supports FULLTEXT queries.
BUG: Remove use of deprecated ereg() PHP function.
OTHER: Add CSS to make sure themes do not float the Chosen select.
OTHER: Code cleanup and alignment of cnOutput::getImage().
OTHER: Set the logo default to ratio fill rather than crop.
OTHER: Image loading spinning will now only be shown for dynamically scaled images.
OTHER: Reduce the fade-in delay of the dynamically scaled images.
OTHER: Revert use of date_i18n() back to gmmdate() on cnEntry::getUpcoming() because the date/time would be offset according to the user local which would cause the actual date displayed to be incorrect.
OTHER: Fix misspelling of setting description.
OTHER: Add setting option to change the URL base for filtering by character in the front end.
OTHER: Code cleanup of cnFormatting::sanitizeString().
OTHER: Code cleanup of cnFormatting::sanitizeStringStrong().
OTHER: Code cleanup of cnFormatting::stipNonNumeric().
OTHER: Code cleanup of cnFormatting::toYesNo().
OTHER: Run the URL base settings thru cnFormatting::sanitizeStringStrong() to ensure only valid values are entered by the user.
OTHER: Add rewrite rules to support filtering by initial character.
OTHER: Started to breakout the main cnRetrieve::entries() method for better maintenance and easier multiple use.
OTHER: Add rel prev/next to the pagination links for better SEO.
OTHER: Add the current-cat class to the category list template part so the current category can be easily styled.
OTHER: Update class.upload.php to version 0.32.
OTHER: Add the Github link to the readme.txt file.
OTHER: Ensure the user can not deactivate both keyword and FULLTEXT queries.
OTHER: Update POT file.
OTHER: Update all MO/PO files.
0.7.3.7 01/30/13
BUG: Correct the table prefix logic for multisite.
OTHER: Add the constants set byu Connections to the Dashboard System widget.
0.7.3.6 01/23/13
FEATURE: Added German translation.
BUG: Correct logic to run as single site mode in a multisite install of WordPress.
BUG: Add missing end quote in the inline CSS for the template not found error message which caused malformed HTML.
BUG: Use rawurlencode_deep instead of rawurlencode in the array_map callback to account for the possiblility that arrays may be contained in the array that is being passed.
BUG: Fix so the multi-select show the correctlt selected items.
OTHER: Correct version numbers of some of the registered JS libraries.
OTHER: CSS fix for the search input in Firefox.
OTHER: Update the mo/po language files.
OTHER: Disable the canonocal redirect feature for now, causing trouble for too many users.
0.7.3.5 01/22/13
BUG: A fix for those where the category filter was not working.
0.7.3.4 01/21/13
BUG: Return the rewrite rule array to eliminate the array_merge() error.
0.7.3.3 01/21/13
BUG: Correct the filter calls for the rewrite rules to reference the correct class.
0.7.3.2 01/20/13
FEATURE: Danish translation added. Note, this is only partially completed.
FEATURE: French translation added.
FEATURE: Added gettext support the cnOutput::getBioBlock and cnOutput::getNotesBlock methods.
FEATURE: Add shortcode support to the login required message.
FEATURE: Added Yelp to the social media options.
FEATURE: Add support for canonical redirect for Connections URLs.
FEATURE: Added many new action and filter hooks.
FEATURE: Add "View Admin Menu" role capability.
BUG: Add the CN_MULTSITE_ENABLED global to the is_multisite() check to determine the file paths and urls to use.
BUG: Add trailingslashit to the permalink to ensure the it is properly slashed before adding pagination values to the permalink.
BUG: Ouput the formatted date using the WP date_i18n() function.
BUG: Fix the links target setting.
BUG: Correct misnamed variable.
BUG: Add missing gettext domain on some strings.
BUG: Correct the path in the POT file.
BUG: Add additional kewords to the POT file.
BUG: Fix PHP 5.4 warning for creating a default object from empty value.
BUG: Correct "Show All entries" misspelling.
BUG: Re-enable the setAnniversary() and setBirthday() in the inc.process.php. Needed to support Form.
BUG: Remove double slashing in loading template files.
BUG: Ensure the Google Map API is loaded on the admin add/edit entry page in the admin even if the it has been disabled from loading on the front end.
BUG: Set the yearRange on jQuery UI datepicker to show the past 100 years in the drop down. Previously it stopped at 2002 which was limiting.
BUG: Ensure an array is passed to the cnRetrieve::entries method.
BUG: Make missing template error msg translation ready.
BUG: Update directory home page error message.
BUG: Add missing table declaration when querying by entry slug in class.retrieve.php.
BUG: Change the default category permalink structure tag from 'category' to 'cat' to avoid conflicting with WordPress.
BUG: Add rewrite rules to support Connections' use on the front page. Make the code other adjustments required to properly support Connections query on the front page by adding the page_id of the front query as needed.
BUG: Properly build the links for in-page anchors.
BUG: Add missing textdomain and path to plugin header.
BUG: Add missing textdomain to some strings in inc.upgrade.php.
BUG: Correct textdoamin in settings attribute array.
BUG: Correct textdomain in plugin header.
BUG: Update outdated URL/s on the Dashboard admin page.
BUG: Change help desk link to point to the new support forums.
BUG: Fix font-size for quicklinks dashboard buttons.
BUG: Remove more "Call-time pass-by-reference" for PHP 5.4
BUG: Correct usage of wp_redirect().
BUG: Fixed entry slug creation when copying an entry.
BUG: Fix bug in nonce form-field creation.
BUG: The anniversary and birthday type were injected back into the date results after filtering by type so they were always returned regardless of type being set.
BUG: Fix removing the last anniversary or birthday.
OTHER: Normalize line endings for git.
OTHER: Remove new lines at end of files.
OTHER: Remove closing PHP tag from files.
OTHER: Corrected the name of the POT file.
OTHER: Code cleanup and alignment done throught to bring code in better alignment with WP coding standards.
OTHER: Create minified versions of the CSS and JS files.
OTHER: Correct the image processing debug message to output only once instaed of once per process.
OTHER: Add the CSS height attribute and set it to auto for the form inputs.
OTHER: Document the cnEntry::getUpcoming method.
OTHER: Add CSS to set no border on social media icons.
OTHER: Remove use of deprecated eregi() PHP function.
OTHER: Add option array & filter to output of bio & note.
OTHER: Add new class, cnRewrite in file class.rewrite.php. This class registers query vars and has the actions and filters that handles the page/root rewrite rules as well as the canonical redirect action and filter.
OTHER: Remove the query var registration and page rewrite rules from the core connections.php file and moved them to the new cnRewrite class.
OTHER: PHPdoc updates to the cnRewite class.
OTHER: Started to remove the pass by reference variables in function calls as this has been deprecated and will cause PHP notices.
OTHER: Add the height attribute to the search input CSS to help keep themes from breaking the style.
OTHER: Add missing text translation functions for the anniversary and birthday strings in the class.entry.php file.
OTHER: Add message to the configure permalink structure suggesting to avoid using the WordPress default structure names.
OTHER: Tested up to 3.5.
OTHER: Update email address in plugin header.
OTHER: Init the Settings API via action hook.
OTHER: Update the Settings API to self init.
OTHER: Move the cnRewrite::init() to the connectionsLoad::initDependencies().
OTHER: Improve JavaScript and CSS registration and enqueueing.
OTHER: CSS to make the search button IE compatible.
OTHER: Update all exteral libraries included with Connections.
OTHER: Validate and sanitize the visibility entry setting.
8 OTHER: Validate and sanitize the status entry setting.
0.7.3.1 10/01/12
FEATURE: Spanish translation has been included.
BUG: Remove all occurrences of double slashing.
BUG: Add the missing 'dates' column that should be created on new activations.
0.7.3 09/30/12
FEATURE: Added permalink support.
FEATURE: Added a date meta field which uses the jQuery UI Datepicker for easy data entry.
FEATURE: Added auto and manual geocoding of addresses.
FEATURE: Added markup to the telephone number output to support clickable telephone numbers on smartphones.
FEATURE: Which fields to search can now be defined in the settings.
FEATURE: Added a configurable message that can be displayed to the user prompting them to login when the directory is set to require user login.
FEATURE: Updated the Settings admin page to use the new Connections Settings API Wrapper Class.
FEATURE: Added a view link to the Connections : Manage page. This link will take you to the front end of the site to that specific entry.
FEATURE: Added foursquare to the social media options.
FEATURE: Added Odnoklassniki to the social networks.
FEATURE: Added Vimeo to the social networks.
FEATURE: Allow categories of the same name as long as they do not share the same parent.
FEATURE: Added a global 'CN_MULTISITE_ENABLED' to run Connections as a single site installation when installed on multi-site.
BUG: Use character entity codes for the page forward / page backward buttons.
BUG: Add the missing queries to enable FULLTEXT index for the default search fields.
BUG: Allow either http:// or https:// for both social media link and links.
BUG: Fix data validation for entry details to ensure only the fields expected in arrays is processed.
BUG: Disabled the registration the jQuery spin.js plugin because Elegant Themes uses the same registration name which causes conflicts and errors in the admin.
BUG: Fixed link target always setting to "New Window".
BUG: Fixed issues with empty data with the various data fields being saved when they should have been discarded.
BUG: Fixed an incorrectly named variable in cnEntry::getSocialMedia().
BUG: Remove the "Edit" and "Delete" actions from the default "Uncategorized" category to further prevent uses from trying to edit it.
BUG: cnRetrieve::entries, wrap the category_name option values in htmlspecialchars() so it'll find matches in the db. This is because the special charaters are stored in the db with entities encoded.
BUG: Make sure the correct folder path and URL are set in the CN_* constants for multi-site.
BUG: Make sure the table prefixes are preperly set in the CN_* constants for multi-site.
BUG: Fix markup bug for vevent in the anniversary and birthday output.
OTHER: Update Chosen CSS version query string.
OTHER: Added some additional CSS to keep theme's from breaking the default Connections layout.
OTHER: Improve search results.
OTHER: Improve search scalability.
OTHER: Improve the the add entry javascript functions to reduce redundant code.
OTHER: Minor efficiencies to code in class.entry.php.
OTHER: Code cleanup of the connections.php file.
OTHER: Complete re-write of the settings to use the new Connections Settings API Wrapper Class.
OTHER: Removed the new line returns from around the social media icons and added 1px left/right margin.
OTHER: Check for data in the lat/long and country fields before tossing the address as empty.
OTHER: Updated the version attribute when enqueuing the Chosen CSS file.
OTHER: Add error supression to the unlink function in the inc.processes.php file.
OTHER: Deprecated the method used to create a link to the vCard.
OTHER: Added replacement static method in the cnTemplate class uses the new permalink support and offers and icons option.
OTHER: Added public method 'returnToTop' to create the return to top anchor in the cnTemplate class.
OTHER: Added public method 'pagination' to create the pagination controls in the cnTemplate class.
OTHER: Added public method 'search' to create the pagination controls in the cnTemplate class.
OTHER: Added public method 'category' to create a category drop in the cnTemplate class. Supports, single-select, multi-select and option groups for both. It also supports checkboxes and radio inputs in a table layout where the parents and children are presented in unordered lists.
OTHER: Move the query result count properties to the cnRetrieve class.
OTHER: Added base for landing pages.
OTHER: Added base for entry detail page.
OTHER: Prefix the image preloader jQuery plugin function with cn_ to prevent potential conflicts with themes.
OTHER: Add icons support for the email addresses.
OTHER: Remove the legacy help page from the admin.
OTHER: Remove some support for the legacy template system. This will be completely removed in the next release in preparation for the improved plugin template system.
OTHER: Minor optimization in setting the default values in the cnRetrive class for limiting the query by status.
OTHER: Minor optimization in setting the default values for the sort order in the cnRetrive class.
OTHER: Added some descriptive text to the input text fields on "Add Category" admin page.
OTHER: Adjusted a few styles on the "Templates" admin page for better visual integration with WordPress 3.4.
OTHER: Adjusted a few styles on the "Roles" admin page for better visual integration with WordPress 3.4.
OTHER: Started the cnGeo API Class to support geocoding.
OTHER: cnOutput::getMapBlock, check to see if the width value is empty in the interactive map div before setting the CSS width.
OTHER: Add inline CSS to the socialmedia icons to help prevent themes and other plugins from interfering with the icon size.
OTHER: Add the CSS required for the "Return to top" anchor link to the cn-user.css file.
OTHER: Flush rewrite rules on plugin upgrade.
OTHER: Update all files to use the CN_* constants.
OTHER: Add an option to cnOutput::getNameBlock() turn the name into a permalink and set its target to either the direct link or to the detail page.
OTHER: Added filters for all the $atts variables in cnOutput.
OTHER: Add Connections and Database version to the Dashboard System widget.
OTHER: Updated the cnOutput:getAnniversaryBlock() and cnOutput::getBirthdayBlock() methods to allow greater flexibility in formatting the output.
OTHER: Added a separator token to most of the methods in the cnOutput class.
OTHER: Updated all default templates to use the new cnOutput::getDateBlock method.
0.7.2.7 04/23/12
OTHER: Started to internationalize.
OTHER: Add a few CSS styles to the cn-user.css file for Chosen to make the selectors more specific to help prevent themes from overriding them.
0.7.2.6 04/15/12
BUG: Fixed a bug that cause a bad query when using custom ordering and performing a search.
BUG: Changed jQuery to $ in the cn-user.js file on line 2.
OTHER: Remove MarkerClusterer jQuery Google Maps Marker Clustering Plugin by Xiaoxi Wu and replace it with MarkerClustererPlus jQuery Google Maps Marker Clustering Plugin by Gary Little.
OTHER: Update Chosen jQuery plugin by Harvest to 0.9.8.
OTHER: Update qTip 2 by Craig Thompson to the latest nightly build.
OTHER: Added option to disable the enqueueing of the Google Maps API for compatibility with themes and plugins that load it.
OTHER: Added option to move some of the JavaScript files to the page header rather than the page footer.
0.7.2.5 01/09/12
BUG: Fix an issue that would prevent the social media icons from showing.
BUG: Made sure the widget.css file was only enqueued in WP < 3.2 since it is not required [or exists] in WP >= 3.3.
0.7.2.4 01/08/12
BUG: Fixed the Profile template so it would properly echo the bio field copy.
OTHER: Optimize and Smush.it all of the social media icons. Resulted in a significant file size reductions and overall zip file size reduction.
OTHER: Fix PHP warnings when WP_DEBUG is enabled.
0.7.2.3 01/01/12
FEATURE: Added TripAdvisor to the social media networks per user request.
BUG: Fixed critical table creation error for the links table on new installs. Upgrades are ok.
BUG: Fixed bug in getWebsiteBlock(). Would not return entries with the legacy type of 'personal'.
BUG: Make sure a boolean can not be passed to the opendir() function in class.template.php.
OTHER: If critical Connections folders are not writable, attempt to increment permissions until they are writable. NOTE: This occurs only during plugin activation and upgrading from a previous version.
OTHER: Update the default templates to use the new output methods.
OTHER: Removed the unused code in cnEntry::getLinks() to convert a string to an array. It was being done twice, two differnet ways.
OTHER: Increase the TimThumb FILE_CACHE_MAX_FILE_AGE to 7 days.
OTHER: Add an "Add New" button next to the H2 on the Connections : Manage admin page.
OTHER: Add FULLTEXT to several of the Connections tables.
OTHER: Add a secondary LIKE search if the FULLTEXT search returns no results OR for when the users DB does not support FULLTEXT.
OTHER: Update the iTunes icons with a better version which also has a more permissive lisense.
0.7.2.2 12/25/11
FEATURE: Added option to the links to be able to assign them to either the image or logo.
FEATURE: Social media networks now default to having an icon rather than the text link.
BUG: Add missing style for the cn-list-head so the alphaindex will be positioned correctly.
BUG: Create the required folders in wp_content as part of the db upgrade process.
BUG: Add the style sheet for Chosen to the Connections admin pages.
BUG: Check for the Chosen jQuery plugin before calling in the admin.
BUG: Initialize the $visibility array in cnRetrieve::recordCount so the implode doesn't thow a PHP error.
BUG: Alter the query in cnRetrieve::entry to use $wpdb->prepare.
BUG: Fix a bug in the max Google Static Map width and height logic. The max setting will be 640x640px instead of the default setting of 400x400px.
BUG: When an entry is assigned to multiple categories and when using the order_by='id|RANDOM' option that entry would display once for each category it was assigned.
OTHER: Remove the "Call-time pass-by-reference" from the upcoming list shortcode attributes.
0.7.2.1 12/18/11
FEATURE: Search for the admin and select premium templates.
FEATURE: Added a Dashboard page in the admin.
FEATURE: Added a Today's Birthdays admin dashboard widget.
FEATURE: Added a Upcoming Birthdays admin dashboard widget.
FEATURE: Added a Today's Anniversaries admin dashboard widget.
FEATURE: Added a Upcoming Anniversaries admin dashboard widget.
FEATURE: Added a Recently Added dashboard widget.
FEATURE: Added a Recently Modified admin dashboard widget.
FEATURE: Added a Connections News admin dashboard widget.
FEATURE: Added a Template Update News admin dashboard widget.
FEATURE: Added a Pro Module New admin dashboard widget.
FEATURE: Added a System Info / Configuration admin dashboard widget.
FEATURE: New role capabilities that allow add and edit moderation.
FEATURE: Added more actions/filters to hook into.
FEATURE: Added hooks to allow templates o be configured via the shortcode so the template's functions.php file does not need edited.
FEATURE: Collapsible and sortable addresses and etc., when adding or editing an address and etc.
FEATURE: Added ICQ as a messenger type.
FEATURE: Added Google+ to the social networks.
BUG: The view_public capability was being removed when role capabilities were being reset.
BUG: Fix many/most/all warnings and such reported when WP_DEBUG is TRUE.
BUG: Remove the connections_view_entry_list role as it is no longer needed.
BUG: Use gmmktime() instead of mktime() when working with the birthday and anniversary so dates are output showing the current date.
BUG: Fixed a bug with applying the cn_list_before filter causing the template CSS to output twice.
BUG: Fixed an issue with getAddressBlock() showing only the last input address.
BUG: Removed the Screen Options tab from the Connections Manage page unless an action was being performed on an entry such as edit/copy.
BUG: Fixed some minor bugs in the upgrade function.
BUG: Fixed malformed vCard when Department was entered without and organization name.
BUG: Fixed removing all family members issue.
BUG: Contact name shouldn't have been saved for entry types of individual and family.
OTHER: Remove the meta Connections version from the head as it failed HTML5 validation. Added to the connections div as an HTML5 data attribute.
OTHER: Disabled JavaScript compression on the Add/Edit Entry page. When enabled the RTE wouldn't load to JS errors.
OTHER: Update Roles and Capabilities page to use the metabox visual styles.
OTHER: Updated the help page. Fixing typos and adding more info.
OTHER: Update the settings page to match the WordPress setting page styles for better integration.
OTHER: Update the categories page style to match the WordPress categories page styles for better integration.
OTHER: Update the role page style to use the post metabox style for better integration.
OTHER: All processes are now handled by a process method rather than hooking into the current page for better role capability support.
OTHER: Remove the Donate link from the meta links on the Plugins page.
OTHER: Added a entry meta table for future support for custom entry details.
OTHER: Tweaked the header of the Manage / Copy / Edit screen.
OTHER: Added a cache folder during activation for TimThumb.
OTHER: Removed 'Select' from the address type select to force user selection.
OTHER: Set the 'Member' template as a 'family' template type.
OTHER: Set the 'Single Entry Card' template as a 'individual' template type.
OTHER: Greatly improved support for using the shortcode multiple times on the same page.
OTHER: Improved the pagination support on the Manage page. The limit is now user adjustable.
OTHER: Completely revamped the db structure. Using the original table columns for addresses, etc., for an object to keep db queries to a minimum.
OTHER: Added support for WP 3.3.
OTHER: Use wp_editor when user is running WP 3.3+.
OTHER: Moved the filters to be part of the entry retrieve query. Made possible by the new db structure.
OTHER: Moved the order by option to be part of the entry retrieve query. Made possible by the new db structure.
OTHER: Upgrade the class.php.upload class to .31
OTHER: Added debug logging and display for image uploads.
OTHER: Reworked just about every method in the cnOutput() class to remove all inline styles.
OTHER: All styles have been moved to an external CSS file.
OTHER: Completely restructured the [connections] shortcode logic.
OTHER: The output of the IM networks now conform to the hCard spec.
OTHER: Added the missing contact first and last name template tag.
OTHER: Enable shortcode use in the bio and notes fields.
OTHER: Addressed the "Warning: Call-time pass-by-reference has been deprecated" warning messages.
OTHER: Disable the filter that added menu items to the 'Favorite' drop down that was removed from WordPress 3.2.
0.7.1.6 06/15/2011
Fixes security vulnerability.
0.7.1.5 03/06/2011
FEATURE: Pagination in the admin.
FEATURE: Added YouTube, MixCloud, ReverbNation, iTunes and CD Baby to the social media field.
BUG: Use gmdate() instead of date() when working with the birthday and anniversary so dates are output showing the current date.
BUG: Fixed bug where the last address/phone number/email/messenger id/social media id/ website could not be removed.
BUG: Fix many/most/all warning and such reported when WP_DEBUG is TRUE.
BUG: Fix WP version check in the displayUpgrade method.
OTHER: Added a comma in the getAddressBlock()
OTHER: Removed the PayPal Donate buttons from the Manage and Help pages.
OTHER: Add Extend and Template to the meta links on the plugins admin page.
OTHER: Add a 'Get More' button to the template admin page.
0.7.1.4 Unreleased
FEATURE: Add in_category shortcode attribute. Define multiple categories by id that an entry must be assigned in order to be displayed. [Operational AND]
BUG: Fixed bug with category recursion.
BUG: Fixed bug where identical category names/IDs would be included in the query.
OTHER: Moved the shortcode entry filters to be processed right after the results query.
OTHER: Removed the copying of the download.vCard.php to the WP root during activation. Instead hooked into parse_request for vCard download.
OTHER: Fixed the template in the sample folder from 0.7.1.1 so it functions and renamed it to Members.
OTHER: Registered many query variable that can be processed via the parse_request hook.
0.7.1.3 01/17/2011
OTHER: No Changes. SVN error.
0.7.1.2 01/17/2011
BUG: Fixed the width and height setting being swapped in the getLogoImage() method.
0.7.1.1 01/15/2011
FEATURE: Added Contact First and Last name fields the the Organization entry type.
FEATURE: Added honorable prefix and honorable suffix fields.
FEATURE: Added a template manager to the admin.
FEATURE: Templates now support stylesheets.
FEATURE: Templates now support javascript.
FEATURE: Added RSS option under social media.
FEATURE: Added Podcast option under social media.
FEATURE: Added SoundCloud option under social media.
FEATURE: Improved the rich text editor by using the bundled tinyMCE.
FEATURE: Added three additional order_by attributes; date_added, date_modified and title.
FEATURE: Added Skype option under the messenger IDs.
FEATURE: Added the option to upload a logo in addition to an image.
FEATURE: Latitude and longitude can now be set with each address.
FEATURE: Convert the add/edit entry form to use the WP metaboxes and 'Screen Options' feature to allow some form customization.
BUG: Fixed PHP Warning: Call-time pass-by-reference has been deprecated error in the admin.
BUG: The last updated time and date now function correctly.
BUG: Fix MySpace spelling typo. Any entries saved with a MySpace link will need to be updated.
BUG: Fix the upcoming birthday/anniversary query to show today's birthdays as well as to take into account the current time zone set in the WordPress General settings.
BUG: Fix the sort algorithm for sorting the upcoming birthday/anniversary list by date.
BUG: Fix birthday/anniversary with date of January 1st not being saved.
BUG: Fix Upgrade notice to be compatible with WordPress => 3.0.
BUG: Fix entry drop down when creating a family. Drop downs would only show entries based on the current filter setting for the current user in the admin. The drop down will now show all permitted entries.
BUG: Fix public entries "Allow unregistered visitors and users..." setting not being saved.
BUG: Fix DB upgrade method logic.
BUG: Strip HTML from the Note output for vCard.
OTHER: Entry human time difference in now based the current blog time.
OTHER: The local timestamp will be used when adding/updating an entry rather than the server timestamp.
OTHER: The last updated time will be adjusted to the local timestamp.
OTHER: Connections Groups entry type renamed to Families.
OTHER: Change substr to mb_substr for better support of multibyte character sets.
OTHER: Added total record count based on current user permissions.
OTHER: Further reduced memory requirements.
OTHER: Initiate plugin settings only on activation.
OTHER: Shortcode can now be called as [connections]
0.7.0.4 7/26/2010
FEATURE: Add the option to display the front end list in a specified order.
FEATURE: Add the option to display the front end list in a random order on each page visit/refresh.
BUG: Fixed typo that caused the website URLs to be invalid.
BUG: Fixed so "Select" wouldn't be saved as the address type.
0.7.0.3 7/20/2010
FEATURE: Set website urls to open in a new window/tab as the default.
BUG: Set initial DB version during activation.
BUG: Fix many errors reported when WP_DEBUG is set to true.
BUG: Fix database table check before the table is created during activation.
BUG: When an entry is added, the last modified by field is now correctly set.
BUG: The initial entry category relationship would not be set correctly to uncatgorized if no categories were selected.
BUG: Fix recursive category children when using specified categories multiple times on the same page.
OTHER: Reduced memory requirements further by passing a few large objects by reference rather than creating new instances.
OTHER: Add UTF-8 support in the vCard file.
OTHER: Base64 encode image into the vCard rather than the URI.
OTHER: When creating tables the character set and collate will honor the settings in wp-config.php or the default settings for WP.
OTHER: Upgrade jWYSIWYG to version .92.
OTHER: Added support for the CSV Import Pro Module
0.7.0.2 6/12/2010
FEATURE: Add upgrade notice to the plugin admin page.
BUG: Fix WYSIWYG em tag parse.
BUG: Fix order_by bug. Would not sot sort by city, state, zipcode, country.
OTHER: Add missing documentation for the social media template tags.
0.7.0.1 5/17/2010
BUG: Fix fatal error when custom ordering the results.
BUG: Fix CSS error for a gradient.
0.7.0.0 5/16/2010
FEATURE: Add links on the plug-in management admin page for Settings, Help, Support and Donate.
FEATURE: Theme Template tag for theme development to display the entry list. All shortcode attributes are supported.
FEATURE: Theme Template tag for theme development to display the upcoming list. All shortcode attributes are supported.
FEATURE: The category shortcode attribute has been expanded to allow multiple categories to be called via a comma separated list. If the category has children entries, they will has display (recursively).
FEATURE: Added shortcode attribute, wp_current_category. When this is set to true and the shortcode is used in a post, all entries that have the same category name will be displayed.
FEATURE: Allow more than one website address to be entered per entry.
FEATURE: Automatically add the http:// to the website addresses.
FEATURE: Automatically add the http:// to the social network urls.
FEATURE: Add vCard download link to entry actions.
FEATURE: Add Upgrade Notice text to the readme.txt.
FEATURE: Show the entries assigned categories in the entry list.
FEATURE: Categories are add to the vcard div class.
FEATURE: Add template tag to show an entries assigned categories.
FEATURE: Added a 'Awaiting Moderation' widget to the Connections : Dashboard admin page.
BUG: Set the db version after each db upgrade cycle.
BUG: Add the missing social media block to the output class, default templates and help page.
BUG: Fix typos in the help page.
BUG: Fixed improper use of the prepare method when saving and updating entries.
BUG: Fix issue causing the adding/editing of entries to fail when the '%' character was used.
BUG: Fix error caused by empty $results array in the shortcode.
BUG: Editing a Connection Group caused it to show up twice in the list and only one was editable while the other gave an error.
BUG: Fixing saving the entry type.
BUG: The shortcode filter attributes were not escaped. So strings with extended characters would fail to return a match.
BUG: Fixed elements left behind after removing fields in the entry form.
BUG: Remove entry images from the server when they are removed from the entry.
BUG: If an image was manually deleted from the server, the image tag will not be output.
BUG: Fixed bug that allowed duplicate categories to be created.
BUG: Fixed issue where database would go thru the update cycle on a new install.
OTHER: Add instructional text to the image settings.
OTHER: Add rel="nofollow" to the vCard download link.
OTHER: Removed the use of $_SESSION throughout the plug-in.
OTHER: Enhance plug-in security through the use of nonce.
OTHER: Move the methods from cnConvert class to the cnFormatting class.
OTHER: Move the class.upload.php to the image processing method to remove 1.3MB of plug-in overhead.
OTHER: Reduce memory overhead.
OTHER: Reduce database queries.
OTHER: More efficient query to return entries.
OTHER: Removed the 'custom_template' shortcode attribute. Instead, the custom template folder will be checked for the specified template.
OTHER: Moved the template file checking out of the entry list loop to reduce server file system IO.
OTHER: Add place holders in the admin entry list if no image is associated to an entry.
OTHER: Add dependencies and versions to all wp_enqueue_script / wp_enqueue_style calls.
OTHER: Upgrade the class.php.upload class to .29
OTHER: Better documentation throughout.
0.6.2.1 2/3/2010
BUG: Fixed fatal error when using the shortcode attribute repeat_alphaindex.
0.6.2 2/2/2010
BUG: Fixed unable to remove phone numbers.
BUG: Fixed when removing a field from an entry that the entire field is removed leaving no remnants.
Add support for basic HTML and RTE for the Notes and Bio fields using the jwysiwyg 0.6 jQuery plug-in.
Add order_by shortcode attribute for custom ordering of entries and updated the help page.
Add support for the CSV premium add-on.
Add the missing getBioBlock method to the output class.
Enhanced the help page.
0.6.1 1/19/2010
BUG: Fixed a bug when initializing the settings so they are not reset on activation of the plugin.
BUG: Fixed how capabilities were created and managed for public entries.
BUG: Fixed how the entry edit link was created which was causing a token mismatch.
BUG: Fixed a permission error when using the shortcode override attributes.
Updated class.upload.php to version .28
Remove SQL class, didn't make sense to use it.
Defined table names as constants.
Options class now is used throughout the plug-in rather than creating new instances.
Renamed all the classes to be more unique to help avoid conflict with other plug-ins.
Re-worked the method used to store the cached entry list filters to use the user_meta table.
Capturing more meta data when added/updating entries; date added, added by, last edited by.
Added and middle name. Support extended to hCard and vCard.
Added a setting to disable the private override shortcode attribute.
Added a filter class that can easily be extended. Currently supports filtering by visibility and entry type.
Added a permission filter. All queries are run thru this filter removing any entries the current user is not permitted to view.
Changed it so the upgrade message and version error only show on the Connections admin pages.
Started to enable support for SSL connections.
Changed minimum supported WP version to 2.8 [Uses 2.8 only function for editable roles]
Add check for $_SESSION save path and throw an error if it isn't found.
Add category support.
Add upgrade routine to support new features and some planned future features.
All strings output from the cnEntry and related classes are now sanitized.
0.5.48 9/14/2009
Fixed a jQuery bug in IE8.
The alpha index in the admin is now dynamic. It will only show letters for entries in the list.
0.5.47 9/3/2009
Updated class.upload.php to version .25
Added extensive role support.
Added the ability to set custom image sizes.
Added the ability to determine how an image should be scaled and cropped.
Extensive backend code changes.
Focus on making sure the plug-in is secure.
0.5.1 - 6/21/2009
Added a shortcode attribute to repeat the alpha index and the beginning of each character change. User requested.
Added a shortcode attribute to show the current character at the beginning of each character group. User requested.