# What changed in jupytext

> 16 changes in jupytext 1 from its official release notes, upgrade guides and advisories: 1 breaking, 5 security, 2 new APIs and options. Each one cited. Sources checked 2026-10-24. HTML: https://unstale.sh/pypi/jupytext/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## jupytext 1

### Breaking changes

- Paired paths from notebook formats metadata can no longer escape the working tree, including for absolute notebook paths. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)

### Security

- Custom light-format cell markers are matched literally, preventing regular-expression injection, parsing errors, and excessive processing time on crafted notebooks. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- Custom light-format end-of-cell values are matched literally, preventing regular-expression injection, parsing errors, and excessive processing time on crafted notebooks. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- Quarto conversions run in a private temporary directory, preventing another user from pre-creating the output file as a symlink. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- The CLI ignores trusted cell metadata when the notebook signature is invalid, preventing paired text from making untrusted outputs trusted during synchronization. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- Reuses secure (0600, mkstemp-backed) temporary files instead of closing and reopening them by name, removing unsafe permissions and a symlink-attack window on shared machines. (1.19.5) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.5)

### New APIs and options

- Jupytext now supports the Jenner language. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- A new custom_language_magics option is available. (1.19.4) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.4)

### Performance

- Detecting IPython help/shell commands no longer takes quadratic time on lines made of whitespace. (1.19.5) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.5)

### Tooling

- A development container is available to open with VS Code’s Dev Containers extension. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)

### Fixes and other changes

- Pairing works when a prefix root contains subdirectories. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- A whitespace-only final line is preserved when reading and round-tripping the notebook. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- Mermaid comments inside markdown cells are no longer mistaken for py:percent cell markers. (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- Menu entries name the file type again instead of saying “default.” (1.19.6) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.6)
- Guards access to languageInfo.extensions when kernel metadata is incomplete, preventing Python files from being shown with notebook icons. (1.19.5) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.5)
- YAML dumping now supports Unicode characters. (1.19.4) — [release notes](https://github.com/jupytext/jupytext/releases/tag/v1.19.4)
