This version adds support for Drupal 10, removes support for Drupal 8, and removes support for PHP 7. It fixes several deprecations and makes use of new PHP 8 language features, which was not possible while PHP 7 was supported.
- A bug in the [list] plugin that affected the use of a "style" argument with special characters in a text format that did not allow HTML.
- Deprecations and kernel test fixes that did not affect users.
This version has a rewritten [table] tag, which is more robust and less prone to breaking elements inside the table body. Numeric cells are now automatically right-aligned; a universal left-aligned column can be specified with a ~ column header.
This release fixes several encoding/escaping bugs discovered by the expansion of parser tests, including the following:
- Repeated backslashes in argument strings no longer overload the regex engine with exponential backtracking.
- The [ character must now be escaped in any unquoted argument value (this allows the parser to correctly interpret '[a=[b][/b]' as a matched [b] preceded by [a=, rather than a dangling [a=[b] followed by a dangling [/b]).
- Literal backslashes must now always be escaped.
#2627826: Rewrite the parser and use prepare().: Rewrote the parsing algorithm, and used the prepare() phase of the filter. Tags are now validated before any other filters are applied, and the tag arguments (as well as a copy of the source text) are base64-encoded to bypass other filters. This means that tag.option, tag.attr.* and tag.source are now raw values, and only the content is processed by other filters first. Tag contents are rendered on demand, so a [code] tag's content will never be rendered in the first place.
#2630676: Test the filter processing: Added some tests for the filter itself. So far it tests attribute parsing, as well as parsing of various nested tags.
Features:
- A [youtube] tag was added to the xbbcode_basic package.
- xbbcode_table now allows specifying the caption and column headers as attributes.
Features:
- A [youtube] tag was added to the xbbcode_basic package.
- xbbcode_table now allows specifying the caption and column headers as attributes.
- Major bug fixes: Self-closing tags triggered a fatal error, nocode tags were not provided with all of their text content.
- Feature: xbbcode_table now accepts a caption.
- Overhaul of xbbcode_list and xbbcode_table: Adhere to coding standards, improve parsing of nested lists, consolidate list settings in a single variable.
- String improvements: Capitalize the "edit" link, replace the name "XBBCode" with "Extensible BBCode" in all user-facing text, update help text.
- Major bug fixes: Self-closing tags triggered a fatal error, nocode tags were not provided with all of their text content.
- Feature: xbbcode_table now accepts a caption.
- Overhaul of xbbcode_list and xbbcode_table: Adhere to coding standards, improve parsing of nested lists, consolidate list settings in a single variable.
- String improvements: Capitalize the "edit" link, replace the name "XBBCode" with "Extensible BBCode" in all user-facing text, update help text.
While this release is stable (since it is essentially identical to the 7.x-1.0 release), the module is obviously only as stable as the Drupal core it is installed in, and is likely to break when core next undergoes major changes.
First (hopefully) stable release for Drupal 7. This module is now functional and does not generate errors in normal behavior. Basic tags are fine, and custom tags work, as does the security for PHP code evaluation. Some sub-modules have not yet been fully tested or brought up to coding standards.
Development snapshot for the current stable version of core (Drupal 7). All new features will be added to 8.x-1.x first, and will be backported to 7.x-1.x at least until Drupal 8 is released.