Releases: tectonic-typesetting/tectonic
tectonic_bridge_core 0.3.1
tectonic_bridge_core 0.3.1 (2022-10-03)
- Remove C's
time_t
from internal FFI APIs to avoid portability issues. This
should avoid issues with Linux Musl builds.
tectonic 0.10.0
tectonic 0.10.0 (2022-10-03)
This release updates Tectonic to support TeXLive 2022.0! There are not many code changes in the engines, so the primary user-visible changes will stem from the many package updates incorporated into the new TeXLive 2022.0 bundle. To switch a preexisting Tectonic document to use the new bundle, update the doc.bundle
field in Tectonic.toml
to https://data1.fullyjustified.net/tlextras-2022.0r0.tar
. Newly-created documents and one-off compilations will use this bundle (or subsequent updates) by default.
This release also adds a new “drop-in” installation method. This adds a way to quickly install Tectonic in the popular curl
/sh
style. On a Unix-like operating system, run:
curl --proto '=https' --tlsv1.2 -fsSL https://drop-sh.fullyjustified.net |sh
... to drop a system-appropriate tectonic
binary in the current working directory. On Windows, run the following in a PowerShell terminal:
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://drop-ps1.fullyjustified.net'))
Other changes:
- Make it so that running
tectonic -Zhelp
works (#929, @pkgw). Before it would error out because the argument parser wanted an input filename. - Fix
-Z continue-on-errors
(#917, @vlasakm). This was broken in an earlier refactoring. - Add a
-Z shell-escape-cwd=<dir>
unstable option (#909, @0x00002a). This can work around issues in Tectonic's handing of shell-escape processing, which is very conservative about defaulting to launching programs in a limited environment. In particular, if you set the directory to the document source directory, commands like\inputminted
can work. - It is possible for one
.tex
file to generate multiple.aux
files. Even if more than one of those files should have triggered its ownbibtex
run, Tectonic only ranbibtex
once. This is now fixed (#906, #907, @Starrah). - Give some more context in the error message if an external (shell-escape) tool tries to open a file that's missing (#899, @matz-e).
The known issue relating to OpenSSL 3 is believed to still be relevant:
- The generic prebuilt Tectonic binaries for Linux are built for the version 1.1 series of OpenSSL. The latest Ubuntu release, 22.04 (Jammy Jellyfish), now targets OpenSSL 3, with no compatibility fallback, which means that the prebuilt binaries won’t run. To run Tectonic on these systems, compile it yourself, use the “semistatic” MUSL Linux builds, or install a package built specifically for this OS. To be clear, there are no actual issues with OpenSSL 3 compatibility — we just need to provide an alternative set of builds. See #892 for updates.
Thank you to everyone who contributed to this release!
tectonic 0.9.0
tectonic 0.9.0 (2022-04-27)
This release updates Tectonic to correspond with TeXLive 2021.3, jumping
forward from the previous sync point of TeXLive 2020.0.
- The primary user-visible changes will stem from the many package updates
incorporated into the new TeXLive 2021.3 bundle. We don't actually have a
listing of all of the updates, but they are numerous. To switch a preexisting
Tectonic document to use the new bundle, update thedoc.bundle
field in
Tectonic.toml
tohttps://data1.fullyjustified.net/tlextras-2021.3r1.tar
.
Newly-created documents will use this bundle (or subsequent updates) by
default. - The XeTeX engine has mostly low-level updates, but there was a significant
rework of OpenType math kerning and sub/super-scripting. There is a new
\tracingstacklevels
integer parameter. See the changelog for the
tectonic_engine_xetex
Rust crate for more details. - The xdvipdfmx engine has numerous updates including improvements for Japanese
font fallbacks. See the changelog for thetectonic_engine_xdvipdfmx
Rust
crate for more details.
Separately, the “GitHub Discussions” feature for the Tectonic repository has
been activated:
https://github.com/tectonic-typesetting/tectonic/discussions
@pkgw has found himself unable to pay proper attention to the
tectonic.newton.cx
Discourse service, which has been fairly moribund. The
intention is to sunset it.
We have one known issue worth highlighting:
- The generic prebuilt Tectonic binaries for Linux are built for the version 1.1
series of OpenSSL. The latest Ubuntu release, 22.04 (Jammy Jellyfish), now
targets OpenSSL 3, with no compatibility fallback, which means that the
prebuilt binaries won’t run. To run Tectonic on these systems, compile it
yourself, use the “semistatic” MUSL Linux builds, or install a package built
specifically for this OS. To be clear, there are no actual issues with OpenSSL
3 compatibility — we just need to provide an alternative set of builds. See
#892 for updates.
Other improvements include:
- Some TeX packages attempt to read input from external processed using a “pipe”
syntax. This capability is not currently implemented in Tectonic. Such uses
now trigger a warning (#859, #888, @pkgw). - The location of the Tectonic cache is now customizable by setting the
TECTONIC_CACHE_DIR
environment variable (#884, @wischi-chr). People are
encouraged to use the default whenever possible, but flexibility here can be
useful in some circumstances. - Document the V2
-X
flag better in the documentation and CLI output (#877,
@clbarnes). - Some memory leaks during failed builds have been plugged as part of an ongoing
(albeit slow) effort to get it so that Tectonic can be used with modern input
fuzzing tools (@pkgw). - Allow basic
\openin
of un-closed\openout
files to succeed (#882, @pkgw).
This should gethyperxmp
working (#862).
tectonic_xetex_layout 0.2.0
tectonic_xetex_format 0.2.0
tectonic_pdf_io 0.2.0
tectonic_pdf_io 0.2.0 (2022-04-26)
Update xdvipdfmx for TeXLive 2021 (#882, @pkgw). A brief summary of changes based
on the TeXLive 2021 release notes:
- Not applicable to Tectonic: GhostScript safety improvements
- If an image file is not found, exit with bad status.
- Extended special syntax for color support.
- Specials for manipulating ExtGState.
- Compatibility specials
pdfcolorstack
andpdffontattr
. - Experimental support for dviluatex’s extended
fnt_def
. - Support new feature of virtual font to fallback Japanese font definition.
There are other internal changes; see the low-level ChangeLog. See also
the tectonic_xdvipdfmx
crate, which actually contains only a few pieces of
this update.
Additionally, some new memory leaks have been plugged (@pkgw).
tectonic_engine_xetex 0.3.0
tectonic_engine_xetex 0.3.0 (2022-04-26)
Update the XeTeX engine for TeXLive 2021 (#882, @pkgw).
- Present as XeTeX revision 0.999993
- Update the XeTeX format specification to the new version 32
- Import \Ucharcat update from 2018 that I seem to have missed before
- Fixes for TeX bugs 430-440
- 430: not relevant to Tectonic (interactive features)
- 431: not relevant to Tectonic (interactive features)
- 432: skipped (date/time in system variables; no discernable impact on Tectonic)
- 433: "After nine parameters, delete both # and the token that follows" — breaking change!
- 434: Don't accept an implicit left brace after # in macro head
- 435: Keep garbage out of the buffer if a |\read| end unexpectedly
- 436: Zero out nonexistent chars, to prevent rogue TFM files
- 437: Don't classify fraction noads as inner noads
- 438: Properly identify tabskip glue when tracing repeated templates
- 439: not relevant to Tectonic
- 440: Normalize newlinechar when printing the final stats
- Significant rework/improvement of OpenType math kerning and super/sub-scripting
- Honor
PRIM_SIZE
correctly now that we have to change it! - Implement
\tracingstacklevels
- Guard against expansion depth overflow
- When reporting "lost characters", provide hex/UCS codes
- TECkit updated to TL21: version 2.5.10, upgrading from 2.5.9
- This updates Unicode character names and normalization data to 13.0.0
Also:
tectonic_engine_xdvipdfmx 0.2.0
tectonic_engine_xdvipdfmx 0.2.0 (2022-04-26)
Update xdvipdfmx for TeXLive 2021 (#882, @pkgw). A brief summary of changes
based on the TeXLive 2021 release notes:
- Not applicable to Tectonic: GhostScript safety improvements.
- If an image file is not found, exit with bad status.
- Extended special syntax for color support.
- Specials for manipulating ExtGState.
- Compatibility specials
pdfcolorstack
andpdffontattr
. - Experimental support for dviluatex’s extended
fnt_def
. - Support new feature of virtual font to fallback Japanese font definition.
There are other internal changes; see the low-level ChangeLog. Note
that most of these changes are actually found in the tectonic_pdf_io
crate,
which contains most of the actual exported xdvipdfmx code.
tectonic_bundles 0.3.0
tectonic_bundles 0.3.0 (2022-04-26)
This minor bump contains a breaking change!
- The default bundle URL is now parametrized with the "format version", which
captures the internal capabilities of the XeTeX engine. Since the bundle and
the engine are fairly tightly coupled, this allows us to provide bundles that
track the capabilities of newer engine versions, while preserving the behavior
of older engine versions. Anyway, instead of exporting aFALLBACK_BUNDLE_URL
const, we now export aget_fallback_bundle_url()
method that takes the
format version as an argument. This argument should be the value of
tectonic_engine_xetex::FORMAT_SERIAL
if you have a module that actually
links to the XeTeX engine. - Make the cache location customizable with the environment variable
TECTONIC_CACHE_DIR
(#880, #884, @wischi-chr). - Fix "fetching" of zero-size files to succeed without attempting any I/O (#888,
@pkgw).
tectonic_bridge_harfbuzz 0.2.5
tectonic_bridge_harfbuzz 0.2.5 (2022-04-26)
- Update the vendored harfbuzz to 4.1.0.