# SVG-Edit CHANGES ## ? - License: Relicense ext-mathjax from Apache-2.0 to MIT per - License: Clarify in `@license` that `ext-server_moinsave.js` is "(MIT OR GPL-2.0-or-later)" per subsequent text - License: Reorder license listing in `jquery.contextMenu.js` so that more permissive is noticeable first - Fix: main menu style and text #371 - Fix (Accessibility): Avoid duplicate IDs - Fix (openclipart browser): Redirect on lacking browser support - Optimization: Remove unused `jquery-ui-1.8.custom.min.js` file - Localization: Add 'SVG-Edit Home Page' to locale files - Refactoring: Ensure file-global tags are at beginning of file - Linting (ESLint): Simplify regexes - Linting (ESLint): Replace `innerHTML` with `textContent` from old demo - Linting (ESLint): Update as per latest ash-nazg - Linting (ESLint): Add rules to check for file-level tags - Testing: Switch to Cypress with code coverage for UI testing; use ESM version for faster debugging - Testing: Add map file for underscore - Testing: Separate tests into unit/ui; split UI tests by specific domain; setup browser-bug folder and ui issues folder - Testing: Create test utilities for selecting English and visiting and approving storage - Docs: Remove outdated info on jsdoc linting (now just part of eslint config) - npm: Add `underscore` to copy script - npm: Make `copy`, `compress-images`, `start-embedded`, `build-docs-remove` scripts cross-platform; add `start-allow-origin` script - npm: Rename open script to open-tests, and add `open` script for opening instance of svgedit - npm: Ensure starting server for open scripts - npm: Fix scripts for Windows development (needed for building docs and instrumenting) - npm: Update scripts to reflect removal of `all_tests.html`; remove `browser-test` script - npm: Rename `test-prep` to `prep` - npm: Update `package-lock.json` - npm: Update devDeps, peerDeps ## 5.1.0 - Deprecated: Should now use `avoidClientSideDownload` in place of `avoidClientSide` (config for `ext-server_opensave.js`). - Fix: IE 11 issue; fixes #363 - Fix: Avoid race condition in `jQuery.svgIcons.js` (evident when attempting to load from `file:` URL in Chrome) - Fix: Input width (@seahindeniz) - Fix: Use change event to be sure that file is loaded before the function (@Moliman) - Enhancement: Added `avoidClientSideOpen` config for `ext-server_opensave.js` - Optimization: Re-rerun image optimization per update - Linting (ESLint): Adjust per now applied rules - Linting (ESLint): Add HTML files to linting - Linting (ESLint): Avoid shadowing - Linting: Assorted changes; ensure license versions are valid semver - Refactoring: Use `static` keyword for classes - Refactoring: Prefer `for...of`, `event.key` (newly enforced linting) - Refactoring: Better var. names - Testing: Accessibility test API update - Docs: Clarify need for Node.js/npm being installed - Build: Remove `types-docs` script as being handled in ESLint - Maintenance: Add `.editorconfig` - npm: Add script to fix eslint errors - npm: Rename `build-config` to `build-by-config` - npm: Update devDeps (including switching from deprecated opn-cli package to open-cli); update core-js-bundle copy; add new axe testing peer dep. axe-core in devDeps ## 5.0.0 - Breaking change: Switch from deprecated `@babel/polyfill` to `core-js-bundle` and `regenerator-runtime` replacements - Build: Require Node 8.5 - Fix: Ensure PHP files are present in `dist/extensions` alongside JavaScript extension files using them - Fix: Bug in obtaining `extPath` in `ext-server_opensave.js` - Fix: Fully redirect extension entrances for lacking browser support - Enhancement: Add config `avoidClientSide` to avoid using client-side support by default (and always require server) - Enhancement: Return a Promise for Editor's `setCustomHandlers`, `loadFromString`, `loadFromDataURI` so known when ready and set - Refactoring: Destructuring, templates, label Unicode code point - Linting (JSDoc): Update per newly enforced `require-returns`; avoid Closure syntax; reenable `jsdoc/valid-jsdoc` as fixed; notes re: valid-jsdoc replacement; use same namepath - Linting: Update per ash-nazg/plugin-node update - Docs: Simplify comments in HTML files re: script purposes - Docs: Update release instructions - Docs (Refactoring): Formally specify `Promise` resolve type; add `typedef` for dialog result object; add an `ArbitraryCallbackResult` type; prefer `void` - npm: Rename (`build-doc` to `build-docs`, `types-doc` to `types-docs`); add `open-docs` script - npm: Update devDeps - npm: Remove unused devDeps; update insecure devDeps ## 4.3.0 - Fix: Droplets for gradient pickers can now be double-clicked in other browsers in addition to Firefox such as Chrome to allow change of color (fixes #181) (@ajinkyas); may be different between the browsers as a result of - Fix: Delay icon setting until locales available (fixes #323) - Fix: Extension with no `placement` to be added to end; for #326 (@sjernigan) - Fix: Error on dragging control point of arc; fixes #268 (@cuixiping) - Fix: With locales loading before extensions, ensure extensions' `langReady` runs properly; fixes #334 (@cuixiping) - Optimization fix: Properly run code conditionally on browser check; fixes #312 (@ianli-sc) - Enhancement: Add CAD Placemark extension (@NeiroNx) - Enhancement (svgIcons): Fix JSDoc param def; add `alt` options - Accessibility: Begin work, add aria-label to some buttons and form controls; add `role=main`; ``; `