Releases: projectestac/jclic.js
Releases · projectestac/jclic.js
v2.1.23
Improvements
- Upgraded dependencies
- Add the
dist
folder to the webpack dev server static directory.
Bug fixes
- Corrected an NPM warning in
package.json
- Corrected error parsing undefined
mediaBag
attribute in JSON files. - Always encode text-based data URLs.
- Removed unnecessary files from
/build
, affecting the NPM package. - NODE: Use
globalThis
instead ofglobal
(legacy in NodeJS 22) if available. - NODE: Avoid overwrite
global.navigator
and other new global objects in NodeJS 22. - Moved
xmldom
andjsdom
to Dependencies inpackage.json
(they are no longer devDependencies)
v2.1.19
Improvements
- Upgrade ESLint to v9. Config file is now:
eslint.config.mjs
. - Set specific file extensions to differentiate CommonJS (.cjs) and ECMAScript (.mjs) module formats.
- Convert
webpack.config
andbuild-locales
to ECMAScript module format. - Always use file extensions when importing sibling modules.
- Export all JClic classes in the NPM package
v2.1.18
Improvements
- Simplified the initialization and loading of jclic.js as an NPM package
- Allowed jclic.js to be loaded as an ES6 module from NodeJS
- Upgraded tests for NodeJS
- Upgraded dependencies
- Removed dependency of clipboard-polyfill. The Clipboard API is now supported in all browsers.
Bug fixes
v2.1.15
v2.1.13
Improvements
- Upgraded dependencies
- Use clean-jsdoc-theme instead of the outdated ink-docstrap theme to generate the technical documentation with JSDoc.
v2.1.12
Improvements
- Upgraded dependencies
- Remove unnecessary dependencies:
scriptjs
- Improve graphics performance setting willReadFrequently to
true
when acquiring CanvasRenderingContext2D in activities using BoxConnector.
v2.1.11
v2.1.10
v2.1.8
Improvements
- Upgraded dependencies
- Allow "inverse resolution" in word search activities: clues are initially shown, and gradually hidden when the user identifies them.
- Use ink-docstrap-template instead of ink-docstrap to deal with updated components, thus avoiding security warnings
- Direct use of jsdom instead of mock-browser (outdated) in
test/nodejs
, to avoid security warnings - Recycle HTML audio elements instead of building one for each audio file at startup. This has been motivated by a breaking change introduced in Chrome 92+, limiting the maximum number of media player elements per document. (see: https://bugs.chromium.org/p/chromium/issues/detail?id=1144736).
This improvement will reduce the startup time of JClic projects and the size of media bytes to be downloaded, but can have a side effect, introducing latency when playing audio because is always fetched "on demand" (no more preloading).
Bug fixes
- Use of patch-package to avoid compilation warnings.
IdentifyText
activities were not fully implemented: only targets could be selected. You can now select any word (or letter inidentifyChars
mode), although not part of a target. To be successful with the activity, only the targets must be selected.- Avoid bad URLs in local files when running on NodeJS with JSDOM
v2.1.2
Improvements
- i18n has been written from scratch, simplifying its operation and supporting different "locale" encodings.
- Added Romanian translation, thanks to Studio Davis Tutoriale Programe.
- Upgraded dependencies.
- Use real files instead of inline JS constants for CSS, SVG, PNG and MP3 assets. These files are finally codified and inlined by WebPack at compile time.
Bug fixes
- Fixed an issue with i18n, which did not correctly apply the required language selection.