diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5e0da3c..ad5c1dd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,81 @@ DataFormsJS uses [Semantic Versioning](https://docs.npmjs.com/about-semantic-ver
Overall the core Framework files, React Components, and Web Components and API are expected to remain stable however the version number is expected to increase to much larger numbers in the future due to the changes to smaller scripts and components. This change log includes all npm release history and new website features or major changes.
+## 5.14.6
+
+* Thanks for Aaron Huggins https://github.com/aaronhuggins for submitting and update to the jsxLoader
+* Support emitting the end of tag name when newline and tab are used: https://github.com/dataformsjs/dataformsjs/pull/24
+
+## Documentation (Feb 14, 2025)
+
+* Thank you to Andrés https://github.com/andr33sdev of Buenos Aires, Argentina for helping with Spanish Translations.
+
+## 5.14.5 (Sep 9, 2024)
+
+* Security update for the starter/example webserver that is included with the main project.
+ * The file [app.js](https://github.com/dataformsjs/dataformsjs/blob/master/server/app.js) uses a custom express-like API with a minimal web server which allows DataFormsJS examples to run using Node.js built-in features and no outside dependencies.
+ * A Path traversal vulnerability was found with credit thanks to Hamidreza Hamidi and [Jafar Akhoundali](https://github.com/JafarAkhondali/).
+ * The issue was `decodeURIComponent` was called out of order allowing for Proof-of-concept (POC) Path traversal attacks on a local developer machine using URLs such as `http://127.0.0.1:8080/..%2fpackage.json` or `bash
+127.0.0.1:8080/%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd`
+ * This impacts the development download of the project but not the NPM published release.
+* Replaced CDN https://unpkg.com/ with https://www.jsdelivr.com/
+ * The property `jsxLoader.babelUrl` was changed and can be set back to unpkg if needed by setting the URL prior to the page being loaded.
+ * All example pages and apps referenced unpkg for React and related libraries.
+ * Even though IE is no longer supported it still works on legacy Windows Servers but unpkg blocks it from downloading CDN content. Given this fact, its possible they may block other browsers in the future so switching to jsDelivr helps avoid issues were code could break and it allows jsxLoader plus all React examples to work out of the box for IE again.
+* Updated several ImageGallery React and Web Components so that css `@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {}` would only be included if the browser is IE 11.
+ * Edge browser started giving a deprecation warning when using this CSS media query.
+ * Additionally, the main site, the playground site, and many examples were updated to dynamically handle the CSS media query for IE but not other browsers.
+* Fixed Unit Tests for React and Preact pages
+ * https://dataformsjs.com/unit-testing/react
+ * https://dataformsjs.com/unit-testing/preact
+ * `http://127.0.0.1:4000/unit-testing-react`
+ * `http://127.0.0.1:4000/unit-testing-preact`
+ * The pages were previously using the latest CDN version of [Mocha](https://mochajs.org/) and [Chai](https://www.chaijs.com/); however their was a breaking change so now specific CDN versions are used rather than the latest version.
+* Updated Unit Tests to run from Port 4000 instead of Port 5000 because Port 5000 is now used by default on Mac for AirPlay and was causing a conflict when running tests on a Mac.
+
+## 5.14.4 (Aug 19, 2024)
+
+* Replace all instances of the Polyfill Service `https://polyfill.io/v3/polyfill.min.js?` with `https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js?version=4.8.0&`
+ * This is due to a supply chain attack against the popular JS Polyfill Library and site `polyfill.io`.
+ * https://cdnjs.cloudflare.com/polyfill/
+ * https://www.akamai.com/blog/security/2024-polyfill-supply-chain-attack-what-to-know
+ * Based on how the Polyfill is loaded for DataFormsJS this error would have only affected users of IE (as of 2024 this is mainly old Windows Servers in a corporate environment).
+
+## 5.14.3 (Jan 29, 2023)
+
+* jsxLoader Update so that JSX Files are compiled and added to the page only after all files are downloaded
+ * Related Issue: https://github.com/dataformsjs/dataformsjs/issues/22
+ * Previously JSX files were asynchronously download, compiled, and added to the page in the order that they downloaded.
+ * This caused issues when files downloaded in an unexpected order.
+* **Special Thanks to m1sta for opening this issue and providing great examples to show the error** https://github.com/m1sta
+
+## 5.14.2 (Jan 29, 2023)
+
+* Web Components - Renamed function `[utils.js].isAttachedToDom()` to `[utils.js].isDomAttached()` because the text string `ToDom` would show up when searching source code for case-insensitive `todo`. This is a minor update but prevents the files from showing up in external projects by accident. This could be considered a breaking change if an app calls the function but that is unlikely the case and it's mostly an internal function because it's undocumented outside of the changelog; that is the reason why a patch version is being released.
+
+## 5.14.1 (Dec 7, 2022)
+
+* Fixed a bug in Web Component `` that was introduced on the previous build where `format.{func}` was not working in `[data-show]` attributes.
+
+## 5.14.0 (Nov 28, 2022)
+
+* Added ability to use HTML Attribute `[data-format]` from Web Component `` when using attribute `[url-param]`. The same functionality when using Web Component `` with attribute `[data-bind]` is provided.
+ * This includes using `data-format="number|date|dateTime|time|{function}"` and custom functions.
+ * `js/web-components/url-router.js` https://github.com/dataformsjs/dataformsjs/blob/master/js/web-components/url-router.js
+* Updated Image Gallery Controls/Components:
+ * Fixed issue where `pinch-to-zoom` on mobile devices would cause previous/next image navigation to occur.
+ * `js/web-components/image-gallery.js` https://github.com/dataformsjs/dataformsjs/blob/master/js/web-components/image-gallery.js
+ * `js/plugins/imageGallery.js` https://github.com/dataformsjs/dataformsjs/blob/master/js/plugins/imageGallery.js
+ * `js/react/es6/ImageGallery.js` https://github.com/dataformsjs/dataformsjs/blob/master/js/react/es6/ImageGallery.js
+
+## 5.13.1 (May 2, 2022)
+
+* Update Code Comments on React Component ``
+ * Previously `@license` was included in the main comment which resulted in [Vite](https://vitejs.dev/) including about 5 kB (uncompressed) and about 1.5 kB of extra code on the build process.
+ * Comments were updated so that they are not included on build resulting in smaller files.
+* Update Framework, React, and Web Components for Date/Time formatting:
+ * Update for `en-US` to use format `{date} {time}` instead of `{date}, {time}` because most people in the US (and software programs) do not use the comma while Chrome uses the comma.
+
## 5.13.0 (February 25, 2022)
* DataFormsJS App Object
@@ -998,7 +1073,7 @@ The Web Components have the most complex breaking changes related to API usage h
* `js/react/jsxLoader.js`
* Added `jsxLoader.globalNamespaces` and improved `jsxLoader.addBabelPolyfills()` so that global namespaces can be defined more with less code and so that more modules are handled automatically. This is being added for a new demo with `React-Toastify` at https://awesome-web-react.js.org/ which will be published after the new release.
* Added `Object.values` and `Array.prototype.findIndex` to `jsxLoader.polyfillUrl`.
- * Updated 'jsxLoader.babelUrl' from version `7.8.4` to version `7.10.4`. New URL: `https://unpkg.com/@babel/standalone@7.10.4/babel.js`
+ * Updated 'jsxLoader.babelUrl' from version `7.8.4` to version `7.10.4`. New URL: `https://cdn.jsdelivr.net/npm/@babel/standalone@7.10.4/babel.js`
* Added config file for ESLint `.eslintrc.js` and added `eslint` as a dev dependency in `package.json`
* All code is valid based on defined rules so no changes to framework code were needed.
diff --git a/README.md b/README.md
index ea81abd..617d8c9 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,7 @@
-DataFormsJS is a JavaScript Framework and Standalone React and Web Components. A tiny browser-based [JSX Compiler](https://github.com/dataformsjs/dataformsjs/blob/master/docs/jsx-loader.md) is also included as part of this Framework. DataFormsJS is small in size, easy to learn, designed for fast development, and to make for a great experience for both developers and end-users. DataFormsJS was first published in November of 2019, however it was written and used over many years and is extremely stable containing a large number of unit tests.
+DataFormsJS is a JavaScript Framework and Standalone React and Web Components. A tiny browser-based [JSX Compiler](https://github.com/dataformsjs/dataformsjs/blob/master/docs/jsx-loader.md) is also included as part of this Framework. DataFormsJS is small in size, easy to learn, designed for fast development, and to make for a great experience for both developers and end-users. DataFormsJS was first published in November of 2019; and it was written and used over many years prior to its release. As of 2024 has been used in a variety of applications and websites and is extremely stable and contains many unit tests.
This repository contains DataFormsJS’s Framework, Example Pages, and Unit Tests. The main website exists on another repository.
@@ -74,24 +74,31 @@ The start screen allows you to quickly filter and view many different examples a
-JavaScript files for the Framework and standalone React and Web Components exist under the `js` directory. Full Directory Structure:
+JavaScript files for the Framework and standalone React and Web Components exist under the `js` directory. Full Directory Structure and Key files:
```
dataformsjs
├── docs
+│
├── examples
│ ├── *.htm
│ └── server.js
+│
└── js
│ ├── DataFormsJS.js
│ ├── react\*.js
│ ├── web-components\*.js
│ └── *\*.js
+│
├── scripts\*.js
-├── server\app.js
-└── test
- ├── *.htm
- └── server.js
+│
+├── server\*.js
+│
+├── test
+│ ├── *.htm
+│ └── server.js
+│
+└── server\app.js
```
**Develop online** using the code playground: https://www.dataformsjs.com/en/playground
@@ -242,8 +249,8 @@ This example uses React with the `jsxLoader.min.js` script for converting JSX to
);
-
-
+
+
@@ -268,6 +275,13 @@ import {
// Use Redux
import { createStore } from 'redux'
import { Provider, connect } from 'react-redux';
+
+// Import Individual DataFormsJS React Components
+import JsonData from 'dataformsjs/js/react/es6/JsonData';
+import LazyLoad from 'dataformsjs/js/react/es6/LazyLoad';
+import Format from 'dataformsjs/js/react/es6/Format';
+import ErrorBoundary from 'dataformsjs/js/react/es6/ErrorBoundary';
+// [Cache, CssVars, I18n, ImageGallery, InputFilter, LeafletMap, Markdown, SortableTable]
```
When working with the `jsxLoader` and compiling JSX directly in a browser the recommend method for importing is to simply reference the global classes or functions of the libraries that you need for your app:
@@ -424,7 +438,7 @@ _All sizes are based on minified scripts and gzip compression from the web serve
* **React JSX Loader – 6.6 kB** (91 kB full version uncompressed)
* **React (Core Components) – 5.7 kB**
* Individual React Components are between 3 and 12 kB when uncompressed and including comments.
-* Web Components are typically around 1 to 3 kB each, typically you will use a number of components so in the example apps this adds up to about 15 kB for each app.
+* **Web Components are typically around 1 to 3 kB each**, typically you will use a number of components so in the example apps this adds up to about 15 kB for each app.
While the DataFormsJS Framework is small it will generally be used with a larger Templating or View Engine:
diff --git a/docs/i18n-readme/README.es.md b/docs/i18n-readme/README.es.md
index a371f6d..dd9e3f1 100644
--- a/docs/i18n-readme/README.es.md
+++ b/docs/i18n-readme/README.es.md
@@ -7,7 +7,7 @@
**¡Gracias por su visita!** 🌠👍
-DataFormsJS es un nuevo marco de JavaScript y componentes independientes de reacción y web. A tiny browser-based [JSX Compiler](https://github.com/dataformsjs/dataformsjs/blob/master/docs/jsx-loader.md) is also included as part of this Framework. DataFormsJS es de tamaño pequeño, fácil de aprender, diseñado para un desarrollo rápido y para ofrecer una gran experiencia tanto para desarrolladores como para usuarios finales. Aunque es nuevo (publicado por primera vez en noviembre de 2019) DataFormsJS fue escrito y utilizado durante muchos años y es extremadamente estable y contiene una gran cantidad de pruebas unitarias.
+DataFormsJS es un nuevo marco de JavaScript y componentes independientes de React y Web. Un pequeño [JSX Compiler](https://github.com/dataformsjs/dataformsjs/blob/master/docs/jsx-loader.md) basado en el navegador también se incluye como parte de este framework. DataFormsJS es de tamaño pequeño, fácil de aprender, diseñado para un desarrollo rápido y para ofrecer una gran experiencia tanto para desarrolladores como para usuarios finales. DataFormsJS se publicó por primera vez en noviembre de 2019 y se escribió y utilizó durante muchos años antes de su lanzamiento. A partir de 2024, se ha utilizado en una variedad de aplicaciones y sitios web, es extremadamente estable y contiene muchas pruebas unitarias.
Este repositorio contiene el Marco de DataFormsJS, Páginas de ejemplo y Pruebas unitarias. El sitio web principal existe en otro repositorio.
@@ -151,7 +151,8 @@ Este ejemplo usa Vue para crear plantillas. Si lo guarda con un editor de texto,