|
1 | 1 | # Change Log
|
2 | 2 |
|
3 |
| -## Unreleased |
4 |
| - |
5 |
| -- Add a new `documenteer.conf.technotebeta` configuration for [technote](https://technote.lsst.io)-based technotes. |
6 |
| - These technotes are now themed with Rubin's modern branding. |
7 |
| -- Drop support for Python 3.7. |
8 |
| -- Drop support for Sphinx versions earlier than 5. |
9 |
| -- Temporarily pin pydata-sphinx-theme < 0.13 on account of a change in logo path checking (affects user guide projects). |
10 |
| -- Use [sphinxcontrib-jquery](https://github.com/sphinx-contrib/jquery/) to ensure jQuery is available for user guide and Pipelines documentation builds. |
11 |
| -- Add a new `sphinx.exclude` field to `documenteer.toml` to list files for exclusion from a documentation project. |
12 |
| - More files and directories like `.venv` and `requirements.txt` are now excluded, as well. |
13 |
| -- New support for embedding OpenAPI documentation in a Redoc-generated subsite. The `documenteer.ext.openapi` extension can call a user-specified function to generate and install the OpenAPI specification the Sphinx source. For user guide projects, the `[project.openapi]` table in `documenteer.toml` can be used to configure both the `documenteer.ext.openapi` and `sphinxcontrib-redoc` extensions. [sphinxcontrib-redoc](https://sphinxcontrib-redoc.readthedocs.io/en/stable/) is installed and configured by default for all Rubin user guide projects (projects that use `documenteer.conf.guide`). |
14 |
| -- Pin pydantic < 2.0. |
15 |
| -- Pin Sphinx < 7. |
16 |
| - |
17 | 3 | <!-- scriv-insert-here -->
|
18 | 4 |
|
| 5 | +<a id='changelog-1.0.0'></a> |
| 6 | +## 1.0.0 (2023-12-17) |
| 7 | + |
| 8 | +### Backwards-incompatible changes |
| 9 | + |
| 10 | +- Documenteer now requires Python 3.11 or later. |
| 11 | + |
| 12 | +- Dependency changes: |
| 13 | + |
| 14 | + - Pydantic 2.0 or later. |
| 15 | + - Sphinx 7 and later (and docutils 0.20 and later) |
| 16 | + - pydata-sphinx-theme < 0.13 on account of a change in logo path checking (affects user guide projects). |
| 17 | + |
| 18 | +- Dropped support for the original technote configuration for Documenteer < 1.0. The `documenteer.conf.technote` configuration now uses the modern platform build with [Technote](https://technote.lsst.io). See new features below for more details. |
| 19 | + |
| 20 | +- Dropped CLI commands: |
| 21 | + |
| 22 | + - The `refresh-lsst-bib` CLI command is removed. Technotes now automatically vendor lsst-texmf's bib files and cache them using `documenteer.ext.githubbibcache`. |
| 23 | + - The `build-stack-docs` CLI command is removed and replaced by the `stack-docs` and `package-docs` CLIs in Documenteer 0.3.0. |
| 24 | + |
| 25 | +- The `documenteer.conf.pipelines` and `documenteer.conf.pipelinespkg` configuration modules now derive from `documenteer.conf.guide`. In doing so, the Pipelines documentation configuration works the same as Rubin Guides, but with additional configuration for pipelines-specific Sphinx extensions and other configurations. With this change, the `lsst-sphinx-bootstrap-theme` is no longer used by Documenteer. |
| 26 | + |
| 27 | +- The `documenteer.sphinxext` module has been removed and the existing Sphinx extensions within it are now available from `documenteer.ext`. It's no longer possible to use `documenteer.sphinxext` to automatically load all Documenteer Sphinx extensions. Extensions need to now be added individually to the `extensions` configuration variable in `conf.py`. The migrated extension modules are: |
| 28 | + |
| 29 | + - `documenteer.ext.bibtex` |
| 30 | + - `documenteer.ext.jira` |
| 31 | + - `documenteer.ext.lsstdocushare` |
| 32 | + - `documenteer.ext.lssttasks` |
| 33 | + - `documenteer.ext.mockcoderefs` |
| 34 | + - `documenteer.ext.packagetoctree` |
| 35 | + |
| 36 | +### New features |
| 37 | + |
| 38 | +- All-new technote configuration for Rubin Observatory. Technotes are now built with a framework we created by the same name, [Technote](https://technote.lsst.io). The new technotes feature a responsive design, better on-page navigation, and overall cleaner design that matches Rubin Observatory's visual identity. For authors, technotes use a new configuration file, `technote.toml`, which replaces `metadata.yaml`. Technotes can also be written in Markdown (in addition to continuing reStructuredText support) thanks to [MyST Parser](https://myst-parser.readthedocs.io/en/latest/intro.html). Other key features: |
| 39 | + |
| 40 | + - You can migrate your existing technote by running the `documenteer technote migrate` CLI command. The migration process is explained in detail at https://documenteer.lsst.io/technotes/migrate.html. |
| 41 | + |
| 42 | + - Rubin technotes automatically use the bib files from https://github.com/lsst/lsst-texmf. In your text, use the `:cite:` directive with a bibkey from those bib files to cite a reference. Documenteer automatically retrieves the bib files from GitHub so you no longer need to maintain a copy in your repository. |
| 43 | + |
| 44 | + - Rubin technotes include a richer metadata base than the original technote system. This will make it easier to cite technotes. Part of the richer metadata system is the authors table in `technote.toml` files. This author information is derived from, and synchronized with, the `authordb.yaml` file in [lsst/lsst-texmf](https://github.com/lsst/lsst-texmf). The `documenteer technote add-author` and `documenteer technote sync-authors` CLI commands can help you manage author information in your technote. |
| 45 | + |
| 46 | + - The title for a technote is now derived from the top-level heading in the content itself. |
| 47 | + |
| 48 | + - There is a new `abstract` directive for marking up a technote's abstract or summary. This replaces the use of a note for the summary. This summary abstract is used by the documentation crawler to build https://www.lsst.io. |
| 49 | + |
| 50 | + - Technotes can now indicate their status with the `technote.status` field in `technote.toml`. For example, a technote can start out as a draft. You can also mark a technote as deprecated and link to superseding websites. |
| 51 | + |
| 52 | + - The new technote configuration comes pre-loaded with extensions for making diagrams as code, including `sphinxcontrib-mermaid` and `sphinx-diagrams`. |
| 53 | + |
| 54 | +- Improvements for Rubin user guides (`documenteer.conf.guide`): |
| 55 | + |
| 56 | + - Add `sphinx-jinja` to the Rubin guides configuration by default. |
| 57 | + - Add `sphinx-rediraffe` to the Rubin guides configuration by default. |
| 58 | + - Use [sphinxcontrib-jquery](https://github.com/sphinx-contrib/jquery/) to ensure jQuery is available for user guide and Pipelines documentation builds. |
| 59 | + - New `sphinx.exclude` field to `documenteer.toml` to list files for exclusion from a documentation project. More files and directories like `.venv` and `requirements.txt` are now excluded, as well. |
| 60 | + - New support for embedding OpenAPI documentation in a Redoc-generated subsite. The `documenteer.ext.openapi` extension can call a user-specified function to generate and install the OpenAPI specification the Sphinx source. For user guide projects, the `[project.openapi]` table in `documenteer.toml` can be used to configure both the `documenteer.ext.openapi` and `sphinxcontrib-redoc` extensions. [sphinxcontrib-redoc](https://sphinxcontrib-redoc.readthedocs.io/en/stable/) is installed and configured by default for all Rubin user guide projects (projects that use `documenteer.conf.guide`). |
| 61 | + |
| 62 | +- A new extension, `documenteer.ext.githubbibcache`, can fetch and locally cache BibTeX files from one or more public GitHub repositories. These bibfiles are automatically added to `sphinxcontrib-bibtex`'s `bibtex_files` configuration. This powers the technote's automatic use of bib files from the https://github.com/lsst/lsst-texmf repository. |
| 63 | + |
| 64 | +### Bug fixes |
| 65 | + |
| 66 | +- `Retry` is now imported directly from `urllib3` instead of the vendored version in requests. |
| 67 | + |
| 68 | +### Other changes |
| 69 | + |
| 70 | +- Adopted Scriv for maintaining the change log. |
| 71 | + |
19 | 72 | ## 0.8.4 (2023-07-28)
|
20 | 73 |
|
21 | 74 | Fixes:
|
|
0 commit comments