Toolset 2.9.3 released

68 views
Skip to first unread message

Alex Cabal

unread,
Sep 10, 2025, 3:13:47 PM (6 days ago) Sep 10
to Standard Ebooks
Use `pipx upgrade standardebooks` to upgrade.

This version includes various bug fixes, as well as:

1. Line numbers in `se lint` error messages, and `se css` and `se xpath`
results. Thanks to Neil Pankey for making this possible!

2. Normalized and improved `se lint` messages.

3. Reproducible epub builds with `se build`. Previously, zip file
metadata prevented the same build from having the same hash. Now zip
metadata is normalized so the same build will have the same hash. Thanks
to Michael Berg.

Full changelog:

# 2.9.3

## General

- When sorting command targets, sort by full path and not just basename

## se add-file

- Add list of possible options to help text

- Fix bug where sometimes CSS was overwritten

## se build

- Bump epubcheck to 5.3.0

- Epub builds are now reproducible. Thanks to Michael Berg

## se clean

- Order items in `se-lint-ignore.xml` files in alphabetical order

## css-select

- Fail gracefully if file not found

- Fail gracefully if selector contains not-implemented part

- Output line numbers with matches

- Fix logic error if one file in set is not found

## se lint

- Remove s-030

- Remove s-040

- Add more exceptions to t-030

- Add line numbers to messages. Thanks to Neil Pankey

- Improve m-085

- Improve algorithm used in m-070

- Fix logic error in x-018

- Normalize all messages

- Add m-039, duplicate `<file>` element in `se-lint-ignore.xml` file

- Improve t-001

- Improve t-010

- Improve t-075

- Improve m-058

- Improve t-043

- Allow for custom identifiers in m-023

## se modernize-spelling

- Various additions

## se semanticate

- Semanticate K.C. and Q.C. as name-title. Thanks to Robin Whittleton

- Exclude roman numerals at the end of a tag

- Don't add roman semantics to `mi`

## se build-toc

- Fix edge case where title contains all element nodes and no text nodes

## se xpath

- Output line numbers with matches

Weijia Cheng

unread,
Sep 10, 2025, 8:29:35 PM (6 days ago) Sep 10
to Standard Ebooks
FYI, xpath seems to be broken on this latest release:

wcheng@pop-os:~/git/clifford-d-simak_short-fiction$ se xpath '//blockquote' .
Traceback (most recent call last):
  File "/home/wcheng/.local/bin/se", line 7, in <module>
    sys.exit(main())
  File "/home/wcheng/.local/pipx/venvs/standardebooks/lib/python3.10/site-packages/se/main.py", line 75, in main
    module = importlib.import_module(command_module)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 879, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1017, in get_code
  File "<frozen importlib._bootstrap_external>", line 947, in source_to_code
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/wcheng/.local/pipx/venvs/standardebooks/lib/python3.10/site-packages/se/commands/xpath.py", line 48
    output = f"[path][link=file://{filepath.resolve()}#L{node.sourceline}]Line {node.sourceline}[/][/]: {node.to_string().replace("[", "\\[")}"
                                                                                                                                   ^
SyntaxError: f-string: unmatched '('

Alex Cabal

unread,
Sep 10, 2025, 9:42:04 PM (6 days ago) Sep 10
to standar...@googlegroups.com
Try updating your Python version. There have been changes to how fstrings are processed. I'll look into bumping the minimum version in the metadata.

Asher Smith

unread,
Sep 11, 2025, 7:17:25 AM (6 days ago) Sep 11
to Standard Ebooks
add-file doesn't list dramatis personae in the available filetypes, but I saw that it was added in the changelog.

Weijia Cheng

unread,
Sep 11, 2025, 7:29:31 AM (6 days ago) Sep 11
to Standard Ebooks
Thanks, I installed python3.12 and reinstalled the toolset with "pipx install standardebooks --python /usr/bin/python3.12" and it looks good now.
Reply all
Reply to author
Forward
0 new messages