Standardebooks

Latest version: v2.7.4

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

Scan your dependencies

Page 5 of 9

2.3.1

General

- Roll back incompatible GitPython version

se lint

- Remove t-058, since CJK ditto mark isn't appropriate for the Latin alphabet

2.3.0

General

- Template backmatter references to U.S. should be initialisms. Thanks to Robin Whittleton

se british2american

- Improve guess function

se build

- Confirm java is really installed on Mac OSX. Thanks to Vince Rice

se build-toc

- Gracefully fail on invalid spine

se create-draft

- Handle titles with em dashes

se extract-ebook

- Don't allow the `--output-dir` option when more than one ebook is specified

se find-mismatched-dashes

- Pretty print some exceptions

se find-mismatched-diacritics

- Pretty print some exceptions

se find-unusual-characters

- Add this new command. Thanks to Robin Whittleton

se interactive-replace

- Don't rstrip file contents to prevent crash when a file ends in multiple newlines

se lint

- Improve t-063

- Improve s-023

- Improve m-064

- Improve t-042

- Improve s-045 when times are capitalized in titles

- Add t-068, `<cite>` without leading em dash

- Add m-026, illegal mobile Wikipedia URL

- Add m-027, se:short-story found but no Shorts subject in metadata

- Correct broken m-027 error code

se modernize-spelling

- Various additions and improvements

se titlecase

- Improve titlecasing by checking some exceptions

- Add corner case exception for capitalized times

se typogrify

- Add rsquo to bare `tis`

- Improve typogrification of `'twas` and `'twon't`

2.2.0

General

- Remove Pylint warnings on C extensions and runtime class errors. Thanks to Robin Whittleton

- Update some `import`, `with`, and `items` syntax. Thanks to Robin Whittleton

- Remove python-version to pin test runner to OS version. Thanks to Robin Whittleton

- Fix error flagged by mypy in lint. Thanks to Robin Whittleton

- Allow xpath to return a single string

se build

- Restore unconditional creation of compatible epub. Thanks to Vince Rice

- Remove `.gitignore` from white-label epub builds

- Capture warnings from epubcheck even if there are no errors

- Use quiet_remove instead of try/catch

se build-manifest

- Improve output on invalid XHTML

- Fix incorrect path separator when run on Windows

se build-spine

- Improve output on invalid XHTML

se build-title

- Improve output when `<br/>` and `&` are present

se build-toc

- Handle `<br/>` in titles

se clean

- Fix error when checking single XHTML files. Thanks to Robin Whittleton

- Polite failure if file doesn't exist

se create-draft

- Improve output of `--white-label` option

- Fix missing translator block in new productions. Thanks to Robin Whittleton

- Move `<link>` to correct location in white label OPF file

- Parse single/double quote encoding. Thanks to Mike Colagrosso

- Save body text even if it can't be parsed. Thanks to Vince Rice

- Linkify error message

- Handle titles and contributors containing XML entities

se find-mismatched-dashes

- Strip tags before processing, but keep `alt` and `title` attributes

se find-mismatched-diacritics

- Lowercase matches so that uppercased entries don't cause duplicate output

- Strip tags before processing, but keep `alt` and `title` attributes

se interactive-replace

- Don't overwrite file if the file is not dirty

- Fix curs_set issue in interactive-replace. Thanks to Weijia Cheng

se lint

- Improve t-042

- Add t-063, Latin phrase set without italics

- Don't emit m-020 if SE subject has not yet been filled out

- Add s-091, `<span>` not followed by `<br/>` in poetry

- Improve t-063

- Make s-086 also check for Loc. Cit.

- Improve s-091

- Tweak message for s-086

- Add s-092, anonymous contributor with name semantic

- Add t-064, title not correctly titlecased

- Add f-017, png file without transparency

- Fix broken t-064 message

- Add t-065: Header ending in a period

- Allow empty `<col/>` and `<colgroup/>`

- Make separate messages for t-042 typos. Thanks to Vince Rice

- Add t-066, regnal ordinal preceded by 'the'

- Fix broken hyperlink in m-070 error message

- Convert some tests to xpath instead of regex

- Improve s-064

- Fix t-031

- Don't include legal cases in t-064

- Improve t-008

- Improve s-039

- Add s-093, nested `<abbr>` element

- Don't duplicate entries in t-017

- Add m-071 and m-072, DP links with incorrect text

- Merge m-026, m-027, m-028, m-029, m-037, m-038, m-039, m-040 into single m-037 message

- m-041 only check colophon and imprint

- Fix bug in m-037

- Only emit m-071, m-072, m-041 if there are fewer than 2 sources

