# Changelog

Notable changes are documented here in reverse chronological order.


## [1.0.7] - 2024-08-27

Rev

### Changed

- update translations and docs


## [1.0.6] - 2024-06-05

Rev

### Changed

- update documentation links


## [1.0.5] - 2024-04-29

Rev

### Changed

- assets/blueprints.json - currently unable to add xsltlib to WASM env
- includes/admin.php : update links in Settings
- update local file error checking


## [1.0.4] - 2024-04-03

Init WASM compatibility for playground

### Added

- assets/blueprints.json

### Fixed

- tenandtwo-xslt-processor.php : update load order for xsl extension missing


## [1.0.3] - 2024-04-02
## [1.0.2] - 2024-03-06
## [1.0.1] - 2024-03-06

### Changed

- readme.md
- readme.txt
- includes/cli.php : finalize transform_xml(), select_xml(), select_csv()
- languages/tenandtwo-xslt-processor.pot
- tested with WP 6.5


## [1.0.0] - 2024-03-05

Public URL: https://wordpress.org/plugins/tenandtwo-xslt-processor

### Added

- readme.md


## [0.9.7] - 2024-02-20

Fifth submission

### Changed

- includes/post_type.php : replace js HEREDOC with echo
- includes/xml.php : rename removeXmlDoctype()     : strip_doctype()
- includes/xml.php : rename removeXmlDeclaration() : strip_declaration()
- includes/xml.php : rename removeXmlNamespaces()  : strip_namespaces()


## [0.9.6] - 2024-02-03

Fourth submission

### Added

- includes/cli.php : WP_CLI::add_command( 'xslt', 'XSLT_Processor_CLI' )

### Changed

- includes/admin.php     : rename option sc_transform : sc_transform_xml
- includes/shortcode.php : rename shortcode xslt_transform : xslt_transform_xml
- includes/xml.php : moved removeXmlDeclaration(), removeXmlDoctype(), removeXmlNamespaces() from util.php



## [0.9.5] - 2024-01-11

Third submission

### Changed

- includes/admin.php     : wp_kses($html,'post')
- includes/admin.php     : rename option sc_xsl_transform : sc_transform
- includes/admin.php     : rename option sc_xml_select    : sc_select_xml
- includes/admin.php     : rename option sc_csv_select    : sc_select_csv
- includes/callback.php  : rename method getCsvSelect()   : getSelectCsv()
- includes/callback.php  : rename method getXmlSelect()   : getSelectXml()
- includes/post_type.php : rename in-DB post_types        : xslt_xsl and xslt_xml
- includes/shortcode.php : rename shortcode xsl_transform : xslt_transform
- includes/shortcode.php : rename shortcode xml_select    : xslt_select_xml
- includes/shortcode.php : rename shortcode csv_select    : xslt_select_csv
- xsl/wp.xsl             : rename template wp-csv-select  : wp-select-csv
- xsl/wp.xsl             : rename template wp-xml-select  : wp-select-xml



## [0.9.4] - 2024-01-10

Second submission

### Changed

- includes/admin.php     : esc_html(), esc_html__() and esc_html(_x())
- includes/post_type.php : esc_html(), esc_html__() and esc_html(_x())
- includes/sample-xslt-functions.php : rename function_sample() to xslt_function_sample()
- includes/shortcode.php : esc_html(), esc_html__() and esc_html(_x())
- includes/util.php : replace __DOCUMENT_ROOT__ with __WP_HOME_DIR__
- languages/tenandtwo-xslt-processor.pot
- tenandtwo-xslt-processor.php : remove Update URI and textdomain define


### Removed

- includes/admin.php     : ALLOW_UNFILTERED_UPLOADS


## [0.9.3] - 2023-12-20

Dev during review

### Added

- includes/admin.php : add_settings_field       : sc_csv_select
- includes/admin.php : rename sc_transform      : sc_xsl_transform
- includes/admin.php : rename sc_select         : sc_xml_select
- includes/css/xslt-admin.css : set max-height for edit xml/xsl textarea
- includes/csv.php  : class XSLT_Processor_CSV
- includes/csv.php  : eg, decode_string(), decode_file()
- includes/post_type.php : add_filter           : 'get_the_excerpt'
- includes/post_type.php : register_taxonomy    : 'xsl-category', 'xsl-tag'
- includes/post_type.php : register_taxonomy    : 'xml-category', 'xml-tag'
- includes/post_type.php : add_action( 'pre_get_posts', array('XSLT_Processor_Post_Type', 'update_taxonomy_query') );
- includes/shortcode.php : add 'tidy' option for html|xml values in xsl_transform and xml_select
- includes/shortcode.php : add_shortcode : csv_select
- includes/util.php : getFileListingLocal()
- includes/wp.php : getPostItem() and getPostMeta()
- includes/xml.php : return ['warnings','errors','message'] for tidy_validate()
- includes/xsl.php : return ['warnings','errors','message'] for validateXSL() and validateXML()

