Releases: tectonic-typesetting/tectonic
tectonic_bridge_core 0.4.1
tectonic_bridge_core 0.4.1 (2024-02-05)
- Add a safety comment and fix some new Clippy complaints (#1076, @CraftSpider)
tectonic 0.15.0
tectonic 0.15.0 (2024-02-05)
This release contains a grab-bag of nice improvements:
- The port of Tectonic’s BibTeX engine to a pure-Rust implementation has been
completed by @CraftSpider (#1077, #1083, #1127, #1129)! It continues
to be the case that this change should be invisible to users, but it shows
that large chunks of Tectonic’s legacy C/C++ code can be migrated to cleaner,
safer, more maintainable Rust over time. - The official Linux builds of Tectonic now link against OpenSSL 3.x, instead of
the old 1.1 series (#1092, @pkgw). This should improve binary
compatibility on mainstream platforms. If you need a build that uses the older
series, you’ll have to compile it yourself. - The
--web-bundle
flag can now be used in more situations, specifically
tectonic -X new
andtectonic -X init
(#1132, @bryango). - As part of the above work, you can now activate the "V2" interface with the
-X
flag in more places on the Tectonic command line. - The
Tectonic.toml
file used by the "V2" interface now supports a
[metadata]
section for arbitrary structured user metadata (#1120,
@rm-dr). This is useful for custom tools that build on top of Tectonic,
where you might want to have some custom pieces of information about each
document in a group. - The "V2" interface also now supports external commands (#1103, @rm-dr). If
you have a program namedtectonic-blah
in your search path, running
tectonic -X blah
will execute it. - Running
tectonic -Z help
(as opposed totectonic -Zhelp
) now actually
works (#1064, #1084, @pkgw).
Build changes:
- You can now cross-compile Tectonic to the
aarch64-unknown-linux-musl
target
(#1089, @pkgw). - MIPS is no longer supported as a build target (#1076, @CraftSpider). It
dropped to Tier 3 support by the Rust language, which makes it difficult to
support in our continuous integration systems. Sorry, MIPS!
Documentation fixes:
- Update the Arch Linux package URL (#1119, @felixonmars)
- Document
shell_escape_cwd
inTectonic.toml
(#1116, @eljamm) - Fix a type in the Unicode section (#1111, @goyalyashpal)
- Various other corrections (#1065, #1068, @ColeFrench)
tectonic_engine_bibtex 0.2.1
tectonic_engine_bibtex 0.2.1 (2023-06-15)
- Fix a translation bug in the growth of the
global_str
buffer
(#1055, @CraftSpider, reported in #1054 by @giammirove)
tectonic 0.14.1
tectonic 0.14.1 (2023-06-15)
This is a bugfix release:
- @giammirove wins the prize for discovering the first bug in the Rust
translation of the BibTeX engine (issue #1054) — no small feat since our
test suite includes nearly 8000 ArXiv submissions! Correcting a line of code
that resizes an internal buffer fixes the problem (#1055, @CraftSpider). - The updated “watch” implementation failed if the path to the Tectonic
executable contained whitespace (issue #1003, reported by @m-haug).
Proper quoting addresses the issue (#1053, @xinslu).
tectonic_xetex_layout 0.2.3
tectonic_xetex_layout 0.2.3 (2023-06-12)
- Fix a potential crash on invalid font files (#1035, @Mrmaxmeier).
tectonic_engine_xetex 0.4.3
tectonic_engine_spx2html 0.3.1
tectonic_engine_bibtex 0.2.0
tectonic_engine_bibtex 0.2.0 (2023-06-12)
This is a big release! This version of the BibTeX engine doesn’t change its
behavior or APIs, but major chunks of its internals have been translated into
Rust by @CraftSpider in #1032, with a bunch of new tests introduced in
#1037 and #1039. This translation replaces about 2,200 lines of C code with
clean, well-organized, (mostly) safe Rust. While there aren’t any major changes
planned for the behavior of the BibTeX engine, this work demonstrates how the
legacy C/C++ code in Tectonic can gradually be replaced with safer, more modern,
more maintainable code.
This effort benefited significantly from work by @Mrmaxmeier to revitalize the
tectonic-on-arXiv service, which runs Tectonic pull requests on a large corpus
of arxiv.org preprints and reports any changes in the outputs.
tectonic_bridge_core 0.4.0
tectonic_bridge_core 0.4.0 (2023-06-12)
- Add new APIs,
CoreBridgeLauncher::with_expose_absolute_paths
and
CoreBridgeLauncher::with_mtime_override
(#1036, @Mrmaxmeier). These help
enable the new-Z deterministic-mode
mode.
tectonic 0.14.0
tectonic 0.14.0 (2023-06-12)
This release features a significant, but hopefully invisible, change: Tectonic’s
BibTeX engine has been partially translated from C to Rust (#1032, #1037,
#1039, @CraftSpider). The intention is that the engine’s behavior should be
completely unchanged, and there are not plans to make any significant
alterations in the near future, but this effort demonstrates how Tectonic’s
legacy C/C++ code can be migrated to cleaner, safer, more maintainable Rust over
time.
There are also a few new features:
- Add a new
--target
option totectonic -X build
allowing you to
specify which output to build (#1043, @xinslu). - Add a new unstable option,
-Z deterministic-mode
, that turns on some
features that help create fully deterministic outputs (#1036, @Mrmaxmeier).
These settings aren’t desirable for day-to-day use, but they help create
byte-for-byte reproducible outputs for automated testing. This option
is part of further work by @Mrmaxmeier to bring the valuable
tectonic-on-arXiv testing service back into regular operation.
As well as some developer improvements and bugfixes:
- Fix some corner-case bugs in the HTML output (#1052, @pkgw).
- Update the vendored version of Harfbuzz to the latest upstream release,
version 7.3.0 (#1042, @pkgw).
Thanks to our new contributor @xinslu and everyone else contributing to this
release!