- Add Ukranian to the set of scripts that need a Latn suffix. Thanks to Robin Whittleton

- Add s-094, endnote out of sequence

- Stop extremely long filenames from breaking lint output. Thanks to Robin Whittleton

- Add t-067, plural grapheme formed without apostrophe

- Merge multiple s-094 messsages into one entry

- Add `--allow` option to allow passing through specific errors that are ignored in `se-lint-ignore.xml`.

- Add s-095, `<hgroup>` with `<h>` that is out of order

se modernize-spelling

- Various additions

- Fix `per cent.,` -> `percent,`

se renumber-endnotes

- Added safety check before running. thanks to David Grigg

- Improved endnote check. Thanks to David Grigg

- Add `--brute-force` option

se semanticate

- Reduce false positives when adding semantics to 'in.'

- Various additions

- Don't add abbr semantics to `SOS`

- Rework checks for eoc on abbreviations. Thanks to Vince Rice

- Handle AD/BC terminating periods. Thanks to Vince Rice

se titlecase

- Various titlecasing improvements

se typogrify

- Fix common transcription error of :- -> :—

- Escape user input before passing to regex when hyphenating

- Improved typogrification of fractions

se unicode-names

- Gracefully handle unrecognized character

2.1.0

General

- Allow non-SE ebook folders to be parsed and operated on. A non-SE ebook does not have a `./src/` folder and does not have an SE-style `<dc:identifier>`.

- Fixes for all commands to work with the manual 1.6.1 rules for semantics vs classes

se build

- Add the `--check-only` option to only run epubcheck/ace without outputting any ebook files

se create-draft

- Add the `-w`, `--white-label` option to create an epub skeleton without SE branding

se find-mismatched-dashes

- Create this command. Scans an ebook for cases of the same compound word with and without dashes. Output is like `se find-mismatched-diacritics`.

se find-mismatched-diacritics

- Revamp output format to use Rich and to linkify words to M-W

se lint

- Improve t-042

- Add t-061, summary-style bridgehead without ending punctuation

- Improve t-060

- Strip elements before glossary search key map linting. Thanks to Robin Whittleton

- Don't crash when throwing f-002

- Use self.content_path instead of hard-coded path

- Add t-062, uppercased a.m./p.m.

se modernize-spelling

- Various additions

- Fix a broken regex. Thanks to David Grigg

se renumber-endnotes

- Fix an error with endnote IDs. Thanks to David Grigg

se typogrify

- Fix a common error case for incorrectly curled left quote

2.0.1

General

- Fix broken `se --version` command

- Restore the `quiet_remove()` function until the SE server is running a version of Python that can handle the alternative

2.0.0

Breaking changes

- `se reorder-endnotes` has been renamed to `se shift-endnotes` to better differentiate it from `se renumber-endnotes`

- `se print-manifest`, `se print-spine`, and `se print-toc` have been renamed to `se build-manifest`, `se build-spine`, and `se build-toc`. The `-i,--in-place` option has been removed and the tool now writes to disk by default. The `-s,--stdout` option has been added to print to stdout instead of writing to disk

- The `se create-draft` `-p`,`--pg-url` option has been replaced with `-p`,`--pg-id`, which takes the Project Gutenberg book ID number instead of a whole URL

- The `se interactive-sr` command has been replaced with the `se interactive-replace` command, a totally independent TUI utility that removes the Vim dependency

- The `se build` `-t`,`--covers` option has been removed

General

- Add a new `-p`,`--plain` option to the base `se` command to enable plain-text output for all subcommands. For example: `se --plain lint .`

- Replace all XHTML-processing regexes in all tools with dom operations

- Most checks that perform actions based on a filename now check the dom and perform checks based on the semantics in the file instead

- Don't include contributor name twice in SE identifier string if they are both a translator and illustrator

- Remove the `quiet_remove` function now that `Path.unlink()` accepts the `missing_ok` parameter

se build

- The `--check` flag now invokes Ace to check accessibility. Ace is only invoked if it's present in `$PATH`, otherwise it is not invoked and the build process will continue uninterrupted

- If epubcheck/Ace fails, the build files are kept on disk and are hyperlinked in the output

- Replace ditto mark (U+3003) with ldquo

- Don't crash if the colophon is missing

- Allow building without a cover image, or with a jpg/png cover image

- Alpha sort simplified class names so builds are deterministic

- Remove obsolete replacement of `<abbr>` with `<span>`

- Improve MathML replacement so many more basic MathML expressions get converted to plain text instead of an image

- Print epubcheck/Ace output in a lint-style table instead of using raw output

