changelog.rst 141 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791
  1. .. _changelog:
  2. JupyterLab Changelog
  3. ====================
  4. v3.0
  5. ----
  6. See the `JupyterLab
  7. 3.0 <https://github.com/jupyterlab/jupyterlab/milestone/3.0?closed=1>`__
  8. milestone on GitHub for the full list of pull requests and issues closed.
  9. User-facing changes
  10. ^^^^^^^^^^^^^^^^^^^
  11. Extensions can be installed without building JupyterLab with NodeJS
  12. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  13. In JupyterLab 3.0, a new recommended way of distributing and installing extensions as Python pip or conda packages is available. Installing such extensions does not require rebuilding JupyterLab and does not require having NodeJS installed. The previous way of distributing extensions as npm packages requiring rebuilding JupyterLab is still available as well. See the `documentation <https://jupyterlab.readthedocs.io/en/latest/user/extensions.html#extensions>`__ for more details.
  14. The JupyterLab interface supports multiple languages
  15. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  16. JupyterLab now provides the ability to set the display language of the user interface.
  17. See the `documentation <https://jupyterlab.readthedocs.io/en/latest/user/language.html>`__ for more details.
  18. A new visual debugger
  19. ~~~~~~~~~~~~~~~~~~~~~
  20. JupyterLab now ships with a debugger front-end by default, available for kernels that support the new debugging protocol. See the `documentation <https://jupyterlab.readthedocs.io/en/latest/user/debugger.html>`__ for more details.
  21. Improvements to Single Document Mode and Mobile
  22. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  23. The single-document user interface is now more streamlined. JupyterLab now supports showing the current file in use in the browser URL bar, similar to the classic Jupyter Notebook.
  24. Table of Contents is now in core
  25. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  26. The popular Table of Contents extension is now part of core JupyterLab. This core extension makes it easy to see an outline view of notebooks and other documents.
  27. Visual filter in file browser
  28. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  29. The file browser now has a filter input which filters the list of files using the same fuzzy matching as the command palette.
  30. For Developers
  31. ^^^^^^^^^^^^^^
  32. Federated Extensions
  33. ~~~~~~~~~~~~~~~~~~
  34. Users will typically consume federated extensions, which are Python packages with static assets built using ``JupyterLab``.
  35. See the updated APOD tutorial for the workflow of creating a federated extension from scratch.
  36. For existing extensions, there is a new ``python -m jupyterlab.upgrade_extension`` script that
  37. can be used to upgrade extensions. The script will update the relevant dependencies and add the
  38. boilerplate to create the Python package. For extensions that already contained Python packages (typically server extensions),
  39. the files are not overwritten, and some manual copying of content is required. See the `example <https://github.com/jupyterlab/extension-examples/pull/119>`__,
  40. which used this script heavily. There are two highlighted commits that demonstrate upgrading a server extension.
  41. * Clean up federated extension install and upgrade (`#8974 <https://github.com/jupyterlab/jupyterlab/pull/8974>`__)
  42. * Add ``--development`` and ``--source-map`` flags for building extensions. (`#8961 <https://github.com/jupyterlab/jupyterlab/pull/8961>`__, `#8952 <https://github.com/jupyterlab/jupyterlab/issues/8952>`__)
  43. * Add extension upgrade script (`#8950 <https://github.com/jupyterlab/jupyterlab/pull/8950>`__, `#8870 <https://github.com/jupyterlab/jupyterlab/issues/8870>`__, `#8869 <https://github.com/jupyterlab/jupyterlab/issues/8869>`__)
  44. * Improved handling of disabled extensions (`#8944 <https://github.com/jupyterlab/jupyterlab/pull/8944>`__, `#7481 <https://github.com/jupyterlab/jupyterlab/issues/7481>`__)
  45. * Add development mode to lab extension build scripts (`#8918 <https://github.com/jupyterlab/jupyterlab/pull/8918>`__)
  46. * Pull federated extension loading data from the webpack compilation (`#8913 <https://github.com/jupyterlab/jupyterlab/pull/8913>`__, `#8842 <https://github.com/jupyterlab/jupyterlab/issues/8842>`__)
  47. * Update labextension build cli to include a parameter for setting the webpack publicpath option (`#8911 <https://github.com/jupyterlab/jupyterlab/pull/8911>`__)
  48. * Update apod extension tutorial (`#8905 <https://github.com/jupyterlab/jupyterlab/pull/8905>`__, `#8859 <https://github.com/jupyterlab/jupyterlab/issues/8859>`__)
  49. * Let webpack automatically determine the required version of dependencies (`#8875 <https://github.com/jupyterlab/jupyterlab/pull/8875>`__)
  50. * Fix rebuild of federated extension and add discovery metadata to schema (`#8874 <https://github.com/jupyterlab/jupyterlab/pull/8874>`__)
  51. * Fix build issues with publicpath (`#8871 <https://github.com/jupyterlab/jupyterlab/pull/8871>`__)
  52. * Split buildutils into buildutils and builder (`#8863 <https://github.com/jupyterlab/jupyterlab/pull/8863>`__, `#8857 <https://github.com/jupyterlab/jupyterlab/issues/8857>`__)
  53. * Dynamically set public path in generated extensions according to page config (`#8861 <https://github.com/jupyterlab/jupyterlab/pull/8861>`__, `#8827 <https://github.com/jupyterlab/jupyterlab/issues/8827>`__)
  54. * Clean up federated extension cli (`#8855 <https://github.com/jupyterlab/jupyterlab/pull/8855>`__, `#46 <https://github.com/jupyterlab/jupyterlab-module-federation/issues/46>`__)
  55. * Fix app example. (`#8852 <https://github.com/jupyterlab/jupyterlab/pull/8852>`__)
  56. * Add lumino dependencies to buildutils so the phosphor webpack aliasing works (`#8850 <https://github.com/jupyterlab/jupyterlab/pull/8850>`__, `#8822 <https://github.com/jupyterlab/jupyterlab/issues/8822>`__)
  57. * Add another federated example package. (`#8847 <https://github.com/jupyterlab/jupyterlab/pull/8847>`__, `#5 <https://github.com/jupyterlab/jupyterlab-module-federation/issues/5>`__)
  58. * Fixes for the federated example (`#8846 <https://github.com/jupyterlab/jupyterlab/pull/8846>`__)
  59. * Add slash to publicpath (`#8845 <https://github.com/jupyterlab/jupyterlab/pull/8845>`__)
  60. * Update watch plugin for webpack 5 (`#8841 <https://github.com/jupyterlab/jupyterlab/pull/8841>`__, `#8705 <https://github.com/jupyterlab/jupyterlab/issues/8705>`__)
  61. * Adding a mime extension to the webpack config (`#8825 <https://github.com/jupyterlab/jupyterlab/pull/8825>`__)
  62. * Fix labextension build (`#8821 <https://github.com/jupyterlab/jupyterlab/pull/8821>`__)
  63. * Fix boolean error (`#8819 <https://github.com/jupyterlab/jupyterlab/pull/8819>`__)
  64. * CI and extension developer cleanup (`#8810 <https://github.com/jupyterlab/jupyterlab/pull/8810>`__)
  65. * Adding extension to shared modules list (`#8808 <https://github.com/jupyterlab/jupyterlab/pull/8808>`__)
  66. * Module federation implementation (`#8802 <https://github.com/jupyterlab/jupyterlab/pull/8802>`__)
  67. * Fix examples and update webpack (`#8779 <https://github.com/jupyterlab/jupyterlab/pull/8779>`__, `#8767 <https://github.com/jupyterlab/jupyterlab/issues/8767>`__)
  68. * Add extension building scripts (`#8772 <https://github.com/jupyterlab/jupyterlab/pull/8772>`__)
  69. * Keep the existing webpack file in staging (`#8673 <https://github.com/jupyterlab/jupyterlab/pull/8673>`__)
  70. * Workaround for vega build error (`#8666 <https://github.com/jupyterlab/jupyterlab/pull/8666>`__)
  71. * Add missing polyfill (`#8664 <https://github.com/jupyterlab/jupyterlab/pull/8664>`__, `#8660 <https://github.com/jupyterlab/jupyterlab/issues/8660>`__)
  72. * Add url as a polyfill dependency for apputils. (`#8659 <https://github.com/jupyterlab/jupyterlab/pull/8659>`__, `#8657 <https://github.com/jupyterlab/jupyterlab/issues/8657>`__)
  73. * Update to webpack 5b21 (`#8651 <https://github.com/jupyterlab/jupyterlab/pull/8651>`__)
  74. * Fix examples and break into separate build (`#8647 <https://github.com/jupyterlab/jupyterlab/pull/8647>`__, `#8646 <https://github.com/jupyterlab/jupyterlab/issues/8646>`__)
  75. * Add cur extension for url-loader (`#8634 <https://github.com/jupyterlab/jupyterlab/pull/8634>`__)
  76. * Experiment with module federation (`#8385 <https://github.com/jupyterlab/jupyterlab/pull/8385>`__)
  77. Jupyter Server
  78. ~~~~~~~~~~~~~~
  79. JupyterLab 3.0 uses Jupyter Server instead of the classic Notebook server. Existing server extensions will be shimmed, but it
  80. is advised to update extensions to use `jupyter_server <https://github.com/jupyter/jupyter_server>`__.
  81. * Enable JupyterLab to run as an old notebook server extension (`#8956 <https://github.com/jupyterlab/jupyterlab/pull/8956>`__, `#8943 <https://github.com/jupyterlab/jupyterlab/issues/8943>`__)
  82. * Fixed ``static_url_prefix``, added classic notebook flags and aliases, and bumped ``jupyterlab_server`` dependency (`#8910 <https://github.com/jupyterlab/jupyterlab/pull/8910>`__)
  83. * Use favicons provided by ``jupyter_server`` (`#8898 <https://github.com/jupyterlab/jupyterlab/pull/8898>`__, `#8794 <https://github.com/jupyterlab/jupyterlab/issues/8794>`__)
  84. * Load ``app_version`` next to running on jupyter_server (`#8889 <https://github.com/jupyterlab/jupyterlab/pull/8889>`__, `#8812 <https://github.com/jupyterlab/jupyterlab/issues/8812>`__)
  85. * Reinstate the labhubapp (`#8806 <https://github.com/jupyterlab/jupyterlab/pull/8806>`__, `#8704 <https://github.com/jupyterlab/jupyterlab/issues/8704>`__)
  86. * Jupyterlab as server extension (`#7416 <https://github.com/jupyterlab/jupyterlab/pull/7416>`__)
  87. Internationalization
  88. ~~~~~~~~~~~~~~~~~~~~
  89. The JupyterLab UI now supports translation.
  90. * Add options to add prefix to strings (`#8946 <https://github.com/jupyterlab/jupyterlab/pull/8946>`__)
  91. * Add a standalone translation manager to be used outside of plugins (`#8945 <https://github.com/jupyterlab/jupyterlab/pull/8945>`__)
  92. * Add missing string fixes (`#8888 <https://github.com/jupyterlab/jupyterlab/pull/8888>`__)
  93. * Add crowdin badge (`#8823 <https://github.com/jupyterlab/jupyterlab/pull/8823>`__)
  94. * Change ``optionsmap`` to a an array of tuples to be able to localize the options (`#8820 <https://github.com/jupyterlab/jupyterlab/pull/8820>`__)
  95. * Localize strings in jlab (`#8800 <https://github.com/jupyterlab/jupyterlab/pull/8800>`__)
  96. * Add translation package (`#8681 <https://github.com/jupyterlab/jupyterlab/pull/8681>`__)
  97. Visual Debugger
  98. ~~~~~~~~~~~~~~~
  99. * Fix invisible breakpoint in debugger (`#8908 <https://github.com/jupyterlab/jupyterlab/pull/8908>`__)
  100. * Port ``jupyterlab/debugger`` PR #527 to JupyterLab (`#8878 <https://github.com/jupyterlab/jupyterlab/pull/8878>`__)
  101. * Add jupyterlab debugger to core (`#8747 <https://github.com/jupyterlab/jupyterlab/pull/8747>`__, `#75 <https://github.com/jupyterlab/team-compass/issues/75>`__)
  102. Table of Contents
  103. ~~~~~~~~~~~~~~~~~
  104. * Add tests for the toc (`#8757 <https://github.com/jupyterlab/jupyterlab/pull/8757>`__, `#8558 <https://github.com/jupyterlab/jupyterlab/issues/8558>`__)
  105. * Change toc to use labicon (`#8692 <https://github.com/jupyterlab/jupyterlab/pull/8692>`__, `#8557 <https://github.com/jupyterlab/jupyterlab/issues/8557>`__)
  106. * Switch from using settings registry to a signal for notebook collapsing behavior in toc (`#8601 <https://github.com/jupyterlab/jupyterlab/pull/8601>`__)
  107. * Remove ``husky`` dependencies from ``toc`` and ``toc-extension`` (`#8571 <https://github.com/jupyterlab/jupyterlab/pull/8571>`__)
  108. * Merge toc extension into core (`#8538 <https://github.com/jupyterlab/jupyterlab/pull/8538>`__)
  109. Other
  110. ~~~~~
  111. * Upgrade to TypeScript 4 (`#8883 <https://github.com/jupyterlab/jupyterlab/pull/8883>`__)
  112. * File browser filter (`#8615 <https://github.com/jupyterlab/jupyterlab/pull/8615>`__)
  113. * Allow to substitute the default completer renderer (`#8930 <https://github.com/jupyterlab/jupyterlab/pull/8930>`__, `#8926 <https://github.com/jupyterlab/jupyterlab/issues/8926>`__)
  114. * Update dependencies for beta (`#8921 <https://github.com/jupyterlab/jupyterlab/pull/8921>`__)
  115. * Test cleanup (`#8894 <https://github.com/jupyterlab/jupyterlab/pull/8894>`__)
  116. * Resize isolated iframes on content height change (`#8909 <https://github.com/jupyterlab/jupyterlab/pull/8909>`__, `#5696 <https://github.com/jupyterlab/jupyterlab/issues/5696>`__)
  117. * Update minimum python version to python 3.6. (`#8903 <https://github.com/jupyterlab/jupyterlab/pull/8903>`__)
  118. * Update yarn.lock (`#8862 <https://github.com/jupyterlab/jupyterlab/pull/8862>`__)
  119. * Makes some properties and methods of class dsvmodel accessible outside the class. (`#8849 <https://github.com/jupyterlab/jupyterlab/pull/8849>`__, `#8848 <https://github.com/jupyterlab/jupyterlab/issues/8848>`__)
  120. * Do not use token parameters in websocket urls (`#8835 <https://github.com/jupyterlab/jupyterlab/pull/8835>`__, `#8813 <https://github.com/jupyterlab/jupyterlab/issues/8813>`__)
  121. * Use blocked/allowed extension naming in jupyterlab (`#8799 <https://github.com/jupyterlab/jupyterlab/pull/8799>`__, `#8533 <https://github.com/jupyterlab/jupyterlab/issues/8533>`__)
  122. * Create icon for pdfs in the filebrowser (`#8791 <https://github.com/jupyterlab/jupyterlab/pull/8791>`__)
  123. * Correctly set base_url on workspace apps (`#8788 <https://github.com/jupyterlab/jupyterlab/pull/8788>`__)
  124. * Pass in isessioncontextdialogs to notebookwidgetfactory (`#8778 <https://github.com/jupyterlab/jupyterlab/pull/8778>`__)
  125. * Update encoding version in vega sample. (`#8766 <https://github.com/jupyterlab/jupyterlab/pull/8766>`__)
  126. * Upgrade codemirror (`#8739 <https://github.com/jupyterlab/jupyterlab/pull/8739>`__)
  127. * Rename the logconsole:nboutput plugin id (`#8729 <https://github.com/jupyterlab/jupyterlab/pull/8729>`__)
  128. * Rename the celltags plugin id to @jupyterlab/celltags (`#8728 <https://github.com/jupyterlab/jupyterlab/pull/8728>`__)
  129. * Uncaught typeerror when switching kernels (`#8727 <https://github.com/jupyterlab/jupyterlab/pull/8727>`__)
  130. * Change inspector detail_level to 1 (`#8725 <https://github.com/jupyterlab/jupyterlab/pull/8725>`__)
  131. * Change main menu ranks to allow for application menu to l of file (`#8719 <https://github.com/jupyterlab/jupyterlab/pull/8719>`__)
  132. * Handle errors in async browser_check (`#8717 <https://github.com/jupyterlab/jupyterlab/pull/8717>`__, `#8709 <https://github.com/jupyterlab/jupyterlab/issues/8709>`__)
  133. * Add mehmet and andrew to contributors, fix last name order (`#8712 <https://github.com/jupyterlab/jupyterlab/pull/8712>`__)
  134. * Updated puppeteer version to v4.0.0 (`#8707 <https://github.com/jupyterlab/jupyterlab/pull/8707>`__)
  135. * Update the singleton packages to include at least every package with a 'tokens.ts' file (`#8703 <https://github.com/jupyterlab/jupyterlab/pull/8703>`__)
  136. * Update link to jupyter contributing guide (`#8697 <https://github.com/jupyterlab/jupyterlab/pull/8697>`__, `#8682 <https://github.com/jupyterlab/jupyterlab/issues/8682>`__)
  137. * Added ability to delete a document from titlebar context menu (`#8670 <https://github.com/jupyterlab/jupyterlab/pull/8670>`__)
  138. * Move codemirror html tree and related css to shadow dom (`#8584 <https://github.com/jupyterlab/jupyterlab/pull/8584>`__)
  139. * Support macoptionismeta option in terminal (`#8573 <https://github.com/jupyterlab/jupyterlab/pull/8573>`__, `#4236 <https://github.com/jupyterlab/jupyterlab/issues/4236>`__)
  140. * Align output baseline with prompt (`#8561 <https://github.com/jupyterlab/jupyterlab/pull/8561>`__, `#8560 <https://github.com/jupyterlab/jupyterlab/issues/8560>`__)
  141. * Use the same font-family for cell prompt and code (`#8553 <https://github.com/jupyterlab/jupyterlab/pull/8553>`__, `#8552 <https://github.com/jupyterlab/jupyterlab/issues/8552>`__)
  142. * Prompt to save files before rebuild (`#8526 <https://github.com/jupyterlab/jupyterlab/pull/8526>`__, `#7372 <https://github.com/jupyterlab/jupyterlab/issues/7372>`__)
  143. * Change json5 payload to json payload (`#8225 <https://github.com/jupyterlab/jupyterlab/pull/8225>`__)
  144. * Move notebook logging plugin to notebook-extension package (`#7830 <https://github.com/jupyterlab/jupyterlab/pull/7830>`__)
  145. * First pass at adding scroll to cell method (`#6818 <https://github.com/jupyterlab/jupyterlab/pull/6818>`__)
  146. * Add a debugger section to the user docs and contributing guide (`#8977 <https://github.com/jupyterlab/jupyterlab/pull/8977>`__)
  147. Single Document Mode and Mobile Enhancements
  148. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  149. * Improved url scheme, state, interactions for single document mode (`#8715 <https://github.com/jupyterlab/jupyterlab/pull/8715>`__)
  150. * Add workspace mime handler and loading/saving workspaces manually (`#8691 <https://github.com/jupyterlab/jupyterlab/pull/8691>`__)
  151. * Modify ansi color fix (`#8555 <https://github.com/jupyterlab/jupyterlab/pull/8555>`__, `#8554 <https://github.com/jupyterlab/jupyterlab/issues/8554>`__)
  152. * Improve single document mode to address classic notebook usage cases (`#8531 <https://github.com/jupyterlab/jupyterlab/pull/8531>`__)
  153. * Incrementally improve jupyterlab mobile ux (`#8456 <https://github.com/jupyterlab/jupyterlab/pull/8456>`__)
  154. Benchmarks (now a separate repository)
  155. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  156. * Move benchmarks to seperate repo (`#8795 <https://github.com/jupyterlab/jupyterlab/pull/8795>`__)
  157. * Fix off by one error in benchmark samples (`#8785 <https://github.com/jupyterlab/jupyterlab/pull/8785>`__)
  158. * Benchmark params configurable and increase timeout (`#8786 <https://github.com/jupyterlab/jupyterlab/pull/8786>`__)
  159. * Benchmarks: new erroroutputs + larger timeout + notebook defs in subfolder (`#8783 <https://github.com/jupyterlab/jupyterlab/pull/8783>`__)
  160. * Add ability to compare benchmarks (`#8737 <https://github.com/jupyterlab/jupyterlab/pull/8737>`__)
  161. * Benchmark notebook loads (`#8020 <https://github.com/jupyterlab/jupyterlab/pull/8020>`__)
  162. Bugfixes
  163. ^^^^^^^^
  164. * Update mimetype for dragging files (`#8965 <https://github.com/jupyterlab/jupyterlab/pull/8965>`__, `#8934 <https://github.com/jupyterlab/jupyterlab/issues/8934>`__)
  165. * Fix comment explaining the extension entry point. (`#8964 <https://github.com/jupyterlab/jupyterlab/pull/8964>`__)
  166. * Security docs: link to jupyter-server instead of jupyter-noteboook (`#8954 <https://github.com/jupyterlab/jupyterlab/pull/8954>`__)
  167. * Fix titles in the extension development docs (`#8948 <https://github.com/jupyterlab/jupyterlab/pull/8948>`__)
  168. * Fix link syntax in the apod tutorial (`#8942 <https://github.com/jupyterlab/jupyterlab/pull/8942>`__)
  169. * Fix codemirror text color issue with dark jupyter theme. (`#8919 <https://github.com/jupyterlab/jupyterlab/pull/8919>`__, `#8792 <https://github.com/jupyterlab/jupyterlab/issues/8792>`__)
  170. * Remove the extension path, not the entire extension directory, when uninstalling an extension (`#8904 <https://github.com/jupyterlab/jupyterlab/pull/8904>`__)
  171. * Header ``'content-type'`` should not be overwritten (`#8891 <https://github.com/jupyterlab/jupyterlab/pull/8891>`__, `#8890 <https://github.com/jupyterlab/jupyterlab/issues/8890>`__)
  172. * Make sure adding or removing a cell tag actually replaces the tag list, so a changed signal is emitted for the cell metadata (`#8751 <https://github.com/jupyterlab/jupyterlab/pull/8751>`__, `#8534 <https://github.com/jupyterlab/jupyterlab/issues/8534>`__)
  173. * Fix up ensure package and repo (`#8749 <https://github.com/jupyterlab/jupyterlab/pull/8749>`__, `#8748 <https://github.com/jupyterlab/jupyterlab/issues/8748>`__)
  174. * Add comma in ``extension_points.rst`` to fix syntax error of code (`#8745 <https://github.com/jupyterlab/jupyterlab/pull/8745>`__)
  175. * Fix: Contributing Guide Link is Out of Sync (`#8665 <https://github.com/jupyterlab/jupyterlab/pull/8665>`__)
  176. * Fix api docs links (`#8624 <https://github.com/jupyterlab/jupyterlab/pull/8624>`__, `#8616 <https://github.com/jupyterlab/jupyterlab/issues/8616>`__)
  177. * Fix handling of disposed widgets after closing a panel in tutorial (`#8623 <https://github.com/jupyterlab/jupyterlab/pull/8623>`__)
  178. * Fix small typos in docs for developing extensions (`#8622 <https://github.com/jupyterlab/jupyterlab/pull/8622>`__)
  179. * Reload the application on manual state reset (`#8621 <https://github.com/jupyterlab/jupyterlab/pull/8621>`__)
  180. * Remove superfluous page reload on workspace reset (`#8619 <https://github.com/jupyterlab/jupyterlab/pull/8619>`__)
  181. * Remove superfluous console log from the application shell (`#8618 <https://github.com/jupyterlab/jupyterlab/pull/8618>`__)
  182. * Fix minor typos in extension tutorial (`#8613 <https://github.com/jupyterlab/jupyterlab/pull/8613>`__)
  183. * Fix minor typos in docs for extensions. (`#8551 <https://github.com/jupyterlab/jupyterlab/pull/8551>`__)
  184. * Fix small typo in install docs (`#8550 <https://github.com/jupyterlab/jupyterlab/pull/8550>`__)
  185. * Fix more linting errors (`#8454 <https://github.com/jupyterlab/jupyterlab/pull/8454>`__)
  186. * Reconnect a websocket when a kernel is restarted. (`#8432 <https://github.com/jupyterlab/jupyterlab/pull/8432>`__)
  187. `v2.2.x <https://github.com/jupyterlab/jupyterlab/milestone/53>`__
  188. ------------------------------------------------------------------
  189. `v2.2.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v2.2.0>`__
  190. ---------------------------------------------------------------------------
  191. See the `JupyterLab
  192. 2.2 <https://github.com/jupyterlab/jupyterlab/milestone/53?closed=1>`__
  193. milestone on GitHub for the full list of pull requests and issues closed.
  194. July 2020
  195. ^^^^^^^^^^
  196. We are very excited to add Eric Charles to the core team this month! (`#8513 <https://github.com/jupyterlab/jupyterlab/pull/8513>`__)
  197. User-facing changes
  198. ^^^^^^^^^^^^^^^^^^^
  199. * Cells can no longer be executed while kernels are terminating or restarting. There is a new status for these events on the Kernel Indicator (`#8562 <https://github.com/jupyterlab/jupyterlab/pull/8562>`__, `#8477 <https://github.com/jupyterlab/jupyterlab/issues/8477>`__)
  200. .. image:: https://user-images.githubusercontent.com/226720/84566070-966daf80-ad6e-11ea-815b-5f48136b524b.gif
  201. :align: center
  202. :class: jp-screenshot
  203. * Adds a visual clue for distinguishing hidden files and folders in the file browser window (`#8393 <https://github.com/jupyterlab/jupyterlab/pull/8393>`__)
  204. .. image:: https://user-images.githubusercontent.com/13181907/81358007-3b77d700-90a3-11ea-885c-31628c55744b.png
  205. :align: center
  206. :class: jp-screenshot
  207. * Enable horizontal scrolling for toolbars to improve mobile experience (`#8417 <https://github.com/jupyterlab/jupyterlab/pull/8417>`__)
  208. .. image:: https://user-images.githubusercontent.com/591645/81733090-bb31e700-9491-11ea-96ab-a4b1695b8e3c.gif
  209. :align: center
  210. :class: jp-screenshot
  211. * Improves the right-click context menu for the file editor (`#8425 <https://github.com/jupyterlab/jupyterlab/pull/8425>`__)
  212. .. image:: https://user-images.githubusercontent.com/25207344/84947222-d8bd2680-b0b7-11ea-98da-e4907f9131ba.png
  213. :align: center
  214. :class: jp-screenshot
  215. * Merge cell attachments when merging cells (`#8427 <https://github.com/jupyterlab/jupyterlab/pull/8427>`__, `#8414 <https://github.com/jupyterlab/jupyterlab/issues/8414>`__)
  216. .. image:: https://user-images.githubusercontent.com/591645/82072833-97acad80-96d8-11ea-957c-ce006731219b.gif
  217. :align: center
  218. :class: jp-screenshot
  219. * Add styling for high memory usage warning in status bar with nbresuse (`#8437 <https://github.com/jupyterlab/jupyterlab/pull/8437>`__)
  220. .. image:: https://user-images.githubusercontent.com/7725109/82213619-1b150b80-9932-11ea-9a53-570bd82d3d2a.png
  221. :align: center
  222. :class: jp-screenshot
  223. * Adds support for Python version 3.10 (`#8445 <https://github.com/jupyterlab/jupyterlab/pull/8445>`__)
  224. * Support live editing of SVG with updating rendering (`#8495 <https://github.com/jupyterlab/jupyterlab/pull/8495>`__, `#8494 <https://github.com/jupyterlab/jupyterlab/issues/8494>`__)
  225. .. image:: https://user-images.githubusercontent.com/45380/83218329-c8123400-a13b-11ea-9137-6b91a29dbc08.png
  226. :align: center
  227. :class: jp-screenshot
  228. For developers
  229. ^^^^^^^^^^^^^^
  230. * Specify that we recommend typescript over javascript for extensions (`#8411 <https://github.com/jupyterlab/jupyterlab/pull/8411>`__)
  231. * Lazy load codemirror theme stylesheets. (`#8506 <https://github.com/jupyterlab/jupyterlab/pull/8506>`__)
  232. * Increase the link expiry to one week (`#8402 <https://github.com/jupyterlab/jupyterlab/pull/8402>`__)
  233. * Add documentation on private npm registry usage (`#8455 <https://github.com/jupyterlab/jupyterlab/pull/8455>`__, `#7827 <https://github.com/jupyterlab/jupyterlab/issues/7827>`__, `#7660 <https://github.com/jupyterlab/jupyterlab/issues/7660>`__)
  234. * Add feature request template + slight reorg in readme (`#8467 <https://github.com/jupyterlab/jupyterlab/pull/8467>`__)
  235. * Add link to react example in extension-examples repo (`#8474 <https://github.com/jupyterlab/jupyterlab/pull/8474>`__)
  236. * Update documentation of whitelist/blacklist (`#8540 <https://github.com/jupyterlab/jupyterlab/pull/8540>`__)
  237. * Improve whitelist figure description in documentation (`#8517 <https://github.com/jupyterlab/jupyterlab/pull/8517>`__)
  238. Bugfixes
  239. ^^^^^^^^
  240. * Typo: fix extensino to extension (`#8512 <https://github.com/jupyterlab/jupyterlab/pull/8512>`__)
  241. * Close correct tab with close tab (`#8529 <https://github.com/jupyterlab/jupyterlab/pull/8529>`__)
  242. * Remove unused css rules (`#8547 <https://github.com/jupyterlab/jupyterlab/pull/8547>`__, `#8537 <https://github.com/jupyterlab/jupyterlab/issues/8537>`__)
  243. * Fix small typo in getting started docs, proxy (`#8549 <https://github.com/jupyterlab/jupyterlab/pull/8549>`__)
  244. * Fix link on CI badges (`#8603 <https://github.com/jupyterlab/jupyterlab/pull/8603>`__)
  245. * Simplified multicursor backspace code (`#8523 <https://github.com/jupyterlab/jupyterlab/pull/8523>`__)
  246. * Fix recent breaking changes to normalizepath in filebrowser (`#8383 <https://github.com/jupyterlab/jupyterlab/pull/8383>`__, `#8382 <https://github.com/jupyterlab/jupyterlab/issues/8382>`__)
  247. * Fix watch mode and add ci test (`#8394 <https://github.com/jupyterlab/jupyterlab/pull/8394>`__)
  248. * Address CI failures (`#8433 <https://github.com/jupyterlab/jupyterlab/pull/8433>`__)
  249. * Fix lint errors in dependency graph script (`#8451 <https://github.com/jupyterlab/jupyterlab/pull/8451>`__)
  250. * Fix lint complaints coming up from github actions (`#8452 <https://github.com/jupyterlab/jupyterlab/pull/8452>`__)
  251. * Address CI usage test timeout (`#8464 <https://github.com/jupyterlab/jupyterlab/pull/8464>`__)
  252. * Add chokidar to dev_mode/package.json (`#8481 <https://github.com/jupyterlab/jupyterlab/pull/8481>`__)
  253. * Fix autolink (`#8496 <https://github.com/jupyterlab/jupyterlab/pull/8496>`__)
  254. * Update phosphor aliases (`#8498 <https://github.com/jupyterlab/jupyterlab/pull/8498>`__)
  255. * Fix default return in Python when extension has no version metadata (`#8430 <https://github.com/jupyterlab/jupyterlab/pull/8430>`__)
  256. * Updated the installation documentation on read the docs to match the readme file on the repo (`#8386 <https://github.com/jupyterlab/jupyterlab/pull/8386>`__)
  257. * Handle quit_button when launched as an extension (`#8486 <https://github.com/jupyterlab/jupyterlab/pull/8486>`__, `#8483 <https://github.com/jupyterlab/jupyterlab/issues/8483>`__)
  258. * Add worker-loader (`#8593 <https://github.com/jupyterlab/jupyterlab/pull/8593>`__, `#8587 <https://github.com/jupyterlab/jupyterlab/issues/8587>`__)
  259. `v2.1.x <https://github.com/jupyterlab/jupyterlab/milestone/55>`__
  260. ------------------------------------------------------------------
  261. v2.1.2
  262. ^^^^^^
  263. * Fix icon sidebar height for third party extensions (`#8333 <https://github.com/jupyterlab/jupyterlab/pull/8333>`__)
  264. * Pin JupyterLab server requirement more tightly (`#8330 <https://github.com/jupyterlab/jupyterlab/pull/8330>`__)
  265. * Scrolls cells into view after deletion (`#8287 <https://github.com/jupyterlab/jupyterlab/pull/8287>`__)
  266. * Sets data attribute on file type in filebrowser (`#8275 <https://github.com/jupyterlab/jupyterlab/pull/8275>`__)
  267. v2.1.1
  268. ^^^^^^
  269. * Pin puppeteer to fix ci (`#8260 <https://github.com/jupyterlab/jupyterlab/pull/8260>`__)
  270. * Fix Save As for files without sessions (`#8248 <https://github.com/jupyterlab/jupyterlab/pull/8248>`__)
  271. `v2.1.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v2.1.0>`__
  272. ---------------------------------------------------------------------------
  273. April 2020
  274. ^^^^^^^^^^
  275. See the `JupyterLab
  276. 2.1 <https://github.com/jupyterlab/jupyterlab/milestone/49?closed=1>`__
  277. milestone on GitHub for the full list of pull requests and issues closed.
  278. User-facing changes
  279. ^^^^^^^^^^^^^^^^^^^
  280. * Display the extension manager in the left sidebar by default. Users will need to acknowledge the disclaimer in the extension manager before using it. (`#8050 <https://github.com/jupyterlab/jupyterlab/pull/8050>`__, `#8145 <https://github.com/jupyterlab/jupyterlab/pull/8145>`__)
  281. * Added ``blacklist and whitelist support <extension_listings>`` for the extension manager (`#7989 <https://github.com/jupyterlab/jupyterlab/pull/7989>`__)
  282. * Automatically link URLs in notebook output text (`#8075 <https://github.com/jupyterlab/jupyterlab/pull/8075>`__, `#7393 <https://github.com/jupyterlab/jupyterlab/issues/7393>`__)
  283. * Added a "Restart Kernel and Run All Cells…" button to the notebook toolbar (`#8024 <https://github.com/jupyterlab/jupyterlab/pull/8024>`__)
  284. .. image:: changelog_restartrunallbutton.png
  285. :align: center
  286. :class: jp-screenshot
  287. * Added a context menu item for opening a Markdown editor from the Markdown preview (`#7942 <https://github.com/jupyterlab/jupyterlab/pull/7942>`__)
  288. * Support Node.js 10+ (`#8112 <https://github.com/jupyterlab/jupyterlab/pull/8112>`__, `#8083 <https://github.com/jupyterlab/jupyterlab/issues/8083>`__)
  289. * Added a command to replace the selection in an editor with text (inserting if there is no selection). This can be assigned a keyboard shortcut, as shown below. We also added a command to go through a series of commands and run the first enabled command. (`#7908 <https://github.com/jupyterlab/jupyterlab/pull/7908>`__)
  290. Here is a keyboard shortcut to insert text in a currently-active notebook editor:
  291. .. code:: js
  292. {
  293. command: "notebook:replace-selection",
  294. selector: ".jp-Notebook",
  295. keys: ["Ctrl L"],
  296. args: {text: "lambda x: x"}
  297. }
  298. Here is a keyboard shortcut to insert text into an editor of the currently active console, file editor, or notebook:
  299. .. code:: js
  300. {
  301. command: "apputils:run-first-enabled",
  302. selector: "body",
  303. keys: ["Ctrl L"],
  304. args: {
  305. commands: [
  306. "console:replace-selection",
  307. "fileeditor:replace-selection",
  308. "notebook:replace-selection",
  309. ],
  310. args: {text: "lambda x: x"}
  311. }
  312. }
  313. For developers
  314. ^^^^^^^^^^^^^^
  315. * ``NotebookWidgetFactory`` is now a plugin so it can be overridden (`#8066 <https://github.com/jupyterlab/jupyterlab/pull/8066>`__, `#7996 <https://github.com/jupyterlab/jupyterlab/issues/7996>`__)
  316. * Many improvements to ``LabIcon``: work with all SVG loaders, improve performance, fix issue with menus from extensions (`#8125 <https://github.com/jupyterlab/jupyterlab/pull/8125>`__)
  317. * Change the header application area to a box panel, which means the header area will display if its children set their minimum height (`#8059 <https://github.com/jupyterlab/jupyterlab/pull/8059>`__, `#7279 <https://github.com/jupyterlab/jupyterlab/issues/7279>`__)
  318. * JupyterLab's custom context menu is now disabled on all descendants of a DOM element with a ``data-jp-suppress-context-menu`` attribute (`#7877 <https://github.com/jupyterlab/jupyterlab/pull/7877>`__, `#7670 <https://github.com/jupyterlab/jupyterlab/issues/7670>`__)
  319. Bugfixes
  320. ^^^^^^^^
  321. * Fix property inspector restoration on reload (`#8114 <https://github.com/jupyterlab/jupyterlab/pull/8114>`__)
  322. * Increase the timeout for yarn (`#8104 <https://github.com/jupyterlab/jupyterlab/pull/8104>`__, `#8102 <https://github.com/jupyterlab/jupyterlab/issues/8102>`__)
  323. * Fix find and replace with empty strings (`#8100 <https://github.com/jupyterlab/jupyterlab/pull/8100>`__, `#8098 <https://github.com/jupyterlab/jupyterlab/issues/8098>`__)
  324. * Select search text when focusing the search overlay (`#8073 <https://github.com/jupyterlab/jupyterlab/pull/8073>`__, `#7932 <https://github.com/jupyterlab/jupyterlab/pull/7932>`__)
  325. * Fix attaching images with spaces in their names to Markdown cells (`#8095 <https://github.com/jupyterlab/jupyterlab/pull/8095>`__)
  326. * Fix build errors by distributing the ``.yarnrc`` configuration with the Python package (`#8045 <https://github.com/jupyterlab/jupyterlab/pull/8045>`__)
  327. * Throttle fetch requests in the setting registry's data connector (`#7927 <https://github.com/jupyterlab/jupyterlab/pull/7927>`__)
  328. * Close the gap between lines in notebook output (`#7832 <https://github.com/jupyterlab/jupyterlab/pull/7832>`__, `#7760 <https://github.com/jupyterlab/jupyterlab/pull/7760>`__)
  329. `v2.0.2 <https://github.com/jupyterlab/jupyterlab/releases/tag/v2.0.2>`__
  330. ---------------------------------------------------------------------------
  331. April 2020
  332. ^^^^^^^^^^
  333. See the `JupyterLab
  334. 2.0.2 <https://github.com/jupyterlab/jupyterlab/milestone/50?closed=1>`__
  335. milestone on GitHub for the full list of pull requests and issues closed.
  336. * Fix cell execution when recording timing (`#8057 <https://github.com/jupyterlab/jupyterlab/pull/8057>`__, `#8056 <https://github.com/jupyterlab/jupyterlab/issues/8056>`__)
  337. * Fix font settings for the editor (`#8004 <https://github.com/jupyterlab/jupyterlab/pull/8004>`__, `#7910 <https://github.com/jupyterlab/jupyterlab/issues/7910>`__)
  338. * Avoid redundant checkpoint calls on loading a notebook (`#7926 <https://github.com/jupyterlab/jupyterlab/pull/7926>`__, `#7889 <https://github.com/jupyterlab/jupyterlab/issues/7889>`__)
  339. * For developers: make kernel ``IFuture.done`` typings more correct by not including ``undefined`` (`#8032 <https://github.com/jupyterlab/jupyterlab/pull/8032>`__)
  340. `v2.0.0 <https://github.com/jupyterlab/jupyterlab/releases>`__
  341. --------------------------------------------------------------
  342. February 2020
  343. ^^^^^^^^^^^^^
  344. Here are some highlights for this release. See the `JupyterLab 2.0 <https://github.com/jupyterlab/jupyterlab/milestone/36?closed=1>`__
  345. milestone on GitHub for the full list of pull requests and issues closed.
  346. User-facing changes
  347. ^^^^^^^^^^^^^^^^^^^
  348. * New user interface for notebook cell tags (`#7407 <https://github.com/jupyterlab/jupyterlab/pull/7407>`__, `#7786 <https://github.com/jupyterlab/jupyterlab/pull/7786>`__)
  349. .. image:: changelog_celltags.png
  350. :align: center
  351. :class: jp-screenshot
  352. * File info display when hovering on a file in the file browser (`#7485 <https://github.com/jupyterlab/jupyterlab/pull/7485>`__, `#7352 <https://github.com/jupyterlab/jupyterlab/issues/7352>`__)
  353. .. image:: changelog_fileinfo.png
  354. :align: center
  355. :class: jp-screenshot
  356. * Support for searching outputs in notebooks (`#7258 <https://github.com/jupyterlab/jupyterlab/pull/7258>`__)
  357. .. image:: changelog_searchoutput.png
  358. :align: center
  359. :class: jp-screenshot
  360. * ``Ctrl Shift .`` and ``Ctrl Shift ,`` shortcuts move focus to the next and previous tab bar in the main area, respectively (`#7673 <https://github.com/jupyterlab/jupyterlab/pull/7673>`__)
  361. * ``Shift Home`` and ``Shift End`` shortcuts in a notebook select all cells from the current cell to the top or bottom of a notebook, respectively (`#7177 <https://github.com/jupyterlab/jupyterlab/pull/7177>`__)
  362. * Explicit "No Kernel" button in the kernel selection dialog for new notebooks (`#7647 <https://github.com/jupyterlab/jupyterlab/pull/7647>`__)
  363. * Notebook ``recordTiming`` advanced setting to control whether execution timing information is stored in notebook files (`#7578 <https://github.com/jupyterlab/jupyterlab/pull/7578>`__)
  364. * "Select current running or last run cell" command added (requires notebook ``recordTiming`` advanced setting to be set to true) (`#7551 <https://github.com/jupyterlab/jupyterlab/pull/7551>`__)
  365. * Codemirror ``lineWiseCopyCut`` advanced setting to control the behavior of the copy/cut keyboard shortcuts when there is no selection (`#7842 <https://github.com/jupyterlab/jupyterlab/pull/7842>`__)
  366. * Refreshed the command palette and property inspector sidebar icons and user interfaces (`#7577 <https://github.com/jupyterlab/jupyterlab/pull/7577>`__, `#7038 <https://github.com/jupyterlab/jupyterlab/issues/7038>`__, `#7733 <https://github.com/jupyterlab/jupyterlab/pull/7733>`__, `#7732 <https://github.com/jupyterlab/jupyterlab/issues/7732>`__, `#7718 <https://github.com/jupyterlab/jupyterlab/pull/7718>`__, `#7686 <https://github.com/jupyterlab/jupyterlab/issues/7686>`__)
  367. * "New File" and "New Markdown File" items in file browser context menu (`#7483 <https://github.com/jupyterlab/jupyterlab/pull/7483>`__, `#4280 <https://github.com/jupyterlab/jupyterlab/issues/4280>`__)
  368. * "Download" item in File menu (`#7480 <https://github.com/jupyterlab/jupyterlab/pull/7480>`__)
  369. * "Restart Kernel and Run up to Selected Cell" item in notebook Kernel menu (`#7789 <https://github.com/jupyterlab/jupyterlab/pull/7789>`__, `#6746 <https://github.com/jupyterlab/jupyterlab/issues/6746>`__)
  370. * In extension manager, the "enable" button is now only shown for installed extensions (`#7482 <https://github.com/jupyterlab/jupyterlab/pull/7482>`__)
  371. * Dialogs can now be closed by clicking outside of them (`#7885 <https://github.com/jupyterlab/jupyterlab/pull/7885>`__, `#3784 <https://github.com/jupyterlab/jupyterlab/issues/3784>`__)
  372. * ``documentsearch:startWithReplace`` command to open the document find overlay with replace. There is not currently a default keyboard shortcut for this, but one can be assigned as a custom keyboard shortcut in Advanced Settings. (`#7725 <https://github.com/jupyterlab/jupyterlab/pull/7725>`__)
  373. * ``#`` added to the CSV Viewer delimiter options (`#7367 <https://github.com/jupyterlab/jupyterlab/pull/7367>`__, `#6324 <https://github.com/jupyterlab/jupyterlab/issues/6324>`__)
  374. * The JSON viewer now only displays structure hints for arrays and empty objects for a more streamlined feel (`#7227 <https://github.com/jupyterlab/jupyterlab/pull/7227>`__)
  375. * Optional platform-aware keyboard shortcut fields ``linuxKeys``, ``macKeys``, and ``winKeys`` in keyboard shortcut definitions (`#7589 <https://github.com/jupyterlab/jupyterlab/pull/7589>`__)
  376. .. code:: js
  377. {
  378. command: "application:toggle-mode",
  379. selector: "body",
  380. linuxKeys: ["Ctrl Shift M"], // only linux
  381. macKeys: ["Cmd Shift Z"], // only mac
  382. winKeys: ["Ctrl Shift B"], // only windows
  383. keys: ["Accel Shift U"] // default shortcut
  384. }
  385. * Added options for ``jupyter lab clean`` to clean specific parts of the build, such as ``--extensions``, ``--settings``, ``--static``, and ``--all`` (`#7583 <https://github.com/jupyterlab/jupyterlab/pull/7583>`__, `#6734 <https://github.com/jupyterlab/jupyterlab/pull/6734>`__)
  386. * Removed the vega 4 and vega-lite 2 renderers (vega 5 and vega-lite 4 is included in JupyterLab by default). These legacy renderers may be available via custom extensions (`#7650 <https://github.com/jupyterlab/jupyterlab/pull/7650>`__, `#7523 <https://github.com/jupyterlab/jupyterlab/issues/7523>`__, `#7658 <https://github.com/jupyterlab/jupyterlab/pull/7658>`__)
  387. * JupyterHub users should use the ``c.Spawner.default_url = '/lab'`` setting instead of the deprecated and now removed ``labhubapp`` (`#7724 <https://github.com/jupyterlab/jupyterlab/pull/7724>`__)
  388. For developers
  389. ^^^^^^^^^^^^^^
  390. See :ref:`extension_migration` for help in migrating extensions to JupyterLab 2.0.
  391. Backward incompatible changes
  392. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  393. * Switch from ``@phosphor`` to ``@lumino`` dependencies. (`#7582 <https://github.com/jupyterlab/jupyterlab/pull/7582>`__, `#7534 <https://github.com/jupyterlab/jupyterlab/issues/7534>`__, `#7763 <https://github.com/jupyterlab/jupyterlab/pull/7763>`__, `#7762 <https://github.com/jupyterlab/jupyterlab/issues/7762>`__, `#7595 <https://github.com/jupyterlab/jupyterlab/pull/7595>`__)
  394. * Factor out the ``settingsregistry`` and ``statedb`` packages from coreutils (`#7681 <https://github.com/jupyterlab/jupyterlab/pull/7681>`__, `#7615 <https://github.com/jupyterlab/jupyterlab/issues/7615>`__)
  395. * Rework services architecture (sessions, kernels, terminals). Among these changes, ``ClientSession`` is renamed to ``SessionContext`` and the ``IKernelConnection.connectToComm`` method is replaced with ``IKernelConnection.createComm`` and ``IKernelConnection.hasComm`` methods. (`#7252 <https://github.com/jupyterlab/jupyterlab/pull/7252>`__, `#7674 <https://github.com/jupyterlab/jupyterlab/pull/7674>`__, `#7820 <https://github.com/jupyterlab/jupyterlab/pull/7820>`__, `#7694 <https://github.com/jupyterlab/jupyterlab/pull/7694>`__, `#7690 <https://github.com/jupyterlab/jupyterlab/issues/7690>`__, `#7682 <https://github.com/jupyterlab/jupyterlab/pull/7682>`__)
  396. * Upgrade to TypeScript 3.7 (`#7522 <https://github.com/jupyterlab/jupyterlab/pull/7522>`__)
  397. * Remove ``polling`` from coreutils in favor for ``@lumino/polling`` (`#7617 <https://github.com/jupyterlab/jupyterlab/pull/7617>`__)
  398. * TypeScript strict null checking in core packages (`#7657 <https://github.com/jupyterlab/jupyterlab/pull/7657>`__, `#7607 <https://github.com/jupyterlab/jupyterlab/pull/7607>`__)
  399. * Update state database list method to query based on namespace match. (`#7742 <https://github.com/jupyterlab/jupyterlab/pull/7742>`__, `#7257 <https://github.com/jupyterlab/jupyterlab/issues/7257>`__)
  400. * Address code todo items and deprecations for 2.0 (`#7720 <https://github.com/jupyterlab/jupyterlab/pull/7720>`__, `#7724 <https://github.com/jupyterlab/jupyterlab/pull/7724>`__)
  401. * Update Console panel tracker widgets (`#7705 <https://github.com/jupyterlab/jupyterlab/pull/7705>`__, `#7726 <https://github.com/jupyterlab/jupyterlab/issues/7726>`__, `#7648 <https://github.com/jupyterlab/jupyterlab/issues/7648>`__, `#7645 <https://github.com/jupyterlab/jupyterlab/pull/7645>`__)
  402. * Update contribution guide to require node v12+ (`#7479 <https://github.com/jupyterlab/jupyterlab/pull/7479>`__)
  403. * New API for the ``Running`` sidebar extension (`#6895 <https://github.com/jupyterlab/jupyterlab/pull/6895>`__, `#6876 <https://github.com/jupyterlab/jupyterlab/issues/6876>`__)
  404. * Clean up handling of icons under unified LabIcon ( `#7192 <https://github.com/jupyterlab/jupyterlab/pull/7192>`__ `#7700 <https://github.com/jupyterlab/jupyterlab/pull/7700>`__, `#7765 <https://github.com/jupyterlab/jupyterlab/issues/7765>`__, `#7767 <https://github.com/jupyterlab/jupyterlab/pull/7767>`__, `#7800 <https://github.com/jupyterlab/jupyterlab/pull/7800>`__, `#7846 <https://github.com/jupyterlab/jupyterlab/pull/7846>`__, `#7859 <https://github.com/jupyterlab/jupyterlab/issues/7859>`__, `#7864 <https://github.com/jupyterlab/jupyterlab/pull/7864>`__, `#7886 <https://github.com/jupyterlab/jupyterlab/pull/7886>`__)
  405. Other changes
  406. ~~~~~~~~~~~~~
  407. * New property inspector used to display the properties of the currently selected main area widget (`#7665 <https://github.com/jupyterlab/jupyterlab/pull/7665>`__, `#7664 <https://github.com/jupyterlab/jupyterlab/issues/7664>`__, `#7718 <https://github.com/jupyterlab/jupyterlab/pull/7718>`__, `#7686 <https://github.com/jupyterlab/jupyterlab/issues/7686>`__)
  408. * Allow metadata for launcher items (`#7654 <https://github.com/jupyterlab/jupyterlab/pull/7654>`__, `#7652 <https://github.com/jupyterlab/jupyterlab/issues/7652>`__)
  409. * Allow default file browser to restore manually. (`#7695 <https://github.com/jupyterlab/jupyterlab/pull/7695>`__, `#4009 <https://github.com/jupyterlab/jupyterlab/issues/4009>`__)
  410. * Upgrade bundled yarn to 1.21.1 (`#7691 <https://github.com/jupyterlab/jupyterlab/pull/7691>`__, `#7692 <https://github.com/jupyterlab/jupyterlab/issues/7692>`__)
  411. * Make session dialogs configurable (`#7618 <https://github.com/jupyterlab/jupyterlab/pull/7618>`__, `#7616 <https://github.com/jupyterlab/jupyterlab/issues/7616>`__)
  412. * Support transient editor configs (`#7611 <https://github.com/jupyterlab/jupyterlab/pull/7611>`__, `#7295 <https://github.com/jupyterlab/jupyterlab/issues/7295>`__)
  413. * Optionally force new browser tab (`#7603 <https://github.com/jupyterlab/jupyterlab/pull/7603>`__, `#7602 <https://github.com/jupyterlab/jupyterlab/issues/7602>`__)
  414. * Update core dependencies (e.g., ``codemirror``, ``xterm.js``, ``markdown``, ``fontawesome``, etc.) (`#7590 <https://github.com/jupyterlab/jupyterlab/pull/7590>`__, `#7194 <https://github.com/jupyterlab/jupyterlab/issues/7194>`__, `#7326 <https://github.com/jupyterlab/jupyterlab/pull/7326>`__, `#6479 <https://github.com/jupyterlab/jupyterlab/issues/6479>`__, `#7769 <https://github.com/jupyterlab/jupyterlab/pull/7769>`__)
  415. * Add storybook to ``ui-components`` (`#7588 <https://github.com/jupyterlab/jupyterlab/pull/7588>`__, `#6799 <https://github.com/jupyterlab/jupyterlab/issues/6799>`__)
  416. * Add explicit documentation encouraging people to re-use lab components (`#7543 <https://github.com/jupyterlab/jupyterlab/pull/7543>`__)
  417. * Enable TypeScript sourcemaps for debugging locally installed labextensions (`#7541 <https://github.com/jupyterlab/jupyterlab/pull/7541>`__)
  418. * Add ``UseSignal`` example to the docs (`#7519 <https://github.com/jupyterlab/jupyterlab/pull/7519>`__)
  419. * Add ``env`` prop to kernel options (`#7499 <https://github.com/jupyterlab/jupyterlab/pull/7499>`__)
  420. * Add kernelspec metadata (`#7229 <https://github.com/jupyterlab/jupyterlab/pull/7229>`__, `#7228 <https://github.com/jupyterlab/jupyterlab/issues/7228>`__)
  421. * Allow different mimetypes for the clipboard data (`#7202 <https://github.com/jupyterlab/jupyterlab/pull/7202>`__)
  422. * Add password dialog to apputils (`#7855 <https://github.com/jupyterlab/jupyterlab/pull/7855>`__)
  423. * Alias phosphor packages to lumino to allow a deprecation period for phosphor (`#7893 <https://github.com/jupyterlab/jupyterlab/pull/7893>`__)
  424. * Match react version in ui-components peerdependencies (`#7794 <https://github.com/jupyterlab/jupyterlab/pull/7794>`__)
  425. * Fix lint-staged for both win and mac (`#7784 <https://github.com/jupyterlab/jupyterlab/pull/7784>`__)
  426. * Update websocket workaround for node environments (`#7780 <https://github.com/jupyterlab/jupyterlab/pull/7780>`__, `#6934 <https://github.com/jupyterlab/jupyterlab/pull/6934>`__)
  427. * Fix handling of linked extensions (`#7728 <https://github.com/jupyterlab/jupyterlab/pull/7728>`__, `#6738 <https://github.com/jupyterlab/jupyterlab/issues/6738>`__)
  428. * Fix extension compatibility checks for prereleases and extensions supporting multiple major versions of JupyterLab (`#7723 <https://github.com/jupyterlab/jupyterlab/pull/7723>`__, `#7241 <https://github.com/jupyterlab/jupyterlab/issues/7241>`__, `#7919 <https://github.com/jupyterlab/jupyterlab/pull/7919>`__)
  429. * Teach update-dependency about more range specifiers and make it adopt the current range for any tag (`#7709 <https://github.com/jupyterlab/jupyterlab/pull/7709>`__)
  430. * Add support for giving a rank to items in the top area (`#7278 <https://github.com/jupyterlab/jupyterlab/pull/7278>`__)
  431. * Apply all options to the initial JupyterLab application instance (`#7251 <https://github.com/jupyterlab/jupyterlab/pull/7251>`__)
  432. Bugfixes
  433. ^^^^^^^^
  434. * "Copy Shareable Link" in the file browser context menu now properly works in JupyterHub (`#7906 <https://github.com/jupyterlab/jupyterlab/pull/7906>`__)
  435. * Update Mathjax CDN in the cell and console examples (`#7680 <https://github.com/jupyterlab/jupyterlab/pull/7680>`__)
  436. * Revert ensure-max-old-space now that Node 12+ has better default memory ceilings (`#7677 <https://github.com/jupyterlab/jupyterlab/pull/7677>`__, `#7675 <https://github.com/jupyterlab/jupyterlab/issues/7675>`__)
  437. * Resolve race condition between default file browser and tree urls. (`#7676 <https://github.com/jupyterlab/jupyterlab/pull/7676>`__, `#4009 <https://github.com/jupyterlab/jupyterlab/issues/4009>`__)
  438. * Fix handling of code editor refresh (`#7672 <https://github.com/jupyterlab/jupyterlab/pull/7672>`__, `#7671 <https://github.com/jupyterlab/jupyterlab/issues/7671>`__)
  439. * Start new notebooks in edit mode (`#7666 <https://github.com/jupyterlab/jupyterlab/pull/7666>`__, `#6731 <https://github.com/jupyterlab/jupyterlab/issues/6731>`__)
  440. * Use consistent versions of React (`#7661 <https://github.com/jupyterlab/jupyterlab/pull/7661>`__, `#7655 <https://github.com/jupyterlab/jupyterlab/issues/7655>`__)
  441. * Add scrollbar styles to nbconvert-css (`#7653 <https://github.com/jupyterlab/jupyterlab/pull/7653>`__)
  442. * Close output views when corresponding notebooks are closed (`#7633 <https://github.com/jupyterlab/jupyterlab/pull/7633>`__, `#7301 <https://github.com/jupyterlab/jupyterlab/issues/7301>`__)
  443. * Fixed incorrect white background for new command palette icon (`#7609 <https://github.com/jupyterlab/jupyterlab/pull/7609>`__, `#7577 <https://github.com/jupyterlab/jupyterlab/issues/7577>`__)
  444. * Block fetching the settings for a plugin that is disabled (`#7147 <https://github.com/jupyterlab/jupyterlab/pull/7147>`__)
  445. * When timing metadata changes, ensure signal fires (`#7576 <https://github.com/jupyterlab/jupyterlab/pull/7576>`__)
  446. * Prevent memory leaks in Vega renderer (`#7564 <https://github.com/jupyterlab/jupyterlab/pull/7564>`__)
  447. * Handle cell execution cancellation when cell is disposed (`#7555 <https://github.com/jupyterlab/jupyterlab/pull/7555>`__, `#7554 <https://github.com/jupyterlab/jupyterlab/issues/7554>`__)
  448. * Fix dropdown option style issue on Windows (`#7513 <https://github.com/jupyterlab/jupyterlab/pull/7513>`__)
  449. * Make sure label is linked to a control when checking for element type (`#7458 <https://github.com/jupyterlab/jupyterlab/pull/7458>`__)
  450. * Refine log console message UX (`#7448 <https://github.com/jupyterlab/jupyterlab/pull/7448>`__, `#7444 <https://github.com/jupyterlab/jupyterlab/issues/7444>`__, `#7443 <https://github.com/jupyterlab/jupyterlab/issues/7443>`__)
  451. * Fix multicursor backspacing (`#7401 <https://github.com/jupyterlab/jupyterlab/pull/7401>`__, `#7205 <https://github.com/jupyterlab/jupyterlab/issues/7205>`__)
  452. * Reset log display and count when non-notebook tab gets activated (`#7334 <https://github.com/jupyterlab/jupyterlab/pull/7334>`__, `#7325 <https://github.com/jupyterlab/jupyterlab/issues/7325>`__)
  453. * Fix Safari multiple tabs by working around a Safari bug. (`#7316 <https://github.com/jupyterlab/jupyterlab/pull/7316>`__, `#6921 <https://github.com/jupyterlab/jupyterlab/issues/6921>`__)
  454. * Skip custom click behavior on links when the download attribute is set (`#7311 <https://github.com/jupyterlab/jupyterlab/pull/7311>`__, `#5443 <https://github.com/jupyterlab/jupyterlab/issues/5443>`__)
  455. * Fix context menu hit test to deal with SVG nodes. (`#7242 <https://github.com/jupyterlab/jupyterlab/pull/7242>`__, `#7224 <https://github.com/jupyterlab/jupyterlab/issues/7224>`__)
  456. * Fix overwriting of target attribute of anchors rendered by ``IPython.display`` (`#7215 <https://github.com/jupyterlab/jupyterlab/pull/7215>`__, `#6827 <https://github.com/jupyterlab/jupyterlab/issues/6827>`__)
  457. * Fix file browser location in tree view (`#7155 <https://github.com/jupyterlab/jupyterlab/pull/7155>`__)
  458. * Stop too many fetch calls in docmanager-extension (`#7879 <https://github.com/jupyterlab/jupyterlab/pull/7879>`__, `#7874 <https://github.com/jupyterlab/jupyterlab/pull/7874>`__)
  459. * Ensures that ``Shift Tab`` dedent shortcut works correctly in the file editor (`#7865 <https://github.com/jupyterlab/jupyterlab/pull/7865>`__)
  460. * Fix unexpected jump to last search result when using documentsearch (`#7835 <https://github.com/jupyterlab/jupyterlab/pull/7835>`__)
  461. * Fixed refresh issue for html viewer (`#7824 <https://github.com/jupyterlab/jupyterlab/pull/7824>`__, `#7552 <https://github.com/jupyterlab/jupyterlab/pull/7552>`__)
  462. * Fix for center-aligned images with IPython.display.image (`#7798 <https://github.com/jupyterlab/jupyterlab/pull/7798>`__)
  463. * Changes to setting editor should trigger application dirty state (`#7774 <https://github.com/jupyterlab/jupyterlab/pull/7774>`__, `#7757 <https://github.com/jupyterlab/jupyterlab/issues/7757>`__)
  464. * Move vega from "devdependencies" to "dependencies" (`#7699 <https://github.com/jupyterlab/jupyterlab/pull/7699>`__, `#7689 <https://github.com/jupyterlab/jupyterlab/issues/7689>`__)
  465. * Restore default file browser manually. (`#7695 <https://github.com/jupyterlab/jupyterlab/pull/7695>`__, `#4009 <https://github.com/jupyterlab/jupyterlab/issues/4009>`__)
  466. * Use default ``app_dir`` when ``app_dir`` is ``''`` (`#7268 <https://github.com/jupyterlab/jupyterlab/pull/7268>`__, `#7264 <https://github.com/jupyterlab/jupyterlab/issues/7264>`__)
  467. `v1.2.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v1.2.0>`__
  468. ---------------------------------------------------------------------------
  469. October 29, 2019
  470. ^^^^^^^^^^^^^^^^
  471. Here are some highlights for this release. See the `JupyterLab
  472. 1.2.0 <https://github.com/jupyterlab/jupyterlab/milestone/38?closed=1>`__
  473. milestone on GitHub for the full list of pull requests and issues closed.
  474. User-facing changes
  475. ^^^^^^^^^^^^^^^^^^^
  476. * Select cells from the current cell to the top of the notebook with ``Shift Home``, to the bottom of the notebook with ``Shift End`` (`#7336 <https://github.com/jupyterlab/jupyterlab/pull/7336>`__, `#6783 <https://github.com/jupyterlab/jupyterlab/pull/6783>`__)
  477. * Add a log console extension to display unhandled messages and other activity (`#7318 <https://github.com/jupyterlab/jupyterlab/pull/7318>`__, `#7319 <https://github.com/jupyterlab/jupyterlab/pull/7319>`__, `#7379 <https://github.com/jupyterlab/jupyterlab/pull/7379>`__, `#7399 <https://github.com/jupyterlab/jupyterlab/pull/7399>`__, `#7406 <https://github.com/jupyterlab/jupyterlab/pull/7406>`__, `#7421 <https://github.com/jupyterlab/jupyterlab/pull/7421>`__)
  478. * Allow the npm ``max-old-space`` option to be specified outside of JupyterLab (`#7317 <https://github.com/jupyterlab/jupyterlab/pull/7317>`__)
  479. * Only display node structure in a JSON tree view for arrays and empty objects (`#7261 <https://github.com/jupyterlab/jupyterlab/pull/7261>`__)
  480. * Make much smaller distribution packages by not building JavaScript source maps for releases. (`#7150 <https://github.com/jupyterlab/jupyterlab/pull/7150>`__)
  481. * Add support for pasting cell attachments and dragging attachments from the file browser (`#5913 <https://github.com/jupyterlab/jupyterlab/pull/5913>`__, `#5744 <https://github.com/jupyterlab/jupyterlab/issues/5744>`__)
  482. * Add a new ``registry`` configuration parameter to override the default yarn repository when building (`#7363 <https://github.com/jupyterlab/jupyterlab/pull/7363>`__, `#7109 <https://github.com/jupyterlab/jupyterlab/pull/7109>`__, `#7249 <https://github.com/jupyterlab/jupyterlab/pull/7249>`__, `#7248 <https://github.com/jupyterlab/jupyterlab/issues/7248>`__)
  483. For developers
  484. ^^^^^^^^^^^^^^
  485. * Update the Markdown renderer (``marked``) to 0.7.0 (`#7328 <https://github.com/jupyterlab/jupyterlab/pull/7328>`__)
  486. * Remove datagrid as a singleton, allowing extensions to use newer versions (`#7312 <https://github.com/jupyterlab/jupyterlab/pull/7312>`__)
  487. * Add metadata to the kernelspec information (`#7234 <https://github.com/jupyterlab/jupyterlab/pull/7234>`__)
  488. * Allow different mimetypes for the clipboard data (`#7233 <https://github.com/jupyterlab/jupyterlab/pull/7233>`__)
  489. * Add inline svg icon support to toolbar buttons (`#7232 <https://github.com/jupyterlab/jupyterlab/pull/7232>`__)
  490. * Add PageConfig functions to query if a plugin is deferred or disabled (`#7216 <https://github.com/jupyterlab/jupyterlab/pull/7216>`__)
  491. * Allow for renderers for nbformat.ierror to be created (`#7203 <https://github.com/jupyterlab/jupyterlab/pull/7203>`__, `#7193 <https://github.com/jupyterlab/jupyterlab/issues/7193>`__)
  492. * Refactor ``fileeditor-extension`` for modularization (`#6904 <https://github.com/jupyterlab/jupyterlab/pull/6904>`__)
  493. * Add execution timing to cells (`#6864 <https://github.com/jupyterlab/jupyterlab/pull/6864>`__, `#3320 <https://github.com/jupyterlab/jupyterlab/issues/3320>`__)
  494. Bugfixes
  495. ^^^^^^^^
  496. * Fix the ``file-browser-path`` query parameter (`#7313 <https://github.com/jupyterlab/jupyterlab/pull/7313>`__)
  497. * Skip custom click behavior on links when the download attribute is set (`#7323 <https://github.com/jupyterlab/jupyterlab/pull/7323>`__)
  498. * Fix opening multiple browser tabs in Safari (`#7322 <https://github.com/jupyterlab/jupyterlab/pull/7322>`__)
  499. * Fix context menus on SVG icons (`#7263 <https://github.com/jupyterlab/jupyterlab/pull/7263>`__)
  500. * Fix overwriting of target attribute of anchors rendered by ``IPython.display`` (`#7231 <https://github.com/jupyterlab/jupyterlab/pull/7231>`__)
  501. * Fix multi-cursor backspacing (`#7205 <https://github.com/jupyterlab/jupyterlab/pull/7205>`__, `#7401 <https://github.com/jupyterlab/jupyterlab/pull/7401>`__, `#7413 <https://github.com/jupyterlab/jupyterlab/pull/7413>`__)
  502. * Fix mult-cursor cell splitting (`#7207 <https://github.com/jupyterlab/jupyterlab/pull/7207>`__, `#7417 <https://github.com/jupyterlab/jupyterlab/pull/7417>`__, `#7419 <https://github.com/jupyterlab/jupyterlab/pull/7419>`__)
  503. `v1.1.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v1.1.0>`__
  504. ---------------------------------------------------------------------------
  505. August 28, 2019
  506. ^^^^^^^^^^^^^^^
  507. Here are some highlights of what is in this release. See the `JupyterLab
  508. 1.1.0 <https://github.com/jupyterlab/jupyterlab/milestone/31?closed=1>`__
  509. milestone on GitHub for the full list of pull requests and issues closed.
  510. User-facing changes
  511. ^^^^^^^^^^^^^^^^^^^
  512. * ``jupyter lab build`` now has a ``--minimize=False`` option to build without minimization to conserve memory and time (`#6907 <https://github.com/jupyterlab/jupyterlab/pull/6907>`__)
  513. * Fix workspace reset functionality (`#7106 <https://github.com/jupyterlab/jupyterlab/pull/7106>`__, `#7105 <https://github.com/jupyterlab/jupyterlab/issues/7105>`__)
  514. * Restore behavior of the "raises-exception" cell tag (`#7020 <https://github.com/jupyterlab/jupyterlab/pull/7020>`__, `#7015 <https://github.com/jupyterlab/jupyterlab/issues/7015>`__)
  515. * Add settings to override theme font sizes (`#6926 <https://github.com/jupyterlab/jupyterlab/pull/6926>`__)
  516. * Accept query parameter to optionally change file browser location (`#6875 <https://github.com/jupyterlab/jupyterlab/pull/6875>`__)
  517. * Pressing escape in the console should switch out of edit mode (`#6822 <https://github.com/jupyterlab/jupyterlab/pull/6822>`__)
  518. * Fix file browser downloads in Google Chrome (`#6686 <https://github.com/jupyterlab/jupyterlab/pull/6686>`__)
  519. * Make it possible to override the default widgets to view a file (`#6813 <https://github.com/jupyterlab/jupyterlab/pull/6813>`__, `#4048 <https://github.com/jupyterlab/jupyterlab/issues/4048>`__)
  520. * Support installing multiple versions of the same extension (`#6857 <https://github.com/jupyterlab/jupyterlab/pull/6857>`__)
  521. * Support JupyterHub server name for JupyterHub 1.0 (`#6931 <https://github.com/jupyterlab/jupyterlab/pull/6931>`__)
  522. * Add docs to help users diagnose issues before creating them (`#6971 <https://github.com/jupyterlab/jupyterlab/pull/6971>`__)
  523. * The JupyterLab conda-forge package is now a `noarch` package. If you are using JupyterLab with `notebook` version 5.2 or earlier, you may need to manually enable the JupyterLab server extension. See the issue for more details (`#7042 <https://github.com/jupyterlab/jupyterlab/issues/7042>`__)
  524. For developers
  525. ^^^^^^^^^^^^^^
  526. * Expose install_kernel for tests so that outside projects can better use the testing framework (`#7089 <https://github.com/jupyterlab/jupyterlab/pull/7089>`__)
  527. * Fix ``comm_info_request`` content to conform to the Jupyter message specification in a backwards-compatible way (`#6949 <https://github.com/jupyterlab/jupyterlab/pull/6949>`__, `#6947 <https://github.com/jupyterlab/jupyterlab/issues/6947>`__)
  528. * Add yarn package resolution to build to constrain core package versions to patch semver ranges (`#6938 <https://github.com/jupyterlab/jupyterlab/pull/6938>`__)
  529. * Make handling comm messages optional in a kernel connection. (`#6929 <https://github.com/jupyterlab/jupyterlab/pull/6929>`__)
  530. * Expose icon svg to theme css (`#6034 <https://github.com/jupyterlab/jupyterlab/pull/6034>`__, `#7027 <https://github.com/jupyterlab/jupyterlab/pull/7027>`__)
  531. * Expose convenience functions for open dialogs (`#6366 <https://github.com/jupyterlab/jupyterlab/pull/6366>`__, `#6365 <https://github.com/jupyterlab/jupyterlab/issues/6365>`__)
  532. * Add debug messages to possible kernel messages (`#6704 <https://github.com/jupyterlab/jupyterlab/pull/6704>`__)
  533. * Add server side coreconfig object (`#6991 <https://github.com/jupyterlab/jupyterlab/pull/6991>`__)
  534. Bug fixes
  535. ^^^^^^^^^
  536. * Handle errors that occur during kernel selection (`#7094 <https://github.com/jupyterlab/jupyterlab/pull/7094>`__)
  537. * Fix escaping issues for page config and other template variables (`#7016 <https://github.com/jupyterlab/jupyterlab/pull/7016>`__, `#7024 <https://github.com/jupyterlab/jupyterlab/issues/7024>`__, `#7061 <https://github.com/jupyterlab/jupyterlab/pull/7061>`__, `#7058 <https://github.com/jupyterlab/jupyterlab/issues/7058>`__, `#6858 <https://github.com/jupyterlab/jupyterlab/issues/6858>`__)
  538. * Require jinja2 2.10+ to fix escaping issues (`#7055 <https://github.com/jupyterlab/jupyterlab/pull/7055>`__, `#7053 <https://github.com/jupyterlab/jupyterlab/issues/7053>`__)
  539. * Increase the search debounce from 100ms to 500ms to increase incremental search responsiveness in large documents (`#7034 <https://github.com/jupyterlab/jupyterlab/pull/7034>`__)
  540. * Fix vega downloads and download urls in general (`#7022 <https://github.com/jupyterlab/jupyterlab/pull/7022>`__, `#7017 <https://github.com/jupyterlab/jupyterlab/issues/7017>`__, `#7098 <https://github.com/jupyterlab/jupyterlab/pull/7098>`__, `#7047 <https://github.com/jupyterlab/jupyterlab/issues/7047>`__)
  541. * Do not complain in the build about duplicate or optional packages (`#7013 <https://github.com/jupyterlab/jupyterlab/pull/7013>`__)
  542. * Fix contextual help layout for R help (`#6933 <https://github.com/jupyterlab/jupyterlab/pull/6933>`__, `#6935 <https://github.com/jupyterlab/jupyterlab/pull/6935>`__)
  543. `v1.0.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v1.0.0>`__
  544. ---------------------------------------------------------------------------
  545. June 28, 2019
  546. ^^^^^^^^^^^^^^^
  547. See the `JupyterLab 1.0.0 <https://github.com/jupyterlab/jupyterlab/milestone/2?closed=1>`__
  548. milestone on GitHub for the full list of pull requests and issues closed in 1.0.0, and other 1.0.x milestones for bugs fixed in patch releases.
  549. Find and Replace
  550. ^^^^^^^^^^^^^^^^
  551. .. image:: find.png
  552. :align: center
  553. :class: jp-screenshot
  554. We have added first class support for find and replace across JupyterLab. It is currently supported in notebooks and text files and is extensible for other widgets who wish to support it. (`#6350 <https://github.com/jupyterlab/jupyterlab/pull/6350>`__, `#6322 <https://github.com/jupyterlab/jupyterlab/issues/6322>`__, `#6301 <https://github.com/jupyterlab/jupyterlab/pull/6301>`__, `#6282 <https://github.com/jupyterlab/jupyterlab/pull/6282>`__, `#6256 <https://github.com/jupyterlab/jupyterlab/pull/6256>`__, `#6241 <https://github.com/jupyterlab/jupyterlab/pull/6241>`__, `#6237 <https://github.com/jupyterlab/jupyterlab/pull/6237>`__, `#6159 <https://github.com/jupyterlab/jupyterlab/pull/6159>`__, `#6081 <https://github.com/jupyterlab/jupyterlab/issues/6081>`__, `#6155 <https://github.com/jupyterlab/jupyterlab/pull/6155>`__, `#6094 <https://github.com/jupyterlab/jupyterlab/pull/6094>`__, `#6024 <https://github.com/jupyterlab/jupyterlab/pull/6024>`__, `#5937 <https://github.com/jupyterlab/jupyterlab/pull/5937>`__, `#5795 <https://github.com/jupyterlab/jupyterlab/pull/5795>`__, `#1074 <https://github.com/jupyterlab/jupyterlab/issues/1074>`__)
  555. Status Bar
  556. ^^^^^^^^^^
  557. .. image:: statusbar.png
  558. :align: center
  559. :class: jp-screenshot
  560. We have integrated the `JupyterLab Status Bar package <https://github.com/jupyterlab/jupyterlab-statusbar>`__ package into the core distribution. Extensions can add their own status to it as well (`#5577 <https://github.com/jupyterlab/jupyterlab/pull/5577>`__, `#5525 <https://github.com/jupyterlab/jupyterlab/pull/5525>`__ `#5990 <https://github.com/jupyterlab/jupyterlab/pull/5990>`__, `#5982 <https://github.com/jupyterlab/jupyterlab/issues/5982>`__, `#5514 <https://github.com/jupyterlab/jupyterlab/pull/5514>`__, `#5508 <https://github.com/jupyterlab/jupyterlab/pull/5508>`__, `#5352 <https://github.com/jupyterlab/jupyterlab/issues/5352>`__).
  561. JupyterHub Integration
  562. ^^^^^^^^^^^^^^^^^^^^^^
  563. * We now include the JupyterHub extension in core JupyterLab, so you no longer need to install ``@jupyterlab/hub-extension``. (`#6451 <https://github.com/jupyterlab/jupyterlab/pull/6451>`__, `#6428 <https://github.com/jupyterlab/jupyterlab/issues/6428>`__)
  564. * JupyterLab now has a File > Logout menu entry when running with JupyterHub (`#6087 <https://github.com/jupyterlab/jupyterlab/pull/6087>`__, `#5966 <https://github.com/jupyterlab/jupyterlab/issues/5966>`__)
  565. Printing
  566. ^^^^^^^^
  567. We now have a printing system that allows extensions to customize how documents and activities are printed. (`#5850 <https://github.com/jupyterlab/jupyterlab/pull/5850>`__, `#1314 <https://github.com/jupyterlab/jupyterlab/issues/1314>`__)
  568. Other User Facing Changes
  569. ^^^^^^^^^^^^^^^^^^^^^^^^^
  570. * The launcher displays longer kernel names and supports keyboard navigation (`#6587 <https://github.com/jupyterlab/jupyterlab/pull/6587>`__)
  571. * Notebook outputs without any valid MimeType renderers will not be displayed, instead of displaying an error (`#6559 <https://github.com/jupyterlab/jupyterlab/pull/6559>`__, `#6216 <https://github.com/jupyterlab/jupyterlab/issues/6216>`__)
  572. * Add tooltip to file browser root breadcrumb icon showing the server root, if it is available (`#6552 <https://github.com/jupyterlab/jupyterlab/pull/6552>`__)
  573. * Downloading a file will no longer open a new browser window (`#6546 <https://github.com/jupyterlab/jupyterlab/pull/6546>`__)
  574. * Rename the help "Inspector" to "Contextual Help" and move it to the "Help" menu (`#6493 <https://github.com/jupyterlab/jupyterlab/pull/6493>`__, `#6488 <https://github.com/jupyterlab/jupyterlab/issues/6488>`__, `#6678 <https://github.com/jupyterlab/jupyterlab/pull/6678>`__, `#6671 <https://github.com/jupyterlab/jupyterlab/pull/6671>`__)
  575. * Update many of the icons to make them more consistent (`#6672 <https://github.com/jupyterlab/jupyterlab/pull/6672>`__, `#6618 <https://github.com/jupyterlab/jupyterlab/issues/6618>`__, `#6664 <https://github.com/jupyterlab/jupyterlab/pull/6664>`__, `#6621 <https://github.com/jupyterlab/jupyterlab/issues/6621>`__)
  576. * Update the settings UI to remove the table view (`#6654 <https://github.com/jupyterlab/jupyterlab/pull/6654>`__, `#6622 <https://github.com/jupyterlab/jupyterlab/issues/6622>`__, `#6653 <https://github.com/jupyterlab/jupyterlab/pull/6653>`__, `#6623 <https://github.com/jupyterlab/jupyterlab/issues/6623>`__, `#6646 <https://github.com/jupyterlab/jupyterlab/pull/6646>`__, `#6642 <https://github.com/jupyterlab/jupyterlab/issues/6642>`__)
  577. * Replace FAQ Extension with link to JupyterLab documentation (`#6628 <https://github.com/jupyterlab/jupyterlab/pull/6628>`__, `#6608 <https://github.com/jupyterlab/jupyterlab/issues/6608>`__, `#6625 <https://github.com/jupyterlab/jupyterlab/pull/6625>`__, `#6610 <https://github.com/jupyterlab/jupyterlab/issues/6610>`__)
  578. * Change the default keyboard shortcut for closing a tab to be ``Alt+w`` instead of ``Cmd/Ctrl+w`` to avoid conflicts with operating systems. (`#6486 <https://github.com/jupyterlab/jupyterlab/pull/6486>`__, `#6357 <https://github.com/jupyterlab/jupyterlab/issues/6357>`__)
  579. * Show help text in Inspector window to describe you should select a function (`#6476 <https://github.com/jupyterlab/jupyterlab/pull/6476>`__)
  580. * Fixes SVG rendering (`#6469 <https://github.com/jupyterlab/jupyterlab/pull/6469>`__, `#6295 <https://github.com/jupyterlab/jupyterlab/issues/6295>`__)
  581. * Add support for dropping a tab in the tab bar area. (`#6454 <https://github.com/jupyterlab/jupyterlab/pull/6454>`__, `#5406 <https://github.com/jupyterlab/jupyterlab/issues/5406>`__)
  582. * Switch some default shortcuts to use ``Accel`` instead of ``Ctrl`` so they are more natural for Mac users (`#6447 <https://github.com/jupyterlab/jupyterlab/pull/6447>`__, `#5023 <https://github.com/jupyterlab/jupyterlab/issues/5023>`__)
  583. * Add ability to tell between hover and selected command palette items (`#6407 <https://github.com/jupyterlab/jupyterlab/pull/6407>`__, `#279 <https://github.com/jupyterlab/jupyterlab/issues/279>`__)
  584. * Hide the "Last Modified" column when the file browser is narrow (`#6406 <https://github.com/jupyterlab/jupyterlab/pull/6406>`__, `#6093 <https://github.com/jupyterlab/jupyterlab/issues/6093>`__)
  585. * Support copy/paste in terminal and Mac OS using ``Ctrl+C`` and ``Ctrl+V`` (`#6391 <https://github.com/jupyterlab/jupyterlab/pull/6391>`__, `#6385 <https://github.com/jupyterlab/jupyterlab/issues/6385>`__, `#1146 <https://github.com/jupyterlab/jupyterlab/issues/1146>`__)
  586. * Support scrolling in running kernels panel (`#6383 <https://github.com/jupyterlab/jupyterlab/pull/6383>`__, `#6371 <https://github.com/jupyterlab/jupyterlab/issues/6371>`__)
  587. * Adds ability to "Merge Selected Cells" in the context menu in the notebook (`#6375 <https://github.com/jupyterlab/jupyterlab/pull/6375>`__, `#6318 <https://github.com/jupyterlab/jupyterlab/issues/6318>`__)
  588. * Turn On Accessibility In Xterm.js to make it more compatible for screen readers (`#6359 <https://github.com/jupyterlab/jupyterlab/pull/6359>`__)
  589. * When selecting cells using the keyboard shortcuts, we now skip collapsed cells (`#6356 <https://github.com/jupyterlab/jupyterlab/pull/6356>`__, `#3233 <https://github.com/jupyterlab/jupyterlab/issues/3233>`__)
  590. * Supporting opening ``.geojson`` files in JSON viewer (`#6349 <https://github.com/jupyterlab/jupyterlab/pull/6349>`__)
  591. * Performance fixes for text-based progress bars (`#6304 <https://github.com/jupyterlab/jupyterlab/pull/6304>`__, `#4202 <https://github.com/jupyterlab/jupyterlab/issues/4202>`__)
  592. * Add support for rendering Vega 5 and Vega Lite 3 while keeping the existing Vega 4 and Vega Lite 2 renderers (`#6294 <https://github.com/jupyterlab/jupyterlab/pull/6294>`__, `#6133 <https://github.com/jupyterlab/jupyterlab/pull/6133>`__, `#6128 <https://github.com/jupyterlab/jupyterlab/issues/6128>`__, `#6689 <https://github.com/jupyterlab/jupyterlab/pull/6689>`__, `#6685 <https://github.com/jupyterlab/jupyterlab/pull/6685>`__, `#6684 <https://github.com/jupyterlab/jupyterlab/issues/6684>`__, `#6675 <https://github.com/jupyterlab/jupyterlab/issues/6675>`__, `#6591 <https://github.com/jupyterlab/jupyterlab/pull/6591>`__, `#6572 <https://github.com/jupyterlab/jupyterlab/issues/6572>`__)
  593. * Drag and drop console cells into a notebook or text editor (`#5585 <https://github.com/jupyterlab/jupyterlab/pull/5585>`__, `#4847 <https://github.com/jupyterlab/jupyterlab/issues/4847>`__)
  594. * Drag and drop notebook cells into a console or text editor (`#5571 <https://github.com/jupyterlab/jupyterlab/pull/5571>`__, `#3732 <https://github.com/jupyterlab/jupyterlab/issues/3732>`__)
  595. * The extension manager search now sorts extensions by the score assigned to them by NPM instead of alphabetically (`#5649 <https://github.com/jupyterlab/jupyterlab/pull/5649>`__)
  596. * Notify the user when a kernel is automatically restarted, for example, if crashes from an out of memory error (`#6246 <https://github.com/jupyterlab/jupyterlab/pull/6246>`__, `#4273 <https://github.com/jupyterlab/jupyterlab/issues/4273>`__)
  597. * Expose the extension manager in a command and menu item (`#6200 <https://github.com/jupyterlab/jupyterlab/pull/6200>`__)
  598. * Add command to render all Markdown cells (`#6029 <https://github.com/jupyterlab/jupyterlab/pull/6029>`__, `#6017 <https://github.com/jupyterlab/jupyterlab/issues/6017>`__)
  599. * Supports using shift to select text in output area (`#6015 <https://github.com/jupyterlab/jupyterlab/pull/6015>`__, `#4800 <https://github.com/jupyterlab/jupyterlab/issues/4800>`__)
  600. * Output areas that opened in new views are restored properly now on reload (`#5981 <https://github.com/jupyterlab/jupyterlab/pull/5981>`__, `#5976 <https://github.com/jupyterlab/jupyterlab/issues/5976>`__)
  601. * Add support for managing notebook metadata under a new "Advanced Tools" section in the cell tools area. The cell and notebook metadata now always reflect the current state of the notebook (`#5968 <https://github.com/jupyterlab/jupyterlab/pull/5968>`__, `#5200 <https://github.com/jupyterlab/jupyterlab/issues/5200>`__)
  602. * Inherit terminal theme from core theme (`#5964 <https://github.com/jupyterlab/jupyterlab/pull/5964>`__)
  603. * Adds a built-in HTML viewer so that you can view HTML files (`#5962 <https://github.com/jupyterlab/jupyterlab/pull/5962>`__, `#5855 <https://github.com/jupyterlab/jupyterlab/pull/5855>`__, `#2369 <https://github.com/jupyterlab/jupyterlab/issues/2369>`__)
  604. * New workspaces are now automatically generated when you create a new window with the same workspace name. (`#5950 <https://github.com/jupyterlab/jupyterlab/pull/5950>`__, `#5854 <https://github.com/jupyterlab/jupyterlab/issues/5854>`__, `#5830 <https://github.com/jupyterlab/jupyterlab/pull/5830>`__, `#5214 <https://github.com/jupyterlab/jupyterlab/issues/5214>`__)
  605. * We now add a hint to the context menu to describe how you can access the native browser menu (`#5940 <https://github.com/jupyterlab/jupyterlab/pull/5940>`__, `#4023 <https://github.com/jupyterlab/jupyterlab/issues/4023>`__)
  606. * The tabs on the left panel have changed to make them more understandable (`#5920 <https://github.com/jupyterlab/jupyterlab/pull/5920>`__, `#5269 <https://github.com/jupyterlab/jupyterlab/issues/5269>`__)
  607. * Start a new terminal when the page is refreshed and the old terminal has died (`#5917 <https://github.com/jupyterlab/jupyterlab/pull/5917>`__)
  608. * Add a command to open the main menus, which can be assigned to a keyboard shortcut to open and navigate menus without a mouse (`#5910 <https://github.com/jupyterlab/jupyterlab/pull/5910>`__, `#3074 <https://github.com/jupyterlab/jupyterlab/issues/3074>`__)
  609. * The contextual help now updates based on changes in the cursor from the mouse instead of just from the keyboard (`#5906 <https://github.com/jupyterlab/jupyterlab/pull/5906>`__, `#5899 <https://github.com/jupyterlab/jupyterlab/issues/5899>`__)
  610. * The launcher now updates when the kernels change on the server (`#5904 <https://github.com/jupyterlab/jupyterlab/pull/5904>`__, `#5676 <https://github.com/jupyterlab/jupyterlab/issues/5676>`__)
  611. * Retain cell auto scroll behavior even when a cell output is cleared (`#5817 <https://github.com/jupyterlab/jupyterlab/pull/5817>`__, `#4028 <https://github.com/jupyterlab/jupyterlab/issues/4028>`__)
  612. * If you link to a relative path that is not a file in a markdown cell, this will now be preserved instead of changing it to a file URL (`#5814 <https://github.com/jupyterlab/jupyterlab/pull/5814>`__)
  613. * Adds the ability to link to a certain row in a CSV file and have the viewer open to that row (`#5727 <https://github.com/jupyterlab/jupyterlab/pull/5727>`__, `#5720 <https://github.com/jupyterlab/jupyterlab/issues/5720>`__)
  614. * We have improved the performance of switching to a large notebook (`#5700 <https://github.com/jupyterlab/jupyterlab/pull/5700>`__, `#4292 <https://github.com/jupyterlab/jupyterlab/issues/4292>`__, `#2639 <https://github.com/jupyterlab/jupyterlab/issues/2639>`__)
  615. * The vdom extension now supports event handling, so that you can have kernel code run in response to user interaction with the UI (`#5670 <https://github.com/jupyterlab/jupyterlab/pull/5670>`__)
  616. * Adds the ability to run "Run All Code" and "Restart Kernel and Run All Code" in code and markdown files (`#5641 <https://github.com/jupyterlab/jupyterlab/pull/5641>`__, `#5579 <https://github.com/jupyterlab/jupyterlab/issues/5579>`__)
  617. * We now remember what line ending a text file has when loading it, so that files with ``CRLF`` line endings will properly be saved with the same endings (`#5622 <https://github.com/jupyterlab/jupyterlab/pull/5622>`__, `#4464 <https://github.com/jupyterlab/jupyterlab/issues/4464>`__, `#3901 <https://github.com/jupyterlab/jupyterlab/issues/3901>`__, `#3706 <https://github.com/jupyterlab/jupyterlab/issues/3706>`__)
  618. * Fixes rendering of SVG elements in HTML MimeType output (`#5610 <https://github.com/jupyterlab/jupyterlab/pull/5610>`__, `#5610 <https://github.com/jupyterlab/jupyterlab/issues/5610>`__, `#5589 <https://github.com/jupyterlab/jupyterlab/issues/5589>`__)
  619. * Allow copying files by holding down ``Ctrl`` when dragging them in the file browser (`#5584 <https://github.com/jupyterlab/jupyterlab/pull/5584>`__, `#3235 <https://github.com/jupyterlab/jupyterlab/issues/3235>`__)
  620. * Switch the hover modified time in the file browser to use the local format (`#5567 <https://github.com/jupyterlab/jupyterlab/pull/5567>`__)
  621. * We have added a default keyboard shortcut of ``Ctrl Shift Q`` for closing and cleaning up a file (`#5534 <https://github.com/jupyterlab/jupyterlab/pull/5534>`__, `#4390 <https://github.com/jupyterlab/jupyterlab/issues/4390>`__)
  622. * Adds the ability to find and go to a certain line in the CSV viewer (`#5523 <https://github.com/jupyterlab/jupyterlab/pull/5523>`__)
  623. * Add the ability to create new text and markdown files from the launcher and command palette (`#5512 <https://github.com/jupyterlab/jupyterlab/pull/5512>`__, `#5511 <https://github.com/jupyterlab/jupyterlab/pull/5511>`__)
  624. * A "New Folder" option has been added to the file browser context menu (`#5447 <https://github.com/jupyterlab/jupyterlab/pull/5447>`__)
  625. * The ANSI colors are now the same as those in the classic notebook (`#5336 <https://github.com/jupyterlab/jupyterlab/pull/5336>`__, `#3773 <https://github.com/jupyterlab/jupyterlab/issues/3773>`__)
  626. * Send complete statements instead of current lines when stepping through code in a cell (`#6515 <https://github.com/jupyterlab/jupyterlab/pull/6515>`__, `#6063 <https://github.com/jupyterlab/jupyterlab/pull/6063>`__)
  627. * Description list styles (``dl``, ``dt``, ``dd``) are improved to be consistent with the nteract project (`#5682 <https://github.com/jupyterlab/jupyterlab/pull/5682>`__, `#2399 <https://github.com/jupyterlab/jupyterlab/issues/2399>`__)
  628. Settings
  629. ^^^^^^^^
  630. * The settings system has been rewritten (`#5470 <https://github.com/jupyterlab/jupyterlab/pull/5470>`__, `#5298 <https://github.com/jupyterlab/jupyterlab/issues/5298>`__) and now uses json5 as the syntax, which supports comments and other features for better human readability (`#6343 <https://github.com/jupyterlab/jupyterlab/pull/6343>`__, `#6199 <https://github.com/jupyterlab/jupyterlab/issues/6199>`__).
  631. * The keyboard shortcut system has been rewritten and now displays a list of system commands in the settings comments (`#5812 <https://github.com/jupyterlab/jupyterlab/pull/5812>`__, `#5562 <https://github.com/jupyterlab/jupyterlab/issues/5562>`__).
  632. There are new settings for many following items, including:
  633. * Adds an option to shut down terminals and notebook kernels when they are closed (`#6285 <https://github.com/jupyterlab/jupyterlab/pull/6285>`__, `#6275 <https://github.com/jupyterlab/jupyterlab/pull/6275>`__)
  634. * Scrolling past the end of a notebooks and text editor document (`#5542 <https://github.com/jupyterlab/jupyterlab/pull/5542>`__, `#5271 <https://github.com/jupyterlab/jupyterlab/issues/5271>`__, `#5652 <https://github.com/jupyterlab/jupyterlab/pull/5652>`__, `#4429 <https://github.com/jupyterlab/jupyterlab/issues/4429>`__)
  635. * Text editor code folding, rulers, and active line highlighting (`#5761 <https://github.com/jupyterlab/jupyterlab/pull/5761>`__, `#4083 <https://github.com/jupyterlab/jupyterlab/issues/4083>`__, `#5750 <https://github.com/jupyterlab/jupyterlab/pull/5750>`__, `#4179 <https://github.com/jupyterlab/jupyterlab/issues/4179>`__, `#5529 <https://github.com/jupyterlab/jupyterlab/pull/5529>`__, `#5528 <https://github.com/jupyterlab/jupyterlab/issues/5528>`__)
  636. * Markdown viewer options (`#5901 <https://github.com/jupyterlab/jupyterlab/pull/5901>`__, `#3940 <https://github.com/jupyterlab/jupyterlab/issues/3940>`__)
  637. * Terminal scrollback and other settings (`#5609 <https://github.com/jupyterlab/jupyterlab/pull/5609>`__, `#3985 <https://github.com/jupyterlab/jupyterlab/issues/3985>`__)
  638. * The autosave interval (`#5645 <https://github.com/jupyterlab/jupyterlab/pull/5645>`__, `#5619 <https://github.com/jupyterlab/jupyterlab/issues/5619>`__)
  639. * The file browser showing the current active file (`#5698 <https://github.com/jupyterlab/jupyterlab/pull/5698>`__, `#4258 <https://github.com/jupyterlab/jupyterlab/issues/4258>`__)
  640. * Custom scrollbar styling for dark themes (`#6026 <https://github.com/jupyterlab/jupyterlab/pull/6026>`__, `#4867 <https://github.com/jupyterlab/jupyterlab/issues/4867>`__)
  641. Command Line Changes
  642. ^^^^^^^^^^^^^^^^^^^^
  643. * Installing extensions will be quieter and adds a ``--debug`` to extension installing (`#6567 <https://github.com/jupyterlab/jupyterlab/pull/6567>`__, `#6499 <https://github.com/jupyterlab/jupyterlab/issues/6499>`__, `#5986 <https://github.com/jupyterlab/jupyterlab/issues/5986>`__)
  644. * We now support running JupyterLab when its application directory is a symlink (`#6240 <https://github.com/jupyterlab/jupyterlab/pull/6240>`__, `#6166 <https://github.com/jupyterlab/jupyterlab/issues/6166>`__)
  645. * Add ``--all`` flag to ``labextension uninstall`` to remove all extensions (`#6058 <https://github.com/jupyterlab/jupyterlab/pull/6058>`__, `#6006 <https://github.com/jupyterlab/jupyterlab/issues/6006>`__)
  646. * Adds the ability to override the base URLs from the config (`#5518 <https://github.com/jupyterlab/jupyterlab/pull/5518>`__, `#5503 <https://github.com/jupyterlab/jupyterlab/pull/5503>`__)
  647. * Updates to workspaces CLI command (`#6473 <https://github.com/jupyterlab/jupyterlab/pull/6473>`__, `#5977 <https://github.com/jupyterlab/jupyterlab/issues/5977>`__, `#6276 <https://github.com/jupyterlab/jupyterlab/pull/6276>`__, `#6234 <https://github.com/jupyterlab/jupyterlab/pull/6234>`__, `#6210 <https://github.com/jupyterlab/jupyterlab/issues/6210>`__, `#5975 <https://github.com/jupyterlab/jupyterlab/pull/5975>`__, `#5695 <https://github.com/jupyterlab/jupyterlab/pull/5695>`__, `#5694 <https://github.com/jupyterlab/jupyterlab/issues/5694>`__)
  648. Extension Development Changes
  649. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  650. * We have rewritten how extensions provide keyboard shortcuts and interact with the settings system. If you previously defined keyboard shortcuts or used the settings mechanism, you will need to update your extension (`#5470 <https://github.com/jupyterlab/jupyterlab/pull/5470>`__, `#5298 <https://github.com/jupyterlab/jupyterlab/issues/5298>`__)
  651. * We have renamed the plugin type from ``JupyterLabPlugin`` to ``JupyterFrontEndPlugin``. The application arg is also renamed from ``JupyterLab`` to ``JupyterFrontEnd`` and some its functionality has been moved to a separate ``ILabShell`` plugin (`#5845 <https://github.com/jupyterlab/jupyterlab/pull/5845>`__, `#5919 <https://github.com/jupyterlab/jupyterlab/pull/5919>`__)
  652. * The lab shell ``addToMainArea``, ``addToLeftArea``, ``addToTopArea``, ``addToRightArea``, and ``addToBottomArea`` functions have been replaced with a single ``add()`` function that takes the area as an argument. Replace ``addToMainArea(widget, options)`` with ``add(widget, 'main', options)``, etc. (`#5845 <https://github.com/jupyterlab/jupyterlab/pull/5845>`__)
  653. * Rename ``pageUrl`` to ``appUrl`` in the server connection (`#6509 <https://github.com/jupyterlab/jupyterlab/pull/6509>`__, `#6508 <https://github.com/jupyterlab/jupyterlab/issues/6508>`__, `#6585 <https://github.com/jupyterlab/jupyterlab/pull/6585>`__, `#6584 <https://github.com/jupyterlab/jupyterlab/issues/6584>`__)
  654. * ``MainAreaWidget`` instances now forward update requests to their ``content`` (`#6586 <https://github.com/jupyterlab/jupyterlab/pull/6586>`__, `#6571 <https://github.com/jupyterlab/jupyterlab/issues/6571>`__)
  655. * The theme data attributes are renamed and moved to the document body element. If you are relying on these attributes in CSS to conditionally style based on the theme, you should update their names. For example ``data-theme-light`` is now ``data-jp-theme-light``. (`#6566 <https://github.com/jupyterlab/jupyterlab/pull/6566>`__, `#6554 <https://github.com/jupyterlab/jupyterlab/issues/6554>`__)
  656. * Extensions which require CSS should no longer import their CSS files into their Javascript files. Instead, they should specify a root CSS file in the ``style`` attribute in their ``package.json``, and JupyterLab will automatically import that CSS file. (`#6533 <https://github.com/jupyterlab/jupyterlab/pull/6533>`__, `#6530 <https://github.com/jupyterlab/jupyterlab/issues/6530>`__, `#6395 <https://github.com/jupyterlab/jupyterlab/pull/6395>`__, `#6390 <https://github.com/jupyterlab/jupyterlab/issues/6390>`__)
  657. * ``Dialog.prompt`` has been replaced by a number of type-specific dialogs such as ``InputDialog.getString``, ``InputDialog.getBoolean``, etc. (`#6522 <https://github.com/jupyterlab/jupyterlab/pull/6522>`__, `#6378 <https://github.com/jupyterlab/jupyterlab/issues/6378>`__, `#6327 <https://github.com/jupyterlab/jupyterlab/pull/6327>`__, `#6326 <https://github.com/jupyterlab/jupyterlab/issues/6326>`__)
  658. * When a ``RenderMime`` widget is re-rendered, the default behavior is to remove any existing content in the DOM. This can be overridden if needed. (`#6513 <https://github.com/jupyterlab/jupyterlab/pull/6513>`__, `#6505 <https://github.com/jupyterlab/jupyterlab/issues/6505>`__, `#6497 <https://github.com/jupyterlab/jupyterlab/issues/6497>`__)
  659. * We have updated our internal TypeScript version to 3.5.1 and our compile target to ``ES2017``. Extensions may need to upgrade their TypeScript version and target as well. (`#6440 <https://github.com/jupyterlab/jupyterlab/pull/6440>`__, `#6224 <https://github.com/jupyterlab/jupyterlab/pull/6224>`__)
  660. * We have updated the typings for some of the Kernel messages so that they better match the spec. (`#6433 <https://github.com/jupyterlab/jupyterlab/pull/6433>`__)
  661. * A ``connectionFailure`` signal has been added to some of the manager classes, which can be used to detect when a connection to the server is lost (`#6399 <https://github.com/jupyterlab/jupyterlab/pull/6399>`__, `#6176 <https://github.com/jupyterlab/jupyterlab/issues/6176>`__, `#3324 <https://github.com/jupyterlab/jupyterlab/issues/3324>`__)
  662. * Add rate limiting and polling utilities to ``coreutils`` to use for throttling and debouncing of API requests (`#6345 <https://github.com/jupyterlab/jupyterlab/pull/6345>`__, `#6346 <https://github.com/jupyterlab/jupyterlab/issues/6346>`__, `#6401 <https://github.com/jupyterlab/jupyterlab/pull/6401>`__, `#6305 <https://github.com/jupyterlab/jupyterlab/pull/6305>`__, `#6157 <https://github.com/jupyterlab/jupyterlab/issues/6157>`__, `#6192 <https://github.com/jupyterlab/jupyterlab/pull/6192>`__, `#6186 <https://github.com/jupyterlab/jupyterlab/pull/6186>`__, `#6141 <https://github.com/jupyterlab/jupyterlab/pull/6141>`__, `#3929 <https://github.com/jupyterlab/jupyterlab/issues/3929>`__, `#6141 <https://github.com/jupyterlab/jupyterlab/pull/6141>`__, `#3929 <https://github.com/jupyterlab/jupyterlab/issues/3929>`__, `#6186 <https://github.com/jupyterlab/jupyterlab/pull/6186>`__, `#6192 <https://github.com/jupyterlab/jupyterlab/pull/6192>`__, `#6401 <https://github.com/jupyterlab/jupyterlab/pull/6401>`__ ,`#6305 <https://github.com/jupyterlab/jupyterlab/pull/6305>`__, `#6157 <https://github.com/jupyterlab/jupyterlab/issues/6157>`__)
  663. * Require session when instantiating terminal widget (`#6339 <https://github.com/jupyterlab/jupyterlab/pull/6339>`__, `#5061 <https://github.com/jupyterlab/jupyterlab/issues/5061>`__)
  664. * Provides a signal to see what items are opened in a directory listing (`#6270 <https://github.com/jupyterlab/jupyterlab/pull/6270>`__, `#6269 <https://github.com/jupyterlab/jupyterlab/issues/6269>`__)
  665. * Ads the ability to add widget above the main work area to a top header area (`#5936 <https://github.com/jupyterlab/jupyterlab/pull/5936>`__)
  666. * Renames ``contextMenuFirst`` to ``contextMenuHitTest`` in the ``JupyterFrontEnd`` (`#5932 <https://github.com/jupyterlab/jupyterlab/pull/5932>`__)
  667. * Removes the ``initialCommand`` arg from the terminal creation command. (`#5916 <https://github.com/jupyterlab/jupyterlab/pull/5916>`__)
  668. * Adds ``--jp-code-cursor-width0``, ``--jp-code-cursor-width1``, and ``--jp-code-cursor-width2`` variables to the themes to support changing the cursor width if you change the font size (`#5898 <https://github.com/jupyterlab/jupyterlab/pull/5898>`__)
  669. * Adds the ability to insert a new item to the toolbar before or after another item (`#5896 <https://github.com/jupyterlab/jupyterlab/pull/5896>`__, `#5894 <https://github.com/jupyterlab/jupyterlab/issues/5894>`__)
  670. * Adds the ability for extensions to register new CodeMirror modes (`#5829 <https://github.com/jupyterlab/jupyterlab/pull/5829>`__)
  671. * We have removed the ``JUPYTERLAB_xxx_LOADER`` Webpack loaders, instead you should use the loader directly in the URL as Webpack supports it (`#5709 <https://github.com/jupyterlab/jupyterlab/pull/5709>`__, `#4406 <https://github.com/jupyterlab/jupyterlab/issues/4406>`__)
  672. * Adds the ability to handle fragments for document widgets (`#5630 <https://github.com/jupyterlab/jupyterlab/pull/5630>`__, `#5599 <https://github.com/jupyterlab/jupyterlab/issues/5599>`__)
  673. * We have added a ``@jupyterlab/ui-components`` package that contains reusable React components to be used internally and in extensions. Feel free to use this to create extension UIs with consistent styles (`#5538 <https://github.com/jupyterlab/jupyterlab/pull/5538>`__)
  674. * The ``showErrorMessage`` function now lets you customize the buttons it uses (`#5513 <https://github.com/jupyterlab/jupyterlab/pull/5513>`__)
  675. * We now provide helpers for using React components within JupyterLab. If you were previously using ``ReactElementWidget`` you should switch to using ``ReactWidget``. (`#5479 <https://github.com/jupyterlab/jupyterlab/pull/5479>`__, `#5766 <https://github.com/jupyterlab/jupyterlab/issues/5766>`__, `#6595 <https://github.com/jupyterlab/jupyterlab/pull/6595>`__, `#6595 <https://github.com/jupyterlab/jupyterlab/pull/6595>`__)
  676. * The share link command has been moved to its own extension so that it can be overridden (`#5460 <https://github.com/jupyterlab/jupyterlab/pull/5460>`__, `#5388 <https://github.com/jupyterlab/jupyterlab/issues/5388>`__)
  677. * Creating a new services session now requires passing a kernel model instead of a kernel instance (`#6503 <https://github.com/jupyterlab/jupyterlab/pull/6503>`__, `#6142 <https://github.com/jupyterlab/jupyterlab/issues/6142>`__)
  678. * We upgraded the Webpack raw file loader. The new version of the raw loader exports ES2015 modules, so this may require changes in extensions that import files using the raw loader. For example, if you did ``require('myfile.md')`` to get the content of `myfile.md` as a string, you now should import it using ES2015 `import` syntax, or use `require('myfile.md').default`.
  679. * Widget factories now can support custom cloning behavior from an optional source widget (`#6060 <https://github.com/jupyterlab/jupyterlab/pull/6060>`__, `#6044 <https://github.com/jupyterlab/jupyterlab/issues/6044>`__)
  680. * We have renamed the type ``InstanceTracker`` to ``WidgetTracker`` (`#6569 <https://github.com/jupyterlab/jupyterlab/commit/da8e7bda5eebd22319f59e5abbaaa9917872a7e8>`__).
  681. * In order to add widgets to the main area (e.g. as in the old XKCD extension tutorial), the correct syntax is now ``app.shell.add(widget)`` or ``app.shell.add(widget, 'main')``, see `here <https://github.com/jupyterlab/jupyterlab/blob/da8e7bda5eebd22319f59e5abbaaa9917872a7e8/packages/application/src/shell.ts#L500>`__.
  682. `v0.35.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.35.0>`__
  683. ---------------------------------------------------------------------------
  684. October 3, 2018
  685. ^^^^^^^^^^^^^^^
  686. See the `JupyterLab
  687. 0.35.0 <https://github.com/jupyterlab/jupyterlab/milestone/18?closed=1>`__
  688. milestone on GitHub for the full list of pull requests and issues closed.
  689. Features
  690. ^^^^^^^^
  691. * A notebook cell can now be readonly, reflecting its ``enabled`` metadata. (`#5401 <https://github.com/jupyterlab/jupyterlab/pull/5401>`__, `#1312 <https://github.com/jupyterlab/jupyterlab/issues/1312>`__)
  692. * Add "Go To Line" in the Edit menu for text editors. (`#5377 <https://github.com/jupyterlab/jupyterlab/pull/5377>`__)
  693. * Sidebar panels can now be switched between left and right sidebars. Right-click on a sidebar tab to move it to the other sidebar. (`#5347 <https://github.com/jupyterlab/jupyterlab/pull/5347>`__, `#5054 <https://github.com/jupyterlab/jupyterlab/issues/5054>`__, `#3707 <https://github.com/jupyterlab/jupyterlab/issues/3707>`__)
  694. * Make the sidebar a bit narrower, and make the minimum width adjustable from a theme. (`#5245 <https://github.com/jupyterlab/jupyterlab/pull/5245>`__)
  695. * Populate the File, Export Notebook As... submenu from the server nbconvert capabilities. (`#5217 <https://github.com/jupyterlab/jupyterlab/pull/5217>`__)
  696. * Server contents managers can now tell JupyterLab to open files as notebooks. For example, several custom contents managers save and open notebooks as Markdown files. (`#5247 <https://github.com/jupyterlab/jupyterlab/pull/5247>`__, `#4924 <https://github.com/jupyterlab/jupyterlab/issues/4924>`__)
  697. * Add a command-line interface for managing workspaces. (`#5166 <https://github.com/jupyterlab/jupyterlab/pull/5166>`__)
  698. * Allow safe inline CSS styles in Markdown. (`#5012 <https://github.com/jupyterlab/jupyterlab/pull/5012>`__, `#1812 <https://github.com/jupyterlab/jupyterlab/issues/1812>`__)
  699. * Add Quit to File menu when appropriate. (`#5226 <https://github.com/jupyterlab/jupyterlab/pull/5226>`__, `#5252 <https://github.com/jupyterlab/jupyterlab/pull/5252>`__, `#5246 <https://github.com/jupyterlab/jupyterlab/issues/5246>`__, `#5280 <https://github.com/jupyterlab/jupyterlab/pull/5280>`__)
  700. * Rework extension manager user experience. (`#5147 <https://github.com/jupyterlab/jupyterlab/pull/5147>`__, `#5042 <https://github.com/jupyterlab/jupyterlab/issues/5042>`__)
  701. Dark theme
  702. ^^^^^^^^^^
  703. * Show a dark splash screen when using a dark theme. (`#5339 <https://github.com/jupyterlab/jupyterlab/pull/5339>`__, `#5338 <https://github.com/jupyterlab/jupyterlab/issues/5338>`__, `#5403 <https://github.com/jupyterlab/jupyterlab/pull/5403>`__)
  704. * Fix code completion menu for a dark theme. (`#5364 <https://github.com/jupyterlab/jupyterlab/pull/5364>`__, `#5349 <https://github.com/jupyterlab/jupyterlab/issues/5349>`__)
  705. * Style CSV viewer for a dark theme. (`#5304 <https://github.com/jupyterlab/jupyterlab/pull/5304>`__, `#3456 <https://github.com/jupyterlab/jupyterlab/issues/3456>`__)
  706. * Make Matplotlib figures legible in a dark theme. (`#5232 <https://github.com/jupyterlab/jupyterlab/pull/5232>`__)
  707. * Fix notebook cell dropdown legibility in a dark theme. (`#5168 <https://github.com/jupyterlab/jupyterlab/issues/5168>`__)
  708. Bug fixes
  709. ^^^^^^^^^
  710. * Various save options in the file menu and toolbar are now disabled when a file is not writable. (`#5376 <https://github.com/jupyterlab/jupyterlab/pull/5376>`__, `#5391 <https://github.com/jupyterlab/jupyterlab/pull/5391>`__)
  711. * Kernel selector dialog no longer cuts off kernel names. (`#5260 <https://github.com/jupyterlab/jupyterlab/pull/5260>`__, `#5181 <https://github.com/jupyterlab/jupyterlab/issues/5181>`__)
  712. * Fix focus issues with the toolbar. (`#5344 <https://github.com/jupyterlab/jupyterlab/pull/5344>`__, `#5324 <https://github.com/jupyterlab/jupyterlab/pull/5324>`__, `#2995 <https://github.com/jupyterlab/jupyterlab/issues/2995>`__, `#5328 <https://github.com/jupyterlab/jupyterlab/pull/5328>`__)
  713. * Fix toolbar button enabled/disabled status. (`#5278 <https://github.com/jupyterlab/jupyterlab/pull/5278>`__)
  714. * Table alignment is now respected in Markdown. (`#5301 <https://github.com/jupyterlab/jupyterlab/pull/5301>`__, `#3180 <https://github.com/jupyterlab/jupyterlab/issues/3180>`__)
  715. * Fix syntax highlighting for Markdown lists. (`#5297 <https://github.com/jupyterlab/jupyterlab/pull/5297>`__, `#2741 <https://github.com/jupyterlab/jupyterlab/issues/2741>`__)
  716. * Use the current filebrowser instead of the default one for various commands. (`#5390 <https://github.com/jupyterlab/jupyterlab/pull/5390>`__)
  717. * Fix escaping in link handling to conform to Markdown syntax. This means that spaces in link references now need to be encoded as ``%20``. (`#5383 <https://github.com/jupyterlab/jupyterlab/pull/5383>`__, `#5340 <https://github.com/jupyterlab/jupyterlab/pull/5340>`__, `#5153 <https://github.com/jupyterlab/jupyterlab/issues/5153>`__)
  718. Build system
  719. ^^^^^^^^^^^^
  720. * Use Typescript 3.1. (`#5360 <https://github.com/jupyterlab/jupyterlab/pull/5360>`__)
  721. * Use Lerna 3.2.1. (`#5262 <https://github.com/jupyterlab/jupyterlab/pull/5262>`__)
  722. * Node >=6.11.5 is now required. (`#5227 <https://github.com/jupyterlab/jupyterlab/pull/5227>`__)
  723. * Pin vega-embed version to 3.18.2. (`#5342 <https://github.com/jupyterlab/jupyterlab/pull/5342>`__)
  724. * Use Jest for services tests. (`#5251 <https://github.com/jupyterlab/jupyterlab/pull/5251>`__, `#5282 <https://github.com/jupyterlab/jupyterlab/pull/5282>`__)
  725. * Make it easier for third party extensions to use the JupyterLab test app and testing utilities. (`#5415 <https://github.com/jupyterlab/jupyterlab/pull/5415>`__)
  726. * Fix ``jupyter lab clean`` on Windows. (`#5400 <https://github.com/jupyterlab/jupyterlab/pull/5400>`__, `#5397 <https://github.com/jupyterlab/jupyterlab/issues/5397>`__)
  727. * Fix ``jupyter lab build`` on NFS. (`#5237 <https://github.com/jupyterlab/jupyterlab/pull/5237>`__, `#5233 <https://github.com/jupyterlab/jupyterlab/issues/5233>`__)
  728. * Build wheels for Python 3 only. (`#5287 <https://github.com/jupyterlab/jupyterlab/pull/5287>`__)
  729. * Migrate to using ``jupyterlab_server`` instead of ``jupyterlab_launcher`` and fix the app example. (`#5316 <https://github.com/jupyterlab/jupyterlab/pull/5316>`__)
  730. * Move Mathjax 2 typesetter to a library package. (`#5259 <https://github.com/jupyterlab/jupyterlab/pull/5259>`__, `#5257 <https://github.com/jupyterlab/jupyterlab/issues/5257>`__)
  731. For Developers
  732. ^^^^^^^^^^^^^^
  733. * Default toolbar buttons can be overridden, and mime renderers can now specify toolbar buttons. (`#5398 <https://github.com/jupyterlab/jupyterlab/pull/5398>`__, `#5370 <https://github.com/jupyterlab/jupyterlab/pull/5370>`__, `#5363 <https://github.com/jupyterlab/jupyterlab/issues/5363>`__)
  734. * A JupyterLab application instance can now be given a document registry, service manager, and command linker. (`#5291 <https://github.com/jupyterlab/jupyterlab/pull/5291>`__)
  735. `v0.34.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.34.0>`__
  736. ---------------------------------------------------------------------------
  737. August 18, 2018
  738. ^^^^^^^^^^^^^^^
  739. See the `JupyterLab
  740. 0.34.0 <https://github.com/jupyterlab/jupyterlab/milestone/16?closed=1>`__
  741. milestone on GitHub for the full list of pull requests and issues closed.
  742. Key Features
  743. ^^^^^^^^^^^^
  744. * Notebooks, consoles, and text files now have access to completions for local
  745. tokens.
  746. * Python 3.5+ is now required to use JupyterLab. Python 2 kernels can still be
  747. run within JupyterLab.
  748. * Added the pipe (``|``) character as a CSV delimiter option.
  749. * Added "Open From Path..."" to top level ``File`` menu.
  750. * Added "Copy Download Link" to context menu for files.
  751. Changes for Developers
  752. ^^^^^^^^^^^^^^^^^^^^^^
  753. * Notebooks, consoles, and text files now have access to completions for local
  754. tokens. If a text file has a running kernel associated with its path (as
  755. happens with an attached console), it also gets completions and tooltips from
  756. that kernel. (`#5049 <https://github.com/jupyterlab/jupyterlab/pull/5049>`__)
  757. * The ``FileBrowser`` widget has a new constructor option ``refreshInterval``,
  758. allowing the creator to customize how often the widget polls the storage
  759. backend. This can be useful to prevent rate-limiting in certain contexts.
  760. (`#5048 <https://github.com/jupyterlab/jupyterlab/pull/5048>`__)
  761. * The application shell now gets a pair of CSS data attributes indicating the
  762. current theme, and whether it is light or dark. Extension authors can write
  763. CSS rules targeting these to have their extension UI elements respond to the
  764. application theme. For instance, to write a rule targeting whether the theme
  765. is overall light or dark, you can use
  766. .. code:: css
  767. [data-theme-light="true"] your-ui-class {
  768. background-color: white;
  769. }
  770. [data-theme-light="false"] your-ui-class {
  771. background-color: black;
  772. }
  773. The theme name can also be targeted by writing CSS rules for
  774. ``data-theme-name``. (`#5078
  775. <https://github.com/jupyterlab/jupyterlab/pull/5078>`__)
  776. * The ``IThemeManager`` interface now exposes a signal for ``themeChanged``,
  777. allowing extension authors to react to changes in the theme. Theme extensions
  778. must also provide a new boolean property ``isLight``, declaring whether they are
  779. broadly light colored. This data allows third-party extensions to react better
  780. to the active application theme. (`#5078
  781. <https://github.com/jupyterlab/jupyterlab/pull/5078>`__)
  782. * Added a patch to update the ``uploads`` for each ``FileBrowserModel`` instantly
  783. whenever a file upload errors. Previously, the upload that erred was only
  784. being removed from uploads upon an update. This would allow the status bar
  785. component and other extensions that use the ``FileBrowserModel`` to be more
  786. precise. (`#5077 <https://github.com/jupyterlab/jupyterlab/pull/5077>`__)
  787. * Cell IDs are now passed in the shell message as part of the cell metadata when
  788. a cell is executed. This helps in developing reactive kernels. (`#5033
  789. <https://github.com/jupyterlab/jupyterlab/pull/5033>`__)
  790. * The IDs of all deleted cells since the last run cell are now passed as part of
  791. the cell metadata on execution. The IDs of deleted cells since the last run
  792. cell are stored as ``deletedCells`` in ``NotebookModel``. This helps in
  793. developing reactive kernels. (`#5037
  794. <https://github.com/jupyterlab/jupyterlab/pull/5037>`__)
  795. * The ``ToolbarButton`` in ``apputils`` has been refactored with an API change
  796. and now uses a React component ``ToolbarButtonComponent`` to render its
  797. children. It is now a ``div`` with a single ``button`` child, which in turn as
  798. two ``span`` elements for an icon and text label. Extensions that were using
  799. the ``className`` options should rename it as ``iconClassName``. The
  800. ``className`` options still exists, but it used as the CSS class on the
  801. ``button`` element itself. The API changes were done to accommodate styling
  802. changes to the button. (`#5117
  803. <https://github.com/jupyterlab/jupyterlab/pull/5117>`__)
  804. * The ``Toolbar.createFromCommand`` function has been replaced by a dedicated
  805. ``ToolbarButton`` subclass called ``CommandToolbarButton``, that wraps a similarly
  806. named React component. (`#5117
  807. <https://github.com/jupyterlab/jupyterlab/pull/5117>`__)
  808. * The design and styling of the right and left sidebars tabs has been improved
  809. to address `#5054 <https://github.com/jupyterlab/jupyterlab/issues/50>`__.
  810. We are now using icons to render tabs for the extensions we ship with
  811. JupyterLab and extension authors are encouraged to do the same (text labels
  812. still work). Icon based tabs can be used by removing ``widget.caption`` and
  813. adding ``widget.iconClass = '<youriconclass> jp-SideBar-tabIcon';``. (`#5117
  814. <https://github.com/jupyterlab/jupyterlab/pull/5117>`__)
  815. * The style of buttons in JupyterLab has been updated to a borderless design.
  816. (`#5117 <https://github.com/jupyterlab/jupyterlab/pull/5117>`__)
  817. * A new series of helper CSS classes for stying SVG-based icons at different
  818. sizes has been added: ``jp-Icon``, ``jp-Icon-16``, ``jp-Icon-18``, ``jp-Icon-20``.
  819. * The rank of the default sidebar widget has been updated. The main change is
  820. giving the extension manager a rank of ``1000`` so that it appears at the end of
  821. the default items.
  822. * Python 3.5+ is now required to use JupyterLab. Python 2 kernels can still be
  823. run within JupyterLab. (`#5119
  824. <https://github.com/jupyterlab/jupyterlab/pull/5119>`__)
  825. * JupyterLab now uses ``yarn 1.9.4`` (aliased as ``jlpm``), which now allows uses to
  826. use Node 10+. (`#5121
  827. <https://github.com/jupyterlab/jupyterlab/pull/5121>`__)
  828. * Clean up handling of ``baseUrl`` and ``wsURL`` for ``PageConfig`` and
  829. ``ServerConnection``. (`#5111
  830. <https://github.com/jupyterlab/jupyterlab/pull/5111>`__)
  831. Other Changes
  832. ^^^^^^^^^^^^^
  833. * Added the pipe (``|``) character as a CSV delimiter option. (`#5112
  834. <https://github.com/jupyterlab/jupyterlab/pull/5112>`__)
  835. * Added ``Open From Path...`` to top level ``File`` menu. (`#5108
  836. <https://github.com/jupyterlab/jupyterlab/pull/5108>`__)
  837. * Added a ``saveState`` signal to the document context object. (`#5096
  838. <https://github.com/jupyterlab/jupyterlab/pull/5096>`__)
  839. * Added "Copy Download Link" to context menu for files. (`#5089
  840. <https://github.com/jupyterlab/jupyterlab/pull/5089>`__)
  841. * Extensions marked as ``deprecated`` are no longer shown in the extension
  842. manager. (`#5058 <https://github.com/jupyterlab/jupyterlab/pull/5058>`__)
  843. * Remove ``In`` and ``Out`` text from cell prompts. Shrunk the prompt width from
  844. 90px to 64px. In the light theme, set the prompt colors of executed console
  845. cells to active prompt colors and reduced their opacity to 0.5. In the dark
  846. theme, set the prompt colors of executed console cells to active prompt colors
  847. and set their opacity to 1. (`#5097
  848. <https://github.com/jupyterlab/jupyterlab/pull/5097>`__ and `#5130
  849. <https://github.com/jupyterlab/jupyterlab/pull/5130>`__)
  850. Bug Fixes
  851. ^^^^^^^^^
  852. * Fixed a bug in the rendering of the "New Notebook" item of the command
  853. palette. (`#5079 <https://github.com/jupyterlab/jupyterlab/pull/5079>`__)
  854. * We only create the extension manager widget if it is enabled. This prevents
  855. unnecessary network requests to ``npmjs.com``.
  856. (`#5075 <https://github.com/jupyterlab/jupyterlab/pull/5075>`__)
  857. * The ``running`` panel now shows the running sessions at startup. (`#5118
  858. <https://github.com/jupyterlab/jupyterlab/pull/5118>`__)
  859. * Double clicking a file in the file browser always opens it rather than
  860. sometimes selecting it for a rename. (`#5101
  861. <https://github.com/jupyterlab/jupyterlab/pull/5101>`__)
  862. `v0.33.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.33.0>`__
  863. ---------------------------------------------------------------------------
  864. July 26, 2018
  865. ^^^^^^^^^^^^^
  866. See the `JupyterLab
  867. 0.33.0 <https://github.com/jupyterlab/jupyterlab/milestone/12?closed=1>`__
  868. milestone on GitHub for the full list of pull requests and issues
  869. closed.
  870. Key Features:
  871. ^^^^^^^^^^^^^
  872. - `No longer in beta <#no-longer-in-beta>`__
  873. - `Workspaces <#workspaces>`__
  874. - `Menu items <#menu-items>`__
  875. - `Keyboard shortcuts <#keyboard-shorcuts>`__
  876. - `Command palette items <#command-palette-items>`__
  877. - `Settings <#settings>`__
  878. - `Larger file uploads <#larger-size-uploads>`__
  879. - `Extension management and installation <#extension-manager>`__
  880. - `Interface changes <#interface-changes>`__
  881. - `Renderers <#renderers>`__
  882. - `Changes for developers <#changes-for-developers>`__
  883. - `Other fixes <#other-fixes>`__
  884. No longer in beta
  885. ^^^^^^^^^^^^^^^^^
  886. In JupyterLab 0.33, we removed the “Beta” label to better signal that
  887. JupyterLab is ready for users to use on a daily basis. The extension
  888. developer API is still being stabilized. See the release blog post for
  889. details.
  890. (`#4898 <https://github.com/jupyterlab/jupyterlab/issues/4898>`__,
  891. `#4920 <https://github.com/jupyterlab/jupyterlab/pull/4920>`__)
  892. Workspaces
  893. ^^^^^^^^^^
  894. We added new workspace support, which enables you to have multiple saved
  895. layouts, including in different browser windows. See the
  896. :ref:`workspace documentation <url-workspaces-ui>`
  897. for more details.
  898. (`#4502 <https://github.com/jupyterlab/jupyterlab/issues/4502>`__,
  899. `#4708 <https://github.com/jupyterlab/jupyterlab/pull/4708>`__,
  900. `#4088 <https://github.com/jupyterlab/jupyterlab/issues/4088>`__,
  901. `#4041 <https://github.com/jupyterlab/jupyterlab/pull/4041>`__
  902. `#3673 <https://github.com/jupyterlab/jupyterlab/issues/3673>`__,
  903. `#4780 <https://github.com/jupyterlab/jupyterlab/pull/4780>`__)
  904. Menu items
  905. ^^^^^^^^^^
  906. - “Activate Previously Used Tab” added to the Tab menu
  907. (``Ctrl/Cmd Shift '``) to toggle between the previously active tabs
  908. in the main area.
  909. (`#4296 <https://github.com/jupyterlab/jupyterlab/pull/4296>`__)
  910. - “Reload From Disk” added to the File menu to reload an open file from
  911. the state saved on disk.
  912. (`#4615 <https://github.com/jupyterlab/jupyterlab/pull/4615>`__)
  913. - “Save Notebook with View State” added to the File menu to persist the
  914. notebook collapsed and scrolled cell state. We now read the
  915. ``collapsed``, ``scrolled``, ``jupyter.source_hidden`` and
  916. ``jupyter.outputs_hidden`` notebook cell metadata when opening.
  917. ``collapsed`` and ``jupyter.outputs_hidden`` are redundant and the
  918. initial collapsed state is the union of both of them. When the state
  919. is persisted, if an output is collapsed, both will be written with
  920. the value ``true``, and if it is not, both will not be written.
  921. (`#3981 <https://github.com/jupyterlab/jupyterlab/pull/3981>`__)
  922. - “Increase/Decrease Font Size” added to the text editor settings menu.
  923. (`#4811 <https://github.com/jupyterlab/jupyterlab/pull/4811>`__)
  924. - “Show in File Browser” added to a document tab’s context menu.
  925. (`#4500 <https://github.com/jupyterlab/jupyterlab/pull/4500>`__)
  926. - “Open in New Browser Tab” added to the file browser context menu.
  927. (`#4315 <https://github.com/jupyterlab/jupyterlab/pull/4315>`__)
  928. - “Copy Path” added to file browser context menu to copy the document’s
  929. path to the clipboard.
  930. (`#4582 <https://github.com/jupyterlab/jupyterlab/pull/4582>`__)
  931. - “Show Left Area” has been renamed to “Show Left Sidebar” for
  932. consistency (same for right sidebar).
  933. (`#3818 <https://github.com/jupyterlab/jupyterlab/pull/3818>`__)
  934. Keyboard shortcuts
  935. ^^^^^^^^^^^^^^^^^^
  936. - “Save As…” given the keyboard shortcut ``Ctrl/Cmd Shift S``.
  937. (`#4560 <https://github.com/jupyterlab/jupyterlab/pull/4560>`__)
  938. - “Run All Cells” given the keyboard shortcut ``Ctrl/Cmd Shift Enter``.
  939. (`#4558 <https://github.com/jupyterlab/jupyterlab/pull/4558>`__)
  940. - “notebook:change-to-cell-heading-X” keyboard shortcuts (and commands)
  941. renamed to “notebook:change-cell-to-heading-X” for X=1…6. This fixes
  942. the notebook command-mode keyboard shortcuts for changing headings.
  943. (`#4430 <https://github.com/jupyterlab/jupyterlab/pull/4430>`__)
  944. - The console execute shortcut can now be set to either ``Enter`` or
  945. ``Shift Enter`` as a Console setting.
  946. (`#4054 <https://github.com/jupyterlab/jupyterlab/pull/4054>`__)
  947. Command palette items
  948. ^^^^^^^^^^^^^^^^^^^^^
  949. - “Notebook” added to the command palette to open a new notebook.
  950. (`#4812 <https://github.com/jupyterlab/jupyterlab/pull/4812>`__)
  951. - “Run Selected Text or Current Line in Console” added to the command
  952. palette to run the selected text or current line from a notebook in a
  953. console. A default keyboard shortcut for this command is not yet
  954. provided, but can be added by users with the
  955. ``notebook:run-in-console`` command. To add a keyboard shortcut
  956. ``Ctrl G`` for this command, use the “Settings” \| “Advanced Settings
  957. Editor” menu item to open the “Keyboard Shortcuts” advanced settings,
  958. and add the following JSON in the shortcut JSON object in the User
  959. Overrides pane (adjust the actual keyboard shortcut if you wish).
  960. (`#3453 <https://github.com/jupyterlab/jupyterlab/issues/3453>`__,
  961. `#4206 <https://github.com/jupyterlab/jupyterlab/issues/4206>`__,
  962. `#4330 <https://github.com/jupyterlab/jupyterlab/pull/4330>`__)
  963. .. code:: json
  964. {
  965. "command": "notebook:run-in-console",
  966. "keys": ["Ctrl G"],
  967. "selector": ".jp-Notebook.jp-mod-editMode"
  968. }
  969. - The command palette now renders labels, toggled state, and keyboard
  970. shortcuts in a more consistent and correct way.
  971. (`#4533 <https://github.com/jupyterlab/jupyterlab/pull/4533>`__,
  972. `#4510 <https://github.com/jupyterlab/jupyterlab/pull/4510>`__)
  973. Settings
  974. ^^^^^^^^
  975. - “fontFamily”, “fontSize”, and “lineHeight” settings added to the text
  976. editor advanced settings.
  977. (`#4673 <https://github.com/jupyterlab/jupyterlab/pull/4673>`__)
  978. - Solarized dark and light text editor themes from CodeMirror.
  979. (`#4445 <https://github.com/jupyterlab/jupyterlab/pull/4445>`__)
  980. Larger file uploads
  981. ^^^^^^^^^^^^^^^^^^^
  982. - Support for larger file uploads (>15MB) when using Jupyter notebook
  983. server version >= 5.1.
  984. (`#4224 <https://github.com/jupyterlab/jupyterlab/pull/4224>`__)
  985. Extension management and installation
  986. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  987. - New extension manager for installing JupyterLab extensions from npm
  988. within the JupyterLab UI. You can enable this from the Advanced
  989. Settings interface.
  990. (`#4682 <https://github.com/jupyterlab/jupyterlab/pull/4682>`__,
  991. `#4925 <https://github.com/jupyterlab/jupyterlab/pull/4925>`__)
  992. - Please note that to install extensions in JupyterLab, you must use
  993. NodeJS version 9 or earlier (i.e., not NodeJS version 10). We will
  994. upgrade yarn, with NodeJS version 10 support, when a `bug in
  995. yarn <https://github.com/yarnpkg/yarn/issues/5935>`__ is fixed.
  996. (`#4804 <https://github.com/jupyterlab/jupyterlab/pull/4804>`__)
  997. Interface changes
  998. ^^^^^^^^^^^^^^^^^
  999. - Wider tabs in the main working area to show longer filenames.
  1000. (`#4801 <https://github.com/jupyterlab/jupyterlab/pull/4801>`__)
  1001. - Initial kernel selection for a notebook or console can no longer be
  1002. canceled: the user must select a kernel.
  1003. (`#4596 <https://github.com/jupyterlab/jupyterlab/pull/4596>`__)
  1004. - Consoles now do not display output from other clients by default. A
  1005. new “Show All Kernel Activity” console context menu item has been
  1006. added to show all activity from a kernel in the console.
  1007. (`#4503 <https://github.com/jupyterlab/jupyterlab/pull/4503>`__)
  1008. - The favicon now shows the busy status of the kernels in JupyterLab.
  1009. (`#4361 <https://github.com/jupyterlab/jupyterlab/pull/4361>`__,
  1010. `#3957 <https://github.com/jupyterlab/jupyterlab/issues/3957>`__,
  1011. `#4966 <https://github.com/jupyterlab/jupyterlab/pull/4966>`__)
  1012. Renderers
  1013. ^^^^^^^^^
  1014. - JupyterLab now ships with a Vega4 renderer by default (upgraded from
  1015. Vega3).
  1016. (`#4806 <https://github.com/jupyterlab/jupyterlab/pull/4806>`__)
  1017. - The HTML sanitizer now allows some extra tags in rendered HTML,
  1018. including ``kbd``, ``sup``, and ``sub``.
  1019. (`#4618 <https://github.com/jupyterlab/jupyterlab/pull/4618>`__)
  1020. - JupyterLab now recognizes the ``.tsv`` file extension as
  1021. tab-separated files.
  1022. (`#4684 <https://github.com/jupyterlab/jupyterlab/pull/4684>`__)
  1023. - Javascript execution in notebook cells has been re-enabled.
  1024. (`#4515 <https://github.com/jupyterlab/jupyterlab/pull/4682>`__)
  1025. Changes for developers
  1026. ^^^^^^^^^^^^^^^^^^^^^^
  1027. - A new signal for observing application dirty status state changes.
  1028. (`#4840 <https://github.com/jupyterlab/jupyterlab/issues/4840>`__)
  1029. - A new signal for observing notebook cell execution.
  1030. (`#4740 <https://github.com/jupyterlab/jupyterlab/issues/4740>`__,
  1031. `#4744 <https://github.com/jupyterlab/jupyterlab/pull/4744>`__)
  1032. - A new ``anyMessage`` signal for observing any message a kernel sends
  1033. or receives.
  1034. (`#4437 <https://github.com/jupyterlab/jupyterlab/pull/4437>`__)
  1035. - A generic way for different widgets to register a “Save with extras”
  1036. command that appears in the File menu under save.
  1037. (`#3981 <https://github.com/jupyterlab/jupyterlab/pull/3981>`__)
  1038. - A new API for removing groups from a JupyterLab menu. ``addGroup``
  1039. now returns an ``IDisposable`` which can be used to remove the group.
  1040. ``removeGroup`` has been removed.
  1041. (`#4890 <https://github.com/jupyterlab/jupyterlab/pull/4890>`__)
  1042. - The ``Launcher`` now uses commands from the application
  1043. ``CommandRegistry`` to launch new activities. Extension authors that
  1044. add items to the launcher will need to update them to use commands.
  1045. (`#4757 <https://github.com/jupyterlab/jupyterlab/pull/4757>`__)
  1046. - There is now a top-level ``addToBottomArea`` function in the
  1047. application, allowing extension authors to add bottom panel items
  1048. like status bars.
  1049. (`#4752 <https://github.com/jupyterlab/jupyterlab/pull/4752>`__)
  1050. - Rendermime extensions can now indicate that they are the default
  1051. rendered widget factory for a file-type. For instance, the default
  1052. widget for a markdown file is a text editor, but the default rendered
  1053. widget is the markdown viewer.
  1054. (`#4692 <https://github.com/jupyterlab/jupyterlab/pull/4692>`__)
  1055. - Add new workspace REST endpoints to ``jupyterlab_server`` and make
  1056. them available in ``@jupyterlab/services``.
  1057. (`#4841 <https://github.com/jupyterlab/jupyterlab/pull/4841>`__)
  1058. - Documents created with a mimerenderer extension can now be accessed
  1059. using an ``IInstanceTracker`` which tracks them. Include the token
  1060. ``IMimeDocumentTracker`` in your plugin to access this. The
  1061. ``IInstanceTracker`` interface has also gained convenience functions
  1062. ``find`` and ``filter`` to simplify iterating over instances.
  1063. (`#4762 <https://github.com/jupyterlab/jupyterlab/pull/4762>`__)
  1064. - RenderMime render errors are now displayed to the user.
  1065. (`#4465 <https://github.com/jupyterlab/jupyterlab/pull/4465>`__)
  1066. - ``getNotebookVersion`` is added to the ``PageConfig`` object.
  1067. (`#4224 <https://github.com/jupyterlab/jupyterlab/pull/4224>`__)
  1068. - The session ``kernelChanged`` signal now contains both the old kernel
  1069. and the new kernel to make it easy to unregister things from the old
  1070. kernel.
  1071. (`#4834 <https://github.com/jupyterlab/jupyterlab/pull/4834>`__)
  1072. - The ``connectTo`` functions for connecting to kernels and sessions
  1073. are now synchronous (returning a connection immediately rather than a
  1074. promise). The DefaultSession ``clone`` and ``update`` methods are
  1075. also synchronous now.
  1076. (`#4725 <https://github.com/jupyterlab/jupyterlab/pull/4725>`__)
  1077. - Kernel message processing is now asynchronous, which guarantees the
  1078. order of processing even if a handler is asynchronous. If a kernel
  1079. message handler returns a promise, kernel message processing is
  1080. paused until the promise resolves. The kernel’s ``anyMessage`` signal
  1081. is emitted synchronously when a message is received before
  1082. asynchronous message handling, and the ``iopubMessage`` and
  1083. ``unhandledMessage`` signals are emitted during asynchronous message
  1084. handling. These changes mean that the comm ``onMsg`` and ``onClose``
  1085. handlers and the kernel future ``onReply``, ``onIOPub``, and
  1086. ``onStdin`` handlers, as well as the comm target and message hook
  1087. handlers, may be asynchronous and return promises.
  1088. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  1089. - Kernel comm targets and message hooks now are unregistered with
  1090. ``removeCommTarget`` and ``removeMessageHook``, instead of using
  1091. disposables. The corresponding ``registerCommTarget`` and
  1092. ``registerMessageHook`` functions now return nothing.
  1093. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  1094. - The kernel ``connectToComm`` function is synchronous, and now returns
  1095. the comm rather than a promise to the comm.
  1096. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  1097. - The ``KernelFutureHandler`` class ``expectShell`` constructor
  1098. argument is renamed to ``expectReply``.
  1099. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  1100. - The kernel future ``done`` returned promise now resolves to undefined
  1101. if there is no reply message.
  1102. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  1103. - The ``IDisplayDataMsg`` is updated to have the optional ``transient``
  1104. key, and a new ``IUpdateDisplayDataMsg`` type was added for update
  1105. display messages.
  1106. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  1107. - The ``uuid`` function from ``@jupyterlab/coreutils`` is removed.
  1108. Instead import ``UUID`` from ``@phosphor/coreutils`` and use
  1109. ``UUID.uuid4()`` .
  1110. (`#4604 <https://github.com/jupyterlab/jupyterlab/pull/4604>`__)
  1111. - Main area widgets like the launcher and console inherit from a common
  1112. ``MainAreaWidget`` class which provides a content area (``.content``)
  1113. and a toolbar (``.toolbar``), consistent focus handling and
  1114. activation behavior, and a spinner displayed until the given
  1115. ``reveal`` promise is resolved. Document widgets, like the notebook
  1116. and text editor and other documents opened from the document manager,
  1117. implement the ``IDocumentWidget`` interface (instead of
  1118. ``DocumentRegistry.IReadyWidget``), which builds on
  1119. ``MainAreaWidget`` and adds a ``.context`` attribute for the document
  1120. context and makes dirty handling consistent. Extension authors may
  1121. consider inheriting from the ``MainAreaWidget`` or ``DocumentWidget``
  1122. class for consistency. Several effects from these changes are noted
  1123. below.
  1124. (`#3499 <https://github.com/jupyterlab/jupyterlab/pull/3499>`__,
  1125. `#4453 <https://github.com/jupyterlab/jupyterlab/pull/4453>`__)
  1126. - The notebook panel ``.notebook`` attribute is renamed to
  1127. ``.content``.
  1128. - The text editor is now the ``.content`` of a ``DocumentWidget``,
  1129. so the top-level editor widget has a toolbar and the editor itself
  1130. is ``widget.content.editor`` rather than just ``widget.editor``.
  1131. - Mime documents use a ``MimeContent`` widget embedded inside of a
  1132. ``DocumentWidget`` now.
  1133. - Main area widgets and document widgets now have a ``revealed``
  1134. promise which resolves when the widget has been revealed (i.e.,
  1135. the spinner has been removed). This should be used instead of the
  1136. ``ready`` promise.
  1137. Changes in the JupyterLab code infrastructure include:
  1138. - The JupyterLab TypeScript codebase is now compiled to ES2015 (ES6)
  1139. using TypeScript 2.9. We also turned on the TypeScript
  1140. ``esModuleInterop`` flag to enable more natural imports from
  1141. non-es2015 JavaScript modules. With the update to ES2015 output, code
  1142. generated from async/await syntax became much more manageable, so we
  1143. have started to use async/await liberally throughout the codebase,
  1144. especially in tests. Because we use Typedoc for API documentation, we
  1145. still use syntax compatible with TypeScript 2.7 where Typedoc is
  1146. used. Extension authors may have some minor compatibility updates to
  1147. make. If you are writing an extension in TypeScript, we recommend
  1148. updating to TypeScript 2.9 and targeting ES2015 output as well.
  1149. (`#4462 <https://github.com/jupyterlab/jupyterlab/pull/4462>`__,
  1150. `#4675 <https://github.com/jupyterlab/jupyterlab/pull/4675>`__,
  1151. `#4714 <https://github.com/jupyterlab/jupyterlab/pull/4714>`__,
  1152. `#4797 <https://github.com/jupyterlab/jupyterlab/pull/4797>`__)
  1153. - The JupyterLab codebase is now formatted using
  1154. `Prettier <https://github.com/prettier/prettier>`__. By default the
  1155. development environment installs a pre-commit hook that formats your
  1156. staged changes.
  1157. (`#4090 <https://github.com/jupyterlab/jupyterlab/pull/4090>`__)
  1158. - Updated build infrastructure using webpack 4 and better typing.
  1159. (`#4702 <https://github.com/jupyterlab/jupyterlab/pull/4702>`__,
  1160. `#4698 <https://github.com/jupyterlab/jupyterlab/pull/4698>`__)
  1161. - Upgraded yarn to version 1.6. Please note that you must use NodeJS
  1162. version 9 or earlier with JupyterLab (i.e., not NodeJS version 10).
  1163. We will upgrade yarn, with NodeJS version 10 support, when a `bug in
  1164. yarn <https://github.com/yarnpkg/yarn/issues/5935>`__ is fixed.
  1165. (`#4804 <https://github.com/jupyterlab/jupyterlab/pull/4804>`__)
  1166. - Various process utilities were moved to ``jupyterlab_server``.
  1167. (`#4696 <https://github.com/jupyterlab/jupyterlab/pull/4696>`__)
  1168. Other fixes
  1169. ^^^^^^^^^^^
  1170. - Fixed a rendering bug with the Launcher in single-document mode.
  1171. (`#4805 <https://github.com/jupyterlab/jupyterlab/pull/4805>`__)
  1172. - Fixed a bug where the native context menu could not be triggered in a
  1173. notebook cell in Chrome.
  1174. (`#4720 <https://github.com/jupyterlab/jupyterlab/pull/4720>`__)
  1175. - Fixed a bug where the cursor would not show up in the dark theme.
  1176. (`#4699 <https://github.com/jupyterlab/jupyterlab/pull/4699>`__)
  1177. - Fixed a bug preventing relative links from working correctly in
  1178. alternate ``IDrive``\ s.
  1179. (`#4613 <https://github.com/jupyterlab/jupyterlab/pull/4613>`__)
  1180. - Fixed a bug breaking the image viewer upon saving the image.
  1181. (`#4602 <https://github.com/jupyterlab/jupyterlab/pull/4602>`__)
  1182. - Fixed the font size for code blocks in notebook Markdown headers.
  1183. (`#4617 <https://github.com/jupyterlab/jupyterlab/pull/4617>`__)
  1184. - Prevented a memory leak when repeatedly rendering a Vega chart.
  1185. (`#4904 <https://github.com/jupyterlab/jupyterlab/pull/4904>`__)
  1186. - Support dropped terminal connection re-connecting.
  1187. (`#4763 <https://github.com/jupyterlab/jupyterlab/issues/4763>`__,
  1188. `#4802 <https://github.com/jupyterlab/jupyterlab/pull/4802>`__)
  1189. - Use ``require.ensure`` in ``vega4-extension`` to lazily load
  1190. ``vega-embed`` and its dependencies on first render.
  1191. (`#4706 <https://github.com/jupyterlab/jupyterlab/pull/4706>`__)
  1192. - Relative links to documents that include anchor tags will now
  1193. correctly scroll the document to the right place.
  1194. (`#4692 <https://github.com/jupyterlab/jupyterlab/pull/4692>`__)
  1195. - Fix default settings JSON in setting editor.
  1196. (`#4591 <https://github.com/jupyterlab/jupyterlab/issues/4591>`__,
  1197. `#4595 <https://github.com/jupyterlab/jupyterlab/pull/4595>`__)
  1198. - Fix setting editor pane layout’s stretch factor.
  1199. (`#2971 <https://github.com/jupyterlab/jupyterlab/issues/2971>`__,
  1200. `#4772 <https://github.com/jupyterlab/jupyterlab/pull/4772>`__)
  1201. - Programmatically set settings are now output with nicer formatting.
  1202. (`#4870 <https://github.com/jupyterlab/jupyterlab/pull/4870>`__)
  1203. - Fixed a bug in displaying one-line CSV files.
  1204. (`#4795 <https://github.com/jupyterlab/jupyterlab/issues/4795>`__,
  1205. `#4796 <https://github.com/jupyterlab/jupyterlab/pull/4796>`__)
  1206. - Fixed a bug where JSON arrays in rich outputs were collapsed into
  1207. strings.
  1208. (`#4480 <https://github.com/jupyterlab/jupyterlab/pull/4480>`__)
  1209. `Beta 2 (v0.32.0) <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.32.0>`__
  1210. ------------------------------------------------------------------------------------
  1211. Apr 16, 2018
  1212. ^^^^^^^^^^^^
  1213. This is the second in the JupyterLab Beta series of releases. It
  1214. contains many enhancements, bugfixes, and refinements, including:
  1215. - Better handling of a corrupted or invalid state database.
  1216. (`#3619 <https://github.com/jupyterlab/jupyterlab/issues/3619>`__,
  1217. `#3622 <https://github.com/jupyterlab/jupyterlab/issues/3622>`__,
  1218. `#3687 <https://github.com/jupyterlab/jupyterlab/issues/3687>`__,
  1219. `#4114 <https://github.com/jupyterlab/jupyterlab/issues/4114>`__).
  1220. - Fixing file dirty status indicator.
  1221. (`#3652 <https://github.com/jupyterlab/jupyterlab/issues/3652>`__).
  1222. - New option for whether to autosave documents.
  1223. (`#3734 <https://github.com/jupyterlab/jupyterlab/issues/3734>`__).
  1224. - More commands in the notebook context menu.
  1225. (`#3770 <https://github.com/jupyterlab/jupyterlab/issues/3770>`__,
  1226. `#3909 <https://github.com/jupyterlab/jupyterlab/issues/3909>`__)
  1227. - Defensively checking for completion metadata from kernels.
  1228. (`#3888 <https://github.com/jupyterlab/jupyterlab/issues/3888>`__)
  1229. - New “Shutdown all” button in the Running panel.
  1230. (`#3764 <https://github.com/jupyterlab/jupyterlab/issues/3764>`__)
  1231. - Performance improvements wherein non-focused documents poll the
  1232. server less.
  1233. (`#3931 <https://github.com/jupyterlab/jupyterlab/issues/3931>`__)
  1234. - Changing the keyboard shortcut for singled-document-mode to something
  1235. less easy to trigger.
  1236. (`#3889 <https://github.com/jupyterlab/jupyterlab/issues/3889>`__)
  1237. - Performance improvements for rendering text streams, especially
  1238. around progress bars.
  1239. (`#4045 <https://github.com/jupyterlab/jupyterlab/issues/4045>`__).
  1240. - Canceling a “Restart Kernel” now functions correctly.
  1241. (`#3703 <https://github.com/jupyterlab/jupyterlab/issues/3703>`__).
  1242. - Defer loading file contents until after the application has been
  1243. restored.
  1244. (`#4087 <https://github.com/jupyterlab/jupyterlab/issues/4087>`__).
  1245. - Ability to rotate, flip, and invert images in the image viewer.
  1246. (`#4000 <https://github.com/jupyterlab/jupyterlab/issues/4000>`__)
  1247. - Major performance improvements for large CSV viewing.
  1248. (`#3997 <https://github.com/jupyterlab/jupyterlab/issues/3997>`__).
  1249. - Always show the context menu in the file browser, even for an empty
  1250. directory.
  1251. (`#4264 <https://github.com/jupyterlab/jupyterlab/issues/4264>`__).
  1252. - Handle asynchronous comm messages in the services library more
  1253. correctly (Note: this means ``@jupyterlab/services`` is now at
  1254. version 2.0!)
  1255. (`[#4115](https://github.com/jupyterlab/jupyterlab/issues/4115) <https://github.com/jupyterlab/jupyterlab/pull/4115>`__).
  1256. - Display the kernel banner in the console when a kernel is restarted
  1257. to mark the restart
  1258. (`[#3663](https://github.com/jupyterlab/jupyterlab/issues/3663) <https://github.com/jupyterlab/jupyterlab/pull/3663>`__).
  1259. - Many tweaks to the UI, as well as better error handling.
  1260. `Beta 1 (v0.31.0) <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.31.0>`__
  1261. ------------------------------------------------------------------------------------
  1262. Jan 11, 2018
  1263. ^^^^^^^^^^^^
  1264. - Add a ``/tree`` handler and ``Copy Shareable Link`` to file listing
  1265. right click menu: https://github.com/jupyterlab/jupyterlab/pull/3396
  1266. - Experimental support for saved workspaces:
  1267. `#3490 <https://github.com/jupyterlab/jupyterlab/issues/3490>`__,
  1268. `#3586 <https://github.com/jupyterlab/jupyterlab/issues/3586>`__
  1269. - Added types information to the completer:
  1270. `#3508 <https://github.com/jupyterlab/jupyterlab/issues/3508>`__
  1271. - More improvements to the top level menus:
  1272. https://github.com/jupyterlab/jupyterlab/pull/3344
  1273. - Editor settings for notebook cells:
  1274. https://github.com/jupyterlab/jupyterlab/pull/3441
  1275. - Simplification of theme extensions:
  1276. https://github.com/jupyterlab/jupyterlab/pull/3423
  1277. - New CSS variable naming scheme:
  1278. https://github.com/jupyterlab/jupyterlab/pull/3403
  1279. - Improvements to cell selection and dragging:
  1280. https://github.com/jupyterlab/jupyterlab/pull/3414
  1281. - Style and typography improvements:
  1282. https://github.com/jupyterlab/jupyterlab/pull/3468
  1283. https://github.com/jupyterlab/jupyterlab/pull/3457
  1284. https://github.com/jupyterlab/jupyterlab/pull/3445
  1285. https://github.com/jupyterlab/jupyterlab/pull/3431
  1286. https://github.com/jupyterlab/jupyterlab/pull/3428
  1287. https://github.com/jupyterlab/jupyterlab/pull/3408
  1288. https://github.com/jupyterlab/jupyterlab/pull/3418
  1289. `v0.30.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.30.0>`__
  1290. ---------------------------------------------------------------------------
  1291. Dec 05, 2017
  1292. ^^^^^^^^^^^^
  1293. - Semantic menus: https://github.com/jupyterlab/jupyterlab/pull/3182
  1294. - Settings editor now allows comments and provides setting validation:
  1295. https://github.com/jupyterlab/jupyterlab/pull/3167
  1296. - Switch to Yarn as the package manager:
  1297. https://github.com/jupyterlab/jupyterlab/pull/3182
  1298. - Support for carriage return in outputs:
  1299. `#2761 <https://github.com/jupyterlab/jupyterlab/issues/2761>`__
  1300. - Upgrade to TypeScript 2.6:
  1301. https://github.com/jupyterlab/jupyterlab/pull/3288
  1302. - Cleanup of the build, packaging, and extension systems.
  1303. ``jupyter labextension install`` is now the recommended way to
  1304. install a local directory. Local directories are considered linked to
  1305. the application. cf
  1306. https://github.com/jupyterlab/jupyterlab/pull/3182
  1307. - ``--core-mode`` and ``--dev-mode`` are now semantically different.
  1308. ``--core-mode`` is a version of JupyterLab using released JavaScript
  1309. packages and is what we ship in the Python package. ``--dev-mode`` is
  1310. for unreleased JavaScript and shows the red banner at the top of the
  1311. page. https://github.com/jupyterlab/jupyterlab/pull/3270
  1312. `v0.29.2 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.29.2>`__
  1313. ---------------------------------------------------------------------------
  1314. Nov 17, 2017
  1315. ^^^^^^^^^^^^
  1316. Bug fix for file browser right click handling.
  1317. https://github.com/jupyterlab/jupyterlab/issues/3019
  1318. `v0.29.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.29.0>`__
  1319. ---------------------------------------------------------------------------
  1320. Nov 09, 2017
  1321. ^^^^^^^^^^^^
  1322. - Create new view of cell in cell context menu.
  1323. `#3159 <https://github.com/jupyterlab/jupyterlab/issues/3159>`__
  1324. - New Renderers for VDOM and JSON mime types and files.
  1325. `#3157 <https://github.com/jupyterlab/jupyterlab/issues/3157>`__
  1326. - Switch to React for our VDOM implementation. Affects the
  1327. ``VDomRenderer`` class.
  1328. `#3133 <https://github.com/jupyterlab/jupyterlab/issues/3133>`__
  1329. - Standalone Cell Example.
  1330. `#3155 <https://github.com/jupyterlab/jupyterlab/issues/3155>`__
  1331. `v0.28.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.28.0>`__
  1332. ---------------------------------------------------------------------------
  1333. Oct 16, 2017
  1334. ^^^^^^^^^^^^
  1335. This release generally focuses on developer and extension author
  1336. enhancements and general bug fixes.
  1337. - Plugin id and schema file conventions change.
  1338. https://github.com/jupyterlab/jupyterlab/pull/2936.
  1339. - Theme authoring conventions change.
  1340. `#3061 <https://github.com/jupyterlab/jupyterlab/issues/3061>`__
  1341. - Enhancements to enabling and disabling of extensions.
  1342. `#3078 <https://github.com/jupyterlab/jupyterlab/issues/3078>`__
  1343. - Mime extensions API change (``name`` -> ``id`` and new naming
  1344. convention).
  1345. `#3078 <https://github.com/jupyterlab/jupyterlab/issues/3078>`__
  1346. - Added a ``jupyter lab --watch`` mode for extension authors.
  1347. `#3077 <https://github.com/jupyterlab/jupyterlab/issues/3077>`__
  1348. - New comprehensive extension authoring tutorial.
  1349. `#2921 <https://github.com/jupyterlab/jupyterlab/issues/2921>`__
  1350. - Added the ability to use an alternate LaTeX renderer.
  1351. `#2974 <https://github.com/jupyterlab/jupyterlab/issues/2974>`__
  1352. - Numerous bug fixes and style enhancements.
  1353. `v0.27.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.27.0>`__
  1354. ---------------------------------------------------------------------------
  1355. Aug 23, 2017
  1356. ^^^^^^^^^^^^
  1357. - Added support for dynamic theme loading.
  1358. https://github.com/jupyterlab/jupyterlab/pull/2759
  1359. - Added an application splash screen.
  1360. https://github.com/jupyterlab/jupyterlab/pull/2899
  1361. - Enhancements to the settings editor.
  1362. https://github.com/jupyterlab/jupyterlab/pull/2784
  1363. - Added a PDF viewer.
  1364. `#2867 <https://github.com/jupyterlab/jupyterlab/issues/2867>`__
  1365. - Numerous bug fixes and style improvements.
  1366. `v0.26.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.26.0>`__
  1367. ---------------------------------------------------------------------------
  1368. Jul 21, 2017
  1369. ^^^^^^^^^^^^
  1370. - Implemented server side handling of users settings:
  1371. https://github.com/jupyterlab/jupyterlab/pull/2585
  1372. - Revamped the handling of file types in the application - affects
  1373. document and mime renderers:
  1374. https://github.com/jupyterlab/jupyterlab/pull/2701
  1375. - Updated dialog API - uses virtual DOM instead of raw DOM nodes and
  1376. better use of the widget lifecycle:
  1377. https://github.com/jupyterlab/jupyterlab/pull/2661
  1378. `v0.25.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.25.0>`__
  1379. ---------------------------------------------------------------------------
  1380. Jul 07, 2017
  1381. ^^^^^^^^^^^^
  1382. - Added a new extension type for mime renderers, with the
  1383. ``vega2-extension`` as a built-in example. Also overhauled the
  1384. rendermime interfaces.
  1385. https://github.com/jupyterlab/jupyterlab/pull/2488
  1386. https://github.com/jupyterlab/jupyterlab/pull/2555
  1387. https://github.com/jupyterlab/jupyterlab/pull/2595
  1388. - Finished JSON-schema based settings system, using client-side storage
  1389. for now. https://github.com/jupyterlab/jupyterlab/pull/2411
  1390. - Overhauled the launcher design.
  1391. https://github.com/jupyterlab/jupyterlab/pull/2506
  1392. https://github.com/jupyterlab/jupyterlab/pull/2580
  1393. - Numerous bug fixes and style updates.
  1394. `v0.24.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.24.0>`__
  1395. ---------------------------------------------------------------------------
  1396. Jun 16, 2017
  1397. ^^^^^^^^^^^^
  1398. - Overhaul of the launcher.
  1399. `#2380 <https://github.com/jupyterlab/jupyterlab/issues/2380>`__
  1400. - Initial implementation of client-side settings system.
  1401. `#2157 <https://github.com/jupyterlab/jupyterlab/issues/2157>`__
  1402. - Updatable outputs.
  1403. `#2439 <https://github.com/jupyterlab/jupyterlab/issues/2439>`__
  1404. - Use new Phosphor Datagrid for CSV viewer.
  1405. `#2433 <https://github.com/jupyterlab/jupyterlab/issues/2433>`__
  1406. - Added ability to enable/disable extensions without rebuilding.
  1407. `#2409 <https://github.com/jupyterlab/jupyterlab/issues/2409>`__
  1408. - Added language and tab settings for the file viewer.
  1409. `#2406 <https://github.com/jupyterlab/jupyterlab/issues/2406>`__
  1410. - Improvements to real time collaboration experience.
  1411. `#2387 <https://github.com/jupyterlab/jupyterlab/issues/2387>`__
  1412. `#2333 <https://github.com/jupyterlab/jupyterlab/issues/2333>`__
  1413. - Compatibility checking for extensions.
  1414. `#2410 <https://github.com/jupyterlab/jupyterlab/issues/2410>`__
  1415. - Numerous bug fixes and style improvements.
  1416. `v0.23.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.23.0>`__
  1417. ---------------------------------------------------------------------------
  1418. Jun 02, 2017
  1419. ^^^^^^^^^^^^
  1420. - Chat box feature. https://github.com/jupyterlab/jupyterlab/pull/2118
  1421. - Collaborative cursors.
  1422. https://github.com/jupyterlab/jupyterlab/pull/2139
  1423. - Added concept of Drive to ContentsManager.
  1424. https://github.com/jupyterlab/jupyterlab/pull/2248
  1425. - Refactored to enable switching the theme.
  1426. https://github.com/jupyterlab/jupyterlab/pull/2283
  1427. - Clean up the APIs around kernel execution.
  1428. https://github.com/jupyterlab/jupyterlab/pull/2266
  1429. - Various bug fixes and style improvements.
  1430. `v0.22.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.22.0>`__
  1431. ------------------------------------------------------------------------------------
  1432. May 18, 2017
  1433. ^^^^^^^^^^^^
  1434. - Export To… for notebooks.
  1435. https://github.com/jupyterlab/jupyterlab/pull/2200
  1436. - Change kernel by clicking on the kernel name in the notebook.
  1437. https://github.com/jupyterlab/jupyterlab/pull/2195
  1438. - Improved handling of running code in text editors.
  1439. https://github.com/jupyterlab/jupyterlab/pull/2191
  1440. - Can select file in file browser by typing:
  1441. https://github.com/jupyterlab/jupyterlab/pull/2190
  1442. - Ability to open a console for a notebook.
  1443. https://github.com/jupyterlab/jupyterlab/pull/2189
  1444. - Upgrade to Phosphor 1.2 with Command Palette fuzzy matching
  1445. improvements.
  1446. `#1182 <https://github.com/jupyterlab/jupyterlab/issues/1182>`__
  1447. - Rename of widgets that had ``Widget`` in the name and associated
  1448. package names. https://github.com/jupyterlab/jupyterlab/pull/2177
  1449. - New ``jupyter labhub`` command to launch JupyterLab on JupyterHub:
  1450. https://github.com/jupyterlab/jupyterlab/pull/2222
  1451. - Removed the ``utils`` from ``@jupyterlab/services`` in favor of
  1452. ``PageConfig`` and ``ServerConnection``.
  1453. https://github.com/jupyterlab/jupyterlab/pull/2173
  1454. https://github.com/jupyterlab/jupyterlab/pull/2185
  1455. - Cleanup, bug fixes, and style updates.
  1456. `v0.20.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.20.0>`__
  1457. ------------------------------------------------------------------------------------
  1458. Apr 21, 2017
  1459. ^^^^^^^^^^^^
  1460. Release Notes:
  1461. - Overhaul of extension handling, see updated docs for
  1462. `users <https://github.com/jupyterlab/jupyterlab/blob/dd83a2e4be8bf23c610c163afe4b480215514764/tutorial/extensions_user.md>`__
  1463. and
  1464. `developers <https://github.com/jupyterlab/jupyterlab/blob/dd83a2e4be8bf23c610c163afe4b480215514764/tutorial/extensions_dev.md>`__.
  1465. https://github.com/jupyterlab/jupyterlab/pull/2023
  1466. - Added single document mode and a ``Tabs`` sidebar.
  1467. https://github.com/jupyterlab/jupyterlab/pull/2037
  1468. - More work toward real time collaboration - implemented a model
  1469. database interface that can be in-memory by real time backends.
  1470. https://github.com/jupyterlab/jupyterlab/pull/2039
  1471. Numerous bug fixes and improvements.
  1472. `v0.19.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.19.0>`__
  1473. ------------------------------------------------------------------------------------------
  1474. Apr 04, 2017
  1475. ^^^^^^^^^^^^
  1476. Mainly backend-focused release with compatibility with Phosphor 1.0 and
  1477. a big refactor of session handling (the ClientSession class) that
  1478. provides a simpler object for classes like notebooks, consoles,
  1479. inspectors, etc. to use to communicate with the API. Also includes
  1480. improvements to the development workflow of JupyterLab itself after the
  1481. big split.
  1482. https://github.com/jupyterlab/jupyterlab/pull/1984
  1483. https://github.com/jupyterlab/jupyterlab/pull/1927
  1484. `v0.18.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.18.0>`__
  1485. ------------------------------------------------------------------------------------------
  1486. Mar 21, 2017
  1487. ^^^^^^^^^^^^
  1488. - Split the repository into multiple packages that are managed using
  1489. the lerna build tool.
  1490. https://github.com/jupyterlab/jupyterlab/issues/1773
  1491. - Added restoration of main area layout on refresh.
  1492. https://github.com/jupyterlab/jupyterlab/pull/1880
  1493. - Numerous bug fixes and style updates.
  1494. `v0.17.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.17.0>`__
  1495. ------------------------------------------------------------------------------------
  1496. Mar 01, 2017
  1497. ^^^^^^^^^^^^
  1498. - Upgrade to new ``@phosphor`` packages - brings a new Command Palette
  1499. interaction that should be more intuitive, and restores the ability
  1500. to drag to dock panel edges
  1501. https://github.com/jupyterlab/jupyterlab/pull/1762.
  1502. - Refactor of ``RenderMime`` and associated renders to use live models.
  1503. See https://github.com/jupyterlab/jupyterlab/pull/1709 and
  1504. https://github.com/jupyterlab/jupyterlab/issues/1763.
  1505. - Improvements and bug fixes for the completer widget:
  1506. https://github.com/jupyterlab/jupyterlab/pull/1778
  1507. - Upgrade CodeMirror to 5.23:
  1508. https://github.com/jupyterlab/jupyterlab/pull/1764
  1509. - Numerous style updates and bug fixes.
  1510. `v0.16.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.16.0>`__
  1511. ----------------------------------------------------------------------------------------
  1512. Feb 09, 2017
  1513. ^^^^^^^^^^^^
  1514. - Adds a Cell Tools sidebar that allows you to edit notebook cell
  1515. metadata.
  1516. `#1586 <https://github.com/jupyterlab/jupyterlab/issues/1586>`__.
  1517. - Adds keyboard shortcuts to switch between tabs (Cmd/Ctrl LeftArrow
  1518. and Cmd/Ctrl RightArrow).
  1519. `#1647 <https://github.com/jupyterlab/jupyterlab/issues/1647>`__
  1520. - Upgrades to xterm.js 2.3.
  1521. `#1664 <https://github.com/jupyterlab/jupyterlab/issues/1664>`__
  1522. - Fixes a bug in application config, but lab extensions will need to be
  1523. re-enabled.
  1524. `#1607 <https://github.com/jupyterlab/jupyterlab/issues/1607>`__
  1525. - Numerous other bug fixes and style improvements.