Skip to content

Commit f1d1a76

Browse files
author
cranko
committed
Release request commit created with Cranko.
+++ cranko-rc-info-v1 [[projects]] qnames = ["tectonic_engine_bibtex", "cargo"] bump_spec = "micro bump" [[projects]] qnames = ["tectonic", "cargo"] bump_spec = "micro bump" +++
2 parents aba764e + a2865a6 commit f1d1a76

8 files changed

Lines changed: 56 additions & 292 deletions

File tree

CHANGELOG.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,26 @@
1-
# rc: minor bump
1+
# rc: micro bump
2+
3+
This is a bugfix release:
4+
5+
- [@giammirove] wins the prize for discovering the first bug in the Rust
6+
translation of the BibTeX engine (issue [#1054]) — no small feat since our
7+
test suite includes nearly 8000 ArXiv submissions! Correcting a line of code
8+
that resizes an internal buffer fixes the problem ([#1055], [@CraftSpider]).
9+
- The updated “watch” implementation failed if the path to the Tectonic
10+
executable contained whitespace (issue [#1003], reported by [@m-haug]).
11+
Proper quoting addresses the issue ([#1053], [@xinslu]).
12+
13+
[#1003]: https://github.com/tectonic-typesetting/tectonic/issues/1003
14+
[#1053]: https://github.com/tectonic-typesetting/tectonic/pull/1053
15+
[#1054]: https://github.com/tectonic-typesetting/tectonic/issues/1054
16+
[#1055]: https://github.com/tectonic-typesetting/tectonic/pull/1055
17+
[@giammirove]: https://github.com/giammirove
18+
[@CraftSpider]: https://github.com/CraftSpider
19+
[@m-haug]: https://github.com/m-haug
20+
[@xinslu]: https://github.com/xinslu
21+
22+
23+
# tectonic 0.14.0 (2023-06-12)
224

325
This release features a significant, but hopefully invisible, change: Tectonic’s
426
BibTeX engine has been partially translated from C to Rust ([#1032], [#1037],

crates/bridge_core/CHANGELOG.md

Lines changed: 6 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,8 @@
1-
# rc: minor bump
1+
# See elsewhere for changelog
22

3-
- Add new APIs, `CoreBridgeLauncher::with_expose_absolute_paths` and
4-
`CoreBridgeLauncher::with_mtime_override` (#1036, @Mrmaxmeier). These help
5-
enable the new `-Z deterministic-mode` mode.
3+
This project’s release notes are curated from the Git history of its main
4+
branch. You can find them by looking at [the version of this file on the
5+
`release` branch][branch] or the [GitHub release history][gh-releases].
66

7-
8-
# tectonic_bridge_core 0.3.2 (2023-05-18)
9-
10-
- Bump the `md-5` dep to the 0.10 series (#1038, @CraftSpider)
11-
- Tidy up recent Clippy warnings.
12-
13-
14-
# tectonic_bridge_core 0.3.1 (2022-10-03)
15-
16-
- Remove C's `time_t` from internal FFI APIs to avoid portability issues. This
17-
should avoid issues with Linux Musl builds.
18-
19-
20-
# tectonic_bridge_core 0.3.0 (2021-10-11)
21-
22-
- Add `SecuritySettings::allow_extra_search_paths()` (#814, @ralismark).
23-
24-
25-
# tectonic_bridge_core 0.2.2 (2021-06-17)
26-
27-
- Switch from running [cbindgen] at build time to having the developer run it
28-
manually. This really ought to fix the crate builds on docs.rs ([#788]), and
29-
should speed builds too.
30-
31-
[cbindgen]: https://github.com/eqrion/cbindgen
32-
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
33-
34-
35-
# tectonic_bridge_core 0.2.1 (2021-06-17)
36-
37-
- Attempt to fix crate builds on docs.rs — see [#788]. This works around an
38-
issue in Tectonic’s usage of [cbindgen] by configuring Cargo to operate in
39-
offline mode when building on docs.rs, which builds crates with network access
40-
turned off.
41-
42-
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
43-
[cbindgen]: https://github.com/eqrion/cbindgen
44-
45-
46-
# tectonic_bridge_core 0.2.0 (2021-06-15)
47-
48-
- Add a security infrastructure that gives a systematic way to control whether
49-
features that can be abused by untrusted inputs, like shell-escape, are
50-
enabled. The default is to disable all such features. Callers can request to
51-
allow their use, but we use a centralized approach that ensures that such
52-
requests will always be denied if the environment variable
53-
`$TECTONIC_UNTRUSTED_MODE` is set to a nonempty value (@pkgw, #787).
54-
- Add a C API allowing us to expose the filesystem paths for just-opened
55-
inputs. This is needed for correct SyncTeX support (@hullanson, @pkgw, #762).
56-
57-
58-
# tectonic_bridge_core 0.1.0 (2021-06-03)
59-
60-
This is the first release of the "core" bridge crate. It provides a baseline of
61-
APIs for C/C++ code to interact with an underlying "driver" implemented in Rust.
62-
Those APIs mainly revolve around basic I/O and diagnostics, although we do have
63-
a specialized "system request" to implement the TeX shell-escape feature.
7+
[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/bridge_core/CHANGELOG.md
8+
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases

crates/engine_bibtex/CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
# rc: minor bump
1+
# rc: micro bump
2+
3+
- Fix a translation bug in the growth of the `global_str` buffer
4+
(#1055, @CraftSpider, reported in #1054 by @giammirove)
5+
6+
7+
# tectonic_engine_bibtex 0.2.0 (2023-06-12)
28

39
This is a big release! This version of the BibTeX engine doesn’t change its
410
behavior or APIs, but major chunks of its internals have been translated into

crates/engine_bibtex/src/c_api/global.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ impl GlobalData {
2323

2424
fn grow(&mut self) {
2525
self.glb_bib_str_ptr.grow(MAX_GLOB_STRS);
26-
self.global_strs.grow(MAX_GLOB_STRS);
26+
self.global_strs.grow((GLOB_STR_SIZE + 1) * MAX_GLOB_STRS);
2727
self.glb_str_end.grow(MAX_GLOB_STRS);
2828
}
2929
}
Lines changed: 6 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,8 @@
1-
# rc: micro bump
1+
# See elsewhere for changelog
22

3-
- Avoid emitting negative padding values, which are illegal (#1052, @pkgw)
4-
- Close automatic tags when starting certain automatic tags (#1052, @pkgw)
3+
This project’s release notes are curated from the Git history of its main
4+
branch. You can find them by looking at [the version of this file on the
5+
`release` branch][branch] or the [GitHub release history][gh-releases].
56

6-
7-
# tectonic_engine_spx2html 0.3.0 (2023-05-18)
8-
9-
- A massive rework to support more sophisticated HTML output for the
10-
[Tectonopedia] project (#1016, @pkgw). This crate is still highly unstable so
11-
we're not going to document them.
12-
13-
[Tectonopedia]: https://github.com/tectonic-typesetting/tectonopedia
14-
15-
16-
# tectonic_engine_spx2html 0.2.1 (2022-10-27)
17-
18-
- Avoid a dumb crash when attempting to compile documents that have not been
19-
set up for the Tectonic HTML compilation framework (#955, @pkgw). Note,
20-
however, that generic documents will still fail to build in HTML mode.
21-
22-
23-
# tectonic_engine_spx2html 0.2.0 (2022-10-04)
24-
25-
- Many updates for [tt-weave] (#941, @pkgw). This crate is still highly unstable
26-
so we're not going to document them.
27-
28-
[tt-weave]: https://github.com/pkgw/tt-weave/
29-
30-
31-
# tectonic_engine_spx2html 0.1.1 (2022-03-02)
32-
33-
- Use the new pinot 0.1.4, which adds the new APIs needed by Tectonic (#870,
34-
@pkgw). This should fix `cargo install tectonic`, which didn't work because
35-
Git repositories can't be used as Crates.io dependencies.
36-
37-
38-
# tectonic_engine_spx2html 0.1.0 (2022-02-28)
39-
40-
Introduce this crate, which starts implementing Tectonic's HTML output. It uses
41-
[tera] for templating and a hacked version of [pinot] for parsing font files,
42-
which turns out to be important for precise typography.
43-
44-
The implementation is still very much preliminary, and the associated HTML and
45-
CSS templates haven't yet been published anywhere, so it's not very useful as
46-
yet, but hopefully that will all be changing soon.
47-
48-
[tera]: https://crates.io/crates/tera
49-
[pinot]: https://crates.io/crates/pinot
7+
[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/engine_spx2html/CHANGELOG.md
8+
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases

crates/engine_xetex/CHANGELOG.md

Lines changed: 6 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -1,146 +1,8 @@
1-
# rc: micro bump
1+
# See elsewhere for changelog
22

3-
- Address a C compiler warning (#1050, @pkgw).
3+
This project’s release notes are curated from the Git history of its main
4+
branch. You can find them by looking at [the version of this file on the
5+
`release` branch][branch] or the [GitHub release history][gh-releases].
46

5-
6-
# tectonic_engine_xetex 0.4.2 (2023-05-18)
7-
8-
- Remove the automatic insertion of paragraph tags in HTML mode (#1016, @pkgw).
9-
It turns out that in TeX's internals, the starts and ends of "paragraphs"
10-
occur much more frequently than is apparent in the document source. And
11-
TeXLive 2022 introduces new LaTeX-level hooks for paragraph starts and ends
12-
that align much better with linguistic paragraphs. (This is not a coincidence,
13-
since the LaTeX core team is being funded to add support for creating properly
14-
semantically tagged PDFs.) So, for HTML output going forward, we'll use those
15-
hooks, and then there's no need for paragraph tagging support to be built into
16-
the engine here.
17-
18-
19-
# tectonic_engine_xetex 0.4.1 (2022-10-04)
20-
21-
- When emitting in HTML mode, express paragraphs with `<div class="tdux-p">`
22-
instead of `<p>` (#941, @pkgw). This might seem wrong, but matches TeX's
23-
semantics better to the HTML specification, which is quite explicit that the
24-
`<p>` element does not have any special semantic meaning, and in fact
25-
recommends grouping semantic paragraphs with `<div>`s. You can't nest an
26-
`<ol>` inside a `<p>`, for instance, which does not align with TeX's view of
27-
things.
28-
29-
30-
# tectonic_engine_xetex 0.4.0 (2022-10-03)
31-
32-
- Synchronize with TeXLive 2022.0 (#936, @pkgw)! Not many changes:
33-
- Update the internal TECKit to 2.5.11, corresponding to
34-
Unicode 14.0.0.
35-
- Update the engine format version to 33, which removes unused
36-
MLTeX `char_sub` parameters and expands the primitives table
37-
because we've passed 500 of them.
38-
- Update the XeTeX revision code to `.999994`.
39-
- Remove some vestigial MLTeX code related to the above.
40-
- Fix cleanup of TECKit in a few places
41-
- Other upstream changes are not relevant to Tectonic.
42-
- Remove C's `time_t` from internal FFI APIs to avoid portability issues. This
43-
should avoid issues with Linux Musl builds.
44-
45-
46-
# tectonic_engine_xetex 0.3.0 (2022-04-26)
47-
48-
Update the XeTeX engine for TeXLive 2021 (#882, @pkgw).
49-
50-
- Present as XeTeX revision 0.999993
51-
- Update the XeTeX format specification to the new version 32
52-
- Import [\Ucharcat update from 2018][ucc] that I seem to have missed before
53-
- Fixes for [TeX bugs][tex82] 430-440
54-
- 430: not relevant to Tectonic (interactive features)
55-
- 431: not relevant to Tectonic (interactive features)
56-
- 432: skipped (date/time in system variables; no discernable impact on Tectonic)
57-
- 433: "After nine parameters, delete both # and the token that follows" — breaking change!
58-
- 434: Don't accept an implicit left brace after # in macro head
59-
- 435: Keep garbage out of the buffer if a |\read| end unexpectedly
60-
- 436: Zero out nonexistent chars, to prevent rogue TFM files
61-
- 437: Don't classify fraction noads as inner noads
62-
- 438: Properly identify tabskip glue when tracing repeated templates
63-
- 439: not relevant to Tectonic
64-
- 440: Normalize newlinechar when printing the final stats
65-
- Significant rework/improvement of OpenType math kerning and super/sub-scripting
66-
- Honor `PRIM_SIZE` correctly now that we have to change it!
67-
- Implement `\tracingstacklevels`
68-
- Guard against expansion depth overflow
69-
- When reporting "lost characters", provide hex/UCS codes
70-
- TECkit updated to TL21: version 2.5.10, upgrading from 2.5.9
71-
- This updates Unicode character names and normalization data to 13.0.0
72-
73-
[ucc]: https://github.com/TeX-Live/xetex/commit/0b12b29abb4748a9a85cc3e195ad388eba0d674e
74-
[tex82]: https://ctan.math.utah.edu/ctan/tex-archive/systems/knuth/dist/errata/tex82.bug
75-
76-
Also:
77-
78-
- Allow `\openin` of `\openout` files to succeed (addresses #862, @pkgw).
79-
80-
81-
# tectonic_engine_xetex 0.2.0 (2022-02-28)
82-
83-
- Use the new `tectonic_xetex_format` crate as part of the build process (#851,
84-
#848, @pkgw). This crate defines all of the metadata about the XeTeX engine
85-
internals, with versioning, and generates the necessary header files and
86-
macros. It also contains code for decoding XeTeX/Tectonic format files, so
87-
that we'll be able to introspect engine data structures such as macro
88-
definitions.
89-
- Plumb in some specials that will be used by the prototype HTML output
90-
mode (#865, @pkgw)
91-
- Tidy up some of the auto-generated C code
92-
- Fix an internal transcription error: `pre_display_direction`, not
93-
`pre_display_correction`
94-
- Fix a long-standing test issue with PNG image dimensions occasionally leading
95-
to not-quite-reproducible output (#847, @pkgw)
96-
97-
98-
# tectonic_engine_xetex 0.1.4 (2021-07-04)
99-
100-
- Avoid misplaced newlines in warning output ([#803], [@ralismark])
101-
- Fix new warnings reported by Clippy 1.53.0
102-
103-
[#803]: https://github.com/tectonic-typesetting/tectonic/pull/803
104-
[@ralismark]: https://github.com/ralismark
105-
106-
107-
# tectonic_engine_xetex 0.1.3 (2021-06-17)
108-
109-
- Switch from running [cbindgen] at build time to having the developer run it
110-
manually. This really ought to fix the crate builds on docs.rs ([#788]), and
111-
should speed builds too.
112-
113-
[cbindgen]: https://github.com/eqrion/cbindgen
114-
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
115-
116-
117-
# tectonic_engine_xetex 0.1.2 (2021-06-17)
118-
119-
- Attempt to fix crate builds on docs.rs — see [#788]. This works around an
120-
issue in Tectonic’s usage of [cbindgen] by configuring Cargo to operate in
121-
offline mode when building on docs.rs, which builds crates with network access
122-
turned off.
123-
124-
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
125-
[cbindgen]: https://github.com/eqrion/cbindgen
126-
127-
128-
# tectonic_engine_xetex 0.1.1 (2021-06-15)
129-
130-
- Fix SyncTeX output (@hulloanson, @pkgw, #720, #744). We needed to include
131-
absolute paths and properly deal with file renames, etc. The only way to
132-
really do this right is to have the I/O backend provide filesystem paths when
133-
it has them, so we've extended the lower-level crates to make this possible.
134-
- Fix the implementation of some special XeTeX commands, reported by @burrbull
135-
(@pkgw, #714, #783). This requires a bump in the format file serial number. We
136-
believe that this fix includes a fix to an upstream XeTeX bug, which has been
137-
reported.
138-
139-
140-
# tectonic_engine_xetex 0.1.0 (2021-06-03)
141-
142-
This crate introduces the XeTeX engine as a standalone crate, building on the
143-
new "core bridge" functionality.
144-
145-
Compared to the implementation previously provided in the main `tectonic` crate,
146-
it also adds shell-escape functionality and iterates the Rust API somewhat.
7+
[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/engine_xetex/CHANGELOG.md
8+
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases

crates/xetex_layout/CHANGELOG.md

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,8 @@
1-
# rc: micro bump
1+
# See elsewhere for changelog
22

3-
- Fix a potential crash on invalid font files (#1035, @Mrmaxmeier).
3+
This project’s release notes are curated from the Git history of its main
4+
branch. You can find them by looking at [the version of this file on the
5+
`release` branch][branch] or the [GitHub release history][gh-releases].
46

5-
6-
# tectonic_xetex_layout 0.2.2 (2023-05-18)
7-
8-
- Tidy up recent Clippy warnings.
9-
10-
11-
# tectonic_xetex_layout 0.2.1 (2022-10-03)
12-
13-
- Work around ICU limitations in Alpine 3.16. The latest version of Alpine Linux
14-
seems to provide a static ICU that no longer has the "macintosh" converter
15-
built in. So don't error out if it fails to load; just hope that everything
16-
will be OK.
17-
18-
19-
# tectonic_xetex_layout 0.2.0 (2022-04-26)
20-
21-
Update for TeXLive 2021 (#882, @pkgw).
22-
23-
- Add new C API needed for TeXLive 2021: `ttxl_font_get_point_size`.
24-
25-
26-
# tectonic_xetex_layout 0.1.1 (2021-10-11)
27-
28-
- Require the latest version of `tectonic_bridge_graphite2`, which contains a
29-
Windows build fix.
30-
- Fixes for Clippy 1.53.0
31-
32-
33-
# tectonic_xetex_layout 0.1.0 (2021-06-03)
34-
35-
This new crate encapsulates the font selection and layout code used by the
36-
`tectonic_engine_xetex` crate. While it mostly consists of C/C++ code at the
37-
moment and does not expose a Rust API, there is a hope that it can be made more
38-
flexible and that its implementation can be migrated to be more Rust-based.
7+
[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/xetex_layout/CHANGELOG.md
8+
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases

src/bin/tectonic/v2cli.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ impl WatchCommand {
560560
let cmd = Command::Shell {
561561
shell: shell.clone(),
562562
args: vec![],
563-
command: format!("{exe_name} -X {}", x),
563+
command: format!("\"{exe_name}\" -X {}", x),
564564
};
565565
cmds.push(cmd)
566566
}

0 commit comments

Comments
 (0)