Skip to content

Update jupytext to 1.16.4#252

Open
pyup-bot wants to merge 1 commit into
masterfrom
pyup-update-jupytext-1.6.0-to-1.16.4
Open

Update jupytext to 1.16.4#252
pyup-bot wants to merge 1 commit into
masterfrom
pyup-update-jupytext-1.6.0-to-1.16.4

Conversation

@pyup-bot

Copy link
Copy Markdown
Collaborator

This PR updates jupytext from 1.6.0 to 1.16.4.

Changelog

1.16.4

-------------------

**Fixed**
- We use `asyncio.iscoroutinefunction` to determine whether the current contents manager is sync or async ([1260](https://github.com/mwouts/jupytext/issues/1260))

1.16.3

-------------------

**Fixed**
- We use `inspect` to determine whether the current contents manager derives from `AsyncContentsManager` (which is not
supported by Jupytext at the moment). This fixes a compatibility issue with `jupyter-fs==1.0.0` ([1239](https://github.com/mwouts/jupytext/issues/1239)). Thanks to [Mahendra Paipuri](https://github.com/mahendrapaipuri) for this PR!
- We have fixed a typo when `build_jupytext_contents_manager_class` can't be imported ([1162](https://github.com/mwouts/jupytext/issues/1162))
- A Python 3.13 deprecation warning was fixed [1241](https://github.com/mwouts/jupytext/pull/1241) - thanks to [Jerry James](https://github.com/jamesjer)
- We have fixed a typo when `build_jupytext_contents_manager_class` can't be imported ([1162](https://github.com/mwouts/jupytext/issues/1162))
- Some dependencies of the JupyterLab extensions were updated ([1243](https://github.com/mwouts/jupytext/issues/1243), [#1245](https://github.com/mwouts/jupytext/issues/1245))

**Added**
- Lua notebooks are now supported ([1252](https://github.com/mwouts/jupytext/pull/1252)) - thanks to [erentar](https://github.com/erentar) for this contribution
- Go notebooks are supported too ([1244](https://github.com/mwouts/jupytext/issues/1244))! Many thanks to [Jan Pfeifer](https://github.com/janpfeifer), author of [GoNB](https://github.com/janpfeifer/gonb), and to [HaveF](https://github.com/HaveF) for their help on this topic.
- Empty prefixes are now allowed in Jupytext format when specified as a dictionary ([1144](https://github.com/mwouts/jupytext/issues/1144))

**Changed**
- We've had to deactivate the tests on the Quarto format in the CI as the Quarto round trip
might now add a Markdown cell to the notebook ([1255](https://github.com/mwouts/jupytext/issues/1255))

1.16.2

-------------------

**Added**
- Added support for Xonsh notebooks ([1213](https://github.com/mwouts/jupytext/pull/1213)) - thanks to [Jeffrey Odongo](https://github.com/jsquaredosquared) for this contribution

**Changed**
- By default, the JupyterLab extension for Jupytext is not included in the build (set `HATCH_BUILD_HOOKS_ENABLE=true` to include it). This simplifies the installation of Jupytext in pre-commit hooks ([1210](https://github.com/mwouts/jupytext/issues/1210))
- Temporary text notebooks for the `--pipe` or `--check` commands are now created in the notebook directory ([1206](https://github.com/mwouts/jupytext/issues/1206))
- Jupytext uses the standard library `tomllib` in Python 3.11, or `tomli` in Python 3.10 or older, to match JupyterLab's dependencies ([1195](https://github.com/mwouts/jupytext/issues/1195))
- The dependencies of the JupyterLab extension were updated ([1216](https://github.com/mwouts/jupytext/issues/1216), [#1218](https://github.com/mwouts/jupytext/issues/1218), [#1231](https://github.com/mwouts/jupytext/issues/1231))
- `jupytext --sync` will not update the timestamp of text notebooks if their content is unchanged ([1215](https://github.com/mwouts/jupytext/issues/1215))


**Fixed**
- Jupytext is now tested with `pandoc>=3.0`. Please note that switching to `pandoc>=3.0` will add cell ids to your `pandoc:md` notebooks ([1006](https://github.com/mwouts/jupytext/issues/1006))

1.16.1

-------------------

**Changed**
- The CI has been updated. Thanks to [Christian Le](https://github.com/LecrisUT) for taking care of this! ([#1190](https://github.com/mwouts/jupytext/issues/1190), [#1204](https://github.com/mwouts/jupytext/issues/1204))

**Fixed**
- Fixed an issue about unpairing notebooks from the Jupytext Menu ([1197](https://github.com/mwouts/jupytext/issues/1197))
- JupyterLab's dependency `follow-redirects` was updated from 1.15.3 to 1.15.4 ([1203](https://github.com/mwouts/jupytext/issues/1203))

1.16.0

-------------------

**Added**
- The Jupytext Menu is back! And text notebooks can be created directly from the launcher. This is an outstanding contribution by [Mahendra Paipuri](https://github.com/mahendrapaipuri) ([#1154](https://github.com/mwouts/jupytext/issues/1154), [#1163](https://github.com/mwouts/jupytext/issues/1163)). This requires JupyterLab 4.x or Jupyter Notebook 7.x.

**Changed**
- Jupytext is now configured with `pyproject.toml` and built with `hatch`. The layout has been reorganised to follow `src-layout` ([1140](https://github.com/mwouts/jupytext/issues/1140)). This is another outstanding contribution by [Mahendra Paipuri](https://github.com/mahendrapaipuri).
- The tests are now part of the `sdist`. They have been reorganized into unit/functional/integration/external ([1167](https://github.com/mwouts/jupytext/issues/1167), [#1173](https://github.com/mwouts/jupytext/issues/1173)).
- The legacy extension for Jupyter Notebook <=6 (the Jupytext Menu) has been removed.

**Fixed**
- The bibliography section in Rmd files does not become a code cell anymore ([1161](https://github.com/mwouts/jupytext/issues/1161))
- Commented code in `active-py` cells is not uncommented anymore ([1131](https://github.com/mwouts/jupytext/issues/1131))
- The test coverage has been restored ([1167](https://github.com/mwouts/jupytext/issues/1167), [#1173](https://github.com/mwouts/jupytext/issues/1173))
- We test Jupytext against the pre-release version of JupyterLab, and other dependencies ([1168](https://github.com/mwouts/jupytext/issues/1168))

1.15.2

-------------------

**Added**
- The Jupyter Lab extension is now compatible with the [JupyterLab RISE](https://github.com/jupyterlab-contrib/rise) extension. Many thanks to [Frédéric Collonval](https://github.com/fcollonval) for his PR ([#1126](https://github.com/mwouts/jupytext/pull/1126))!

1.15.1

-------------------

**Added**
- We have added a new command line interface `jupytext-config` that you can use to set Jupytext as the default viewer for text notebooks in Jupyter Lab and Jupyter Notebook 7. Thanks to [Thierry Parmentelat](https://github.com/parmentelat) for this contribution! ([#1094](https://github.com/mwouts/jupytext/pull/1094))

1.15.0

-------------------

**Changed**
- This version comes with a version of the JupyterLab extension that is compatible with JupyterLab 4.x. Many thanks to [Thierry Parmentelat](https://github.com/parmentelat) for his PRs! ([#1092](https://github.com/mwouts/jupytext/pull/1092), [#1109](https://github.com/mwouts/jupytext/pull/1109))
- Pandoc 3.0 is now supported, thanks to [Raniere Silva](https://github.com/rgaiacs) for his PR ([#1099](https://github.com/mwouts/jupytext/pull/1099))
- We have reorganized the documentation and the README.md ([1031](https://github.com/mwouts/jupytext/issues/1031), [#1073](https://github.com/mwouts/jupytext/issues/1073))
- Invalid `pyproject.toml` files will be ignored by Jupytext in Jupyter ([1103](https://github.com/mwouts/jupytext/issues/1103))
- We have updated the pre-commit tools

1.14.7

-------------------

**Changed**
- We have updated the GitHub workflows - thanks to Matthew Feickert and to Cristian Le for their help on this subject ([1037](https://github.com/mwouts/jupytext/issues/1037))
- We have removed the upper bound on `markdown-it-py<3`. Now we test Jupytext with `markdown-it-py` in versions `2.x` and `3.x` on the CI ([1075](https://github.com/mwouts/jupytext/issues/1075))

**Fixed**
- Notebooks with an empty YAML header work ([1070](https://github.com/mwouts/jupytext/issues/1070))
- Double quote strings in R Markdown options can contain single quotes ([1079](https://github.com/mwouts/jupytext/issues/1079))
- The necessary directories are created when paired notebooks are moved to a sub-folder ([1059](https://github.com/mwouts/jupytext/issues/1059))
- Commented quotes are recognized as such ([1060](https://github.com/mwouts/jupytext/issues/1060))
- Jupytext can use either `pkg_resources` or `packaging` to parse version numbers ([1085](https://github.com/mwouts/jupytext/issues/1085))

1.14.6

-------------------

**Changed**
- This version comes with a build requirement `jupyterlab>=3,<4`, as the Jupyterlab
extension for Jupytext is not compatible with JupyterLab 4 yet ([1054](https://github.com/mwouts/jupytext/issues/1054))
- The JupyterLab extension was released to `npm` in version 1.3.9.

1.14.5

-------------------

**Added**
- Added Stata as a supported language ([1027](https://github.com/mwouts/jupytext/pull/1027)) - thanks to [Raffaele Mancuso](https://github.com/raffaem) for this contribution
- Added SAS as a supported language ([1047](https://github.com/mwouts/jupytext/pull/1047)) - thanks to [lawrencet149](https://github.com/lawrencet149) for this contribution
- We have added a series of test to make sure that the main formats support cell tags ([1024](https://github.com/mwouts/jupytext/issues/1024))

**Fixed**
- When a metadata key is not a valid identifier, a warning is emitted and the metadata is not saved to the text representation ([1042](https://github.com/mwouts/jupytext/issues/1042))
- The CI was fixed by [Matthew Feickert](https://github.com/matthewfeickert) ([#1035](https://github.com/mwouts/jupytext/pull/1035))
- We now use `concurrency` to cancel previous runs on the same branch/PR ([1037](https://github.com/mwouts/jupytext/issues/1037))
- We use both `codecov.notify.after_n_builds` and `comment.after_n_builds` to get only the final codecov comment

**Changed**
- Empty tags are not exported to the text notebook anymore ([960](https://github.com/mwouts/jupytext/issues/960))
- We updated the `yarn.lock` file for the jupyter lab extension to address security vulnerabilities ([1030](https://github.com/mwouts/jupytext/issues/1030), [#1036](https://github.com/mwouts/jupytext/issues/1036))
- In the pre-commit tests we now use `main` for the main branch

1.14.4

-------------------

**Added**
- Added Wolfram Language as a supported language ([1014](https://github.com/mwouts/jupytext/issues/1014)) - thanks to [Etienne Dechamps](https://github.com/dechamps) for this contribution

1.14.3

-------------------

**Fixed**
- When the default contents manager is _async_ (i.e. `jupyter_server>=2.0.0`), the Jupyter server extension for Jupytext derives a contents manager from `LargeFileManager` instead, as async contents managers are not supported by Jupytext at the moment ([1020](https://github.com/mwouts/jupytext/issues/1020))
- We have made adjustments on the CI as flake8 was moved to GitHub, and Python 3.6 is not available anymore on `ubuntu-latest`

1.14.2

-------------------

**Fixed**
- The sample notebooks have been normalized with `nbformat.validator.normalize` ([1002](https://github.com/mwouts/jupytext/issues/1002)).
- The warnings in the test suite that we cannot fix are filtered using a new `pytest.ini` file
- We updated the `yarn.lock` file for the jupyter lab extension to address security vulnerabilities ([984](https://github.com/mwouts/jupytext/issues/984), [#1005](https://github.com/mwouts/jupytext/issues/1005), [#1011](https://github.com/mwouts/jupytext/issues/1011))

**Changed**
- The CI uses Python 3.9 rather than 3.7 when testing conda environments

**Added**
- Gnuplot is now supported ([998](https://github.com/mwouts/jupytext/issues/998)) - thanks to [razimantv](https://github.com/razimantv) for this contribution
- We now test Jupytext against Python 3.6 to 3.11 on the CI
- We have added a test to document how to use the folder and prefix matching when pairing notebooks ([974](https://github.com/mwouts/jupytext/issues/974))

1.14.1

-------------------

**Fixed**
- The timestamp of a paired notebook is the timestamp of the most recent paired file. This fixes the warning "File Changed"
after reloading the notebook in Jupyter ([978](https://github.com/mwouts/jupytext/issues/978)).

1.14.0

-------------------

**Changed**
- The Jupytext configuration file has a new option `cm_config_log_level` that defaults to `info_if_changed`.
With that value, the contents manager will log a line regarding the configuration file used only when the
config file is not the same as the one previously used ([959](https://github.com/mwouts/jupytext/issues/959)) -
many thanks to R.C. Thomas for suggesting this and thoughtfully testing the patch.
- Hidden configuration files like `.jupytext.toml` or `.jupytext.py` are now ignored by Jupytext's contents manager
when `allow_hidden=False` (that option was introduced in `jupyter_server==2.0.0a1`) ([964](https://github.com/mwouts/jupytext/issues/964)).
- We have changed `jupytext --set-formats` to make it more similar to `jupytext --sync`. Now `--set-formats` will not
override existing paired files anymore ([969](https://github.com/mwouts/jupytext/issues/969)).

**Added**
- We have added a test `test_pre_commit_hook_sync_with_no_config` that documents how to use the pre-commit hook without
a configuration file ([967](https://github.com/mwouts/jupytext/issues/967))

1.13.8

-------------------

**Fixed**
- Text-only notebooks are always trusted (as they don't include any output cells) ([941](https://github.com/mwouts/jupytext/issues/941))
- We made sure that our tests also work in absence of a Python kernel ([906](https://github.com/mwouts/jupytext/issues/906))
- The coverage of the `tests` folder has been restored at 100%
- Bash commands like `!{cmd}` are now correctly escaped in the `py:percent` format ([938](https://github.com/mwouts/jupytext/issues/938))

**Added**
- Added Tcl as a supported language ([930](https://github.com/mwouts/jupytext/issues/930)) - thanks to [shishitao](https://github.com/shishitao) for this contribution
- Added Maxima as a supported language ([927](https://github.com/mwouts/jupytext/issues/927)) - thanks to [Alberto Lusiani](https://github.com/alusiani) for contributing a sample Maxima notebook.

**Changed**
- The Jupytext contents manager is derived from the `LargeFileManager` imported from `jupyter_server` rathen than `notebook` ([933](https://github.com/mwouts/jupytext/issues/933))
- Allow for markdown-it-py v2 ([924](https://github.com/mwouts/jupytext/issues/924))
- We have updated the hooks used in the test pre-commits, to fix an issue on the CI ([940](https://github.com/mwouts/jupytext/issues/940), [#942](https://github.com/mwouts/jupytext/issues/942))
- We updated the `yarn.lock` file for the jupyter lab extension to address security vulnerabilities ([904](https://github.com/mwouts/jupytext/issues/904), [#925](https://github.com/mwouts/jupytext/issues/925), [#935](https://github.com/mwouts/jupytext/issues/935), [#939](https://github.com/mwouts/jupytext/issues/939))

1.13.7

-------------------

**Fixed**
- The Jupytext CLI only suggest `--update` when the target is an .ipynb file ([905](https://github.com/mwouts/jupytext/issues/905)) - thanks to [st--](https://github.com/st--) for this contribution
- We made sure that commands like `cat notebook.md | jupytext --execute` work ([908](https://github.com/mwouts/jupytext/issues/908))

**Added**
- Added Haskell as supported language ([909](https://github.com/mwouts/jupytext/issues/909)) - thanks to [codeweber](https://github.com/codeweber) for this contribution

**Changed**
- We have updated the pre-commit hooks and in particular we switched to the first stable version of `black==22.1.0`.
- We require `pandoc==2.16.2` for testing. The representation for code cells changed from `  {.python}` to `  python` in that version of Pandoc ([906](https://github.com/mwouts/jupytext/issues/906)). We don't use `pandoc>=2.17` in tests at the moment because of the introduction of cell ids that cannot be filtered.
- Jupytext will not add anymore a UTF-8 encoding on Python scripts when the notebook contains non-ascii characters ([907](https://github.com/mwouts/jupytext/issues/907))
- We have added `pyupgrade` to the pre-commit hooks used for developing Jupytext ([907](https://github.com/mwouts/jupytext/issues/907))

1.13.6

-------------------

**Fixed**
- The `text_representation` metadata of text notebooks is filtered from `.ipynb` files both in `jupytext.write` and in the contents manager for Jupyter ([900](https://github.com/mwouts/jupytext/issues/900))

**Changed**
- Jupytext will not issue a warning when a format suffix starting with '.', '-' or '_' is passed to the `--to` option ([901](https://github.com/mwouts/jupytext/issues/901))

1.13.5

-------------------

**Fixed**
- Jupytext will not open a text notebook that is not UTF-8 ([896](https://github.com/mwouts/jupytext/issues/896))

1.13.4

-------------------

**Changed**
- The test suite filters the warnings that don't belong to Jupytext ([823](https://github.com/mwouts/jupytext/issues/823))

**Fixed**
- The parsing of notebooks that don't have a YAML header (like `docs/formats.md`) was improved.
- The test suite works with `pytest-randomly` ([838](https://github.com/mwouts/jupytext/issues/838))

1.13.3

-------------------

**Changed**
- The "Jupytext Notebook" factory that lets the user configure the Notebook viewer as the default for text notebooks accepts more filetypes: "myst", "r-markdown" and "quarto" ([803](https://github.com/mwouts/jupytext/issues/803))
- Empty MyST Markdown files are valid notebooks ([883](https://github.com/mwouts/jupytext/issues/883))
- Jupytext also works with `markdown-it-py` v2.0 ([885](https://github.com/mwouts/jupytext/issues/885))

1.13.2

-------------------

**Changed**
- The extension for Jupyter Lab benefited from a series of improvements contributed by [Frédéric Collonval](https://github.com/fcollonval):
- A new "Jupytext Notebook" factory offers the option to open text notebooks directly with the notebook view ([803](https://github.com/mwouts/jupytext/issues/803)). To use it, follow the instructions in the [documentation](https://github.com/mwouts/jupytext/blob/main/docs/index.md#Install).
- The ICommandPalette is optional, for compatibility with RISE within JupyterLab [RISE[605](https://github.com/mwouts/jupytext/issues/605)](https://github.com/damianavila/RISE/pull/605)
- Added support for translation
- Branch `master` was renamed to `main` (links in the documentation were updated)

1.13.1

-------------------

**Fixed**
- The magic commands in `py:percent` scripts with no explicit format information remain commented over a round trip ([848](https://github.com/mwouts/jupytext/issues/848))

1.13.0

-------------------

**Added**
- The Jupytext CLI has a new `--diff` command to show the differences between two notebooks (and if you want to see the changes in a file being updated by Jupytext, use `--show-changes`) ([799](https://github.com/mwouts/jupytext/issues/799))
- Jupyter will show the diff between text and `ipynb` paired notebooks when it cannot open a paired notebook because the `ipynb` version is more recent. Also, if the inputs in the two files are identical then the notebook will open with no error ([799](https://github.com/mwouts/jupytext/issues/799))
- The `py:percent` format will use raw strings when encoding Markdown cells as string, if they contain backslash characters ([836](https://github.com/mwouts/jupytext/issues/836))

**Fixed**
- We have upgraded the jupyterlab extension dependencies and especially `ansi-regex` to fix a security vulnerability ([857](https://github.com/mwouts/jupytext/issues/857))

**Changed**
- The Jupytext configuration file is reloaded only when a notebook is opened, saved, or when a different folder is explored ([797](https://github.com/mwouts/jupytext/issues/797))

1.12.0

-------------------

**Added**
- Jupytext supports Quarto notebooks (with `.qmd` extension) ([837](https://github.com/mwouts/jupytext/issues/837))
- Jupytext can be configured through the `pyproject.toml` file. Thanks to Robin Brown for this contribution! ([828](https://github.com/mwouts/jupytext/issues/828))
- Jupytext now supports OCaml files with `.ml` extension. Thanks to Quentin Fortier for getting this started ([832](https://github.com/mwouts/jupytext/issues/832))

**Fixed**
- Added more test to make sure that notebooks can be trusted. In practice, notebooks could not be trusted in JupyterLab<3.0.13 because of the absence of cell ids ([826](https://github.com/mwouts/jupytext/issues/826))

1.11.5

-------------------

**Fixed**
- Fixed typos revealed by `codespell` - thanks to hectormz for this contribution ([829](https://github.com/mwouts/jupytext/issues/829))
- We updated the dependencies of the `jupyterlab-jupytext` extension to address several security issues ([842](https://github.com/mwouts/jupytext/issues/842)) ([#843](https://github.com/mwouts/jupytext/issues/843))
- The Jupytext dev environment (`requirements-dev.txt`) now uses `jupyterlab==3.0.17` rather than `3.0.0` because of another security issue ([839](https://github.com/mwouts/jupytext/issues/839))

1.11.4

-------------------

**Changed**
- The documentation illustrates how the `cell_markers` option (and the other ones) can be set directly in the `jupytext.toml` config file ([809](https://github.com/mwouts/jupytext/issues/809)).
- The dependency on `mdit-py-plugins` through `markdown-it-py[plugins]` was made explicit ([814](https://github.com/mwouts/jupytext/issues/814))

**Fixed**
- System assigns of the form `var = !cmd` are commented out ([816](https://github.com/mwouts/jupytext/issues/816))
- Fixed an `InconsistentPath` issue with notebooks paired with scripts in a folder. The prefix in the Jupytext formats always use /, while paths might use either / or \ ([806](https://github.com/mwouts/jupytext/issues/806))
- Tests that cannot succeed are skipped when either the Jupytext folder is not a git repository, when `sphinx-gallery` is too recent, or when `pandoc` is not up-to-date ([814](https://github.com/mwouts/jupytext/issues/814))
- Removed the mention of '--update' in 'jupytext --pipe' since outputs are preserved already

1.11.3

-------------------

**Changed**
- Jupytext CLI has a new option `--use-source-timestamp` that sets the last modification time of the output file equal to that of the source file (this avoids having to change the timestamp of the source file) ([784](https://github.com/mwouts/jupytext/issues/784))
- In the pre-commit mode, Jupytext now uses the commit timestamp to determine which file in the pair is the most recent ([780](https://github.com/mwouts/jupytext/issues/780))


**Fixed**
- Dependencies of the JupyterLab extension have been upgraded to fix a security vulnerability ([798](https://github.com/mwouts/jupytext/pull/798))
- The `--warn-only` option also applies to pipes. Use this if the pipe may fail, e.g. if you apply `black` on a possibly invalid script ([781](https://github.com/mwouts/jupytext/issues/781))
- Variables assigned from a magic command are commented out in `py` scripts ([781](https://github.com/mwouts/jupytext/issues/781))
- Fixed a round-trip issue on notebooks that have None/null in their metadata ([792](https://github.com/mwouts/jupytext/issues/792))

1.11.2

-------------------

**Changed**
- Jupytext's dependency markdown-it-py is now in v1 ([769](https://github.com/mwouts/jupytext/issues/769))
- The optional argument `fmt` in `jupytext.reads` now has the default value `None` - thanks to Yuvi Panda ([763](https://github.com/mwouts/jupytext/issues/763))

**Fixed**
- All text files are opened with an explicit `utf-8` encoding ([770](https://github.com/mwouts/jupytext/issues/770))
- Previously `--pipe black` was not always putting two blank lines between functions. To fix that we load the internal Jupytext
cell metadata like `lines_to_next_cell` from the text file rather than ipynb ([761](https://github.com/mwouts/jupytext/issues/761))
- The timestamp of the source file is not updated any more when the destination file is not in the pair ([765](https://github.com/mwouts/jupytext/issues/765), [#767](https://github.com/mwouts/jupytext/issues/767))

**Added**
- A new test documents when the `ipython3` pygment lexer appears in MyST Markdown files ([759](https://github.com/mwouts/jupytext/issues/759))

1.11.1

-------------------

**Fixed**
- Format options stored in the notebook itself are now taken into account (Fixes [757](https://github.com/mwouts/jupytext/issues/757))

1.11.0

-------------------

**Fixed**
- The `jupytext.toml` config file can now be used together with the `jupytext` pre-commit hook ([752](https://github.com/mwouts/jupytext/issues/752))
- The `notebook_extensions` option of the `jupytext.toml` file now works ([746](https://github.com/mwouts/jupytext/issues/746))

**Changed**
- The options in `jupytext.toml` where renamed to match the `jupytext` metadata in the text notebooks. One should now use `formats` rather than `default_jupytext_formats` and `notebook_metadata_filter` rather than `default_notebook_metadata_filter` ([753](https://github.com/mwouts/jupytext/issues/753))

1.10.3

-------------------

**Fixed**
- We have updated `marked`, an indirect dependency of the `jupyterlab-jupytext` extension, to fix a moderate vulnerability ([750](https://github.com/mwouts/jupytext/issues/750)).
- We use non-random cell ids in the tests to avoid test failures due to duplicate cell ids ([747](https://github.com/mwouts/jupytext/issues/747))

1.10.2

-------------------

**Fixed**
- We have adjusted the `MANIFEST.in` file to exclude the `node_modules` but still include the JupyterLab extension that was missing in the `.tar.gz` (and conda) package in v1.10.1. Many thanks to Martin Renou for providing the fix at ([741](https://github.com/mwouts/jupytext/issues/741))

1.10.1

-------------------

**Added**
- The recursive glob pattern `**/*.ipynb` is now supported by Jupytext - Thanks to Banst for this contribution ([731](https://github.com/mwouts/jupytext/issues/731))
- Sage notebooks are supported. They can be converted to `.sage` and `.md` files and back. Thanks to Lars Franke for suggesting this! ([727](https://github.com/mwouts/jupytext/issues/727))
- Jupytext is also accessible with `python -m jupytext`. Thanks to Matthew Brett for his PR! ([739](https://github.com/mwouts/jupytext/issues/739))

**Changed**
- We have tested Jupytext with the new cell ids introduced in `nbformat>=5.1.0`. Cell ids are preserved by the `--sync` and `--update` command. So we removed the constraint on the version of `nbformat` ([735](https://github.com/mwouts/jupytext/issues/735)).

**Fixed**
- We filtered out the `node_modules` folder from the `.tar.gz` package for Jupytext ([730](https://github.com/mwouts/jupytext/issues/730))

1.10.0

-------------------

**Added**
- Jupytext has a pre-commit hook! Many thanks to John Paton and Aaron Gokaslan for making this happen ([698](https://github.com/mwouts/jupytext/issues/698))
- Jupytext CLI will not rewrite files that don't change ([698](https://github.com/mwouts/jupytext/issues/698)).
- If you want to see the diff for changed files, use the new `--diff` option ([722](https://github.com/mwouts/jupytext/issues/722))
- We have added `isort` and `autoflake8` to the `pre-commit` configuration file used for developing the Jupytext project ([709](https://github.com/mwouts/jupytext/issues/709))
- We made sure that `py:percent` scripts end with exactly one blank line ([682](https://github.com/mwouts/jupytext/issues/682))
- We checked that Jupytext works well with symbolic links to folders (not files!) ([696](https://github.com/mwouts/jupytext/issues/696))

**Changed**
- Jupytext does not work properly with the new cell ids of the version 4.5 of `nbformat>=5.1.0` yet, so we added the requirement `nbformat<=5.0.8` ([715](https://github.com/mwouts/jupytext/issues/715))
- Jupytext will issue an informative error or warning on notebooks in a version of nbformat that is not known to be supported ([681](https://github.com/mwouts/jupytext/issues/681), [#715](https://github.com/mwouts/jupytext/issues/715))

**Fixed**
- Code cells that contain triple backticks (or more) are now encapsulated with four backticks (or more) in the Markdown and MyST Markdown formats. The version number for the Markdown format was increased to 1.3, and the version number for the MyST Markdown format was increased to 0.13 ([712](https://github.com/mwouts/jupytext/issues/712))
- Indented magic commands are supported ([694](https://github.com/mwouts/jupytext/issues/694))

1.9.1

------------------

**Fixed**
- Include the lab extension that was missing in the conda package ([703](https://github.com/mwouts/jupytext/pull/703)).

1.9.0

------------------

**Changed**
- The Jupytext extension for JupyterLab is compatible with Jupyter Lab 3.0, thanks to Martin Renou's awesome contribution ([683](https://github.com/mwouts/jupytext/pull/683)).

1.8.2

------------------

**Changed**
- Jupytext 1.8.2 depends on `python>=3.6`. The last version of Jupytext explicitly tested with Python 2.7 and 3.5 was Jupytext 1.7.1 ([697](https://github.com/mwouts/jupytext/issues/697)).

1.8.1

------------------

**Changed**
- The dependency on `markdown-it-py` is conditional on `python>=3.6` ([697](https://github.com/mwouts/jupytext/issues/697))

1.8.0

------------------

**Changed**
- Removed support for Python 2.7 and 3.5, a preliminary step towards a JupyterLab 3.0-compatible extension ([683](https://github.com/mwouts/jupytext/issues/683))
- The MyST Markdown format uses `markdown-it-py~=0.6.0` ([692](https://github.com/mwouts/jupytext/issues/692))

1.7.1

------------------

**Fixed**
- Text notebooks have the same format and mimetype as ipynb notebooks. This fixes the _File Load Error - content.indexOf is not a function_ error on text notebooks ([659](https://github.com/mwouts/jupytext/issues/659))

1.7.0

------------------

**Changed**
- Jupytext's contents manager uses the parent CM's `get` and `save` methods to read and save text files, and explicitly calls `jupytext.reads` and `jupytext.writes` to do the conversion. We don't use `mock` nor internal parent methods any more. Thanks to Max Klein for helping making this work! ([634](https://github.com/mwouts/jupytext/issues/634), [#635](https://github.com/mwouts/jupytext/issues/635))
- Thanks to the above, Jupytext can work on top of contents manager that don't derive from `FileContentsManager`, and in particular it works with `jupyterfs` ([618](https://github.com/mwouts/jupytext/issues/618))
- The documentation was reorganized. `README.md` was simplified and now includes many links to the documentation.
- The documentation now uses `myst_parser` rather than `recommonmark`. And we use `conda` on RTD ([650](https://github.com/mwouts/jupytext/issues/650), [#652](https://github.com/mwouts/jupytext/issues/652))
- The `readf` and `writef` functions were dropped (they had been deprecated in favor of `read` and `write` in June 2019, v1.2.0)
- The description & dependencies of the JupyterLab extension were updated ([654](https://github.com/mwouts/jupytext/issues/654))
- The `--set-kernel -` command, on a Python notebook, gives an explicit error when no kernel is not found that matches the current Python executable.
- All the GitHub workflow files were concatenated into a unique file, and we have added an `pypi-publish` step to automatically publish the package on PyPi when new releases are created.
- The `CHANGELOG.md` file was moved under `docs` to better expose the history of changes.

**Added**
- Configuration errors are reported in the console and/or in Jupyter ([613](https://github.com/mwouts/jupytext/issues/613))
- Jupytext's Contents Manager internal errors are logged on the console, and trigger an HTTP Error 500 ([638](https://github.com/mwouts/jupytext/issues/638))
- The GitHub actions run on both push events and pull requests, and duplicate jobs are skipped ([605](https://github.com/mwouts/jupytext/issues/605))
- Jupytext has a `tox.ini` file, thanks to Chris Sewell ([605](https://github.com/mwouts/jupytext/issues/605))
- Jupytext is tested against Python 3.9
- The `execution` cell metadata is now filtered by default ([656](https://github.com/mwouts/jupytext/issues/656))

**Fixed**
- Optional dependency on `sphinx-gallery` frozen to version `~=0.7.0` ([614](https://github.com/mwouts/jupytext/issues/614))
- Codecov/patch reports should be OK now ([639](https://github.com/mwouts/jupytext/issues/639))
- Jupytext tests work on non-English locales ([636](https://github.com/mwouts/jupytext/issues/636))
- Cell metadata that are already present in text notebook can be filtered out using a config file ([656](https://github.com/mwouts/jupytext/issues/656))
- Optional cell attributes like attachments are preserved ([671](https://github.com/mwouts/jupytext/issues/671))
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant