Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Effort-based Versioning. (Changes to features documented as “experimental” will not increment macro and meso version numbers.)

Unreleased

(no changes yet)

2.3.1 - 2025-02-12

This is a minor bugfix release.

Fixed

  • Remove some debug output.

2.3.0 - 2025-02-12

This release adds support for Jupyter notebooks with convert_jupyter() and introduces small breaking changes to the API. Other noteworthy changes include new options to the compile_typst() function, more ways to specify variables in render_jinja().

Added

  • Execute and convert Jupyter notebooks with convert_jupyter().
  • rr-bibsane is now part of StepUp RepRep, instead of using the (retired) bibsane package. The main difference, other than the improved integration with StepUp RepRep, is that journal abbreviations are now generated with pyiso4 instead of the abrevvIso Web API. It has a corresponding sanitize_bibtex() function in stepup.reprep.api.

Changed

  • Extend compile_typst() with additional options:
    • Specification of the output file.
    • Key-value pairs for the --input argument.
    • PNG and SVG output formats (multipage is not working yet).
    • Optional inventory output file.
    • Pass-through arguments for typst
  • Breaking changes to existing API:
    • convert_pdf() and related functions are renamed:
    • convert_svg() and related functions are renamed:
    • The inkscape_args of convert_inkscape() must now be a list instead of a string.
    • compile_latex() no longer creates an inventory file by default. To recover the old behavior, add inventory=True to the arguments or set the environment variable REPREP_LATEX_INVENTORY="1".
    • compile_latex() no longer calls bibsane when the LaTeX source has a BibTeX bibliography. If you want to sanitize the BibTeX file, call sanitize_bibtex() after compile_latex().
    • The paths_variables argument of render_jinja() has been replaced by a variadic positional parameter (i.e. *paths_variables).
  • Other changes
    • Change convert_weasyprint() to perform the conversion in a single step.
    • Improve handling of arguments and dependencies in convert_markdown()
    • render_jinja() now accepts JSON and YAML files with variables for Jinja2 templates. In addition, one may specify a dictionary with variables directly when calling the function.
    • Documentation improvements.

2.2.3 - 2025-02-05

This release uses the new STEPUP_EXTERNAL_SOURCES environment variable introduced in StepUp Core 2.0.6.

Changed

  • Switch from SemVer to EffVer.
  • Scripts that automatically detect dependencies (rr-compile-latex, rr-compile-typst and rr-convert-inkscape) now also use the new STEPUP_EXTERNAL_SOURCES environment variable introduced in StepUp Core 2.0.6.

2.2.2 - 2025-01-31

This is a bugfix release addressing minor issues in the Typst support.

Fixed

  • Only call sys.exit in rr-compile-typst if the returncode is non-zero. This allows for other scripts to call its main function without exiting in case of a succeeded typst build.

2.2.1 - 2025-01-31

This is a bugfix release addressing minor issues in the Typst support.

Fixed

  • Fix returncode of the rr-compile-typst command (now passes through returncode of typst build).
  • By default, depfiles created by typst build are now stored in a temporary directory, to avoid littering the working directory. You can keep depfiles by setting the environment variable REPREP_KEEP_TYPST_DEPS="1", or with the argument keep_deps=True in compile_typst(). (Either one will .)

2.2.0 - 2025-01-29

This release adds experimental support for typst. It also introduces a few breaking API changes for the sake of consistency. (More breaking changes should be expected in the near future.)

Added

  • Experimental support for Typst.

Changed

2.1.0 - 2025-01-27

This release contains a few minor breaking changes for the sake of internal consistency.

Changed

  • The conversion with Inkscape has become a single step. (It was first split up in a step scanning for dependencies followed by the actual conversion.)
  • Add more entrypoints for command-line utilities in StepUp RepRep. Existing ones were renamed from reprep-* to rr-*.
  • Rename module stepup.reprep.render to stepup.reprep.render_jinja.
  • Rename API function: render() -> render_jinja()

2.0.2 - 2025-01-22

This is the first release of StepUp RepRep that is compatible with StepUp Core 2.0.0. (Earlier 2.0 releases were yanked due to packaging issues.)

Added

  • Add smarty extension to markdown conversion.
  • Add option to insert blank page after odd-paged PDF when concatenating PDFs.

Changed

  • Compatibility with StepUp Core 2.0.0, which breaks compatibility with older StepUp Core versions.

Fixed

  • Use shlex for building shell commands in stepup.reprep.api to avoid shell injection.

1.4.1 - 2024-09-02

Added

  • An extra argument was added to convert_markdown to specify CSS files.
  • Support default arguments for convert_markdown defined as environment variables: ${REPREP_KATEX_MACROS} and ${REPREP_MARKDOWN_CSS}.

Fixed

  • Fix bug: put header output of markdown_katex plugin in the HTML header.
  • Fix bug: rewrite paths to CSS files in convert_markdown to be relative to the parent of the output HTML file.

1.4.0 - 2024-08-27

Added

  • The unplot script, a sanitized version of Depix. It converts paths from SVG files back into data, which can be used to reverse-engineer data sets from plots.

Changed

  • Move load_module_file from StepUp Core to stepup.reprep.render and improve it to facilitate local imports.

1.3.0 - 2024-06-28

Added

  • The script rr-sync-zenodo and corresponding StepUp API function sync_zenodo() synchronize your local data with a draft dataset on Zenodo.
  • Small documentation updates

Fixed

1.2.1 - 2024-05-27

Changed

  • Conversion from HTML to weasyprint is now a two-step process and includes detection of implicit input files used in the HTML to PDF conversion. (Images and external CCS)
  • Improved reusability of script modules: add_notes_pdf, check_hrefs, convert_inkscape, convert_markdown, convert_weasyprint, latex, latex_flat, make_inventory, normalized_pdf, nup_pdf, raster_pdf, render and zip_inventory.

Fixed

  • Fixed a few errors in the HTML generated by convert_markdown()

1.2.0 - 2024-05-20

Added

  • rr-zip-inventory command to manually create a reproducible ZIP file from an inventory.txt file.
  • More documentation on how to work with inventory files.
  • Tutorial for archiving StepUp publication Git repositories.

Changed

  • Renamed all MANIFEST and manifest occurrences to inventory and removed dependency of setuptools for processing such files.
  • The API of make_inventory is made simpler than that of make_manifest.
  • The commands supported in inventory.def files now differ from those in setuptools: include, exclude, include-git, exclude-git, include-workflow and exclude-workflow.
  • The css style has been made customizable in convert_markdown.
  • KaTeX is now optional in convert_markdown.

Fixed

  • An error message is raised when trying to a put a directory in an inventory file.
  • Symbolic links are no longer dereferenced when they are listed in an inventory file.
  • Symbolic links are archived in ZIP files without dereferencing.

1.1.2 - 2024-05-16

Fixed

1.1.1 - 2024-05-07

Fixed

Changed

  • Documentation improvements

1.1.0 - 2024-05-02

Changed

  • Documentation improvements
  • Unit tests are made compatible with StepUp Core 1.2.0.

1.0.0 - 2024-04-25

Initial release