Releases: projectestac/jclic.js
Releases · projectestac/jclic.js
v2.1.0
Breaking changes
- JClic projects can be now encapsulated in JSON format (files with extension
.jclic.json
). Current files in XML format (.jclic
) will be still supported, but JSON will be the default format from now. Both formats can also be packaged in ZIP files (files of type.jclic.zip
and.scorm.zip
). This will simplify the development of the upcoming new project JClic Author HTML5. - JClic.js uses now JavaScript modules instead of AMD modules and RequireJS. All members of complex modules like AWT and Utils can now be imported directly.
- Static factory methods in classes with multiple descendants.
- New methods
getAttributes
andsetAttributes
in core classes, used to serialize and de-serialize projects data. - Drop Bower support.
- Open source license updated to European Union Public License 1.2.
Bug fixes
- Check for numeric digits in Arith activity answers before converting them to numbers.
- Page reloads when entering text to the first question on Written Answer activities (jQuery related)- Use 'idempotent-babel-polyfill' instead of 'babel-polyfill' as a workaround to this issue, causing problems in JClic module for Moodle.
- Use the
box-sizing
CSS attribute to compute the real with of the counters area inDefaultSkin
. - Audio recorder features now enabled for all modern browsers using MediaDevices.getUserMedia instead of the deprecated method navigator.getUserMedia.
- Find AudioContext with vendor prefix in MIDI audio player (needed for Safari)
- Unset
box-shadow
andtext-shadow
attributes in custom buttons. - Accessible components for
canvas
regions should always be created sinceHitRegions
have been deprecated. Also,CanvasRenderingContext2D.drawFocusIfNeeded
should be called on each call toupdateContent
onActiveBox
objects, not just at creation time. - Parse new JClic project multiple descriptions in XML files.
AWT.Font.cssFont
should usepx
asfont-size
unit for consistency with JClic.- Use underscore instead of blank space as filling character in
TextActivityDocument.TextTarget
- Correct the vertical position of centered text in boxes and grid cells
- Workaround for a bug on Chrome and Firefox XML parsers, throwing errors whith hexadecimal character entities
Improvements
- Updated core components to their latest versions.
- Use of
package-lock
instead ofnpm-shinkwrap
to lock version dependencies. - Restored semicolons in all source files.
- Deliverable files are now minimized with Terser intead of Uglifyjs.
- Full screen mode now using direct calls to the Full Screen API instead of screenfull.
- Upgraded components.
- Max audio recording time increased to 180".
- Provide visual feedback while recording audio.
- Map JDK logical fonts ("Dialog", "Serif", etc.) to HTML5 generic font family names.
- Improved experience with screen readers like ChromeVox and Chromevox Classic.
- Updated JSDoc comments. Published full API Docs with working links.
- Updated test suites.
- Implemented Clic 3.0 behavior on
panels/Explore
activities without buttons and automatic step forward. - Added a hidden message box to
skins/EmptySkin
, thus allowing activities to play audio at start. - Avoid browser's spell checking on written answer activities.
- Use the History API to record the list of played JClic activities, thus allowing to navigate between them with the browser's
back
andforward
buttons. - Interpret negative values as percentages when setting CSS sizes, useful for the JClic module for Moodle.
v1.1.22
Improvements
- Interpret negative values as percentages when setting CSS sizes, useful for the JClic module for Moodle.
v1.1.21
Bug fixes
AWT.Font.toCss
should usepx
asfont-size
unit for consistency with JClic- Use underscore instead of blank space as filling character in
TextActivityDocument.TextTarget
- Correct the vertical position of centered text in boxes and grid cells
Improvements
- Use the History API to record the list of played JClic activities, thus allowing to navigate between them with the browser's
back
andforward
buttons. - Avoid browser's spell checking on written answer activities
- Added a hidden message box to
skins/EmptySkin
, thus allowing activities to play audio at start.
v1.1.16
v1.1.15
Bug fixes
- Unset
box-shadow
andtext-shadow
attributes in custom buttons - Accessible components for
canvas
regions should always be created sinceHitRegions
have been deprecated. Also,CanvasRenderingContext2D.drawFocusIfNeeded
should be called on each call toupdateContent
on ActiveBox objects, not just at creation time.
Improvements
- Map JDK logical fonts ("Dialog", "Serif", etc.) to HTML5 generic font family names
- Improved experience with screen readers like ChromeVox and Chromevox Classic
v1.1.14
Bug fixes
- Audio recorder features now enabled for all modern browsers using MediaDevices.getUserMedia instead of the deprecated method navigator.getUserMedia.
- Find AudioContext with vendor prefix in MIDI audio player (needed for Safari)
Improvements
- Upgraded components
- Max audio recording time increased to 180"
- Provide visual feedback while recording audio
v1.1.13
Bug fixes
- Use
idempotent-babel-polyfill
instead ofbabel-polyfill
as a workaround to this issue. - Use the
box-sizing
CSS attribute to compute the real with of the counters area inDefaultSkin
.
Improvements
- Full screen mode now using direct calls to the Full Screen API instead of screenfull.
- Use Terser instead of UglifyJS for code minification.
v1.1.12
v1.1.11
Bug fixes
- Explicit call to
HTMLAudioElement.load
inbags/MediaBagElement.build
to avoid the lack ofcanplay
events
when just setting thesrc
attribute in Chrome on Android < 7. Now JClic will always try to load audio content, also in Android. - Corrected a bug in
automation/arith/Arith.js
that affected operations with decimals with do not carry option.
Improvements
- Numeric expressions generated by Arith (the mental arithmetics moduleof JClic) use now dot or comma as a decimal separator, depending on the browser's "locale" settings.
- The new
numericContent
activity flag is used by Arith activities to check written answers. So expressions like "0.1", "0.10" and "00,100" (with dot or comma) are considered equivalent.
v1.1.9
Improvements
- Basic support for MIDI files: Only one musical instrument (acoustic grand piano) is dynamically loaded and used for all tracks, in a single MIDI channel schema. No percussion sounds on channel 10. This feature must be improved on the future, but currently covers the basic necessities of most musical activities.
- JClic.js is now also available also in Polish, thanks to Waldemar Stoczkowski!
- Build scripts updated to work with Babel 7
Bug fixes
- Allow projects to have multiple custom skins defined in XML files