- Replace Unicode ratio character U+2236 with colon

- Add more ARIA roles to include, and improve xpath to include them

- Add alt text to mathml nodes that were converted to PNG

- Restructure work directory format during the build process and don't zip an epub until epubcheck/ace pass

- Save debug epub into a fixed location to prevent multiple runs from taking up disk space

- Use a temp file to capture epubcheck's stdout in case it's too long

- Remove outdated Google Play Books compatibility fix

- Pretty-print some more obscure errors instead of crashing

- Don't add more than one `role` attribute when adding ARIA roles

- Add first ARIA-valid `epub:type` to the role attribute

- Don't add ARIA roles to `<article>`

- Remove the `-t`,`--covers` option

se build-manifest

- Don't add glossary property for the ToC

- Don't fail if no manifest exists

se build-spine

- Don't fail if no spine exists

se build-title

- Add the `n`,`--no-newline` option

se build-toc

- Don't duplicate `*matter` semantic in landmarks

- Add support for `hidden` attribute on headings

se clean

- Trim white space within `<p>` in content.opf long description

- Don't remove spaces after `:` in CSS media queries

- When formatting CSS, don't add spaces after colons in strings

se create-draft

- Add LCCN entry for David Widger automatically

- Don't allow unidecode to convert rsquo to straight quote

- Don't try to find Wikipedia URL for a book if it's a generic compilation

- Update colophon template

- Update Uncopyright template

- Replace `-p`,`--pg-url` with `-p`,`--pg-id`

- Use correct `se:image.color-depth` semantic instead of `se:color-depth`

- Titlecase the book title

- Update metadata template to use variable for production notes

se lint

- Allow ex units for font size in c-023

- Correct URL references to URI in `id.loc.gov` errors. Thanks to Vince Rice

- Add t-058, quote used instead of ditto mark in table

- Add t-059, period at end of `<cite>` element before endnote backlink

- Add `together` to list of ignored classes

- Emit lint error instead of crashing in some cases

- Output f-002 only once, with sub items

- Check for half title page at any sectioning level

- Merge m-036, m-052, and m-062 into m-036, variable not replaced with value

- Add m-055, description does not end with a period

- Improve t-059

- Add s-035, endnote containing only `<cite>`

- Don't crash if there is no cover

- Merge m-011 into m-005

- Ignore some common known names in t-007

- Add s-084, poem has incorrect semantics

- Add t-060, old style Bible citation

- Add s-085, h element found at unexpected depth

- Remove accidental duplicate message s-050

- Allow any value for the scope attribute in s-055

- Don't throw s-025 if the titlepage has any heading content

- Add s-086, Op. Cit. in endnote

- Improve t-060

- Improve t-017

- Remove s-031; replace s-032 with generic 'invalid epub:type value' check that checks against set vocabularies

- Remove incorrect entry in SE vocabulary definition and update epub vocabulary definitions

- Add s-031, duplicate value in `epub:type` attribute

- Expand on t-017 error message

- Fix error in t-017

- Improve m-007

- Improve c-015

- Add m-011, Subtitle in metadata but no full title element

- Add s-087, subtitle in metadata but no subtitle in half title page

- Add s-088, subtitle in half title page but no subtitle in metadata

- Add m-062, `<dc:title>` missing matching file-as

- Add m-068, `<dc:title>` missing matching title-type

- Add s-089, MathML without `alttext` attribute

- Add m-069, `comprised of` in metadata

- Improve t-042

- Improve message for s-018

- Don't throw m-055 if the short description is not yet filled

- Don't throw m-016 if the long description is not yet filled out

- Update m-022 to check for any empty element, not just production notes

- Add m-070, lint check for glossary entries missing from the text. Thanks to Robin Whittleton

- Add s-090, invalid language tag

se modernize-spelling

- Various additions

se recompose-epub

- Improve fix for positioning figures/images with `positon: absolute;` during recomposition

- Remove `data-css` classes from output

se renumber-endnotes

- Don't print traceback if the target is not an SE directory

- Properly process endnotes within endnotes.xhtml itself. Thanks to David Grigg

- Actually follow spine order

se semanticate

- Various additions

se shift-endnotes

- Correctly handle endnotes within endnotes

- Add `-a`,`--amount` flag to shift endnotes by any amount

- Fix incorrect increment calculation

se split-file

- Add NUMBER parameter to template

se typogrify

- Remove shy hyphens

se xpath

- Add `-f`,`--only-filenames` option

- Smarter check when adding Roman semantics

- Escape `[` to prevent Rich from parsing those characters as styling commands

Page 5 of 9

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.