154 lines
6.0 KiB
Markdown
154 lines
6.0 KiB
Markdown
% SPDX-FileCopyrightText: 2022 James R. Barlow
|
|
% SPDX-License-Identifier: CC-BY-SA-4.0
|
|
|
|
# v8
|
|
|
|
## v8.3.2
|
|
|
|
- Dropped workaround for macOS that allowed it work without pdfminer.six,
|
|
now a proper sdist release of pdfminer.six is available.
|
|
- pikepdf 1.5.0 is now required.
|
|
|
|
## v8.3.1
|
|
|
|
- Fixed an issue where PDFs with malformed metadata would be rendered as
|
|
blank pages. {issue}`398`.
|
|
|
|
## v8.3.0
|
|
|
|
- Improved the strategy for updating pages when a new image of the page
|
|
was produced. We now attempt to preserve more content from the
|
|
original file, for annotations in particular.
|
|
- For PDFs with more than 100 pages and a sequence where one PDF page
|
|
was replaced and one or more subsequent ones were skipped, an
|
|
intermediate file would be corrupted while grafting OCR text, causing
|
|
processing to fail. This is a regression, likely introduced in
|
|
v8.2.4.
|
|
- Previously, we resized the images produced by Ghostscript by a small
|
|
number of pixels to ensure the output image size was an exactly what
|
|
we wanted. Having discovered a way to get Ghostscript to produce the
|
|
exact image sizes we require, we eliminated the resizing step.
|
|
- Command line completions for `bash` are now available, in addition
|
|
to `fish`, both in `misc/completion`. Package maintainers, please
|
|
install these so users can take advantage.
|
|
- Updated requirements.
|
|
- pikepdf 1.3.0 is now required.
|
|
|
|
## v8.2.4
|
|
|
|
- Fixed a false positive while checking for a certain type of PDF that
|
|
only Acrobat can read. We now more accurately detect Acrobat-only
|
|
PDFs.
|
|
- OCRmyPDF holds fewer open file handles and is more prompt about
|
|
releasing those it no longer needs.
|
|
- Minor optimization: we no longer traverse the table of contents to
|
|
ensure all references in it are resolved, as changes to libqpdf have
|
|
made this unnecessary.
|
|
- pikepdf 1.2.0 is now required.
|
|
|
|
## v8.2.3
|
|
|
|
- Fixed that `--mask-barcodes` would occasionally leave a unwanted
|
|
temporary file named `junkpixt` in the current working folder.
|
|
- Fixed (hopefully) handling of Leptonica errors in an environment
|
|
where a non-standard `sys.stderr` is present.
|
|
- Improved help text for `--verbose`.
|
|
|
|
## v8.2.2
|
|
|
|
- Fixed a regression from v8.2.0, an exception that occurred while
|
|
attempting to report that `unpaper` or another optional dependency
|
|
was unavailable.
|
|
- In some cases, `ocrmypdf [-c|--clean]` failed to exit with an error
|
|
when `unpaper` is not installed.
|
|
|
|
## v8.2.1
|
|
|
|
- This release was canceled.
|
|
|
|
## v8.2.0
|
|
|
|
- A major improvement to our Docker image is now available thanks to
|
|
hard work contributed by @mawi12345. The new Docker image,
|
|
ocrmypdf-alpine, is based on Alpine Linux, and includes most of the
|
|
functionality of three existed images in a smaller package. This
|
|
image will replace the main Docker image eventually but for now all
|
|
are being built. [See documentation for
|
|
details](https://ocrmypdf.readthedocs.io/en/latest/docker.html).
|
|
- Documentation reorganized especially around the use of Docker images.
|
|
- Fixed a problem with PDF image optimization, where the optimizer
|
|
would unnecessarily decompress and recompress PNG images, in some
|
|
cases losing the benefits of the quantization it just had just
|
|
performed. The optimizer is now capable of embedding PNG images into
|
|
PDFs without transcoding them.
|
|
- Fixed a minor regression with lossy JBIG2 image optimization. All
|
|
JBIG2 candidates images were incorrectly placed into a single
|
|
optimization group for the whole file, instead of grouping pages
|
|
together. This usually makes a larger JBIG2Globals dictionary and
|
|
results in inferior compression, so it worked less well than
|
|
designed. However, quality would not be impacted. Lossless JBIG2 was
|
|
entirely unaffected.
|
|
- Updated dependencies, including pikepdf to 1.1.0. This fixes
|
|
{issue}`358`.
|
|
- The install-time version checks for certain external programs have
|
|
been removed from setup.py. These tests are now performed at
|
|
run-time.
|
|
- The non-standard option to override install-time checks
|
|
(`setup.py install --force`) is now deprecated and prints a
|
|
warning. It will be removed in a future release.
|
|
|
|
## v8.1.0
|
|
|
|
- Added a feature, `--unpaper-args`, which allows passing arbitrary
|
|
arguments to `unpaper` when using `--clean` or `--clean-final`.
|
|
The default, very conservative unpaper settings are suppressed.
|
|
- The argument `--clean-final` now implies `--clean`. It was
|
|
possible to issue `--clean-final` on its before this, but it would
|
|
have no useful effect.
|
|
- Fixed an exception on traversing corrupt table of contents entries
|
|
(specifically, those with invalid destination objects)
|
|
- Fixed an issue when using `--tesseract-timeout` and image
|
|
processing features on a file with more than 100 pages.
|
|
{issue}`347`
|
|
- OCRmyPDF now always calls `os.nice(5)` to signal to operating
|
|
systems that it is a background process.
|
|
|
|
## v8.0.1
|
|
|
|
- Fixed an exception when parsing PDFs that are missing a required
|
|
field. {issue}`325`
|
|
- pikepdf 1.0.5 is now required, to address some other PDF parsing
|
|
issues.
|
|
|
|
## v8.0.0
|
|
|
|
No major features. The intent of this release is to sever support for
|
|
older versions of certain dependencies.
|
|
|
|
**Breaking changes**
|
|
|
|
- Dropped support for Tesseract 3.x. Tesseract 4.0 or newer is now
|
|
required.
|
|
- Dropped support for Python 3.5.
|
|
- Some `ocrmypdf.pdfa` APIs that were deprecated in v7.x were
|
|
removed. This functionality has been moved to pikepdf.
|
|
|
|
**Other changes**
|
|
|
|
- Fixed an unhandled exception when attempting to mask barcodes.
|
|
{issue}`322`
|
|
- It is now possible to use ocrmypdf without pdfminer.six, to support
|
|
distributions that do not have it or cannot currently use it (e.g.
|
|
Homebrew). Downstream maintainers should include pdfminer.six if
|
|
possible.
|
|
- A warning is now issue when PDF/A conversion removes some XMP
|
|
metadata from the input PDF. (Only a "whitelist" of certain XMP
|
|
metadata types are allowed in PDF/A.)
|
|
- Fixed several issues that caused PDF/As to be produced with
|
|
nonconforming XMP metadata (would fail validation with veraPDF).
|
|
- Fixed some instances where invalid DocumentInfo from a PDF cause XMP
|
|
metadata creation to fail.
|
|
- Fixed a few documentation problems.
|
|
- pikepdf 1.0.2 is now required.
|
|
|