changelog.rst 74 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155
  1. .. _changelog:
  2. JupyterLab Changelog
  3. ====================
  4. v1.0.0 (not released yet)
  5. -------------------------
  6. 2019
  7. ^^^^
  8. See the `JupyterLab
  9. 1.0.0 <https://github.com/jupyterlab/jupyterlab/milestone/2?closed=1>`__
  10. milestone on GitHub for the full list of pull requests and issues closed.
  11. Changes in 1.0.0a3
  12. ^^^^^^^^^^^^^^^^^^
  13. * Fix Logic Bug In Poll Promise/signal Sync. (`#6192 <https://github.com/jupyterlab/jupyterlab/pull/6192>`__)
  14. * Unpin Yet Again (`#6191 <https://github.com/jupyterlab/jupyterlab/pull/6191>`__, `#6131 <https://github.com/jupyterlab/jupyterlab/issues/6131>`__)
  15. * Update Poll#schedule() Semantics. (`#6186 <https://github.com/jupyterlab/jupyterlab/pull/6186>`__)
  16. * Use @typeparam In Docstrings For Front End And Connectors. (`#6173 <https://github.com/jupyterlab/jupyterlab/pull/6173>`__)
  17. * Make Sure `node` Exists When Traversing Up The Dom Tree. (`#6171 <https://github.com/jupyterlab/jupyterlab/pull/6171>`__)
  18. * Add Details About Extension Activation In Dev-Mode (`#6168 <https://github.com/jupyterlab/jupyterlab/pull/6168>`__)
  19. * Add Find And Replace For Notebooks And Text Files (`#6159 <https://github.com/jupyterlab/jupyterlab/pull/6159>`__, `#6081 <https://github.com/jupyterlab/jupyterlab/issues/6081>`__)
  20. * Remove Out-Of-Date Git Hooks. (`#6156 <https://github.com/jupyterlab/jupyterlab/pull/6156>`__)
  21. * Update Search Match Colors In Notebook And Text Document (`#6155 <https://github.com/jupyterlab/jupyterlab/pull/6155>`__)
  22. * Codemirror Gutter Restyling (`#6153 <https://github.com/jupyterlab/jupyterlab/pull/6153>`__, `#6121 <https://github.com/jupyterlab/jupyterlab/issues/6121>`__)
  23. * Add Poll Class, Fix Some Tests, Throttle Polling. (`#6141 <https://github.com/jupyterlab/jupyterlab/pull/6141>`__, `#3929 <https://github.com/jupyterlab/jupyterlab/issues/3929>`__)
  24. * Use Target=_blank For Download Links (`#6139 <https://github.com/jupyterlab/jupyterlab/pull/6139>`__, `#6106 <https://github.com/jupyterlab/jupyterlab/issues/6106>`__)
  25. * Don't Set Execution Count On Markdown Cells. (`#6126 <https://github.com/jupyterlab/jupyterlab/pull/6126>`__, `#5669 <https://github.com/jupyterlab/jupyterlab/issues/5669>`__)
  26. * Strict Promises (`#6125 <https://github.com/jupyterlab/jupyterlab/pull/6125>`__)
  27. * Point To Discourse Instead Of Gitter (`#6118 <https://github.com/jupyterlab/jupyterlab/pull/6118>`__)
  28. * Doc: Add Tips And Tricks (`#6114 <https://github.com/jupyterlab/jupyterlab/pull/6114>`__, `#5926 <https://github.com/jupyterlab/jupyterlab/issues/5926>`__)
  29. * Let An Output Overflow With Scrollbars In Both Directions. (`#6104 <https://github.com/jupyterlab/jupyterlab/pull/6104>`__)
  30. * Update Communication Channels In Readme (`#6099 <https://github.com/jupyterlab/jupyterlab/pull/6099>`__)
  31. * Fix Csv Delimiter Dropdown Theme Handling (`#6097 <https://github.com/jupyterlab/jupyterlab/pull/6097>`__, `#6095 <https://github.com/jupyterlab/jupyterlab/issues/6095>`__)
  32. * Add Tab Navigation To The Search Box (`#6094 <https://github.com/jupyterlab/jupyterlab/pull/6094>`__)
  33. * Use The `mousedown` Event To Trigger Toolbar Button Actions. (`#6083 <https://github.com/jupyterlab/jupyterlab/pull/6083>`__, `#6077 <https://github.com/jupyterlab/jupyterlab/issues/6077>`__)
  34. * Added Css Selector Descriptions (`#6082 <https://github.com/jupyterlab/jupyterlab/pull/6082>`__)
  35. * Fix Restart And Run All For Text Files With A Code Console. (`#6059 <https://github.com/jupyterlab/jupyterlab/pull/6059>`__, `#5935 <https://github.com/jupyterlab/jupyterlab/issues/5935>`__)
  36. * Add An 'all' Flag To Uninstall All Labextensions In The App-Dir (`#6058 <https://github.com/jupyterlab/jupyterlab/pull/6058>`__, `#6006 <https://github.com/jupyterlab/jupyterlab/issues/6006>`__)
  37. * Fix Enable/disable Button In Extensionmanager (`#6051 <https://github.com/jupyterlab/jupyterlab/pull/6051>`__, `#5973 <https://github.com/jupyterlab/jupyterlab/issues/5973>`__)
  38. * Clean Up Ui-Components Styles (`#6050 <https://github.com/jupyterlab/jupyterlab/pull/6050>`__, `#6043 <https://github.com/jupyterlab/jupyterlab/issues/6043>`__)
  39. * Fix Deleting A Tab By Using The Indentunit Option (`#6041 <https://github.com/jupyterlab/jupyterlab/pull/6041>`__, `#5992 <https://github.com/jupyterlab/jupyterlab/issues/5992>`__)
  40. * Rename Themedir To Themepath (`#6040 <https://github.com/jupyterlab/jupyterlab/pull/6040>`__, `#6021 <https://github.com/jupyterlab/jupyterlab/issues/6021>`__)
  41. * "close All" Command Refers To Tabs, Not Widgets (`#6035 <https://github.com/jupyterlab/jupyterlab/pull/6035>`__)
  42. * Fix Codemirror Styling (`#6032 <https://github.com/jupyterlab/jupyterlab/pull/6032>`__)
  43. * Add "render All Markdown Cells" Command, Or Automatically Render Markdown (`#6029 <https://github.com/jupyterlab/jupyterlab/pull/6029>`__, `#6017 <https://github.com/jupyterlab/jupyterlab/issues/6017>`__)
  44. * Universal (Nearly) Scrollbar Styling (`#6026 <https://github.com/jupyterlab/jupyterlab/pull/6026>`__, `#4867 <https://github.com/jupyterlab/jupyterlab/issues/4867>`__)
  45. * Add Kbd Style (`#6025 <https://github.com/jupyterlab/jupyterlab/pull/6025>`__, `#4374 <https://github.com/jupyterlab/jupyterlab/issues/4374>`__)
  46. * Increase Z-Index Of Search Overlay (`#6024 <https://github.com/jupyterlab/jupyterlab/pull/6024>`__)
  47. * Added Basic Theming For Statusbar (`#6020 <https://github.com/jupyterlab/jupyterlab/pull/6020>`__)
  48. * Refresh The Editor When Switching A Markdown Cell To Edit Mode. (`#6018 <https://github.com/jupyterlab/jupyterlab/pull/6018>`__)
  49. * Don't Prevent Default If The User Is Selecting Text In A Notebook Output. (`#6015 <https://github.com/jupyterlab/jupyterlab/pull/6015>`__, `#4800 <https://github.com/jupyterlab/jupyterlab/issues/4800>`__)
  50. * Fix Global Link Hover Style (`#6011 <https://github.com/jupyterlab/jupyterlab/pull/6011>`__, `#5970 <https://github.com/jupyterlab/jupyterlab/issues/5970>`__)
  51. * Add A Binder Link For Jlab Master To Contributing.md. (`#6004 <https://github.com/jupyterlab/jupyterlab/pull/6004>`__)
  52. * Add A Note About Webpack And Watches To The Extension Dev Docs (`#6000 <https://github.com/jupyterlab/jupyterlab/pull/6000>`__)
  53. * Add Ability To Toggle Status Bar Visibility (`#5990 <https://github.com/jupyterlab/jupyterlab/pull/5990>`__, `#5982 <https://github.com/jupyterlab/jupyterlab/issues/5982>`__)
  54. * Avoid Activating The Non-Current Widget After Navigating To Cwd (`#5988 <https://github.com/jupyterlab/jupyterlab/pull/5988>`__, `#5987 <https://github.com/jupyterlab/jupyterlab/issues/5987>`__)
  55. * Fix Completer Regression (`#5985 <https://github.com/jupyterlab/jupyterlab/pull/5985>`__)
  56. * Restore Cloned Output (`#5981 <https://github.com/jupyterlab/jupyterlab/pull/5981>`__, `#5976 <https://github.com/jupyterlab/jupyterlab/issues/5976>`__)
  57. * Update Workspaces List Method To Conform To Idataconnector List Method. (`#5975 <https://github.com/jupyterlab/jupyterlab/pull/5975>`__)
  58. * Remove Appveyor And Travis Ci Support (`#5974 <https://github.com/jupyterlab/jupyterlab/pull/5974>`__)
  59. * Managing Notebook Metadata (`#5968 <https://github.com/jupyterlab/jupyterlab/pull/5968>`__, `#5200 <https://github.com/jupyterlab/jupyterlab/issues/5200>`__)
  60. * Make Sure Api Docs Are Output To The Right Directory. (`#5967 <https://github.com/jupyterlab/jupyterlab/pull/5967>`__)
  61. * Inherit Terminal Theme From Lab Theme (`#5964 <https://github.com/jupyterlab/jupyterlab/pull/5964>`__)
  62. * Expose An Instance Tracker Token For The Html Viewer. (`#5962 <https://github.com/jupyterlab/jupyterlab/pull/5962>`__)
  63. * Remove Extra Padding From Mathjax Display Math. (`#5959 <https://github.com/jupyterlab/jupyterlab/pull/5959>`__, `#5949 <https://github.com/jupyterlab/jupyterlab/issues/5949>`__)
  64. * Dev-Mode Binder (`#5952 <https://github.com/jupyterlab/jupyterlab/pull/5952>`__)
  65. * Add Autoredirect Query String Parameter To Generate New Workspaces. (`#5950 <https://github.com/jupyterlab/jupyterlab/pull/5950>`__, `#5854 <https://github.com/jupyterlab/jupyterlab/issues/5854>`__)
  66. * Context Menu Hint (`#5940 <https://github.com/jupyterlab/jupyterlab/pull/5940>`__, `#4023 <https://github.com/jupyterlab/jupyterlab/issues/4023>`__)
  67. * Add An Optional Header To The Application Shell (`#5936 <https://github.com/jupyterlab/jupyterlab/pull/5936>`__)
  68. * Improve Tab Icons In Left Panel (`#5920 <https://github.com/jupyterlab/jupyterlab/pull/5920>`__, `#5269 <https://github.com/jupyterlab/jupyterlab/issues/5269>`__)
  69. * Add Event Handling Support To Vdom-Extension (`#5670 <https://github.com/jupyterlab/jupyterlab/pull/5670>`__)
  70. Upgrades in 1.0.0a3
  71. ^^^^^^^^^^^^^^^^^^^
  72. * Update Prettier, Lerna, And Other Top-Level Dependencies (`#6190 <https://github.com/jupyterlab/jupyterlab/pull/6190>`__)
  73. * Update Webpack (`#6189 <https://github.com/jupyterlab/jupyterlab/pull/6189>`__)
  74. * Update Yarn, Jest, And Typescript (`#6188 <https://github.com/jupyterlab/jupyterlab/pull/6188>`__)
  75. * Convert From Uglifyjs To Terser For Js Minification. (`#6193 <https://github.com/jupyterlab/jupyterlab/pull/6193>`__)
  76. * Update To Vega 5 (`#6133 <https://github.com/jupyterlab/jupyterlab/pull/6133>`__, `#6128 <https://github.com/jupyterlab/jupyterlab/issues/6128>`__)
  77. * Update React And React-Dom To Let Extensions Use React Hooks (`#6057 <https://github.com/jupyterlab/jupyterlab/pull/6057>`__)
  78. Upgrading extensions to support 1.0.0a3
  79. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  80. There are many backwards-incompatible changes in 1.0.0a3 for extension developers. Here are some hints for upgrading an extension to support 1.0.0a3.
  81. * 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`.
  82. Features in 1.0.0a1
  83. ^^^^^^^^^^^^^^^^^^^
  84. * Enable searching notebooks, code editors, and CSV files. (`#5795 <https://github.com/jupyterlab/jupyterlab/pull/5795>`__, `#5937 <https://github.com/jupyterlab/jupyterlab/pull/5937>`__)
  85. * Add Commands To Open The Main Menus So That They May Be Assigned Keyboard Shortcuts. (`#5910 <https://github.com/jupyterlab/jupyterlab/pull/5910>`__, `#3074 <https://github.com/jupyterlab/jupyterlab/issues/3074>`__)
  86. * Add Insertbefore And Insertafter To Toolbar (`#5896 <https://github.com/jupyterlab/jupyterlab/pull/5896>`__, `#5894 <https://github.com/jupyterlab/jupyterlab/issues/5894>`__)
  87. * Html Viewer (`#5855 <https://github.com/jupyterlab/jupyterlab/pull/5855>`__, `#2369 <https://github.com/jupyterlab/jupyterlab/issues/2369>`__)
  88. * Simplify Inspector. (`#5776 <https://github.com/jupyterlab/jupyterlab/pull/5776>`__, `#5560 <https://github.com/jupyterlab/jupyterlab/issues/5560>`__)
  89. * Allow Keyboard To Trigger Toolbar Button Action (`#5769 <https://github.com/jupyterlab/jupyterlab/pull/5769>`__, `#5757 <https://github.com/jupyterlab/jupyterlab/issues/5757>`__)
  90. * Code Folding (`#5761 <https://github.com/jupyterlab/jupyterlab/pull/5761>`__, `#4083 <https://github.com/jupyterlab/jupyterlab/issues/4083>`__)
  91. * Configure Terminal Font (`#5732 <https://github.com/jupyterlab/jupyterlab/pull/5732>`__)
  92. * Links to CSV cells (`#5727 <https://github.com/jupyterlab/jupyterlab/pull/5727>`__, `#5720 <https://github.com/jupyterlab/jupyterlab/issues/5720>`__)
  93. * Follow File Path Between File Browser And Editor (`#5698 <https://github.com/jupyterlab/jupyterlab/pull/5698>`__, `#4258 <https://github.com/jupyterlab/jupyterlab/issues/4258>`__)
  94. * Add 'name' Flag To Workspaces Import Cli (`#5695 <https://github.com/jupyterlab/jupyterlab/pull/5695>`__, `#5694 <https://github.com/jupyterlab/jupyterlab/issues/5694>`__)
  95. * Creating new folder immediately edits its name (`#5667 <https://github.com/jupyterlab/jupyterlab/pull/5667>`__, `#5666 <https://github.com/jupyterlab/jupyterlab/issues/5666>`__)
  96. * Extension Manager Docs (`#5657 <https://github.com/jupyterlab/jupyterlab/pull/5657>`__)
  97. * Add An Option To Toggle Document Scrolling Behavior (`#5652 <https://github.com/jupyterlab/jupyterlab/pull/5652>`__, `#4429 <https://github.com/jupyterlab/jupyterlab/issues/4429>`__)
  98. * Extension manager sort by composite registry score (`#5649 <https://github.com/jupyterlab/jupyterlab/pull/5649>`__)
  99. * Allow "run All Code"/ "restart Kernel And Run All Code" When Editing Text File (`#5641 <https://github.com/jupyterlab/jupyterlab/pull/5641>`__, `#5579 <https://github.com/jupyterlab/jupyterlab/issues/5579>`__)
  100. * Remove Trust Notebook From Menu (`#5631 <https://github.com/jupyterlab/jupyterlab/pull/5631>`__, `#5354 <https://github.com/jupyterlab/jupyterlab/issues/5354>`__)
  101. * Improve Handling Of Uri Fragment Identifiers (`#5630 <https://github.com/jupyterlab/jupyterlab/pull/5630>`__, `#5599 <https://github.com/jupyterlab/jupyterlab/issues/5599>`__)
  102. * Css: Add Alert, Alert-Info And Alert-Warning Styles (`#5621 <https://github.com/jupyterlab/jupyterlab/pull/5621>`__)
  103. * Add Scrollback As A Terminal Setting (`#5609 <https://github.com/jupyterlab/jupyterlab/pull/5609>`__, `#3985 <https://github.com/jupyterlab/jupyterlab/issues/3985>`__)
  104. * Drag Drop Console Cells Into Notebook (`#5585 <https://github.com/jupyterlab/jupyterlab/pull/5585>`__, `#4847 <https://github.com/jupyterlab/jupyterlab/issues/4847>`__)
  105. * Pressing Ctrl While Dragging Should Copy Files (`#5584 <https://github.com/jupyterlab/jupyterlab/pull/5584>`__, `#3235 <https://github.com/jupyterlab/jupyterlab/issues/3235>`__)
  106. * Add 'Scroll Past End' Notebook Setting (`#5581 <https://github.com/jupyterlab/jupyterlab/pull/5581>`__, `#897 <https://github.com/jupyterlab/jupyterlab/issues/897>`__)
  107. * Drag and drop notebook cells to an editor (`#5571 <https://github.com/jupyterlab/jupyterlab/pull/5571>`__, `#3732 <https://github.com/jupyterlab/jupyterlab/issues/3732>`__)
  108. * Update Documentation For Terminal Copy/paste (`#5541 <https://github.com/jupyterlab/jupyterlab/pull/5541>`__, `#4143 <https://github.com/jupyterlab/jupyterlab/issues/4143>`__)
  109. * Codemirror: Add Config Options To Style Selection (`#5529 <https://github.com/jupyterlab/jupyterlab/pull/5529>`__, `#5528 <https://github.com/jupyterlab/jupyterlab/issues/5528>`__)
  110. * Add "go To Line" And "find" Capabilities To Csvviewer (`#5523 <https://github.com/jupyterlab/jupyterlab/pull/5523>`__)
  111. * Add Statusbar (`#5508 <https://github.com/jupyterlab/jupyterlab/pull/5508>`__, `#5352 <https://github.com/jupyterlab/jupyterlab/issues/5352>`__, `#5514 <https://github.com/jupyterlab/jupyterlab/pull/5514>`__, `#5577 <https://github.com/jupyterlab/jupyterlab/pull/5577>`__, `#5525 <https://github.com/jupyterlab/jupyterlab/pull/5525>`__)
  112. * Add 'new Folder' Item To Filebrowser Context Menu (`#5447 <https://github.com/jupyterlab/jupyterlab/pull/5447>`__)
  113. Bugs Fixed in 1.0.0a1
  114. ^^^^^^^^^^^^^^^^^^^^^
  115. * Fix Focus Issues When Focusing Away From A Notebook In Edit Mode. (`#5925 <https://github.com/jupyterlab/jupyterlab/pull/5925>`__)
  116. * Start A New Terminal If Connecting To An Old One Fails. (`#5917 <https://github.com/jupyterlab/jupyterlab/pull/5917>`__)
  117. * Remove Initialcommand From Args Of Terminal Creation. (`#5916 <https://github.com/jupyterlab/jupyterlab/pull/5916>`__)
  118. * Once More With Carriage Returns (`#5907 <https://github.com/jupyterlab/jupyterlab/pull/5907>`__, `#4822 <https://github.com/jupyterlab/jupyterlab/issues/4822>`__)
  119. * Update Launcher On Specs Change (`#5904 <https://github.com/jupyterlab/jupyterlab/pull/5904>`__, `#5676 <https://github.com/jupyterlab/jupyterlab/issues/5676>`__)
  120. * Fix Bug Output View Not Closing With Associated Window (`#5882 <https://github.com/jupyterlab/jupyterlab/pull/5882>`__, `#5873 <https://github.com/jupyterlab/jupyterlab/issues/5873>`__)
  121. * Fix Navigate Behavior (`#5880 <https://github.com/jupyterlab/jupyterlab/pull/5880>`__)
  122. * When A Session Is Disposed, Also Unset Any Busy Status. (`#5853 <https://github.com/jupyterlab/jupyterlab/pull/5853>`__, `#5244 <https://github.com/jupyterlab/jupyterlab/issues/5244>`__)
  123. * Account For Tree Urls When There Is A Workspace Collision. (`#5830 <https://github.com/jupyterlab/jupyterlab/pull/5830>`__, `#5214 <https://github.com/jupyterlab/jupyterlab/issues/5214>`__)
  124. * Keep Autoscroll Behavior When Clearing Cell Output. (`#5817 <https://github.com/jupyterlab/jupyterlab/pull/5817>`__, `#4028 <https://github.com/jupyterlab/jupyterlab/issues/4028>`__)
  125. * Show Correct File Type For Reload And Revert Dialogs (`#5746 <https://github.com/jupyterlab/jupyterlab/pull/5746>`__)
  126. * Reject Instancetracker#add() If Added Widget Is Already Disposed. (`#5724 <https://github.com/jupyterlab/jupyterlab/pull/5724>`__)
  127. * Don't Display Any Output If Javascript Output Is Empty (`#5706 <https://github.com/jupyterlab/jupyterlab/pull/5706>`__, `#5404 <https://github.com/jupyterlab/jupyterlab/issues/5404>`__)
  128. * Completer Feature Parity (`#5858 <https://github.com/jupyterlab/jupyterlab/pull/5858>`__, `#4305 <https://github.com/jupyterlab/jupyterlab/issues/4305>`__, `#4165 <https://github.com/jupyterlab/jupyterlab/issues/4165>`__, `#2360 <https://github.com/jupyterlab/jupyterlab/issues/2360>`__)
  129. * Honor Body Data Upon First Call To Pageconfig.getoption() (`#5800 <https://github.com/jupyterlab/jupyterlab/pull/5800>`__, `#5799 <https://github.com/jupyterlab/jupyterlab/issues/5799>`__)
  130. * Relative Non File Paths (`#5814 <https://github.com/jupyterlab/jupyterlab/pull/5814>`__)
  131. * Make Jupyterlab Default Ui When Running Jupyter-Labhub (`#5865 <https://github.com/jupyterlab/jupyterlab/pull/5865>`__)
  132. * Clean Up Schemas, Setting Editor Toolbar. (`#5820 <https://github.com/jupyterlab/jupyterlab/pull/5820>`__, `#5372 <https://github.com/jupyterlab/jupyterlab/issues/5372>`__)
  133. * Passing 'noopener' To Window.open() Always Returns Null, Breaking Exporting (`#5771 <https://github.com/jupyterlab/jupyterlab/pull/5771>`__)
  134. * Find Editor Widgets (`#5758 <https://github.com/jupyterlab/jupyterlab/pull/5758>`__)
  135. * Add scrolling to cell tools (`#5707 <https://github.com/jupyterlab/jupyterlab/pull/5707>`__, `#5685 <https://github.com/jupyterlab/jupyterlab/issues/5685>`__)
  136. * Optimize Editor Refresh On Notebook Show (`#5700 <https://github.com/jupyterlab/jupyterlab/pull/5700>`__, `#4292 <https://github.com/jupyterlab/jupyterlab/issues/4292>`__, `#2639 <https://github.com/jupyterlab/jupyterlab/issues/2639>`__)
  137. * Properly Dispose Of Text Model On Disposal. (`#5686 <https://github.com/jupyterlab/jupyterlab/pull/5686>`__, `#5664 <https://github.com/jupyterlab/jupyterlab/issues/5664>`__)
  138. * Fix Doc Links (`#5677 <https://github.com/jupyterlab/jupyterlab/pull/5677>`__, `#5602 <https://github.com/jupyterlab/jupyterlab/issues/5602>`__)
  139. * [Html] External Links Should Add Rel="noopener" (`#5656 <https://github.com/jupyterlab/jupyterlab/pull/5656>`__, `#5655 <https://github.com/jupyterlab/jupyterlab/issues/5655>`__)
  140. * Remove Download Link For Directories (`#5637 <https://github.com/jupyterlab/jupyterlab/pull/5637>`__, `#1816 <https://github.com/jupyterlab/jupyterlab/issues/1816>`__)
  141. * Menu Entries Highlight On Mouse Over (`#5629 <https://github.com/jupyterlab/jupyterlab/pull/5629>`__, `#5509 <https://github.com/jupyterlab/jupyterlab/issues/5509>`__)
  142. * Fix code snippet highlighting in markdown lists (`#5628 <https://github.com/jupyterlab/jupyterlab/pull/5628>`__, `#5616 <https://github.com/jupyterlab/jupyterlab/issues/5616>`__)
  143. * Fix Linecol Functionality (`#5625 <https://github.com/jupyterlab/jupyterlab/pull/5625>`__)
  144. * Css: Make Ansi "inverse" Work On Dark Theme (`#5623 <https://github.com/jupyterlab/jupyterlab/pull/5623>`__)
  145. * Retain Windows file line 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>`__)
  146. * Change File Mod Time Hover To Use Local/locale Time Format (`#5567 <https://github.com/jupyterlab/jupyterlab/pull/5567>`__)
  147. * Commandpalette Highlight Fix (`#5565 <https://github.com/jupyterlab/jupyterlab/pull/5565>`__, `#5561 <https://github.com/jupyterlab/jupyterlab/issues/5561>`__)
  148. * Fix _changekernel Bug When Session Dead (`#5551 <https://github.com/jupyterlab/jupyterlab/pull/5551>`__)
  149. * Clear ``*`` Prompt From Console Cells That Are Not Going To Be Executed (`#5550 <https://github.com/jupyterlab/jupyterlab/pull/5550>`__, `#4916 <https://github.com/jupyterlab/jupyterlab/issues/4916>`__)
  150. * Fix Alignment Of Latex/mathjax Output Cells (`#5547 <https://github.com/jupyterlab/jupyterlab/pull/5547>`__, `#5276 <https://github.com/jupyterlab/jupyterlab/issues/5276>`__)
  151. * Make Dom Ids Begin With Prefix 'id-' (`#5539 <https://github.com/jupyterlab/jupyterlab/pull/5539>`__, `#5139 <https://github.com/jupyterlab/jupyterlab/issues/5139>`__)
  152. * File Browser Now Ignores Case In Keyboard Navigation. (`#5535 <https://github.com/jupyterlab/jupyterlab/pull/5535>`__, `#2676 <https://github.com/jupyterlab/jupyterlab/issues/2676>`__)
  153. * Fix Command Header Style (`#5510 <https://github.com/jupyterlab/jupyterlab/pull/5510>`__)
  154. * Replace Ansi_up With Code From Classic Notebook (`#5336 <https://github.com/jupyterlab/jupyterlab/pull/5336>`__, `#3773 <https://github.com/jupyterlab/jupyterlab/issues/3773>`__)
  155. Upgrades in 1.0.0a1
  156. ^^^^^^^^^^^^^^^^^^^
  157. * Update Xterm.js To 3.10.1 (`#5922 <https://github.com/jupyterlab/jupyterlab/pull/5922>`__, `#2581 <https://github.com/jupyterlab/jupyterlab/pull/2581>`__)
  158. * Update To Typescript 3.3 (`#5929 <https://github.com/jupyterlab/jupyterlab/pull/5929>`__)
  159. * Upgrade Codemirror From 5.39 To 5.42 (`#5692 <https://github.com/jupyterlab/jupyterlab/pull/5692>`__, `#5588 <https://github.com/jupyterlab/jupyterlab/issues/5588>`__)
  160. * Update Marked To 0.5.1 (`#5490 <https://github.com/jupyterlab/jupyterlab/pull/5490>`__, `#5375 <https://github.com/jupyterlab/jupyterlab/issues/5375>`__)
  161. Changes For Developers in 1.0.0a1
  162. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  163. * Create Jupyterfrontend Class. (`#5845 <https://github.com/jupyterlab/jupyterlab/pull/5845>`__, `#5919 <https://github.com/jupyterlab/jupyterlab/pull/5919>`__)
  164. * Use ``markdowndocument`` As Document Widget For ``markdownviewer``. (`#5918 <https://github.com/jupyterlab/jupyterlab/pull/5918>`__)
  165. * Rewrite ``markdownviewer`` As A Standard Extension (`#5901 <https://github.com/jupyterlab/jupyterlab/pull/5901>`__, `#3940 <https://github.com/jupyterlab/jupyterlab/issues/3940>`__)
  166. * Allow Registering Additional Codemirror Mode Loaders (`#5829 <https://github.com/jupyterlab/jupyterlab/pull/5829>`__)
  167. * Add List Of Commands To Keyboard Shortcut Description. (`#5812 <https://github.com/jupyterlab/jupyterlab/pull/5812>`__, `#5562 <https://github.com/jupyterlab/jupyterlab/issues/5562>`__)
  168. * Move Console Foreign Handler To Its Own Plugin (`#5711 <https://github.com/jupyterlab/jupyterlab/pull/5711>`__)
  169. * Remove Prefixes For Loaders (`#5709 <https://github.com/jupyterlab/jupyterlab/pull/5709>`__, `#4406 <https://github.com/jupyterlab/jupyterlab/issues/4406>`__)
  170. * Add ``@jupyterlab/ui-Components`` Package (`#5538 <https://github.com/jupyterlab/jupyterlab/pull/5538>`__)
  171. * Ignore Editor Temp Files For File Watching In Dev Mode (`#5536 <https://github.com/jupyterlab/jupyterlab/pull/5536>`__)
  172. * Make Button Parameterized In Showerror (`#5513 <https://github.com/jupyterlab/jupyterlab/pull/5513>`__)
  173. * Theme Refactor (`#5505 <https://github.com/jupyterlab/jupyterlab/pull/5505>`__)
  174. * Improve how to use React (`#5479 <https://github.com/jupyterlab/jupyterlab/pull/5479>`__, `#5766 <https://github.com/jupyterlab/jupyterlab/issues/5766>`__)
  175. * Rewrite Settings and Keyboard Shortcuts systems (`#5470 <https://github.com/jupyterlab/jupyterlab/pull/5470>`__, `#5298 <https://github.com/jupyterlab/jupyterlab/issues/5298>`__)
  176. * Add A Dependency Graph Generator To Buildutils. (`#5465 <https://github.com/jupyterlab/jupyterlab/pull/5465>`__)
  177. * Refactor The Share Link Command To Separate Plugin so it can be overridden (`#5460 <https://github.com/jupyterlab/jupyterlab/pull/5460>`__, `#5388 <https://github.com/jupyterlab/jupyterlab/issues/5388>`__)
  178. * New Search Plugin Registry (api still evolving) (`#5795 <https://github.com/jupyterlab/jupyterlab/pull/5795>`__)
  179. `v0.35.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.35.0>`__
  180. ---------------------------------------------------------------------------
  181. October 3, 2018
  182. ^^^^^^^^^^^^^^^
  183. See the `JupyterLab
  184. 0.35.0 <https://github.com/jupyterlab/jupyterlab/milestone/18?closed=1>`__
  185. milestone on GitHub for the full list of pull requests and issues closed.
  186. Features
  187. ^^^^^^^^
  188. * 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>`__)
  189. * Add "Go To Line" in the Edit menu for text editors. (`#5377 <https://github.com/jupyterlab/jupyterlab/pull/5377>`__)
  190. * 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>`__)
  191. * Make the sidebar a bit narrower, and make the minimum width adjustable from a theme. (`#5245 <https://github.com/jupyterlab/jupyterlab/pull/5245>`__)
  192. * Populate the File, Export Notebook As... submenu from the server nbconvert capabilities. (`#5217 <https://github.com/jupyterlab/jupyterlab/pull/5217>`__)
  193. * 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>`__)
  194. * Add a command-line interface for managing workspaces. (`#5166 <https://github.com/jupyterlab/jupyterlab/pull/5166>`__)
  195. * Allow safe inline CSS styles in Markdown. (`#5012 <https://github.com/jupyterlab/jupyterlab/pull/5012>`__, `#1812 <https://github.com/jupyterlab/jupyterlab/issues/1812>`__)
  196. * 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>`__)
  197. * Rework extension manager user experience. (`#5147 <https://github.com/jupyterlab/jupyterlab/pull/5147>`__, `#5042 <https://github.com/jupyterlab/jupyterlab/issues/5042>`__)
  198. Dark theme
  199. ^^^^^^^^^^
  200. * 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>`__)
  201. * Fix code completion menu for a dark theme. (`#5364 <https://github.com/jupyterlab/jupyterlab/pull/5364>`__, `#5349 <https://github.com/jupyterlab/jupyterlab/issues/5349>`__)
  202. * Style CSV viewer for a dark theme. (`#5304 <https://github.com/jupyterlab/jupyterlab/pull/5304>`__, `#3456 <https://github.com/jupyterlab/jupyterlab/issues/3456>`__)
  203. * Make Matplotlib figures legible in a dark theme. (`#5232 <https://github.com/jupyterlab/jupyterlab/pull/5232>`__)
  204. * Fix notebook cell dropdown legibility in a dark theme. (`#5168 <https://github.com/jupyterlab/jupyterlab/issues/5168>`__)
  205. Bug fixes
  206. ^^^^^^^^^
  207. * 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>`__)
  208. * 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>`__)
  209. * 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>`__)
  210. * Fix toolbar button enabled/disabled status. (`#5278 <https://github.com/jupyterlab/jupyterlab/pull/5278>`__)
  211. * Table alignment is now respected in Markdown. (`#5301 <https://github.com/jupyterlab/jupyterlab/pull/5301>`__, `#3180 <https://github.com/jupyterlab/jupyterlab/issues/3180>`__)
  212. * Fix syntax highlighting for Markdown lists. (`#5297 <https://github.com/jupyterlab/jupyterlab/pull/5297>`__, `#2741 <https://github.com/jupyterlab/jupyterlab/issues/2741>`__)
  213. * Use the current filebrowser instead of the default one for various commands. (`#5390 <https://github.com/jupyterlab/jupyterlab/pull/5390>`__)
  214. * 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>`__)
  215. Build system
  216. ^^^^^^^^^^^^
  217. * Use Typescript 3.1. (`#5360 <https://github.com/jupyterlab/jupyterlab/pull/5360>`__)
  218. * Use Lerna 3.2.1. (`#5262 <https://github.com/jupyterlab/jupyterlab/pull/5262>`__)
  219. * Node >=6.11.5 is now required. (`#5227 <https://github.com/jupyterlab/jupyterlab/pull/5227>`__)
  220. * Pin vega-embed version to 3.18.2. (`#5342 <https://github.com/jupyterlab/jupyterlab/pull/5342>`__)
  221. * Use Jest for services tests. (`#5251 <https://github.com/jupyterlab/jupyterlab/pull/5251>`__, `#5282 <https://github.com/jupyterlab/jupyterlab/pull/5282>`__)
  222. * Make it easier for third party extensions to use the JupyterLab test app and testing utilities. (`#5415 <https://github.com/jupyterlab/jupyterlab/pull/5415>`__)
  223. * Fix ``jupyter lab clean`` on Windows. (`#5400 <https://github.com/jupyterlab/jupyterlab/pull/5400>`__, `#5397 <https://github.com/jupyterlab/jupyterlab/issues/5397>`__)
  224. * Fix ``jupyter lab build`` on NFS. (`#5237 <https://github.com/jupyterlab/jupyterlab/pull/5237>`__, `#5233 <https://github.com/jupyterlab/jupyterlab/issues/5233>`__)
  225. * Build wheels for Python 3 only. (`#5287 <https://github.com/jupyterlab/jupyterlab/pull/5287>`__)
  226. * Migrate to using ``jupyterlab_server`` instead of ``jupyterlab_launcher`` and fix the app example. (`#5316 <https://github.com/jupyterlab/jupyterlab/pull/5316>`__)
  227. * Move Mathjax 2 typesetter to a library package. (`#5259 <https://github.com/jupyterlab/jupyterlab/pull/5259>`__, `#5257 <https://github.com/jupyterlab/jupyterlab/issues/5257>`__)
  228. For Developers
  229. ^^^^^^^^^^^^^^
  230. * 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>`__)
  231. * A JupyterLab application instance can now be given a document registry, service manager, and command linker. (`#5291 <https://github.com/jupyterlab/jupyterlab/pull/5291>`__)
  232. `v0.34.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.34.0>`__
  233. ---------------------------------------------------------------------------
  234. August 18, 2018
  235. ^^^^^^^^^^^^^^^
  236. See the `JupyterLab
  237. 0.34.0 <https://github.com/jupyterlab/jupyterlab/milestone/16?closed=1>`__
  238. milestone on GitHub for the full list of pull requests and issues closed.
  239. Key Features
  240. ^^^^^^^^^^^^
  241. * Notebooks, consoles, and text files now have access to completions for local
  242. tokens.
  243. * Python 3.5+ is now required to use JupyterLab. Python 2 kernels can still be
  244. run within JupyterLab.
  245. * Added the pipe (``|``) character as a CSV delimiter option.
  246. * Added "Open From Path..."" to top level ``File`` menu.
  247. * Added "Copy Download Link" to context menu for files.
  248. Changes for Developers
  249. ^^^^^^^^^^^^^^^^^^^^^^
  250. * Notebooks, consoles, and text files now have access to completions for local
  251. tokens. If a text file has a running kernel associated with its path (as
  252. happens with an attached console), it also gets completions and tooltips from
  253. that kernel. (`#5049 <https://github.com/jupyterlab/jupyterlab/pull/5049>`__)
  254. * The ``FileBrowser`` widget has a new constructor option ``refreshInterval``,
  255. allowing the creator to customize how often the widget polls the storage
  256. backend. This can be useful to prevent rate-limiting in certain contexts.
  257. (`#5048 <https://github.com/jupyterlab/jupyterlab/pull/5048>`__)
  258. * The application shell now gets a pair of CSS data attributes indicating the
  259. current theme, and whether it is light or dark. Extension authors can write
  260. CSS rules targeting these to have their extension UI elements respond to the
  261. application theme. For instance, to write a rule targeting whether the theme
  262. is overall light or dark, you can use
  263. .. code:: css
  264. [data-theme-light="true"] your-ui-class {
  265. background-color: white;
  266. }
  267. [data-theme-light="false"] your-ui-class {
  268. background-color: black;
  269. }
  270. The theme name can also be targeted by writing CSS rules for
  271. ``data-theme-name``. (`#5078
  272. <https://github.com/jupyterlab/jupyterlab/pull/5078>`__)
  273. * The ``IThemeManager`` interface now exposes a signal for ``themeChanged``,
  274. allowing extension authors to react to changes in the theme. Theme extensions
  275. must also provide a new boolean property ``isLight``, declaring whether they are
  276. broadly light colored. This data allows third-party extensions to react better
  277. to the active application theme. (`#5078
  278. <https://github.com/jupyterlab/jupyterlab/pull/5078>`__)
  279. * Added a patch to update the ``uploads`` for each ``FileBrowserModel`` instantly
  280. whenever a file upload errors. Previously, the upload that erred was only
  281. being removed from uploads upon an update. This would allow the status bar
  282. component and other extensions that use the ``FileBrowserModel`` to be more
  283. precise. (`#5077 <https://github.com/jupyterlab/jupyterlab/pull/5077>`__)
  284. * Cell IDs are now passed in the shell message as part of the cell metadata when
  285. a cell is executed. This helps in developing reactive kernels. (`#5033
  286. <https://github.com/jupyterlab/jupyterlab/pull/5033>`__)
  287. * The IDs of all deleted cells since the last run cell are now passed as part of
  288. the cell metadata on execution. The IDs of deleted cells since the last run
  289. cell are stored as ``deletedCells`` in ``NotebookModel``. This helps in
  290. developing reactive kernels. (`#5037
  291. <https://github.com/jupyterlab/jupyterlab/pull/5037>`__)
  292. * The ``ToolbarButton`` in ``apputils`` has been refactored with an API change
  293. and now uses a React component ``ToolbarButtonComponent`` to render its
  294. children. It is now a ``div`` with a single ``button`` child, which in turn as
  295. two ``span`` elements for an icon and text label. Extensions that were using
  296. the ``className`` options should rename it as ``iconClassName``. The
  297. ``className`` options still exists, but it used as the CSS class on the
  298. ``button`` element itself. The API changes were done to accommodate styling
  299. changes to the button. (`#5117
  300. <https://github.com/jupyterlab/jupyterlab/pull/5117>`__)
  301. * The ``Toolbar.createFromCommand`` function has been replaced by a dedicated
  302. ``ToolbarButton`` subclass called ``CommandToolbarButton``, that wraps a similarly
  303. named React component. (`#5117
  304. <https://github.com/jupyterlab/jupyterlab/pull/5117>`__)
  305. * The design and styling of the right and left sidebars tabs has been improved
  306. to address `#5054 <https://github.com/jupyterlab/jupyterlab/issues/50>`__.
  307. We are now using icons to render tabs for the extensions we ship with
  308. JupyterLab and extension authors are encouraged to do the same (text labels
  309. still work). Icon based tabs can be used by removing ``widget.caption`` and
  310. adding ``widget.iconClass = '<youriconclass> jp-SideBar-tabIcon';``. (`#5117
  311. <https://github.com/jupyterlab/jupyterlab/pull/5117>`__)
  312. * The style of buttons in JupyterLab has been updated to a borderless design.
  313. (`#5117 <https://github.com/jupyterlab/jupyterlab/pull/5117>`__)
  314. * A new series of helper CSS classes for stying SVG-based icons at different
  315. sizes has been added: ``jp-Icon``, ``jp-Icon-16``, ``jp-Icon-18``, ``jp-Icon-20``.
  316. * The rank of the default sidebar widget has been updated. The main change is
  317. giving the extension manager a rank of ``1000`` so that it appears at the end of
  318. the default items.
  319. * Python 3.5+ is now required to use JupyterLab. Python 2 kernels can still be
  320. run within JupyterLab. (`#5119
  321. <https://github.com/jupyterlab/jupyterlab/pull/5119>`__)
  322. * JupyterLab now uses ``yarn 1.9.4`` (aliased as ``jlpm``), which now allows uses to
  323. use Node 10+. (`#5121
  324. <https://github.com/jupyterlab/jupyterlab/pull/5121>`__)
  325. * Clean up handling of ``baseUrl`` and ``wsURL`` for ``PageConfig`` and
  326. ``ServerConnection``. (`#5111
  327. <https://github.com/jupyterlab/jupyterlab/pull/5111>`__)
  328. Other Changes
  329. ^^^^^^^^^^^^^
  330. * Added the pipe (``|``) character as a CSV delimiter option. (`#5112
  331. <https://github.com/jupyterlab/jupyterlab/pull/5112>`__)
  332. * Added ``Open From Path...`` to top level ``File`` menu. (`#5108
  333. <https://github.com/jupyterlab/jupyterlab/pull/5108>`__)
  334. * Added a ``saveState`` signal to the document context object. (`#5096
  335. <https://github.com/jupyterlab/jupyterlab/pull/5096>`__)
  336. * Added "Copy Download Link" to context menu for files. (`#5089
  337. <https://github.com/jupyterlab/jupyterlab/pull/5089>`__)
  338. * Extensions marked as ``deprecated`` are no longer shown in the extension
  339. manager. (`#5058 <https://github.com/jupyterlab/jupyterlab/pull/5058>`__)
  340. * Remove ``In`` and ``Out`` text from cell prompts. Shrunk the prompt width from
  341. 90px to 64px. In the light theme, set the prompt colors of executed console
  342. cells to active prompt colors and reduced their opacity to 0.5. In the dark
  343. theme, set the prompt colors of executed console cells to active prompt colors
  344. and set their opacity to 1. (`#5097
  345. <https://github.com/jupyterlab/jupyterlab/pull/5097>`__ and `#5130
  346. <https://github.com/jupyterlab/jupyterlab/pull/5130>`__)
  347. Bug Fixes
  348. ^^^^^^^^^
  349. * Fixed a bug in the rendering of the "New Notebook" item of the command
  350. palette. (`#5079 <https://github.com/jupyterlab/jupyterlab/pull/5079>`__)
  351. * We only create the extension manager widget if it is enabled. This prevents
  352. unnecessary network requests to ``npmjs.com``.
  353. (`#5075 <https://github.com/jupyterlab/jupyterlab/pull/5075>`__)
  354. * The ``running`` panel now shows the running sessions at startup. (`#5118
  355. <https://github.com/jupyterlab/jupyterlab/pull/5118>`__)
  356. * Double clicking a file in the file browser always opens it rather than
  357. sometimes selecting it for a rename. (`#5101
  358. <https://github.com/jupyterlab/jupyterlab/pull/5101>`__)
  359. `v0.33.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.33.0>`__
  360. ---------------------------------------------------------------------------
  361. July 26, 2018
  362. ^^^^^^^^^^^^^
  363. See the `JupyterLab
  364. 0.33.0 <https://github.com/jupyterlab/jupyterlab/milestone/12?closed=1>`__
  365. milestone on GitHub for the full list of pull requests and issues
  366. closed.
  367. Key Features:
  368. ^^^^^^^^^^^^^
  369. - `No longer in beta <#no-longer-in-beta>`__
  370. - `Workspaces <#workspaces>`__
  371. - `Menu items <#menu-items>`__
  372. - `Keyboard shortcuts <#keyboard-shorcuts>`__
  373. - `Command palette items <#command-palette-items>`__
  374. - `Settings <#settings>`__
  375. - `Larger file uploads <#larger-size-uploads>`__
  376. - `Extension management and installation <#extension-manager>`__
  377. - `Interface changes <#interface-changes>`__
  378. - `Renderers <#renderers>`__
  379. - `Changes for developers <#changes-for-developers>`__
  380. - `Other fixes <#other-fixes>`__
  381. No longer in beta
  382. ^^^^^^^^^^^^^^^^^
  383. In JupyterLab 0.33, we removed the “Beta” label to better signal that
  384. JupyterLab is ready for users to use on a daily basis. The extension
  385. developer API is still being stabilized. See the release blog post for
  386. details.
  387. (`#4898 <https://github.com/jupyterlab/jupyterlab/issues/4898>`__,
  388. `#4920 <https://github.com/jupyterlab/jupyterlab/pull/4920>`__)
  389. Workspaces
  390. ^^^^^^^^^^
  391. We added new workspace support, which enables you to have multiple saved
  392. layouts, including in different browser windows. See the
  393. :ref:`workspace documentation <url-workspaces-ui>`
  394. for more details.
  395. (`#4502 <https://github.com/jupyterlab/jupyterlab/issues/4502>`__,
  396. `#4708 <https://github.com/jupyterlab/jupyterlab/pull/4708>`__,
  397. `#4088 <https://github.com/jupyterlab/jupyterlab/issues/4088>`__,
  398. `#4041 <https://github.com/jupyterlab/jupyterlab/pull/4041>`__
  399. `#3673 <https://github.com/jupyterlab/jupyterlab/issues/3673>`__,
  400. `#4780 <https://github.com/jupyterlab/jupyterlab/pull/4780>`__)
  401. Menu items
  402. ^^^^^^^^^^
  403. - “Activate Previously Used Tab” added to the Tab menu
  404. (``Ctrl/Cmd Shift '``) to toggle between the previously active tabs
  405. in the main area.
  406. (`#4296 <https://github.com/jupyterlab/jupyterlab/pull/4296>`__)
  407. - “Reload From Disk” added to the File menu to reload an open file from
  408. the state saved on disk.
  409. (`#4615 <https://github.com/jupyterlab/jupyterlab/pull/4615>`__)
  410. - “Save Notebook with View State” added to the File menu to persist the
  411. notebook collapsed and scrolled cell state. We now read the
  412. ``collapsed``, ``scrolled``, ``jupyter.source_hidden`` and
  413. ``jupyter.outputs_hidden`` notebook cell metadata when opening.
  414. ``collapsed`` and ``jupyter.outputs_hidden`` are redundant and the
  415. initial collapsed state is the union of both of them. When the state
  416. is persisted, if an output is collapsed, both will be written with
  417. the value ``true``, and if it is not, both will not be written.
  418. (`#3981 <https://github.com/jupyterlab/jupyterlab/pull/3981>`__)
  419. - “Increase/Decrease Font Size” added to the text editor settings menu.
  420. (`#4811 <https://github.com/jupyterlab/jupyterlab/pull/4811>`__)
  421. - “Show in File Browser” added to a document tab’s context menu.
  422. (`#4500 <https://github.com/jupyterlab/jupyterlab/pull/4500>`__)
  423. - “Open in New Browser Tab” added to the file browser context menu.
  424. (`#4315 <https://github.com/jupyterlab/jupyterlab/pull/4315>`__)
  425. - “Copy Path” added to file browser context menu to copy the document’s
  426. path to the clipboard.
  427. (`#4582 <https://github.com/jupyterlab/jupyterlab/pull/4582>`__)
  428. - “Show Left Area” has been renamed to “Show Left Sidebar” for
  429. consistency (same for right sidebar).
  430. (`#3818 <https://github.com/jupyterlab/jupyterlab/pull/3818>`__)
  431. Keyboard shortcuts
  432. ^^^^^^^^^^^^^^^^^^
  433. - “Save As…” given the keyboard shortcut ``Ctrl/Cmd Shift S``.
  434. (`#4560 <https://github.com/jupyterlab/jupyterlab/pull/4560>`__)
  435. - “Run All Cells” given the keyboard shortcut ``Ctrl/Cmd Shift Enter``.
  436. (`#4558 <https://github.com/jupyterlab/jupyterlab/pull/4558>`__)
  437. - “notebook:change-to-cell-heading-X” keyboard shortcuts (and commands)
  438. renamed to “notebook:change-cell-to-heading-X” for X=1…6. This fixes
  439. the notebook command-mode keyboard shortcuts for changing headings.
  440. (`#4430 <https://github.com/jupyterlab/jupyterlab/pull/4430>`__)
  441. - The console execute shortcut can now be set to either ``Enter`` or
  442. ``Shift Enter`` as a Console setting.
  443. (`#4054 <https://github.com/jupyterlab/jupyterlab/pull/4054>`__)
  444. Command palette items
  445. ^^^^^^^^^^^^^^^^^^^^^
  446. - “Notebook” added to the command palette to open a new notebook.
  447. (`#4812 <https://github.com/jupyterlab/jupyterlab/pull/4812>`__)
  448. - “Run Selected Text or Current Line in Console” added to the command
  449. palette to run the selected text or current line from a notebook in a
  450. console. A default keyboard shortcut for this command is not yet
  451. provided, but can be added by users with the
  452. ``notebook:run-in-console`` command. To add a keyboard shortcut
  453. ``Ctrl G`` for this command, use the “Settings” \| “Advanced Settings
  454. Editor” menu item to open the “Keyboard Shortcuts” advanced settings,
  455. and add the following JSON in the shortcut JSON object in the User
  456. Overrides pane (adjust the actual keyboard shortcut if you wish).
  457. (`#3453 <https://github.com/jupyterlab/jupyterlab/issues/3453>`__,
  458. `#4206 <https://github.com/jupyterlab/jupyterlab/issues/4206>`__,
  459. `#4330 <https://github.com/jupyterlab/jupyterlab/pull/4330>`__)
  460. .. code:: json
  461. {
  462. "command": "notebook:run-in-console",
  463. "keys": ["Ctrl G"],
  464. "selector": ".jp-Notebook.jp-mod-editMode"
  465. }
  466. - The command palette now renders labels, toggled state, and keyboard
  467. shortcuts in a more consistent and correct way.
  468. (`#4533 <https://github.com/jupyterlab/jupyterlab/pull/4533>`__,
  469. `#4510 <https://github.com/jupyterlab/jupyterlab/pull/4510>`__)
  470. Settings
  471. ^^^^^^^^
  472. - “fontFamily”, “fontSize”, and “lineHeight” settings added to the text
  473. editor advanced settings.
  474. (`#4673 <https://github.com/jupyterlab/jupyterlab/pull/4673>`__)
  475. - Solarized dark and light text editor themes from CodeMirror.
  476. (`#4445 <https://github.com/jupyterlab/jupyterlab/pull/4445>`__)
  477. Larger file uploads
  478. ^^^^^^^^^^^^^^^^^^^
  479. - Support for larger file uploads (>15MB) when using Jupyter notebook
  480. server version >= 5.1.
  481. (`#4224 <https://github.com/jupyterlab/jupyterlab/pull/4224>`__)
  482. Extension management and installation
  483. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  484. - New extension manager for installing JupyterLab extensions from npm
  485. within the JupyterLab UI. You can enable this from the Advanced
  486. Settings interface.
  487. (`#4682 <https://github.com/jupyterlab/jupyterlab/pull/4682>`__,
  488. `#4925 <https://github.com/jupyterlab/jupyterlab/pull/4925>`__)
  489. - Please note that to install extensions in JupyterLab, you must use
  490. NodeJS version 9 or earlier (i.e., not NodeJS version 10). We will
  491. upgrade yarn, with NodeJS version 10 support, when a `bug in
  492. yarn <https://github.com/yarnpkg/yarn/issues/5935>`__ is fixed.
  493. (`#4804 <https://github.com/jupyterlab/jupyterlab/pull/4804>`__)
  494. Interface changes
  495. ^^^^^^^^^^^^^^^^^
  496. - Wider tabs in the main working area to show longer filenames.
  497. (`#4801 <https://github.com/jupyterlab/jupyterlab/pull/4801>`__)
  498. - Initial kernel selection for a notebook or console can no longer be
  499. canceled: the user must select a kernel.
  500. (`#4596 <https://github.com/jupyterlab/jupyterlab/pull/4596>`__)
  501. - Consoles now do not display output from other clients by default. A
  502. new “Show All Kernel Activity” console context menu item has been
  503. added to show all activity from a kernel in the console.
  504. (`#4503 <https://github.com/jupyterlab/jupyterlab/pull/4503>`__)
  505. - The favicon now shows the busy status of the kernels in JupyterLab.
  506. (`#4361 <https://github.com/jupyterlab/jupyterlab/pull/4361>`__,
  507. `#3957 <https://github.com/jupyterlab/jupyterlab/issues/3957>`__,
  508. `#4966 <https://github.com/jupyterlab/jupyterlab/pull/4966>`__)
  509. Renderers
  510. ^^^^^^^^^
  511. - JupyterLab now ships with a Vega4 renderer by default (upgraded from
  512. Vega3).
  513. (`#4806 <https://github.com/jupyterlab/jupyterlab/pull/4806>`__)
  514. - The HTML sanitizer now allows some extra tags in rendered HTML,
  515. including ``kbd``, ``sup``, and ``sub``.
  516. (`#4618 <https://github.com/jupyterlab/jupyterlab/pull/4618>`__)
  517. - JupyterLab now recognizes the ``.tsv`` file extension as
  518. tab-separated files.
  519. (`#4684 <https://github.com/jupyterlab/jupyterlab/pull/4684>`__)
  520. - Javascript execution in notebook cells has been re-enabled.
  521. (`#4515 <https://github.com/jupyterlab/jupyterlab/pull/4682>`__)
  522. Changes for developers
  523. ^^^^^^^^^^^^^^^^^^^^^^
  524. - A new signal for observing application dirty status state changes.
  525. (`#4840 <https://github.com/jupyterlab/jupyterlab/issues/4840>`__)
  526. - A new signal for observing notebook cell execution.
  527. (`#4740 <https://github.com/jupyterlab/jupyterlab/issues/4740>`__,
  528. `#4744 <https://github.com/jupyterlab/jupyterlab/pull/4744>`__)
  529. - A new ``anyMessage`` signal for observing any message a kernel sends
  530. or receives.
  531. (`#4437 <https://github.com/jupyterlab/jupyterlab/pull/4437>`__)
  532. - A generic way for different widgets to register a “Save with extras”
  533. command that appears in the File menu under save.
  534. (`#3981 <https://github.com/jupyterlab/jupyterlab/pull/3981>`__)
  535. - A new API for removing groups from a JupyterLab menu. ``addGroup``
  536. now returns an ``IDisposable`` which can be used to remove the group.
  537. ``removeGroup`` has been removed.
  538. (`#4890 <https://github.com/jupyterlab/jupyterlab/pull/4890>`__)
  539. - The ``Launcher`` now uses commands from the application
  540. ``CommandRegistry`` to launch new activities. Extension authors that
  541. add items to the launcher will need to update them to use commands.
  542. (`#4757 <https://github.com/jupyterlab/jupyterlab/pull/4757>`__)
  543. - There is now a top-level ``addToBottomArea`` function in the
  544. application, allowing extension authors to add bottom panel items
  545. like status bars.
  546. (`#4752 <https://github.com/jupyterlab/jupyterlab/pull/4752>`__)
  547. - Rendermime extensions can now indicate that they are the default
  548. rendered widget factory for a file-type. For instance, the default
  549. widget for a markdown file is a text editor, but the default rendered
  550. widget is the markdown viewer.
  551. (`#4692 <https://github.com/jupyterlab/jupyterlab/pull/4692>`__)
  552. - Add new workspace REST endpoints to ``jupyterlab_server`` and make
  553. them available in ``@jupyterlab/services``.
  554. (`#4841 <https://github.com/jupyterlab/jupyterlab/pull/4841>`__)
  555. - Documents created with a mimerenderer extension can now be accessed
  556. using an ``IInstanceTracker`` which tracks them. Include the token
  557. ``IMimeDocumentTracker`` in your plugin to access this. The
  558. ``IInstanceTracker`` interface has also gained convenience functions
  559. ``find`` and ``filter`` to simplify iterating over instances.
  560. (`#4762 <https://github.com/jupyterlab/jupyterlab/pull/4762>`__)
  561. - RenderMime render errors are now displayed to the user.
  562. (`#4465 <https://github.com/jupyterlab/jupyterlab/pull/4465>`__)
  563. - ``getNotebookVersion`` is added to the ``PageConfig`` object.
  564. (`#4224 <https://github.com/jupyterlab/jupyterlab/pull/4224>`__)
  565. - The session ``kernelChanged`` signal now contains both the old kernel
  566. and the new kernel to make it easy to unregister things from the old
  567. kernel.
  568. (`#4834 <https://github.com/jupyterlab/jupyterlab/pull/4834>`__)
  569. - The ``connectTo`` functions for connecting to kernels and sessions
  570. are now synchronous (returning a connection immediately rather than a
  571. promise). The DefaultSession ``clone`` and ``update`` methods are
  572. also synchronous now.
  573. (`#4725 <https://github.com/jupyterlab/jupyterlab/pull/4725>`__)
  574. - Kernel message processing is now asynchronous, which guarantees the
  575. order of processing even if a handler is asynchronous. If a kernel
  576. message handler returns a promise, kernel message processing is
  577. paused until the promise resolves. The kernel’s ``anyMessage`` signal
  578. is emitted synchronously when a message is received before
  579. asynchronous message handling, and the ``iopubMessage`` and
  580. ``unhandledMessage`` signals are emitted during asynchronous message
  581. handling. These changes mean that the comm ``onMsg`` and ``onClose``
  582. handlers and the kernel future ``onReply``, ``onIOPub``, and
  583. ``onStdin`` handlers, as well as the comm target and message hook
  584. handlers, may be asynchronous and return promises.
  585. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  586. - Kernel comm targets and message hooks now are unregistered with
  587. ``removeCommTarget`` and ``removeMessageHook``, instead of using
  588. disposables. The corresponding ``registerCommTarget`` and
  589. ``registerMessageHook`` functions now return nothing.
  590. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  591. - The kernel ``connectToComm`` function is synchronous, and now returns
  592. the comm rather than a promise to the comm.
  593. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  594. - The ``KernelFutureHandler`` class ``expectShell`` constructor
  595. argument is renamed to ``expectReply``.
  596. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  597. - The kernel future ``done`` returned promise now resolves to undefined
  598. if there is no reply message.
  599. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  600. - The ``IDisplayDataMsg`` is updated to have the optional ``transient``
  601. key, and a new ``IUpdateDisplayDataMsg`` type was added for update
  602. display messages.
  603. (`#4697 <https://github.com/jupyterlab/jupyterlab/pull/4697>`__)
  604. - The ``uuid`` function from ``@jupyterlab/coreutils`` is removed.
  605. Instead import ``UUID`` from ``@phosphor/coreutils`` and use
  606. ``UUID.uuid4()`` .
  607. (`#4604 <https://github.com/jupyterlab/jupyterlab/pull/4604>`__)
  608. - Main area widgets like the launcher and console inherit from a common
  609. ``MainAreaWidget`` class which provides a content area (``.content``)
  610. and a toolbar (``.toolbar``), consistent focus handling and
  611. activation behavior, and a spinner displayed until the given
  612. ``reveal`` promise is resolved. Document widgets, like the notebook
  613. and text editor and other documents opened from the document manager,
  614. implement the ``IDocumentWidget`` interface (instead of
  615. ``DocumentRegistry.IReadyWidget``), which builds on
  616. ``MainAreaWidget`` and adds a ``.context`` attribute for the document
  617. context and makes dirty handling consistent. Extension authors may
  618. consider inheriting from the ``MainAreaWidget`` or ``DocumentWidget``
  619. class for consistency. Several effects from these changes are noted
  620. below.
  621. (`#3499 <https://github.com/jupyterlab/jupyterlab/pull/3499>`__,
  622. `#4453 <https://github.com/jupyterlab/jupyterlab/pull/4453>`__)
  623. - The notebook panel ``.notebook`` attribute is renamed to
  624. ``.content``.
  625. - The text editor is now the ``.content`` of a ``DocumentWidget``,
  626. so the top-level editor widget has a toolbar and the editor itself
  627. is ``widget.content.editor`` rather than just ``widget.editor``.
  628. - Mime documents use a ``MimeContent`` widget embedded inside of a
  629. ``DocumentWidget`` now.
  630. - Main area widgets and document widgets now have a ``revealed``
  631. promise which resolves when the widget has been revealed (i.e.,
  632. the spinner has been removed). This should be used instead of the
  633. ``ready`` promise.
  634. Changes in the JupyterLab code infrastructure include:
  635. - The JupyterLab TypeScript codebase is now compiled to ES2015 (ES6)
  636. using TypeScript 2.9. We also turned on the TypeScript
  637. ``esModuleInterop`` flag to enable more natural imports from
  638. non-es2015 JavaScript modules. With the update to ES2015 output, code
  639. generated from async/await syntax became much more manageable, so we
  640. have started to use async/await liberally throughout the codebase,
  641. especially in tests. Because we use Typedoc for API documentation, we
  642. still use syntax compatible with TypeScript 2.7 where Typedoc is
  643. used. Extension authors may have some minor compatibility updates to
  644. make. If you are writing an extension in TypeScript, we recommend
  645. updating to TypeScript 2.9 and targeting ES2015 output as well.
  646. (`#4462 <https://github.com/jupyterlab/jupyterlab/pull/4462>`__,
  647. `#4675 <https://github.com/jupyterlab/jupyterlab/pull/4675>`__,
  648. `#4714 <https://github.com/jupyterlab/jupyterlab/pull/4714>`__,
  649. `#4797 <https://github.com/jupyterlab/jupyterlab/pull/4797>`__)
  650. - The JupyterLab codebase is now formatted using
  651. `Prettier <https://github.com/prettier/prettier>`__. By default the
  652. development environment installs a pre-commit hook that formats your
  653. staged changes.
  654. (`#4090 <https://github.com/jupyterlab/jupyterlab/pull/4090>`__)
  655. - Updated build infrastructure using webpack 4 and better typing.
  656. (`#4702 <https://github.com/jupyterlab/jupyterlab/pull/4702>`__,
  657. `#4698 <https://github.com/jupyterlab/jupyterlab/pull/4698>`__)
  658. - Upgraded yarn to version 1.6. Please note that you must use NodeJS
  659. version 9 or earlier with JupyterLab (i.e., not NodeJS version 10).
  660. We will upgrade yarn, with NodeJS version 10 support, when a `bug in
  661. yarn <https://github.com/yarnpkg/yarn/issues/5935>`__ is fixed.
  662. (`#4804 <https://github.com/jupyterlab/jupyterlab/pull/4804>`__)
  663. - Various process utilities were moved to ``jupyterlab_server``.
  664. (`#4696 <https://github.com/jupyterlab/jupyterlab/pull/4696>`__)
  665. Other fixes
  666. ^^^^^^^^^^^
  667. - Fixed a rendering bug with the Launcher in single-document mode.
  668. (`#4805 <https://github.com/jupyterlab/jupyterlab/pull/4805>`__)
  669. - Fixed a bug where the native context menu could not be triggered in a
  670. notebook cell in Chrome.
  671. (`#4720 <https://github.com/jupyterlab/jupyterlab/pull/4720>`__)
  672. - Fixed a bug where the cursor would not show up in the dark theme.
  673. (`#4699 <https://github.com/jupyterlab/jupyterlab/pull/4699>`__)
  674. - Fixed a bug preventing relative links from working correctly in
  675. alternate ``IDrive``\ s.
  676. (`#4613 <https://github.com/jupyterlab/jupyterlab/pull/4613>`__)
  677. - Fixed a bug breaking the image viewer upon saving the image.
  678. (`#4602 <https://github.com/jupyterlab/jupyterlab/pull/4602>`__)
  679. - Fixed the font size for code blocks in notebook Markdown headers.
  680. (`#4617 <https://github.com/jupyterlab/jupyterlab/pull/4617>`__)
  681. - Prevented a memory leak when repeatedly rendering a Vega chart.
  682. (`#4904 <https://github.com/jupyterlab/jupyterlab/pull/4904>`__)
  683. - Support dropped terminal connection re-connecting.
  684. (`#4763 <https://github.com/jupyterlab/jupyterlab/issues/4763>`__,
  685. `#4802 <https://github.com/jupyterlab/jupyterlab/pull/4802>`__)
  686. - Use ``require.ensure`` in ``vega4-extension`` to lazily load
  687. ``vega-embed`` and its dependencies on first render.
  688. (`#4706 <https://github.com/jupyterlab/jupyterlab/pull/4706>`__)
  689. - Relative links to documents that include anchor tags will now
  690. correctly scroll the document to the right place.
  691. (`#4692 <https://github.com/jupyterlab/jupyterlab/pull/4692>`__)
  692. - Fix default settings JSON in setting editor.
  693. (`#4591 <https://github.com/jupyterlab/jupyterlab/issues/4591>`__,
  694. `#4595 <https://github.com/jupyterlab/jupyterlab/pull/4595>`__)
  695. - Fix setting editor pane layout’s stretch factor.
  696. (`#2971 <https://github.com/jupyterlab/jupyterlab/issues/2971>`__,
  697. `#4772 <https://github.com/jupyterlab/jupyterlab/pull/4772>`__)
  698. - Programmatically set settings are now output with nicer formatting.
  699. (`#4870 <https://github.com/jupyterlab/jupyterlab/pull/4870>`__)
  700. - Fixed a bug in displaying one-line CSV files.
  701. (`#4795 <https://github.com/jupyterlab/jupyterlab/issues/4795>`__,
  702. `#4796 <https://github.com/jupyterlab/jupyterlab/pull/4796>`__)
  703. - Fixed a bug where JSON arrays in rich outputs were collapsed into
  704. strings.
  705. (`#4480 <https://github.com/jupyterlab/jupyterlab/pull/4480>`__)
  706. `Beta 2 (v0.32.0) <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.32.0>`__
  707. ------------------------------------------------------------------------------------
  708. Apr 16, 2018
  709. ^^^^^^^^^^^^
  710. This is the second in the JupyterLab Beta series of releases. It
  711. contains many enhancements, bugfixes, and refinements, including:
  712. - Better handling of a corrupted or invalid state database.
  713. (`#3619 <https://github.com/jupyterlab/jupyterlab/issues/3619>`__,
  714. `#3622 <https://github.com/jupyterlab/jupyterlab/issues/3622>`__,
  715. `#3687 <https://github.com/jupyterlab/jupyterlab/issues/3687>`__,
  716. `#4114 <https://github.com/jupyterlab/jupyterlab/issues/4114>`__).
  717. - Fixing file dirty status indicator.
  718. (`#3652 <https://github.com/jupyterlab/jupyterlab/issues/3652>`__).
  719. - New option for whether to autosave documents.
  720. (`#3734 <https://github.com/jupyterlab/jupyterlab/issues/3734>`__).
  721. - More commands in the notebook context menu.
  722. (`#3770 <https://github.com/jupyterlab/jupyterlab/issues/3770>`__,
  723. `#3909 <https://github.com/jupyterlab/jupyterlab/issues/3909>`__)
  724. - Defensively checking for completion metadata from kernels.
  725. (`#3888 <https://github.com/jupyterlab/jupyterlab/issues/3888>`__)
  726. - New “Shutdown all” button in the Running panel.
  727. (`#3764 <https://github.com/jupyterlab/jupyterlab/issues/3764>`__)
  728. - Performance improvements wherein non-focused documents poll the
  729. server less.
  730. (`#3931 <https://github.com/jupyterlab/jupyterlab/issues/3931>`__)
  731. - Changing the keyboard shortcut for singled-document-mode to something
  732. less easy to trigger.
  733. (`#3889 <https://github.com/jupyterlab/jupyterlab/issues/3889>`__)
  734. - Performance improvements for rendering text streams, especially
  735. around progress bars.
  736. (`#4045 <https://github.com/jupyterlab/jupyterlab/issues/4045>`__).
  737. - Canceling a “Restart Kernel” now functions correctly.
  738. (`#3703 <https://github.com/jupyterlab/jupyterlab/issues/3703>`__).
  739. - Defer loading file contents until after the application has been
  740. restored.
  741. (`#4087 <https://github.com/jupyterlab/jupyterlab/issues/4087>`__).
  742. - Ability to rotate, flip, and invert images in the image viewer.
  743. (`#4000 <https://github.com/jupyterlab/jupyterlab/issues/4000>`__)
  744. - Major performance improvements for large CSV viewing.
  745. (`#3997 <https://github.com/jupyterlab/jupyterlab/issues/3997>`__).
  746. - Always show the context menu in the file browser, even for an empty
  747. directory.
  748. (`#4264 <https://github.com/jupyterlab/jupyterlab/issues/4264>`__).
  749. - Handle asynchronous comm messages in the services library more
  750. correctly (Note: this means ``@jupyterlab/services`` is now at
  751. version 2.0!)
  752. (`[#4115](https://github.com/jupyterlab/jupyterlab/issues/4115) <https://github.com/jupyterlab/jupyterlab/pull/4115>`__).
  753. - Display the kernel banner in the console when a kernel is restarted
  754. to mark the restart
  755. (`[#3663](https://github.com/jupyterlab/jupyterlab/issues/3663) <https://github.com/jupyterlab/jupyterlab/pull/3663>`__).
  756. - Many tweaks to the UI, as well as better error handling.
  757. `Beta 1 (v0.31.0) <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.31.0>`__
  758. ------------------------------------------------------------------------------------
  759. Jan 11, 2018
  760. ^^^^^^^^^^^^
  761. - Add a ``/tree`` handler and ``Copy Shareable Link`` to file listing
  762. right click menu: https://github.com/jupyterlab/jupyterlab/pull/3396
  763. - Experimental support for saved workspaces:
  764. `#3490 <https://github.com/jupyterlab/jupyterlab/issues/3490>`__,
  765. `#3586 <https://github.com/jupyterlab/jupyterlab/issues/3586>`__
  766. - Added types information to the completer:
  767. `#3508 <https://github.com/jupyterlab/jupyterlab/issues/3508>`__
  768. - More improvements to the top level menus:
  769. https://github.com/jupyterlab/jupyterlab/pull/3344
  770. - Editor settings for notebook cells:
  771. https://github.com/jupyterlab/jupyterlab/pull/3441
  772. - Simplification of theme extensions:
  773. https://github.com/jupyterlab/jupyterlab/pull/3423
  774. - New CSS variable naming scheme:
  775. https://github.com/jupyterlab/jupyterlab/pull/3403
  776. - Improvements to cell selection and dragging:
  777. https://github.com/jupyterlab/jupyterlab/pull/3414
  778. - Style and typography improvements:
  779. https://github.com/jupyterlab/jupyterlab/pull/3468
  780. https://github.com/jupyterlab/jupyterlab/pull/3457
  781. https://github.com/jupyterlab/jupyterlab/pull/3445
  782. https://github.com/jupyterlab/jupyterlab/pull/3431
  783. https://github.com/jupyterlab/jupyterlab/pull/3428
  784. https://github.com/jupyterlab/jupyterlab/pull/3408
  785. https://github.com/jupyterlab/jupyterlab/pull/3418
  786. `v0.30.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.30.0>`__
  787. ---------------------------------------------------------------------------
  788. Dec 05, 2017
  789. ^^^^^^^^^^^^
  790. - Semantic menus: https://github.com/jupyterlab/jupyterlab/pull/3182
  791. - Settings editor now allows comments and provides setting validation:
  792. https://github.com/jupyterlab/jupyterlab/pull/3167
  793. - Switch to Yarn as the package manager:
  794. https://github.com/jupyterlab/jupyterlab/pull/3182
  795. - Support for carriage return in outputs:
  796. `#2761 <https://github.com/jupyterlab/jupyterlab/issues/2761>`__
  797. - Upgrade to TypeScript 2.6:
  798. https://github.com/jupyterlab/jupyterlab/pull/3288
  799. - Cleanup of the build, packaging, and extension systems.
  800. ``jupyter labextension install`` is now the recommended way to
  801. install a local directory. Local directories are considered linked to
  802. the application. cf
  803. https://github.com/jupyterlab/jupyterlab/pull/3182
  804. - ``--core-mode`` and ``--dev-mode`` are now semantically different.
  805. ``--core-mode`` is a version of JupyterLab using released JavaScript
  806. packages and is what we ship in the Python package. ``--dev-mode`` is
  807. for unreleased JavaScript and shows the red banner at the top of the
  808. page. https://github.com/jupyterlab/jupyterlab/pull/3270
  809. `v0.29.2 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.29.2>`__
  810. ---------------------------------------------------------------------------
  811. Nov 17, 2017
  812. ^^^^^^^^^^^^
  813. Bug fix for file browser right click handling.
  814. https://github.com/jupyterlab/jupyterlab/issues/3019
  815. `v0.29.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.29.0>`__
  816. ---------------------------------------------------------------------------
  817. Nov 09, 2017
  818. ^^^^^^^^^^^^
  819. - Create new view of cell in cell context menu.
  820. `#3159 <https://github.com/jupyterlab/jupyterlab/issues/3159>`__
  821. - New Renderers for VDOM and JSON mime types and files.
  822. `#3157 <https://github.com/jupyterlab/jupyterlab/issues/3157>`__
  823. - Switch to React for our VDOM implementation. Affects the
  824. ``VDomRenderer`` class.
  825. `#3133 <https://github.com/jupyterlab/jupyterlab/issues/3133>`__
  826. - Standalone Cell Example.
  827. `#3155 <https://github.com/jupyterlab/jupyterlab/issues/3155>`__
  828. `v0.28.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.28.0>`__
  829. ---------------------------------------------------------------------------
  830. Oct 16, 2017
  831. ^^^^^^^^^^^^
  832. This release generally focuses on developer and extension author
  833. enhancements and general bug fixes.
  834. - Plugin id and schema file conventions change.
  835. https://github.com/jupyterlab/jupyterlab/pull/2936.
  836. - Theme authoring conventions change.
  837. `#3061 <https://github.com/jupyterlab/jupyterlab/issues/3061>`__
  838. - Enhancements to enabling and disabling of extensions.
  839. `#3078 <https://github.com/jupyterlab/jupyterlab/issues/3078>`__
  840. - Mime extensions API change (``name`` -> ``id`` and new naming
  841. convention).
  842. `#3078 <https://github.com/jupyterlab/jupyterlab/issues/3078>`__
  843. - Added a ``jupyter lab --watch`` mode for extension authors.
  844. `#3077 <https://github.com/jupyterlab/jupyterlab/issues/3077>`__
  845. - New comprehensive extension authoring tutorial.
  846. `#2921 <https://github.com/jupyterlab/jupyterlab/issues/2921>`__
  847. - Added the ability to use an alternate LaTeX renderer.
  848. `#2974 <https://github.com/jupyterlab/jupyterlab/issues/2974>`__
  849. - Numerous bug fixes and style enhancements.
  850. `v0.27.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.27.0>`__
  851. ---------------------------------------------------------------------------
  852. Aug 23, 2017
  853. ^^^^^^^^^^^^
  854. - Added support for dynamic theme loading.
  855. https://github.com/jupyterlab/jupyterlab/pull/2759
  856. - Added an application splash screen.
  857. https://github.com/jupyterlab/jupyterlab/pull/2899
  858. - Enhancements to the settings editor.
  859. https://github.com/jupyterlab/jupyterlab/pull/2784
  860. - Added a PDF viewer.
  861. `#2867 <https://github.com/jupyterlab/jupyterlab/issues/2867>`__
  862. - Numerous bug fixes and style improvements.
  863. `v0.26.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.26.0>`__
  864. ---------------------------------------------------------------------------
  865. Jul 21, 2017
  866. ^^^^^^^^^^^^
  867. - Implemented server side handling of users settings:
  868. https://github.com/jupyterlab/jupyterlab/pull/2585
  869. - Revamped the handling of file types in the application - affects
  870. document and mime renderers:
  871. https://github.com/jupyterlab/jupyterlab/pull/2701
  872. - Updated dialog API - uses virtual DOM instead of raw DOM nodes and
  873. better use of the widget lifecycle:
  874. https://github.com/jupyterlab/jupyterlab/pull/2661
  875. `v0.25.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.25.0>`__
  876. ---------------------------------------------------------------------------
  877. Jul 07, 2017
  878. ^^^^^^^^^^^^
  879. - Added a new extension type for mime renderers, with the
  880. ``vega2-extension`` as a built-in example. Also overhauled the
  881. rendermime interfaces.
  882. https://github.com/jupyterlab/jupyterlab/pull/2488
  883. https://github.com/jupyterlab/jupyterlab/pull/2555
  884. https://github.com/jupyterlab/jupyterlab/pull/2595
  885. - Finished JSON-schema based settings system, using client-side storage
  886. for now. https://github.com/jupyterlab/jupyterlab/pull/2411
  887. - Overhauled the launcher design.
  888. https://github.com/jupyterlab/jupyterlab/pull/2506
  889. https://github.com/jupyterlab/jupyterlab/pull/2580
  890. - Numerous bug fixes and style updates.
  891. `v0.24.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.24.0>`__
  892. ---------------------------------------------------------------------------
  893. Jun 16, 2017
  894. ^^^^^^^^^^^^
  895. - Overhaul of the launcher.
  896. `#2380 <https://github.com/jupyterlab/jupyterlab/issues/2380>`__
  897. - Initial implementation of client-side settings system.
  898. `#2157 <https://github.com/jupyterlab/jupyterlab/issues/2157>`__
  899. - Updatable outputs.
  900. `#2439 <https://github.com/jupyterlab/jupyterlab/issues/2439>`__
  901. - Use new Phosphor Datagrid for CSV viewer.
  902. `#2433 <https://github.com/jupyterlab/jupyterlab/issues/2433>`__
  903. - Added ability to enable/disable extensions without rebuilding.
  904. `#2409 <https://github.com/jupyterlab/jupyterlab/issues/2409>`__
  905. - Added language and tab settings for the file viewer.
  906. `#2406 <https://github.com/jupyterlab/jupyterlab/issues/2406>`__
  907. - Improvements to real time collaboration experience.
  908. `#2387 <https://github.com/jupyterlab/jupyterlab/issues/2387>`__
  909. `#2333 <https://github.com/jupyterlab/jupyterlab/issues/2333>`__
  910. - Compatibility checking for extensions.
  911. `#2410 <https://github.com/jupyterlab/jupyterlab/issues/2410>`__
  912. - Numerous bug fixes and style improvements.
  913. `v0.23.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.23.0>`__
  914. ---------------------------------------------------------------------------
  915. Jun 02, 2017
  916. ^^^^^^^^^^^^
  917. - Chat box feature. https://github.com/jupyterlab/jupyterlab/pull/2118
  918. - Collaborative cursors.
  919. https://github.com/jupyterlab/jupyterlab/pull/2139
  920. - Added concept of Drive to ContentsManager.
  921. https://github.com/jupyterlab/jupyterlab/pull/2248
  922. - Refactored to enable switching the theme.
  923. https://github.com/jupyterlab/jupyterlab/pull/2283
  924. - Clean up the APIs around kernel execution.
  925. https://github.com/jupyterlab/jupyterlab/pull/2266
  926. - Various bug fixes and style improvements.
  927. `v0.22.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.22.0>`__
  928. ------------------------------------------------------------------------------------
  929. May 18, 2017
  930. ^^^^^^^^^^^^
  931. - Export To… for notebooks.
  932. https://github.com/jupyterlab/jupyterlab/pull/2200
  933. - Change kernel by clicking on the kernel name in the notebook.
  934. https://github.com/jupyterlab/jupyterlab/pull/2195
  935. - Improved handling of running code in text editors.
  936. https://github.com/jupyterlab/jupyterlab/pull/2191
  937. - Can select file in file browser by typing:
  938. https://github.com/jupyterlab/jupyterlab/pull/2190
  939. - Ability to open a console for a notebook.
  940. https://github.com/jupyterlab/jupyterlab/pull/2189
  941. - Upgrade to Phosphor 1.2 with Command Palette fuzzy matching
  942. improvements.
  943. `#1182 <https://github.com/jupyterlab/jupyterlab/issues/1182>`__
  944. - Rename of widgets that had ``Widget`` in the name and associated
  945. package names. https://github.com/jupyterlab/jupyterlab/pull/2177
  946. - New ``jupyter labhub`` command to launch JupyterLab on JupyterHub:
  947. https://github.com/jupyterlab/jupyterlab/pull/2222
  948. - Removed the ``utils`` from ``@jupyterlab/services`` in favor of
  949. ``PageConfig`` and ``ServerConnection``.
  950. https://github.com/jupyterlab/jupyterlab/pull/2173
  951. https://github.com/jupyterlab/jupyterlab/pull/2185
  952. - Cleanup, bug fixes, and style updates.
  953. `v0.20.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.20.0>`__
  954. ------------------------------------------------------------------------------------
  955. Apr 21, 2017
  956. ^^^^^^^^^^^^
  957. Release Notes:
  958. - Overhaul of extension handling, see updated docs for
  959. `users <https://github.com/jupyterlab/jupyterlab/blob/dd83a2e4be8bf23c610c163afe4b480215514764/tutorial/extensions_user.md>`__
  960. and
  961. `developers <https://github.com/jupyterlab/jupyterlab/blob/dd83a2e4be8bf23c610c163afe4b480215514764/tutorial/extensions_dev.md>`__.
  962. https://github.com/jupyterlab/jupyterlab/pull/2023
  963. - Added single document mode and a ``Tabs`` sidebar.
  964. https://github.com/jupyterlab/jupyterlab/pull/2037
  965. - More work toward real time collaboration - implemented a model
  966. database interface that can be in-memory by real time backends.
  967. https://github.com/jupyterlab/jupyterlab/pull/2039
  968. Numerous bug fixes and improvements.
  969. `v0.19.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.19.0>`__
  970. ------------------------------------------------------------------------------------------
  971. Apr 04, 2017
  972. ^^^^^^^^^^^^
  973. Mainly backend-focused release with compatibility with Phosphor 1.0 and
  974. a big refactor of session handling (the ClientSession class) that
  975. provides a simpler object for classes like notebooks, consoles,
  976. inspectors, etc. to use to communicate with the API. Also includes
  977. improvements to the development workflow of JupyterLab itself after the
  978. big split.
  979. https://github.com/jupyterlab/jupyterlab/pull/1984
  980. https://github.com/jupyterlab/jupyterlab/pull/1927
  981. `v0.18.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.18.0>`__
  982. ------------------------------------------------------------------------------------------
  983. Mar 21, 2017
  984. ^^^^^^^^^^^^
  985. - Split the repository into multiple packages that are managed using
  986. the lerna build tool.
  987. https://github.com/jupyterlab/jupyterlab/issues/1773
  988. - Added restoration of main area layout on refresh.
  989. https://github.com/jupyterlab/jupyterlab/pull/1880
  990. - Numerous bug fixes and style updates.
  991. `v0.17.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.17.0>`__
  992. ------------------------------------------------------------------------------------
  993. Mar 01, 2017
  994. ^^^^^^^^^^^^
  995. - Upgrade to new ``@phosphor`` packages - brings a new Command Palette
  996. interaction that should be more intuitive, and restores the ability
  997. to drag to dock panel edges
  998. https://github.com/jupyterlab/jupyterlab/pull/1762.
  999. - Refactor of ``RenderMime`` and associated renders to use live models.
  1000. See https://github.com/jupyterlab/jupyterlab/pull/1709 and
  1001. https://github.com/jupyterlab/jupyterlab/issues/1763.
  1002. - Improvements and bug fixes for the completer widget:
  1003. https://github.com/jupyterlab/jupyterlab/pull/1778
  1004. - Upgrade CodeMirror to 5.23:
  1005. https://github.com/jupyterlab/jupyterlab/pull/1764
  1006. - Numerous style updates and bug fixes.
  1007. `v0.16.0 <https://github.com/jupyterlab/jupyterlab/releases/tag/v0.16.0>`__
  1008. ----------------------------------------------------------------------------------------
  1009. Feb 09, 2017
  1010. ^^^^^^^^^^^^
  1011. - Adds a Cell Tools sidebar that allows you to edit notebook cell
  1012. metadata.
  1013. `#1586 <https://github.com/jupyterlab/jupyterlab/issues/1586>`__.
  1014. - Adds keyboard shortcuts to switch between tabs (Cmd/Ctrl LeftArrow
  1015. and Cmd/Ctrl RightArrow).
  1016. `#1647 <https://github.com/jupyterlab/jupyterlab/issues/1647>`__
  1017. - Upgrades to xterm.js 2.3.
  1018. `#1664 <https://github.com/jupyterlab/jupyterlab/issues/1664>`__
  1019. - Fixes a bug in application config, but lab extensions will need to be
  1020. re-enabled.
  1021. `#1607 <https://github.com/jupyterlab/jupyterlab/issues/1607>`__
  1022. - Numerous other bug fixes and style improvements.