Changelog

Contents

Changelog#

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 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

@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)

@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)

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)

@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)

@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

@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)

@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)

@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)

@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)

@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)

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).

@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)

@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 MarkedStrings, fix hover disappearing when moving mouse towards it (#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

@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)

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

jupyter-lsp 1.3.0 (2021-06-02)#

  • features:

    • add auto-detection of pyright server (#587, thanks @yuntan)

@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)

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)

@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)

@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)

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)

@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)

@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 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)

@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)

jupyter-lsp 1.1.3 (2020-02-07)#

  • features:

    • add config for the classic notebook server extension (#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)

jupyter-lsp 1.1.2 (2021-01-31)#

  • bug fixes:

    • fixed issues with language server messages being truncated in certain circumstances on Windows

@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)

@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)

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)

@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)

@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)

@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)

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)

@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)

@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)

@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)

@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)

@krassowski/jupyterlab-lsp 2.0.6 (2020-09-15)#

  • bug fixes

    • fix syntax highlighting of %%language cells slowing down editing in notebooks (#361)

@krassowski/jupyterlab-lsp 2.0.5 (2020-09-11)#

  • bug fixes

    • fix too aggressive overrides of IPython’s pinfo (?) and pinfo2 (??) (#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)

@krassowski/jupyterlab-lsp 2.0.2 (2020-09-07)#

  • bug fixes

    • fix code overrides not being registered properly (#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)

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+).

@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)

@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)

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

@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)

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)

@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 )

  • bug fixes

    • reports files are open only after installing all handlers to avoid missing messages (#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 Promises (#165)

jupyter-lsp 0.8.0 (2020-03-12)#

  • breaking changes

    • websockets are now serviced by implementation key, rather than language under lsp/ws/<server key> (#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)

jupyter-lsp 0.7.0#

  • bugfixes

    • didSave no longer causes unwanted messages in logs ( #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 )

    • start the diagnostics panel docked at the bottom and improve the re-spawning of the diagnostics panel ( #166 )

  • bugfixes

    • fixed various small bugs in the completer ( #162 )

    • fix documentation display in signature for LSP servers which return MarkupContent ( #164 )

lsp-ws-connection 0.3.1#

  • added sendSaved() method (textDocument/didSave) ( #147 )

  • fixed getSignatureHelp() off-by-one error ( #140 )

@krassowski/jupyterlab-lsp 0.7.0#

  • features

    • reduced space taken up by the statusbar indicator ( #106 )

    • implemented statusbar popover with connections statuses ( #106 )

    • generates types for server data responses from JSON schema ( #110 )

    • added ‘rename’ function for notebooks, using shadow filesystem ( #115 )

    • added a UX workaround for rope rename issues when there is a SyntaxError in the Python code ( #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 )

    • all commands are now accessible from the command palette ( #142 )

    • bash LSP now also covers %%bash magic cell in addition to %%sh ( #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, #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 )

    • 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 )

    • fixed LSP of R in Python (%%R magic cell from rpy2) ( #144 )

    • completion now work properly when the kernel is shut down ( #146 )

    • a lowercase completion option selected from an uppercase token will now correctly substitute the incomplete token ( #143 )

    • didSave() is emitted on file save, enabling the workaround used by R language server to lazily load library(tidyverse) ( #95, #147, )

    • signature feature is now correctly working in notebooks ( #140 )

lsp-ws-connection 0.3.0#

  • infrastructure

    • brought into monorepo #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

jupyter-lsp 0.7.0b0#

  • features

    • adds a language server status endpoint ( #81 )

    • adds more descriptive information to the language server spec ( #90 )

    • adds an extensible listener API ( #99, #100 )

@krassowski/jupyterlab-lsp 0.6.1#

  • features

    • adds an indicator to the statusbar

    • and many other improvements, see the release notes

  • 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_points

    • 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 )