All notable changes to this project will be documented in this file.
Types of changes:
- Added for new features.
- Changed for changes in existing functionality.
- Deprecated for soon-to-be removed features.
- Removed for now removed features.
- Fixed for any bug fixes.
- Publish new version to npm and github.
- Security in case of vulnerabilities.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
None
Major refactoring and tool replacements in this release.
Puppeteer was removed in favor of Playwright. This removed the need for puppeteer-screen-recorder as Playwright has built-in recording support in the form of webp animations. PW supports cross-browser testing and includes its own test framework, allowing you to run tests on multiple browsers like Chromium, Firefox, and WebKit, all "out of the box".
OptionMgr is a new singleton class that's used to control the behavior of plugin. It understands JSON for both setting and getting a plugin's properties.
OptionMgr is being used to facilitate integration with bf2042-ext. That web extension lets users modify multiselect-blockly's settings (via OptionMgr API) and persist them across sessions. API metadata will be used by bf2042-ext in labeling option properties and actions in its UI.
- Removed mochajs and puppeteer frameworks along with their test cases.
- Added jest and playwright frameworks, began writing e2e and unit tests.
- Replaced toolbox categories used in test/workspace app.
- Recreated blocks.json test fixture, added new 'recon' report to help identify testing coordinates.
- Added API description metadata for all of plugin's get/set/do functions.
- Removed plugin "flags" and replaced them with an OptionMgr (needed for bf2042 integration).
- Split tsconfig into -base, -dev and -prod configs, removed source map and logging from prod build.
- Refactored webpack.config to support tsconfig changes, also added Terser plugin.
- Removed unnecessary rules from .gitignore.
- Changed npm run scripts to reflect changes to project.
- Pinned version of 'unpkg.com/[email protected]/blockly.min.js' for browser test cases.
- Updated 'test/browser/unpkg-plugin.html' to use OptionsMgr.
- Upgraded 2 packages for sub-dependencies: ws, braces
- Tweaked images in README
- Changed image url, gists are not allowed
- Added check for 'movable' before dragging selected block
- Replaced blocklyDraggable check w/parent != blocklyBlockCanvas
- Updated example in README, + minor .ignore changes
- Changed image url, gists are not allowed.
- Added check for 'movable' before dragging selected block.
- Created /assets folder + added screenshots for README, updated package explanation.
- Replaced blocklyDraggable check w/parent != blocklyBlockCanvas.
- Updated example in README, + minor .ignore changes.
- Added simple node example to README.md
- Corrected unpkg url for muliselect.js in readme doc.
- Fixed possible null document.getElementById('blocklyDiv') in playground and workspace html pages.
- Fixed double-inclusion of Blockly modules using an entry name-based 'externals' property in Webpack.
- Changed global variable 'MultiselectBlockly' to 'multiselect'.
- Updates and corrections to github workflow.
- Puppeteer shift-mousedown-move selection rectangle working
- Added workspace reconnaissance to mocha functional tests.
- Added terser-webpack-plugin to omit comments from bundles.
- Stopped license files from being generated by webpack automatically.
- Created categoric weights and implemented alphabetic sorting for all menu options.
- Updated contextMenusCss to use :has operator to style parent elements.
- Added puppeteer-screen-recorder for test validation and documentation work.