In the living specs for parsing XML and HTML, that this library is trying to implement,
there is a distinction between the different types of documents being parsed:
There are quite some rules that are different for parsing, constructing and serializing XML vs HTML documents.
So far xmldom was always "detecting" whether "the HTML rules should be applied" by looking at the current namespace. So from the first time an the HTML default namespace (http://www.w3.org/1999/xhtml) was found, every node was treated as being part of an HTML document. This misconception is the root cause for quite some reported bugs.
BREAKING CHANGE: HTML rules are no longer applied just because of the namespace, but require the mimeType argument passed to DOMParser.parseFromString(source, mimeType) to match 'text/html'. Doing so implies all rules for handling casing for tag and attribute names when parsing, creation of nodes and searching nodes.
BREAKING CHANGE: Correct the return type of DOMParser.parseFromString to Document | undefined. In case of parsing errors it was always possible that "the returned Document" has not been created. In case you are using Typescript you now need to handle those cases.
BREAKING CHANGE: The instance property DOMParser.options is no longer available, instead use the individual readonly property per option (assign, domHandler, errorHandler, normalizeLineEndings, locator, xmlns). Those also provides the default value if the option was not passed. The 'locator' option is now just a boolean (default remains true).
BREAKING CHANGE: The following methods no longer allow a (non spec compliant) boolean argument to toggle "HTML rules":
XMLSerializer.serializeToString
Node.toString
Document.toString
The following interfaces have been implemented:
DOMImplementation now implements all methods defined in the DOM spec, but not all of the behavior is implemented (see docstring):
createDocument creates an "XML Document" (prototype: Document, property type is 'xml')
NBRMode
NBRMode is a new configuration option you can set to opt-in to non-blocking render mode.
Setting NBRMode: true will render the child template/view of the BrPage component without waiting for the Page Model to be retrieved, potentially speeding up page load time on the client.
BREAKING CHANGE:
BrProps interface Page and Component properties can now be undefined.
NBRMode
NBRMode is a new configuration option you can set to opt-in to non-blocking render mode.
Setting NBRMode: true will render the child template/view of the BrPage component without waiting for the Page Model to be retrieved, potentially speeding up page load time on the client.
BREAKING CHANGE:
BrProps interface Page and Component properties can now be undefined.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/bloomreach/bloomreach-reference-spa/network/alerts).
Bumps @xmldom/xmldom to 0.7.6 and updates ancestor dependencies @xmldom/xmldom, @bloomreach/react-sdk and @bloomreach/spa-sdk. These dependencies need to be updated together.
Updates
@xmldom/xmldom
from 0.7.2 to 0.7.6Release notes
Sourced from
@xmldom/xmldom
's releases.Changelog
Sourced from
@xmldom/xmldom
's changelog.... (truncated)
Commits
3ca016d
0.7.6b28e631
docs: Prepare CHANGELOG for 0.7.61f20aee
fix: Backport PR-437 to 0.7.x branch03fcf98
0.7.5d7b248b
docs: Prepare CHANGELOG for 0.7.5b035c62
fix(dom): Preserve default namespace when serializing (#321)e075e99
0.7.4d32be1c
docs: Prepare CHANGELOG for 0.7.4cf93ac8
fix(sax): Restore ability to parse__prototype__
attributes (#315)8333dfc
0.7.3Updates
@bloomreach/react-sdk
from 15.5.0 to 17.1.0Release notes
Sourced from
@bloomreach/react-sdk
's releases.Changelog
Sourced from
@bloomreach/react-sdk
's changelog.... (truncated)
Commits
b4b30fb
SPASDK-142 Bumping versions to 17.1.06b0b9b9
SPASDK-137 Explicitly set children to component properties interface93e0319
SPASDK-137 Support React 185ff0be4
SPASDK-129 Bumping versions to 17.0.1f23947d
SPASDK-129 Bumping versions to 17.0.0c365d93
SPASDK-128 Bumping versions to 16.0.01aa19ac
SPASDK-124 Update copyright on filesf39f170
SPASDK-124 Document NBR mode usage640b5b4
SPASDK-124 Add test for call order on child components52d2f51
SPASDK-124 Bumping versions to 16.0.0-alpha.0Updates
@bloomreach/spa-sdk
from 15.5.0 to 17.1.0Release notes
Sourced from
@bloomreach/spa-sdk
's releases.Changelog
Sourced from
@bloomreach/spa-sdk
's changelog.... (truncated)
Commits
b4b30fb
SPASDK-142 Bumping versions to 17.1.01b4e6c2
SPASDK-142 Bump@xmldom/xmldom
to patched 0.7.65ff0be4
SPASDK-129 Bumping versions to 17.0.19fbce8c
SPASDK-129 Export util function for extracting params from URLf23947d
SPASDK-129 Bumping versions to 17.0.000c7785
SPASDK-129 Remove endpointQueryParameterc365d93
SPASDK-128 Bumping versions to 16.0.01aa19ac
SPASDK-124 Update copyright on files52d2f51
SPASDK-124 Bumping versions to 16.0.0-alpha.05b55030
SPASDK-124 Allow delay in page and component context instantiationDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/bloomreach/bloomreach-reference-spa/network/alerts).