### Changed

- includes/post_type.php : register_post_meta   : '_xslt_validation_warnings'
- includes/post_type.php : register_post_meta   : '_xslt_validation_errors'
- includes/post_type.php : register_post_meta   : '_xslt_validation_message'
- includes/xsl.php : call removeParameter() in releaseProcessor()

### Removed

- includes/post_type.php : register_post_meta : '_xslt_validation'
- includes/wp.php : remove getPostByName()


## [0.9.2] - 2023-11-15

WP Plugin name "XSLT Processor" not allowed

### Changed

- Plugin Name: "XSLT Processor" => "Ten&Two XSLT Processor"
- Plugin Slug: "xslt-processor" => "tenandtwo-xslt-processor"


## [0.9.1] - 2023-11-13

Initial release

### Added

- tenandtwo-xslt-processor.php : class XSLT_Processor_Plugin
- tenandtwo-xslt-processor.php : register_activation_hook(   __FILE__, array('XSLT_Processor_Plugin', 'plugin_activation') );
- tenandtwo-xslt-processor.php : register_deactivation_hook( __FILE__, array('XSLT_Processor_Plugin', 'plugin_deactivation') );
- tenandtwo-xslt-processor.php : register_uninstall_hook(    __FILE__, array('XSLT_Processor_Plugin', 'plugin_uninstall') );
- tenandtwo-xslt-processor.php : add_action( 'init', array('XSLT_Processor_Plugin', 'init') );
- tenandtwo-xslt-processor.php : get_option : xslt_processor_options
- tenandtwo-xslt-functions.php : global $XSLT_PLUGIN_PHP_FUNCTIONS

- includes/admin.php : class XSLT_Processor_Admin
- includes/admin.php : load_plugin_textdomain    : tenandtwo-xslt-processor
- includes/admin.php : add_action( 'admin_menu',     array('XSLT_Processor_Admin', 'register_pages') );
- includes/admin.php : add_options_page          : xslt_processor_settings
- includes/admin.php : add_action( 'admin_init',     array('XSLT_Processor_Admin', 'register_settings') );
- includes/admin.php : register_setting          : xslt_processor_settings
- includes/admin.php : add_settings_field        : post_type_xsl + post_type_xml
- includes/admin.php : add_settings_field        : sc_transform
- includes/admin.php : add_settings_field        : sc_select
- includes/admin.php : add_settings_field        : cache_default
- includes/admin.php : add_settings_field        : search_path
- includes/admin.php : add_filter                : plugin_action_links_
- includes/admin.php : add_filter                : upload_mimes
- includes/callback.php : function XSLT_Callback
- includes/callback.php : class XSLT_Processor_Callback
- includes/post_type.php : class XSLT_Processor_Post_Type
- includes/post_type.php : register_post_type    : 'xsl', 'XSL Stylesheets'
- includes/post_type.php : register_post_type    : 'xml', 'XML Documents'
- includes/post_type.php : add_action( 'add_meta_boxes', array('XSLT_Processor_Post_Type', 'add_xslt_validation') );
- includes/post_type.php : register_post_meta    : '_xslt_validation'   (post_type=xsl|xml)
- includes/post_type.php : register_post_meta    : '_xslt_schema_type'  (post_type=xml)
- includes/post_type.php : register_post_meta    : '_xslt_schema_value' (post_type=xml)
- includes/post_type.php : add_action( 'save_post',      array('XSLT_Processor_Post_Type', 'update_xslt_validation'), 10, 3 );
- includes/post_type.php : add_action( 'save_post',      array('XSLT_Processor_Post_Type', 'xslt_validate'), 11, 3 );
- includes/post_type.php : add_filter("the_content",     array('XSLT_Processor_Post_Type', 'the_content_filter'), 20);
- includes/shortcode.php : class XSLT_Processor_Shortcode
- includes/shortcode.php : add_shortcode : xsl_transform + xsl_transform_alias
- includes/shortcode.php : add_shortcode : xml_select
- includes/shortcode.php : add_shortcode : xslt_test  (WP_DEBUG)
- includes/shortcode.php : add_filter    : no_texturize_shortcodes
- includes/util.php : class XSLT_Processor_Util
- includes/util.php : eg, getDateTime(), getRemoteFile(), utf8_clean()
- includes/wp.php : class XSLT_Processor_WP
- includes/wp.php : eg, getShortcodeBooleans(), getPostByName(), getPostContent()
- includes/xml.php : class XSLT_Processor_XML
- includes/xml.php : eg, decode_file(), transcode_xml(), encode_array()
- includes/xsl.php : class XSLT_Processor_XSL
- includes/xsl.php : eg, transform(), validateXSL(), validateXML()
