## Changelog
### `@jupyter-lsp/jupyterlab-lsp 5.3.0`
- enhancements:
- allow ignoring missing LSP servers in the status indicator; ignore markdown by default ([#1176](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1176))
- maintenance:
- Use public API of CodeMirror's `EditorView` to find view from DOM ([#1163](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1163))
- Make integration tests faster ([#1174](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1174))
- Improve reliability of robot integration tests ([#1169](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1169))
### `jupyter-lsp 2.3.1`
- maintenance:
- updated config schema for pylsp to include latest upstream changes ([#1156](https://github.com/jupyter-lsp/jupyterlab-lsp/issues/1156))
- updated config schema for pylsp to include ruff plugin (python-lsp-ruff) ([#1168](https://github.com/jupyter-lsp/jupyterlab-lsp/issues/1168))
### `jupyter-lsp 2.3.0`
- features:
- add auto-detection of Pyrefly language server ([#1136](https://github.com/jupyter-lsp/jupyterlab-lsp/issues/1136))
- add auto-detection of basedpyright language server ([#1152](https://github.com/jupyter-lsp/jupyterlab-lsp/issues/1152))
### `@jupyter-lsp/jupyterlab-lsp 5.2.0`
- enhancements:
- allow to disable LSP toolbar item in Notebook view ([#1139](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1139))
- bug fixes:
- fixed jump to definition for notebooks that have special characters in filename and position for external jumps ([#1128](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1128))
- maintenance:
- fixed tests, all green now!
- we are no longer testing against `pypy` - contributions to restore it welcome!
### `jupyter-lsp 2.2.6`
- bug fixes:
- fix for potential data loss on invalid `JP_LSP_VIRTUAL_DIR` ([#1140](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1140))
### `@jupyter-lsp/jupyterlab-lsp 5.1.1`
- bug fixes:
- don't look at editor under the mouse on mouse motion when the widget adapter is not connected ([#1113](https://github.com/jupyter-lsp/jupyterlab-lsp/issues/1113))
- fix auto-completer to trigger only on trigger characters, not on every character ([#1117](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/1117))
- maintenance:
- dropped Python 3.8 and Node 18, added newer version to testing matrix
### `jupyter-lsp 2.2.5`
- bug fixes:
- fix for environment variables leaking into the parent environment (#1078)
### `jupyter-lsp 2.2.4`
- bug fixes:
- fix websocket handler incorrectly inheriting from `APIHandler` rather than `JupyterHandler` (#1069)
- remove unused notebook config entry point (#1069)
- support latest version of `typescript-language-server` (#1064)
### `@jupyter-lsp/jupyterlab-lsp 5.1.0`
Requires JupyterLab `>=4.1.0,<5.0.0a0`
- new features:
- populate table of contents with code symbols outline (experimental, file editor only)
- bug fixes:
- fix settings reconciliation for nested properties (#1051)
- fix a regression introduced in v5.0.2 which meant that overrides for native kernel and context completion providers were never active (#1057)
- reduces some warnings in places known to have false positives to debug statements (#1057)
- highlights no longer get instantly removed when navigating to a beginning of cell from another cell (#1057)
- with the use of the new `extensionFactory` API (#1057):
- LSP features work more reliably as the correct virtual document and editor is known rather than found from heuristics
- LSP CodeMirror extensions are not added to editors which do not have an LSP-enabled editor reducing spurious warnings and improving performance
- LSP CodeMirror extensions are only added once the LSP server was connected
- maintenance:
- use new `extensionFactory` API allowing to remove workarounds that were needed to make the extension work in JupyterLab 4.0 (#1057)
- remove no-longer needed patches for `VirtualDocument` as these were merged upstream and released in JupyterLab 4.1 (#1057)
- update coverage, robot version and reporting approaches (#1052)
- build against JupyterLab 4.1, fix tests (#1057)
- bump ip from 2.0.0 to 2.0.1 (#1055)
### `jupyter-lsp 2.2.3`
- maintenance:
- updates pyright config schema to v1.1.350
### `@jupyter-lsp/jupyterlab-lsp 5.0.3`
- bug fixes:
- fix nested transclusions in JupyterLab 4.0.7+ (#1045)
- fix completions when `type` is not defined (#1044)
### `@jupyter-lsp/jupyterlab-lsp 5.0.2`
- bug fixes:
- fix native JupyterLab completion not working when LSP completion plugin is disabled (#1036)
### `jupyter-lsp 2.2.2`
- bug fixes:
- address warning about renamed `extension_points` (#1035)
- fix compatibility with jupyter server 1.x
- fix an authentication-related security vulnerability (see [the advisory](https://github.com/jupyter-lsp/jupyterlab-lsp/security/advisories/GHSA-4qhp-652w-c22x) for details)
- enhancements:
- add authorization support (`lsp` resource, jupyter-server v2+ only) - this allows server operators for fine grained access control, e.g. in case if specific users (such as guest or read-only users) should not be allowed to access LSP; this is in addition to authentication fixes
### `@jupyter-lsp/jupyterlab-lsp 5.0.1`
- bug fixes:
- fix false “undefined name” in `%%time` and `%%capture` magics #1007 (thanks @i-aki-y!)
- fix completion items for paths and other long items being cut off #1025
- workaround issue with markdown lost on edit #1016
- fix latex/Greek letters insertion and other completions which do not match prefix (do not pre-filter completions from kernel) #1022
- fix completions in Console #1023
- fix customising `priority` after pre-setting it with `overrides.json` #1027
- fix jump to definitions in a file inside root in Pyright on Windows #1024
- fix typos in setting title and help message #999 and #1010
- maintenance:
- fix bootstrap script #1021
- bump axios from 1.2.1 to 1.6.2 #1019
- bump @babel/traverse from 7.22.5 to 7.23.4 #1020
### `jupyter-lsp 2.2.1`
- bug fixes:
- use `APIHandler` over `JupyterHandler` to get CORS OPTIONS #952 (thanks @zhanba!)
- use `shutil.which` to discover `npm` executable on Windows (thanks @jameshurst!)
- maintenance:
- resolve traitlets type warnings, lint, remove six #1015
- use `sys.executable` in stdio tests #998
### `@jupyter-lsp/jupyterlab-lsp 5.0.0`
- enhancements:
- uses toast notifications instead of messages on status bar
- diagnostics panel will be re-opened on reload
- maintenance:
- support JupyterLab 4
- use upstream `@jupyterlab/lsp` package
- use camelCase convention in TypeScript/JavaScript code
- use `@codemirror/linter` to show diagnostics
- this comes with a different style of underlines and custom tooltips
- known issues/limitations:
- configuration of language servers via JSON Settings Editor may result in a spurious warning
due to a transitive clash with settings from the UI editor when using nested pattern (e.g.
`{pylsp: {flake8: {enabled: true}}}`); the dotted pattern (e.g. `{"pylsp.flake8.enabled": true}`)
does not lead to such problem.
- enabling auto-invoke of completer requires toggling checkbox in both native and LSP `Code Completion` settings
- robot mode does not support JupyterLab 4.0, hence robot LSP will not work either
- renaming in docker files may not work on certain variables due to upstream tokenizer issue
Requires JupyterLab `>=4.0.6,<5.0.0a0`
### `@jupyter-lsp/jupyterlab-lsp 5.0.0-rc.1`
- restore re-use of unused standalone connections
### `@jupyter-lsp/jupyterlab-lsp 5.0.0-rc.0`
- fixes diagnostics not showing up in text editor in certain circumstances
- fixes signature hover box not being clickable
- improves performance by not creating a temporary editor to setup linter underline style
- JSON overrides work again
- fixes issue with syntax highlighting breaking when pasting multiple cells
Requires JupyterLab `>=4.0.6,<5.0.0a0`
### `@jupyter-lsp/jupyterlab-lsp 5.0.0-beta.1`
- fix highlights conflict with selection
- fix scrolling to diagnostics and diagnostic rendering in windowed notebook
- suppress kernel completer in transclusions
### `@jupyter-lsp/jupyterlab-lsp 5.0.0-beta.0`
- fix most regressions caught by tests in alpha
- reopen diagnostics panel on reload
- use toasts for notifications
### `@jupyter-lsp/jupyterlab-lsp 5.0.0-alpha.0`
- maintenance:
- support JupyterLab 4
Requires JupyterLab `>=4.0.5,<5.0.0a0`
### `@jupyter-lsp/jupyterlab-lsp 4.3.0` (2023-09-21)
- features:
- extractor for spark SQL magic was added ([#980], thanks @skbitsp)
- classes needed to register custom adapters are now exported ([#980], thanks @skbitsp)
- using these classes is not recommended for new code as registration mechanism was rewritten in JupyterLab 4.0 and moved to `@jupyterlab/lsp`
[#980]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/980
### `@jupyter-lsp/jupyterlab-lsp 4.2.0` (2023-05-28)
- features:
- diagnostics can be ignored by severity level with new `ignoreSeverities` setting ([#940])
### `jupyter-lsp 2.2.0` (2023-05-28)
- bug fixes:
- await `sleep()` coroutine ([#939], thanks @jinzhen-lin)
- limit attempts to initialise shadow file system to three trials ([#936])
- maintenance:
- support `bash-language-sever` 4.3.2+ ([#938], thanks @ackalker)
[#936]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/936
[#938]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/938
[#939]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/939
[#940]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/940
### `@jupyter-lsp/jupyterlab-lsp 4.1.0` (2023-04-24)
- features:
- make `.virtual_documents` optional - logic for solving URIs will now check if the server does not require it ([#930])
- bug fixes:
- fix contrast of mark highlights in dark mode ([#928])
- fix conflict with block/rectangular selections on Alt + click ([#927])
- maintenance:
- update texlab expectation ([#929])
[#927]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/927
[#928]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/928
[#929]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/929
[#930]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/930
### `jupyter-lsp 2.1.0` (2023-04-24)
- features:
- make `.virtual_documents` optional - added `requires_documents_on_disk` spec field (default `True`, will become `False` in next major version) ([#930])
### `@jupyter-lsp/jupyterlab-lsp 4.0.1` (2023-03-21)
- bug fixes
- overrides from `overrides.json` are now picked up again ([#919])
### `jupyter-lsp 2.0.1` (2023-03-21)
- bug fixes:
- pyright schema now includes required `python.` prefixes ([#919])
[#919]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/919
### `@jupyter-lsp/jupyterlab-lsp 4.0.0` (2023-03-15)
Requires JupyterLab `>=3.6.0,<4.0.0a0` and Python 3.8 or newer.
- features:
- implement jump target selector and jump to references ([#739])
- implement settings UI using native JupyterLab 3.3 UI ([#778])
- add option to show hover tooltip automatically ([#864], thanks @yamaton)
- implement eliding for long paths/files in completer ([#893])
- allow to pass default workspace config (`serverSettings`) in specs ([#856])
- bug fixes:
- use correct websocket URL if configured as different from base URL ([#820], thanks @MikeSem)
- clean up all completer styles when completer feature is disabled ([#829]).
- fix `undefined` being inserted for path-like completion items with no `insertText` ([#833])
- reduce signature flickering when typing and hover flicker when moving mouse ([#836])
- fix sporadic misplacement of hover tooltips ([#860], thanks @yamaton)
- fix hover tooltip not updated after character deletions ([#867], thanks @yamaton)
- handle potential race condition in feature settings loading ([#882])
- refactoring:
- changed NPM packages namespace from `@krassowski` to `@jupyter-lsp` ([#862])
- move client capabilities to features ([#738])
- downstreams:
- use the host application's HTTP settings for requests to the REST and WebSocket routes ([#881])
- source maps are provided for improved debugging ([#882])
- the derived JSON Schema types are avilable as `SCHEMA` ([#882])
- documentation:
- add missing `--channel` to conda instruction for texlab ([#789], thanks @justin-f-perez)
- remove references to pylsp fork ([#800] and [#814], thanks @joelostblom and @nickfong)
- add Robot Framework language server ([#724], thanks @bollwyvl)
- add a list of third-party and community language servers ([#826], thanks @cccs-jc)
- fix documentation of `.lsp_symlink` workaround ([#828])
- maintenance:
- bump minimum required JupyterLab version to 3.3 (`>=3.3.0,<4.0.0a0`)
- bump minimum required Node.js version to 14.0 (12.0 reached EOL in April)
- use newer `@jupyterlab/builder` which provides third-party license information ([#882])
### `lsp-ws-connection 0.7.1` (2023-03-15)
- downstreams:
- includes sourcemaps for easier debugging ([#882])
- maintenance:
- handle notification promises more explicitly ([#882])
### `jupyter-lsp 2.0.0` (2023-03-15)
- dependencies:
- uses `importlib_metadata` (or `importlib.metadata` on 3.10+) for `entry_points` ([#882])
- supports Python versions are 3.8 or newer
- performance:
- `entry_point` discovery is deferred until server has started, improving
`jupyter_server` startup time ([#852])
- allow to pass default workspace config (`serverSettings`) in specs ([#856])
[#724]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/724
[#738]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/738
[#778]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/778
[#789]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/789
[#800]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/800
[#814]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/814
[#820]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/820
[#826]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/826
[#829]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/829
[#833]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/833
[#836]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/836
[#852]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/852
[#856]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/856
[#860]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/860
[#864]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/864
[#867]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/867
[#882]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/882
[#893]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/893
### `@krassowski/jupyterlab-lsp 3.10.1` (2022-03-21)
- bug fixes:
- fix navigation to files with names including characters which require encoding ([#758])
- fix omissions in the main settings schema for correct rendering in JupyterLab 3.3 Settings Editor UI ([#779])
- maintenance
- make tests pass with new JupyterLab 3.3 ([#777])
- pin r-base version to fix Binder ([#766])
- pin node-gyp to fix CI on Windows ([#772])
- pin pytest-flake8 to fix CI
- update development/testing environment dependencies: urijs, typedoc, url-parse
[#758]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/758
[#766]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/766
[#772]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/772
[#777]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/777
[#779]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/779
### `@krassowski/jupyterlab-lsp 3.10.0` (2022-01-01)
- features:
- enable pre-filtering of completion matches by default ([#735])
- add support for diagnostic tags: Deprecated, Unnecessary ([#736], [#737])
- bug fixes:
- squash warnings and errors in web console ([#732])
- fix signature blur and fix formatting when no arguments are present ([#734])
- fixed with enabling of strict null checks:
- previously changing kernels always led to restarting of LSP connection, even if the kernel language did not change; now the connection will be retained if possible
- `markdownRenderer` is no longer implicitly required
- diagnostics sorting with missing values for `source` and `severity` was improved and missing values will be consistently shown at the end
- diagnostics placeholder was split into `Diagnostics are not available` and `No issues detected, great job!` which will now show up properly
- maintenance:
- enable strict null checks and other strict settings ([#733])
- specify client capabilities in features instead of hard-coding them ([#738])
- bump minimum required JupyterLab version to 3.1 (`>=3.1.0,<4.0.0a0`)
[#732]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/732
[#733]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/733
[#734]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/734
[#735]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/735
[#736]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/736
[#737]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/737
[#738]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/738
### `@krassowski/code-jumpers 1.2.0` (2022-01-01)
- maintenance:
- updates to API with respect to `null`/`undefined` values in course strict null checks activation ([#733])
### `@krassowski/jupyterlab-lsp 3.9.3` (2021-12-19)
- bug fixes:
- workaround upstream issue in merging translation ([#726], thanks @fcollonval)
[#726]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/726
### `@krassowski/jupyterlab-lsp 3.9.2` (2021-12-12)
- bug fixes:
- prevent very long completion details text from extending the completer indefinitely ([#698])
- correct status translations ([#700], thanks @fcollonval)
- fix translations in status pop-up ([#703])
- workaround issue causing file rename when opening external files by jumping to them ([#712], thanks @jepcor97)
- fix sorting by "Line:Ch" and "Cell" in Diagnostics Panel ([#717])
- fix header border missing when scrolling in Diagnostics Panel ([#717])
- documentation improvements:
- clarify that JupyterLab restart is needed after installation ([#714], thanks @3coins)
[#698]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/698
[#700]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/700
[#703]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/703
[#712]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/712
[#714]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/714
[#717]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/717
### `@krassowski/completion-theme 3.2.0` (2021-12-12)
- features:
- add `details-below` layout allowing to change the completer arrangement ([#698])
### `jupyter-lsp 1.5.1` (2021-12-12)
- documentation improvements:
- document troubleshooting steps for `texlab` server([#702])
- maintenance and upkeep:
- migrate test configuration to `ServerApp` as needed ([#713])
- address deprecation warnings ([#713])
[#702]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/702
[#713]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/713
### `@krassowski/jupyterlab-lsp 3.9.1` (2021-10-24)
- bug fixes:
- fix build issues making it difficult to reuse/extend the package ([#696], thanks @cccs-jc)
[#696]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/696
### `jupyter-lsp 1.5.0` (2021-10-24):
- features:
- add support for new `typescript-language-server` replacing `javascript-typescript-langserver`;
despite the name both packages provide support for all four: JavaScript, JSX, TypeScript and TSX;
the old `javascript-typescript-langserver` can still be used, but it is no longer maintained
and we will not be supported, and specs may be removed in the next major release ([#697]).
[#697]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/697
### `@krassowski/jupyterlab-lsp 3.9.0` (2021-10-17)
- features:
- signature help box will now persist while typing the arguments of a function ([#671])
- the currently active argument will be highlighted in the signature help box
- if the documentation exceeds a user-configurable number of lines the signature
help box will only display the first line of the documentation and the following
lines will be collapsed into an expandable details section.
- the signature box is now displayed above the current line
- the signature box takes up less space
- you can now disable specific features in settings ([#689])
- bug fixes:
- fix missing translation strings ([#675])
- fix kernel completions not showing up for R ([#686])
- fix tab completions not showing up in strings due to incomplete trigger kind invalidation ([#686])
- fix path completions reconciliation for `pyls`/`pylsp` with `IPython` ([#686])
- improve escaping rule for IPython magics overrides ([#688])
- fix documentation panel not showing up when typing fast ([#692])
[#671]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/671
[#675]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/675
[#686]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/686
[#688]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/688
[#689]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/689
[#692]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/692
### `@krassowski/jupyterlab-lsp 3.8.1` (2021-08-02)
- bug fixes:
- `%Rdevice` magic is now properly overridden and won't be extracted to R code ([#646])
- Fix hover rendering for `MarkedString`s, fix hover disappearing when moving mouse towards it ([#653])
[#646]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/646
[#653]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/653
### `jupyter-lsp 1.4.1` (2021-08-02)
- bug fixes:
- remove spurious `ValidationError` warnings for non-installed servers ([#645], thanks @karlaspuldaro)
- reduce number and verbosity of logs on startup
[#645]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/645
### `@krassowski/jupyterlab-lsp 3.8.0` (2021-07-04)
- improvements:
- add a note on manually enabling backend extension ([#621], thanks @icankeep)
- in-app troubleshooting/installation help is now offered for servers which are needed but could not be detected
(if auto-detection specification for those is present) ([#634])
- bug fixes:
- fix rename shortcut registration in file editor ([#614])
- improve performance of icon rendering in completer ([#625])
- fix cache misses and concurrency issues for hover ([#630])
[#614]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/614
[#621]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/621
[#625]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/625
[#630]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/630
[#634]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/634
### `jupyter-lsp 1.4.0` (2021-07-04)
- features:
- `troubleshoot` property was added to the language server spec, allowing to describe auto-detection troubleshooting
([#634])
- new endpoint `specs` will list all language server specifications known to `jupyter-lsp` allowing frontends
to suggest installation of specific language servers ([#634])
- changes:
- `ShellSpec.is_installed()` signature changed; it now accepts the `LanguageServerManagerAPI` rather than the resolved
command location (of `str` type); the specs using only `is_installed_args` are not affected; as this method was only
used by internally by the `__call__` implementation (which was adjusted accordingly) this change should not break
existing specs unless any of these methods were overridden in sub-classes.
- `SpecBase` was moved to `types.py`; it can still be imported from `utils`, but doing so is discouraged
- `ShellSpec.solve()` was added to facilitate discovery of command location
[#634]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/634
### `jupyter-lsp 1.3.0` (2021-06-02)
- features:
- add auto-detection of pyright server ([#587], thanks @yuntan)
[#587]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/587
### `@krassowski/jupyterlab-lsp 3.7.0` (2021-05-31)
- features:
- add ability to deactivate Kernel completions or LSP completion through the settings ([#586], thanks @Carreau)
- allow to set a priority for LSP server, allowing to choose which server to use when multiple servers are installed ([#588])
- add auto-detection of pyright server ([#587], thanks @yuntan)
- update from JupyterLab Classic to RetroLab ([#602])
- log server messages in user-accessible console ([#606])
- bug fixes:
- workaround url-parse issue causing problems when using JupyterLab 3.0.15 ([#599])
- other changes:
- drop Node 10 (EOL 2 weeks ago) testing on CI, add Node 15 ([#587])
- update lsp-ws-connection dependencies ([#606])
- old emit-based API of lsp-ws-connection is new deprecated and will be removed in the next major version; please use `serverNotifications`, `clientNotifications`, `clientRequests` and `serverRequests` instead ([#606])
[#586]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/586
[#588]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/588
[#599]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/599
[#602]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/602
[#606]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/606
### `jupyter-lsp 1.2.0` (2021-04-26)
- features:
- add support for python-lsp-server, a community fork of pyls ([#584] and [#582], thanks @maresb)
- bug fixes:
- fix encoding on Windows for non-conda installs ([#580], thanks @stonebig)
[#580]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/580
[#582]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/582
[#584]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/584
### `@krassowski/code-jumpers 1.1.0` (2021-04-26)
- features:
- added translation support ([#557], thanks @JessicaBarh)
### `@krassowski/jupyterlab-lsp 3.6.0` (2021-04-26)
- features:
- added translation support ([#557], thanks @JessicaBarh)
- bug fixes:
- fixed name of jupyterlab-lsp package displayed in JupyterLab UI ([#570], thanks @marimeireles)
- removed vendored CodeMirror from distribution ([#576])
[#557]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/557
[#570]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/570
[#576]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/576
### `@krassowski/jupyterlab-lsp 3.5.0` (2021-03-22)
- features:
- adds `%%bigquery` IPython cell magic support for BigQuery ([#553], thanks @julioyildo)
- completions filtering can be set to case-insensitive in settings ([#549])
- completions filtering can hide exact matches ([#549])
- the extra information displayed next to the completion label now can include 'detail' (usually module/package of origin), and can be customized in settings ([#549])
- bug fixes:
- prevents throwing a highlights error when adding new cell with Shift + Enter ([#544])
- fixes IPython `pinfo` and `pinfo2` (`?` and `??`) for identifiers containing `s` ([#547])
- fixes incorrect behaviour of LSP features in some IPython magics with single line of content ([#560])
- fixes name of jupyterlab-lsp package in JupyterLab
- for extension authors:
- minimal functional extractor and code overrides APIs are now exported; these APIs cab be subject to change in future releases ([#562])
[#544]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/544
[#547]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/547
[#549]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/549
[#553]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/553
[#560]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/560
[#562]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/562
### `jupyter-lsp 1.1.4` (2021-02-21)
- bug fixes:
- ensures `jupyter*_config.d` paths are searched for `language_servers`
as documented in _Configuring_ ([#535])
- uses more explicit file name for enabling `jupyter-lsp` in `notebook` and
`jupyter_server ([#535])
[#535]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/535
### `@krassowski/jupyterlab-lsp 3.4.1` (2021-02-16)
- bug fixes:
- fixed installation of the source version of the extension (causing build error if classic was not installed) ([#526])
[#526]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/526
### `@krassowski/jupyterlab-lsp 3.4.0` (2021-02-14)
- features:
- the priority of the completions from kernel can now be changed by switching new `kernelCompletionsFirst` setting ([#520])
- completer panel will now always render markdown documentation if available ([#520])
- the implementation re-renders the panel as it is the best we can do until [jupyterlab#9663](https://github.com/jupyterlab/jupyterlab/pull/9663) is merged
- the completer now uses `filterText` and `sortText` if available to better filter and sort completions ([#520], [#523])
- completer `suppressInvokeIn` setting was removed; `suppressContinuousHintingIn` and `suppressTriggerCharacterIn` settings were added ([#521])
- `suppressContinuousHintingIn` by default includes `def` to improve the experience when writing function names ([#521])
- long file paths are now collapsed if composed of more than two segments to avoid status popover and diagnostics panel getting too wide ([#524])
- bug fixes:
- user-invoked completion in strings works again ([#521])
- completer documentation will now consistently show up after filtering the completion items ([#520])
- completions containing HTML-like syntax will be displayed properly (an upstream issue) ([#520], [#523])
- diagnostics panel will no longer break when foreign documents (e.g. `%%R` cell magics) are removed ([#522])
[#520]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/520
[#521]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/521
[#522]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/522
[#523]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/523
[#524]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/524
### `@krassowski/jupyterlab-lsp 3.3.1` (2021-02-07)
- bug fixes:
- completion and signature suggestions get invalidated when editor changes ([#507])
- signature suggestions now invalidate on cursor move to another line or backwards too ([#507])
- LaTeX is now rendered in documentation panel of completer ([#506])
- completion response returned as plain text use pre tag to retain whitespace formatting ([#506])
- pre-formatted code font size was reduced to match font-size of the text in completion panel ([#506])
- completer no longer spans the entire screen if it has long entries ([#506])
[#506]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/506
[#507]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/507
[#508]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/508
### `jupyter-lsp 1.1.3` (2020-02-07)
- features:
- add config for the classic notebook server extension ([#504])
[#504]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/504
### `@krassowski/jupyterlab-lsp 3.3.0` (2021-01-31)
- features:
- added a timeout for kernel completion, with the default of 600ms ([#496])
- added an option to skip waiting for kernel completions if busy, off by default ([#496])
- bug fixes:
- delayed completion suggestions will no longer show up if cursor moved to another line ([#496])
- changes in notebooks after kernel restart or file rename will now be recorded by the language server again ([#496])
- when either of kernel providers: kernel or LSP server fails, the completion from the other will still be shown ([#496])
[#496]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/496
### `jupyter-lsp 1.1.2` (2021-01-31)
- bug fixes:
- fixed issues with language server messages being truncated in certain circumstances on Windows
[#494]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/494
### `@krassowski/jupyterlab-lsp 3.2.0` (2021-01-24)
- features:
- documentation panel in completer now works for R language too: implemented `completionItem/resolve` ([#487])
- kernel types returned by IPython and IJulia are now mapped to LSP types; you can customize the mappings in settings ([#487])
- bug fixes:
- diagnostics panel works after kernel restart properly ([#485])
- workaround was added to enable `jedi-language-server` diagnostics ([#485])
- Julia language server will not crash when saving a non-Julia file: fixed sendSaved notification scope ([#491])
### `jupyter-lsp 1.1.1` (2021-01-24)
- bug fixes:
- `PythonModuleSpec` no longer raises exception when the server module does not exist ([#485])
[#485]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/485
[#487]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/487
[#491]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/491
### `@krassowski/jupyterlab-lsp 3.1.0` (2021-01-17)
- features
- make the extension work with `jupyterlab-classic` - experimental, not all features are functional yet ([#465])
- new status "Server extension missing" and a dialog with advice was added to help users with atypical configurations ([#476])
- for developers: the verbosity of console logs is now controllable from settings and set to warn by default ([#480])
- bug fixes:
- namespace completions in R (after double and triple colon) now work properly ([#449])
- improved status icon contrast when status item is active ([#465])
- connection manager now properly keeps track of notebooks when multiple notebooks are open ([#474])
- new cells added after kernel restart now work properly; kernel changes are handled correctly ([#478])
- increase total timeout for language server connection ([#479])
- fix status communication during initialization ([#479])
[#449]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/449
[#465]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/465
[#474]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/474
[#476]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/476
[#478]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/478
[#479]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/479
[#480]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/480
### `jupyter-lsp 1.1.0` (2021-01-17)
- features
- added experimental detection of Julia and Jedi language servers ([#481])
- bug fixes:
- send periodic pings on websocket channels to maintain connection ([#459], thanks @franckchen)
- R languageserver is no longer incorrectly shown as available when not installed ([#463])
- fix completion of very large namespaces (e.g. in R's base or in JavaScript) due to truncated message relay ([#477])
[#459]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/459
[#463]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/463
[#477]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/477
[#481]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/481
### `@krassowski/jupyterlab-lsp 3.0.0` (2021-01-06)
- features
- support for JupyterLab 3.0 ([#452], [#402])
### `jupyter-lsp 1.0.0` (2021-01-06)
- features
- support for JupyterLab 3.0 ([#452], [#402])
[#402]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/402
[#452]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/452
### `@krassowski/jupyterlab-lsp 2.1.2` (2021-01-02)
- features
- highlights can now be auto-removed from the cells/editors on blur (set `removeOnBlur` to `true` in settings) ([#446])
- bug fixes
- improved performance of completion and highlights by minimising the number of highlight requests and GUI redraws (token checking, debouncing, acting on a single response only) ([#433])
- highlights now update after cell focus/blur events even if those do not trigger cursor movement ([#433])
- trigger characters auto-invoke now works in continuous hinting mode again ([#434])
[#433]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/433
[#434]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/434
[#446]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/446
### `@krassowski/jupyterlab-lsp 2.1.1` (2020-12-15)
- bug fixes
- fix crash "blank screen" caused by Mac command character included in jump-to schema file ([#429])
[#429]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/429
### `jupyter-lsp 0.9.3` (2020-12-13)
- features
- the virtual documents' folder can be configured with `JP_LSP_VIRTUAL_DIR` or
`LanguageServerManager.virtual_documents_dir`, with a potential benefit for
JupyterHub installations (the default value remains _contents.root_dir_ / `.virtual_documents`)
([#416], thanks @fcollonval)
[#416]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/416
### `@krassowski/jupyterlab-lsp 2.1.0` (2020-12-13)
- features
- added "click to jump" functionality (by default using Alt modifier) ([#423])
- added "jump back" command, by default activated with Alt + o ([#423])
- `.virtual_documents` location can now be customized ([#416])
- tokens are now exported making them available for import from other extensions ([#414], thanks @martinRenou)
- bug fixes
- context menu commands are now correctly registered where previously specific conditions were leading to race conditions ([#399], thanks @mnowacki-b)
- handles characters that need escaping (spaces, non-ASCII characters) more
robustly in files and folder names ([#403], thanks @bollwyvl and @avaissi)
- moving cells now triggers the document update immediately leading to immediate diagnostics update ([#421])
- changing cell type to `raw` or `markdown` and then back to `code` properly unbinds/binds event handlers and updates document ([#421])
- pasted cells are added to the LSP document immediately, without the need for the user to enter them ([#421])
- improved error message when language server cannot be found ([#413], thanks @martinRenou)
- developer documentation got improved ([#412], thanks @karlaspuldaro)
[#399]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/399
[#403]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/403
[#412]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/412
[#413]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/413
[#414]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/414
[#421]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/421
### `@krassowski/code-jumpers 1.0.0` (2020-12-13)
- breaking changes
- split away from `@krassowski/jupyterlab_go_to_definition`, renamed to `@krassowski/code-jumpers` ([#423]):
- removed unused code
- refactored history operations to track files and always use global location data
- renamed `uri` to `contents_path` to help avoid programmer issues
with characters requiring URI encoding ([#406])
[#406]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/406
[#423]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/423
### `@krassowski/jupyterlab-lsp 2.0.8` (2020-10-25)
- bug fixes
- custom cell syntax highlighting is now properly removed when no longer needed ([#387])
- the completer in continuous hinting now works well with the pasted text ([#389])
- continuous hinting suggestions will no longer show up if the only hint is the same as the current token ([#391])
- available options for hover modifier keys are now listed in the setting descriptions ([#377])
[#377]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/377
[#387]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/387
[#389]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/389
[#391]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/391
### `@krassowski/jupyterlab-lsp 2.0.7` (2020-09-18)
- bug fixes
- fix syntax highlighting in hover tooltips and reduce unnecessary padding and margin ([#363])
- greatly improve performance of hover action ([#363])
- improve support for expanded hovers tooltips using deprecated API ([#363])
- do not hide hover tooltips too eagerly (allowing selecting text/easy scrolling of longer tooltips) ([#363])
[#363]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/363
### `@krassowski/jupyterlab-lsp 2.0.6` (2020-09-15)
- bug fixes
- fix syntax highlighting of %%language cells slowing down editing in notebooks ([#361])
[#361]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/361
### `@krassowski/jupyterlab-lsp 2.0.5` (2020-09-11)
- bug fixes
- fix too aggressive overrides of IPython's pinfo (`?`) and pinfo2 (`??`) ([#352])
[#352]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/352
### `@krassowski/jupyterlab-lsp 2.0.4` (2020-09-11)
- bug fixes
- improve code overrides for IPython line magics ([#346])
- implement missing code overrides for IPython's pinfo (`?`) and pinfo2 (`??`) syntactic sugar ([#346])
[#346]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/346
### `@krassowski/jupyterlab-lsp 2.0.2` (2020-09-07)
- bug fixes
- fix code overrides not being registered properly ([#340])
[#340]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/340
### `@krassowski/jupyterlab-lsp 2.0.1` (2020-09-07)
- bug fixes
- bump version of `lsp-ws-connection` dependency to fix the LaTeX server issues (see [#337])
[#337]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/337
### `jupyter-lsp 0.9.2` (2020-09-03)
- autodetects the `sql` language server for `.sql` files ([#328][])
- diagnostics are provided by `sqlint` which requires Node 11+
to work well (in contrast to currently required Node 10+).
[#328]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/328
### `@krassowski/jupyterlab-lsp 2.0.0` (2020-09-03)
- features
- support for JupyterLab 2.2 ([#301][])
- completer now displays server-provided documentation,
and a kernel icon for kernel suggestions without type information ([#301][])
- add two icons themes for the completer (material and vscode) ([#322])
- the documentation by the completer can be turned on or off ([#315])
- continuous hinting (Hinterland mode) can be enabled in settings ([#315])
- tokens in which the completer should not be triggered can be changed ([#315])
- configuration for the following features is now exposed in the settings editor ([#318]):
- diagnostics (display, filtering)
- hover (modifier key)
- rename operation status reporting got improved ([#318])
- replaced the generic status icons with code check icon (coloured differently according to the status) ([#318])
- added icons for all the features and their commands ([#318])
- refactored the codebase with a new architecture which allows dynamic features, document widget adapter, and code editor registration ([#318])
- the document in the connections list in the statusbar popover are now represented by easy-to-understand DocumentLocator (breadcrumbs) widget rather than an internal id ([bacc006])
- syntax highlighting mode is adjusted to the language with the majority of the code in an editor ([#319])
- copy diagnostics message and filter diagnostics from context menu of Diagnostic Panel ([#330])
- bug fixes
- path-autocompletion issues were resolved upstream and this release adopts these changes
- the missing caret and document connection icons were restored in the statusbar popover ([#318])
- pressing "Cancel" rename during rename now correctly aborts the rename operation ([#318])
- when a language server for a foreign document is not available an explanation is displayed (rather than the "Connecting..." status as before) ([4e5b2ad])
- when jump target is not found a message is now shown instead of raising an exception ([00448d0])
- fixed status message expiration and replacement ([8798f2d]), ([#329])
- fixed some context command rank issues introduced after an attempt of migration to nulls ([#318])
[#301]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/301
[#315]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/315
[#318]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/318
[#319]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/319
[#322]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/322
[#329]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/329
[#330]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/330
[00448d0]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/318/commits/00448d0c55e7f9a1e7e0a5322f17610daac47dfe
[bacc006]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/318/commits/bacc0066da0727ff7397574914bf0401e4d8f7cb
[4e5b2ad]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/318/commits/4e5b2adf655120458cc8be4b453fe9a78c98e061
[8798f2d]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/318/commits/8798f2dcfd28da10a2b8d8f648974111caa52307
### `@krassowski/jupyterlab-lsp 1.1.2` (2020-08-05)
- bug fixes
- emits console warnings instead of throwing errors in hover handlers and connections ([#299][], [#300][])
- improve URL checks in message handling to enable LaTeX diagnostics to work when configured ([#288][])
[#299]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/299
[#300]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/300
### `jupyter-lsp 0.9.1` (2020-08-05)
- autodetects the `texlab` language server for `.tex` files ([#288][])
- diagnostics _should_ be provided by `chktex` on save, but don't yet appear,
but can be configured through the Advanced Settings Editor to appear on save or change
[#288]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/288
### `@krassowski/jupyterlab-lsp 1.1.0` (2020-07-20)
- features
- language servers can now be configured from the Advanced Settings Editor ([#245][])
- bug fixes
- fixes currently-highlighted token in dark editor themes against light lab theme
(and vice versa) ([#195][])
- restores sorting order-indicating caret icons in diagnostics panel table ([#261][])
- handles document open and change operation ordering more predictably ([#284][])
- fixes some pyflakes issues caused by line magics substitution ([#293][])
- updated the link to the documentation of language servers ([#294][])
[#195]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/195
[#261]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/261
[#293]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/293
[#294]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/294
### `jupyter-lsp 0.9.0` (2020-07-20)
- features
- language servers can now be configured from the Advanced Settings Editor ([#245][])
- bug fixes
- handles document open and change operation ordering more predictably ([#284][])
### `lsp-ws-connection 0.5.0` (2020-07-20)
- features
- language servers can now be configured from the Advanced Settings Editor ([#245][])
- bug fixes
- handles document open and change operation ordering more predictably ([#284][])
[#245]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/245
[#284]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/284
### `@krassowski/jupyterlab-lsp 1.0.0` (2020-03-14)
- features
- supports JupyterLab 2.0
### `@krassowski/jupyterlab_go_to_definition 1.0.0` (2020-03-14)
- features
- supports JupyterLab 2.0
### `@krassowski/jupyterlab-lsp 0.8.0` (2020-03-12)
- features
- opens a maximum of one WebSocket per language server ([#165][], [#199][])
- lazy-loads language server protocol machinery ([#165][])
- waits much longer for slow-starting language servers ([#165][])
- cleans up documents, handlers, events, and signals more aggressively ([#165][])
- ignores malformed diagnostic ranges, enabling markdown support ([#165][])
- passes tests on Python 3.8 on Windows ([#165][])
- improves support for rpy2 magic cells with parameters (
[#206](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/206)
)
- bug fixes
- reports files are open only after installing all handlers to avoid missing messages ([#201][])
[#201]: https://github.com/jupyter-lsp/jupyterlab-lsp/issues/201
### `lsp-ws-connection 0.4.0` (2020-03-12)
- breaking changes
- no longer assumes one document per connection ([#165][])
- requires documents be opened explicitly ([#165][])
- use of the `eventEmitter` pattern mostly deprecated in favor of `Promise`s
([#165][])
[#165]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/165
### `jupyter-lsp 0.8.0` (2020-03-12)
- breaking changes
- websockets are now serviced by implementation key, rather than language
under `lsp/ws/` ([#199][])
- introduces schema version `2`, reporting status by server at `lsp/status` ([#199][])
- bugfixes:
- handles language server reading/writing and shadow file operations in threads ([#199][])
[#199]: https://github.com/jupyter-lsp/jupyterlab-lsp/pull/199
### `jupyter-lsp 0.7.0`
- bugfixes
- didSave no longer causes unwanted messages in logs (
[#187](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/187)
)
### `@krassowski/jupyterlab-lsp 0.7.1`
- features
- users can now choose which columns to display
in the diagnostic panel, using a context menu action (
[#159](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/159)
)
- start the diagnostics panel docked at the bottom and improve
the re-spawning of the diagnostics panel (
[#166](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/166)
)
- bugfixes
- fixed various small bugs in the completer (
[#162](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/162)
)
- fix documentation display in signature for LSP servers which
return MarkupContent (
[#164](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/164)
)
### `lsp-ws-connection 0.3.1`
- added `sendSaved()` method (textDocument/didSave) (
[#147](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/147)
)
- fixed `getSignatureHelp()` off-by-one error (
[#140](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/140)
)
### `@krassowski/jupyterlab-lsp 0.7.0`
- features
- reduced space taken up by the statusbar indicator (
[#106](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/106)
)
- implemented statusbar popover with connections statuses (
[#106](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/106)
)
- generates types for server data responses from JSON schema (
[#110](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/110)
)
- added 'rename' function for notebooks, using shadow filesystem (
[#115](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/115)
)
- added a UX workaround for rope rename issues when there is a
SyntaxError in the Python code (
[#127](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/127)
)
- added a widget panel with diagnostics (inspections), allowing to
sort and explore diagnostics, and to go to the respective location
in code (with a click); accessible from the context menu (
[#129](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/129)
)
- all commands are now accessible from the command palette (
[#142](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/142)
)
- bash LSP now also covers `%%bash` magic cell in addition to `%%sh` (
[#144](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/144)
)
- rpy2 magics received enhanced support for argument parsing
in both parent Python document (re-written overrides) and
exctracted R documents (improved foreign code extractor) (
[#148](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/148),
[#153](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/153)
)
- console logs can now easily be redirected to a floating console
windows for debugging of the browser tests (see CONTRIBUTING.md)
- bugfixes
- diagnostics in foreign documents are now correctly updated (
[133fd3d](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/129/commits/133fd3d71401c7e5affc0a8637ee157de65bef62)
)
- diagnostics are now always correctly displayed in the document they were intended for
- the workaround for relative root path is now also applied on Mac (
[#139](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/139)
)
- fixed LSP of R in Python (`%%R` magic cell from rpy2) (
[#144](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/144)
)
- completion now work properly when the kernel is shut down (
[#146](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/146)
)
- a lowercase completion option selected from an uppercase token
will now correctly substitute the incomplete token (
[#143](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/143)
)
- `didSave()` is emitted on file save, enabling the workaround
used by R language server to lazily load `library(tidyverse)` (
[#95](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/95),
[#147](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/147),
)
- signature feature is now correctly working in notebooks (
[#140](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/140)
)
### `lsp-ws-connection 0.3.0`
- infrastructure
- brought into monorepo [#107](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/107)
- dev
- allows `initializeParams` to be overloaded by subclasses
- adopts
- typescript 3.7
- prettier
- tslint
- added initialization checks before executing sendChange to comply
with LSP specs [#115](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/115)
### `jupyter-lsp 0.7.0b0`
- features
- adds a language server status endpoint (
[#81](https://github.com/jupyter-lsp/jupyterlab-lsp/pull/81)
)
- adds more descriptive information to the language server spec (
[#90](https://github.com/jupyter-lsp/jupyterlab-lsp/pulls/100)
)
- adds an extensible listener API (
[#99](https://github.com/jupyter-lsp/jupyterlab-lsp/issues/99),
[#100](https://github.com/jupyter-lsp/jupyterlab-lsp/pulls/100)
)
### `@krassowski/jupyterlab-lsp 0.6.1`
- features
- adds an indicator to the statusbar
- and many other improvements, see the [release notes](https://github.com/jupyter-lsp/jupyterlab-lsp/releases/tag/v0.6.1)
- dependencies
- removes unused npm dependencies
### `@krassowski/jupyterlab-lsp 0.6.0`
- features
- allows "rename" action in file editor
- bugfixes
- handles some non-standard diagnostic responses
- testing
- adds browser-based testing for file editor
- dependencies
- requires `jupyter-lsp`
### `jupyter-lsp 0.6.0b0`
- features
- starts language servers on demand
- accepts configuration via Jupyter config system (traitlets) and python
`entry_point`s
- autodetects language servers for bash, CSS, LESS, SASS, Dockerfile, YAML, JS,
TypeScript, JSX, TSX, JSON, YAML
- bugfixes
- fix issue that variables declared in cell magics(%%time, %%capture) are masked(
[#635](https://github.com/jupyter-lsp/jupyterlab-lsp/issues/635)
)