- doc - document supported/unsupported es6+ features
- coverage - add macros
/*coverage-disable*/
and/*coverage-enable*/
. - jslint - add html and css linting back into jslint.
- jslint - add new warning requiring paren around plus-separated concatenations.
- jslint - try to improve parser to be able to parse jquery.js without stopping.
- bugfix - Fix optional dynamic-property/function-call not recognized.
- ci - Update shell-function shHttpFileServer() to auto-serve /index.html, when url-path is root /.
- coverage - Fix coverage-function v8CoverageReportCreate() throwing error EINVAL in latest nodejs-security-patch, when running win32-coverage with npm.cmd.
- jslint - Remove unnecessary shell-function shCurlExe().
- ci - Add shell-functions shGitPullrequestCleanup(), shGitPullrequest() to automatically cleanup or create-and-push github-pull-commit to origin/alpha.
- jslint - Allow destructuring-assignment after function-definition.
- ci - Replace npm-package used to auto-build vscode-plugin, vsce to @vscode/vsce.
- test - Update test-function jstestDescribe() to wait awhile for imports to initialize before running tests.
- ci - Fix tmpdir in shell-function shBrowserScreenshot().
- vim - Allow installing vim-plugin to any directory, instead of hardcoded to ~/.vim/.
- ci - Update github-ci for actions/cache, actions/setup-python from nodejs v16 to nodejs v20.
- ci - Update shell-function shRollupFetch() to fix blank date-committed.
- ci - bugfix - Fix google-chrome unable to create screenshot because user-data-dir is /dev/null.
- jslint - bugfix - Update file jslint_wrapper_vim.vim to fix broken vim-link when linting shell-files.
- ci - add custom-shell-ci hooks to script jslint_ci.sh: shCiPublishNpmCustom() shCiPublishPypiCustom()
- ci - Remove ci for nodejs-v19, and add ci for nodejs-v20.
- ci - Remove broken-links to unlicense.org, failing http-link-check.
- doc - Update docs in README.md.
- jslint - Check exported properties are ordered.
- jslint - Add grammar for "export async function ...".
- python - Add shell-function shLintPython().
- jslint - Add grammar for regexp-named-capture-group and regexp-named-backreference.
- jslint - Add grammar for side-effect import-statement.
- ci - Rename shell-function shRawLibFetch() to shRollupFetch().
- doc - document devop procedures to maintain jslint-repo
- vscode - Add manual lint-on-save command to vscode-jslint extension.
- ci - add custom-shell-ci hooks to script jslint_ci.sh: shCiArtifactUploadCustom() shCiBaseCustom() shCiBaseCustom2() shCiLintCustom() shCiLintCustom2() shCiNpmPublishCustom() shCiPreCustom() shCiPreCustom2()
- ci - housekeeping of ci-file jslint_ci.sh
- ci - update shell-function shGitCommitPushOrSquash() to be able to save to specified filename
- ci - remove little-used shell-function shCiBranchPromote()
- ci - in windows-ci-env, alias node=node.exe instead of using winpty for pipes
- ci - bugfix - fix ci-shell-function shGithubFileUpload unable to upload new asset
- ci - auto-create asset_image_logo_512.png from asset_image_logo_512.html
- bugfix - fix shell-function shGithubCheckoutRemote not able to checkout trusted-files in non-alpha branches
- jslint-ci - revamp auto-updating and add shell-function shGithubCheckoutRemote
- test - print time-finished after test-run
- jslint - hide warning about unordered case-statements behind beta-flag
- ci - bugfix - update shell-function shCiBase() to handle undefined fileMain
- ci - auto-update version-number in main mjs-module
- ci - update shell-function shDirHttplinkValidate() to ignore insecure-links http://127.0.0.1, http://localhost
- ci - update ci from node-v16 to node-v18
- cli - remove deprecated cli-option
--mode-vim-plugin
- node - after node-v14 is deprecated, remove shell-code
export "NODE_OPTIONS=--unhandled-rejections=strict"
. - editor - update codemirror-editor to v5.65.10
- remove obsolete help.html
- directive - add new directive
fart
to allow complex fat-arrow
- bugfix - warnings that should be ignored sometimes suppress legitimate warnings
- doc - document jslint directives
- vscode - add extra contextmenu commands "JSLint - Do Not Lint Selected Region", "JSLint - Ignore Current Line"
- directive - add new directive
subscript
for linting of scripts targeting Google Closure Compiler - bugfix - fix expression after "await" mis-identified as statement
- warning - relax warning about missing
catch
intry...finally
statement - jslint - allow aliases
evil, nomen
for jslint-directiveseval, name
, respectively for backwards-compat - bugfix - fix broken codemirror example
- bugfix - fix jslint not-recognizing option-chaining when comparing operands of binary operator
- allow array-literals to directly call [...].flat() and [...].flatMap()
- coverage-report - disable default-coverage of directory
node_modules
, but allow override with cli-option--include-node-modules=1
- coverage-report - add function globExclude() to revamp coverage-report to exclude files using glob-pattern-matching
- add codemirror-example-file jslint_wrapper_codemirror.html
- update codemirror-editor to v5.65.3
- wrapper - add jslint-addon for codemirror
- allow jslint.mjs to auto-export itself to globalThis when given search-param
?window_jslint=1
- wrapper - add jslint-extension for vscode
- bugfix - fix jslint falsely believing megastring literals
0
and1
are similar - bugfix - fix function jstestOnExit() from exiting prematurely and suppressing additional error-messages
- website - use localStorage to persist jslint-options selected in ui
- website - add optional debug-mode to use sessionStorage to persist jslint-globals and jslint-source from ui
- jslint - add numeric-separator support
- jslint - move regexp-literals to module-level so they are explicitly cached, to improve performance
- ci - add check for package.json.fileCount
- test - migrate all tests to use jstestDescribe(), jstestIt()
- fs - rename jslint-wrapper-files to jslint_wrapper_xxx.xxx
- bugfix - fix issue #382 - make fart-related warnings more readable
- bugfix - fix issue #382 - fix warnings against destructured fart
- bugfix - fix issue #379 - warn against naked-statement in fart.
- update commonjs-wrapper jslint.cjs to load jslint in strict-mode.
- npm - add file jslint.cjs so package @jslint-org/jslint can be published as dual-module
- jslint - relax warning "function_in_loop"
- update function assertJsonEqual to JSON.stringify 3rd param if its an object
- jslint - add top-level-await support
- ci - deprecate/remove jslint.cjs from ci
- coverage - add cli-options
--exclude=aa,bb
,--exclude-node-modules=false
,--include=aa,bb
- coverage - dedupe coverage-logic now applied when only one script passed
- npm - add file .npmignore
- website - add clickable-links to editor-code in report-warnings and report-functions
- ci - add release-trigger to publish to
@jslint-org/jslint
- bugfix - fix coverage-report having incorrect http-link to index.html
- bugfix - fix false warning
uninitialized 'bb'
in code/*jslint node*/\nlet {aa:bb} = {}; bb();
- bugfix - fix issue #358 - switch-statement crashes jslint
- ci - cache coverage-example node-sqlite3 to speed up ci
- ci - rename dir .build/ to .artifact/
- ci - update shell-function shRunWithCoverage() to reduce size of string/argument passed to nodejs by using 2-space-indent
- cli - add cli-command jslint_plugin_vim
- cli - add cli-command v8_coverage_report
- cli - change cli-option
--mode-report
to cli-commandjslint_report=<filename>
- coverage - relax requirement for coverageDir to be in cwd
- deprecated - cli - add cli-option
--mode-report
- doc - add api-documentation
- fs - merge file asset_codemirror_rollup.css into index.html
- fs - merge file browser.mjs into index.html
- fs - merge file function.html into help.html
- fs - remove little-used font asset_font_programma_bold.woff2
- fs - rename files with dashes to files with underscore
- jslint - disable linting of embedded javascript in markdown-files
- jslint - relax regexp-warning against using 'space'
- npm - add file package.json and command
npm test
- style - change naming-convention for non-jslint-core code from underscore to camelCase
- test - add mocha-like test-functions jstestDescribe, jstestIt
- jslint - add bigint support.
- vim - add vim-plugin and file jslint.vim.
- doc - auto-generate toc for README.md
- jslint - rename little-used directive
debug
totrace
to avoid confusion with non-related directivedevel
.
- warning - disable un-ergonomic warnings restricting directive-global (missing_browser and unexpected_directive_a).
- fs - rename file ci.sh to jslint_ci.sh.
- license - add codemirror license to rollup-assets.
- website - display number of warnings, properties, functions in report.
- website - fix uiLoader getting hidden behind highlighted text.
- bugfix - fix jslint not warning about function-redefinition when function is defined inside a call.
- bugfix - fix website crashing when linting pure json-object.
- ci - fix race-condition when inlining css.
- doc - update README.md with links to archived web-demos.
- jslint - add new beta-warning against redefining global-variables.
- jslint - add new beta-warning if functions are unordered.
- jslint - add new warning disallowing string-literal as property-name, e.g. {
aa
:0}. - jslint - comment out shebang in jslint.mjs so older ios devices can use website.
- jslint - deprecate directive
/*jslint eval*/
- use//jslint-quiet
instead. - jslint-revamp - rearrange functions in jslint.mjs to comply with ordered-functions beta-warning.
- jslint-revamp - revamp cause-based testing with more robust instrumentation.
- tests - test artifact and column-position in warnings are correct.
- breaking-change - rename files *.js to *.mjs for better integration with nodejs.
- ci - auto-screenshot example-shell-commands in README.md.
- ci - include explicit commonjs (jslint.cjs) and es-module (jslint.mjs) variants of jslint.
- jslint - disable out-of-scope warning for functions.
- jslint - reintroduce directive
/*jslint indent2*/
- allow 2-space indent. - license - change license to public-domain/unlicense.
- website - create codemirror-plugin to highlight jslint-warnings in editor.
- bugfix - fix global_list being ignored by jslint.
- bugfix - fix no-warning when exception in catch-block is unused.
- ci - migrate ci-scripts from cjs to esm.
- cli - add env-variable $JSLINT_BETA.
- jslint - add new directive
/*jslint beta*/
- enable features currently in beta. - jslint - add new directive
/*jslint variable*/
- allow unordered variable-declarations that are not at top of function-scope. - jslint - add new warning if const/let/var statements are not declared at top of function-scope.
- jslint - add new warning if const/let/var statements are unordered.
- website - invalidate url-cache with each deployment.
- website - replace .png logo with .svg logo.
- website - replace current-editor with CodeMirror-editor and change programming-font-family from
Programma
toconsolas, menlo, monospace
.
- bugfix - fix await expression/statement inside catch-statement not registered by functionage.await.
- bugfix - fix cli appending slash "/" to normalized filename.
- bugfix - fix issue #316, #317 - jslint complains about dynamic-import.
- bugfix - fix misleading warning describing alphabetical-order instead of ascii-order.
- bugfix - fix off-by-one-column bug in missing-semicolon-warning.
- bugfix - fix try-catch-block complaining about "Unexpected await" inside async-function.
- directive - re-introduce
/*jslint name*/
to ignore "Bad property name" warning. - doc - add install-screenshots.
- jslint - add new warning if case-statements are not sorted.
- jslint - add warning for unexpected ? in example
aa=/.{0}?/
. - jslint - add warning for unexpected-expr in example
async function aa(){await 0;}
. - jslint-refactor-1 - make "stateful" variables scoped outside of jslint() "stateless" by moving them into jslint().
- jslint-refactor-2 - inline constants anticondition, bitwiseop, escapeable, and opener directly into code.
- jslint-refactor-3 - inline regexp-functions quantifier(), ranges(), klass(), choice(), directly into code.
- jslint-refactor-4 - document jslint process and each recursion-loop converted to while-loop.
- remove unnecessary variables nr.
- rename artifact-related variables a, b to let artifact_now, artifact_nxt.
- rename functions make() to token_create().
- reorganize/rename "global" variables by topical-prefixes: artifact_xxx, export_xxx, from_xxx, import_xxx, line_xxx, mode_xxx, token_xxx
- jslint-refactor-5 - split jslint-core-logic into 5-phases.
- move phase-sub-functions out of function-jslint().
- move global-vars into state-object, that can be passed between functions.
- migrate recursive-loops to while-loops in sub-function phase2_lex().
- move remaining global-vars into sub-functions or hardcode.
- update functions artifact(), stop(), warn() with fallback-code
the_token = the_token || state.token_nxt;
.
- website - add ui-loader-animation.
- breaking-change - hardcode
const fudge = 1
- breaking-change - remove little-used-feature allowing jslint to accept array-of-strings as source b/c internal lines-object has been changed from array-of-strings to array-of-objects.
- doc - add svg changelog.
- doc - add svg package-listing.
- doc - document cli-feature to jslint entire directory.
- jslint - add eslint-like ignore-directives
/*jslint-disable*/
,/*jslint-enable*/
,//jslint-quiet
. - jslint - add new warning
Directive /*jslint-disable*/ was not closed with /*jslint-enable*/.
. - jslint - add new warning
Directive /*jslint-enable*/ was not opened with /*jslint-disable*/.
. - jslint - remove obsolete ie-era warning about duplicate names for caught-errors.
- website - move options-ui to top of page after editor-ui
- bugfix - fix issue #282 - fail to warn trailing semicolon in
export default Object.freeze({})
. - ci - 100% code-coverage!
- ci - auto-update changelog in README.md from CHANGELOG.md.
- ci - auto-update version numbers in README.md and jslint.js from CHANGELOG.md.
- deadcode - replace with assertion-check in function choice() -
if (char === "|") { warn... }
. - deadcode - replace with assertion-check in function do_function() -
if (mega_mode) { warn... }
. - deadcode - replace with assertion-check in function no_space() -
const at = (free ? ...)
. - deadcode - replace with assertion-check in function no_space() -
if (open) {...}
. - deadcode - replace with assertion-check in function parse_directive() -
} else if (value === "false") {...}
. - deadcode - replace with assertion-check in function supplant() -
return ( replacement !== undefined ?...)
. - jslint - cleanup regexp code using switch-case-statements.
- jslint - inline function
activate
into functionaction_var
. - jslint - inline-document each deadcode-removal/assertion-check.
- jslint - inline-document each warning with cause that can reproduce it - part 2.
- tests - inline remaining causal-regressions from test.js into jslint.js
- tests - validate inline-multi-causes are sorted.
- website - replace links
branch.xxx
withbranch-xxx
.
- ci - fix expectedWarningCode not being validated.
- ci - in windows, disable git-autocrlf.
- deadcode - replace with assertion-check in function are_similar() - "if (a === b) { return true }".
- deadcode - replace with assertion-check in function are_similar() superseded by id-check - "if (Array.isArray(b)) { return false; }".
- deadcode - replace with assertion-check in function are_similar() superseded by is_weird() check - "if (a.arity === "function" && a.arity ===...c".
- jslint - add directive
test_internal_error
. - jslint - add directive
unordered
to tolerate unordered properties and params. - jslint - inline-document each warning with cause that can reproduce it - part 1.
- style - refactor code moving infix-operators from post-position to pre-position in multiline statements.
- website - add hotkey ctrl-enter to run jslint.
- ci - fix ci silently failing in node-v12 and node-v14.
- cli - add env var JSLINT_CLI to force-trigger cli in jslint.js (used for code-coverage of cli).
- jslint - add "globalThis" to default globals.
- jslint - add new rules unordered_param_a, unordered_property_a, that warn if parameters and properties are listed in nonascii-order.
- jslint - fix bug where (global) functionage missing properties finally and try.
- jslint - fix bug failing to parse unicode "\u{12345}".
- jslint - fix bug falsely warning against conditional-chaining-operator "?.".
- jslint - remove deadcode for preaction-binary-".".
- jslint - remove deadcode warning bad_option_a.
- website - add fork-me ribbon.
- website - load index.html with example code.
- website - merge file report.js into browser.js.
- doc - add section Changelog.
- doc - update README.md with installation instructions.
- cli - merge shell-function shJslintCli into jslint.js.
- jslint - update default globals with support for "import".
- jslint - sort warnings with higher priority for early_stop.
- jslint - add async/await support.
- ci - make branch-beta the default branch.
- ci - validate non-http/file links in *.md files.
- ci - add shell-functions shCiBranchPromote.
- this ci-release does not change any core-functionality of file jslint.js.
- doc - add file CHANGELOG.md.
- ci - begin addng regression tests and improve code-coverage.
- ci - allow pull-requests to run restricted-ci (cannot upload artifacts).
- gh-pages - fix missing assets and insecure http-links.
- gh-pages - merge file jslint.css into index.html.
- gh-pages - add files image-jslint-xxx.png.
- gh-pages - cleanup asset naming-convention.
- fix missing fonts in function.html and help.html.
- add files .gitconfig, Daley-Bold.woff2, Programma-Bold.woff2, icon-folder-open-solid.svg, icon-window-maximize-regular.svg.
- ci - fix http-links after moving to jslint-org.
- doc - migrate file README to README.md with embedded ci links and screenshots.
- ci - add macos and windows to ci-matrix.
- ci - ci now fails if jslint-check fails for any of the files in branches.
- ci - add github-workflows to generate code-coverage for jslint.js.
- last jslint version before jslint-org migration.
- last jslint version written in commonjs.
- last jslint version written in es5.
- last jslint version before 2 year hiatus.
- last jslint version that can lint .html and .css files.