Hexdoc

Latest version: v1!0.1.0a21

Safety actively analyzes 688578 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

10.1.0a15

Added

* Path resource dirs now support reading `.jar` and `.zip` files.
* Note: The resource folders (eg. `assets/`) currently must be at the root of the archive.
* New glob resource dir type: `{ glob="mods/*.jar", exclude=["**/some_broken_mod.jar"] }`
* New texture config to print some errors instead of failing the build: `textures.strict`
* New command: `hexdoc render-models`
* Placeholders in `hexdoc.toml` may now start with `$` to reference the root table (eg. `{$modid}` and `{$.modid}` are both valid).

Changed

* In `hexdoc.toml`, `default_lang` and `default_branch` are now optional, defaulting to `en_us` and `main` respectively.
* Update minimum Pydantic version to `2.7.1`.
* Update Pyright version to `1.1.361`.

Fixed

* Add missing default values for some fields in `*.png.mcmeta`.

10.1.0a14

Added

* The internal hexdoc CI now automatically generates and deploys a JSON Schema definition for `hexdoc.toml`. See the [documentation](https://hexdoc.hexxy.media/docs/guides/configuration/) for more details.

Changed

* `hexdoc serve` will now fail immediately instead of retrying the build in non-release mode if an error occurs.
* Update minimum Typer version to `0.12`.

Fixed

* Fix incorrect texture array size calculation when non-square images are used for block textures.

10.1.0a13

Changed

* Print stdout and stderr when shell commands fail (fixes [63](https://github.com/hexdoc-dev/hexdoc/issues/63)).
* Improve the error message when GitHub Pages is not enabled.
* Support `.json5` files in places other than I18n. Note that `.flatten.json5` is still only supported for I18n.

10.1.0a12

Added

* New block rendering system, implemented entirely in Python! This replaces [minecraft-render-py](https://github.com/hexdoc-dev/minecraft-render-py) and removes hexdoc's Node.js dependency. Block renders should now be much closer to how items look in inventories ingame.
* Note: Animated models currently only render the first frame of the animation.
* Note: `minecraft-render` is still included as a dependency for backwards compatibility reasons. This will be removed in a future release.
* New command: `hexdoc render-model`
* New dependencies: `frozendict`, `moderngl[headless]`, `moderngl-window`
* New `hexdoc.toml` field `lang.{lang}` for per-language configuration. Currently supported options include `quiet` and `ignore_errors`.

Changed

* Update `zh_cn` translations, by ChuijkYahus in [69](https://github.com/hexdoc-dev/hexdoc/pull/69).
* Blockstates are no longer taken into account when selecting block models to render.
* Deprecated the `--quiet-lang` CLI option.
* Errors will now always be raised for all languages unless explicitly disabled in `hexdoc.toml`. Previously, errors when rendering non-default languages would only fail the overall command in release mode.

Removed

* ⚠️ BREAKING: Removed `HexdocPythonResourceLoader`, as it was only needed for the old rendering system.
* ⚠️ BREAKING: Removed `HexdocAssetLoader.load_blockstates` and `HexdocAssetLoader.renderer_loader`. Several argument/return types have been changed from `IRenderClass` to `BlockRenderer`.
* Removed `hexdoc render-block` subcommands.

10.1.0a11

Added

* hexdoc now uses a custom `sys.excepthook` to hide unnecessary traceback frames, except in verbose mode.
* New reusable workflow input `site-url` to help support non-Pages deployments.

Changed

* Adding spoilers to individual pages with the `advancement` field is now supported.
* Use [`uv`](https://github.com/astral-sh/uv) instead of `pip` for all reusable workflows.
* `hexdoc ci build` now attempts to read the site url from `HEXDOC_SITE_URL` and `GITHUB_PAGES_URL` environment variables before querying the GitHub API.
* "No translation in {lang} for key {key}" warnings are now only printed once per key for each language to reduce log spam.

10.1.0a10

Added

* Web books will now generate a tree of redirects for categories, entries, and pages with anchors. These redirects include OpenGraph tags for generating Discord embeds.
* For example, https://hexcasting.hexxy.media/v/latest/main/1.19/en_us/basics now redirects to https://hexcasting.hexxy.media/v/latest/main/1.19/en_us#basics, and the Discord embed for the first link includes the category title "Getting Started".
* Added template variable `relative_site_url`, which is a relative path to the root of the website from the current page.
* For example, on the page `/v/latest/main/en_us`, `relative_site_url` would be `../../../..` .
* Added `HEXDOC_SUBDIRECTORY` environment variable and `subdirectory` GitHub Actions option, for deploying a hexdoc book alongside other sites/pages.
* Added the ability to print the installed hexdoc version with `hexdoc --version`.

Changed

* ⚠️ BREAKING: Replaced the `link_bases` system with `book_links` to simplify/improve the link system.
* This is what we use for constructing hrefs to internal and external categories/entries/pages. It's mostly only used internally, so this change hopefully won't have a big impact.
* Changed the Minecraft version in the dropdown to look like `Minecraft 1.19.2` instead of just `1.19.2`.
* Added more information to the hexdoc startup message, similar to what pytest prints.
* Updated minimum Pydantic version to `2.6.1`.
* Updated internal Pyright version from `1.1.343` to `1.1.345`.
* We have not updated to `1.1.346` or higher because that version and `1.1.350` both introduce some type errors related to the lack of a `TypeForm` type in Python. The new versions enforce that types like `Union` and `Annotated` should not count as `type`, which is something that Pydantic and hexdoc are currently doing.

Fixed

* [47](https://github.com/hexdoc-dev/hexdoc/issues/47): Concurrent builds overwrite each other because merge happens outside of the sequential part

Removed

* ⚠️ BREAKING: Removed `HexdocTypeAdapter` because `TypeAdapter` is now marked as final (and it never really worked properly anyway).

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.