Skip to content

Releases: digineo/texd

v0.8.1

11 Apr 20:46
42fd600

Choose a tag to compare

Notable Changes

This is mainly a bugfix release: In 0.8.0 the reference store implementations were missing due to an refactoring oversight.

This also switches the logger from Uber's zap to the log/slog from Go's standard library. The output should not have changed, apart from some formatting.

Changelog

  • 42fd600 - chore: improve help output
  • f0e488e - fix: re-import missing reference stores
  • dbd580d - chore: update assets for embedded/demo UI
  • 6afa886 - refactor: migrate from zap to log/slog
  • 0779dbc - releng: fix goreleaser deprecation warnings

v0.8.0

10 Apr 22:19

Choose a tag to compare

New flag: --[no-]shell-escape

From the README:

By default, (La)TeX allows some "trusted" binaries, e.g. bibtex and kpsewhich, to be executed during the compilation process, since these are sometimes required for packages to work.

If you want to prohibit the execution of these programs, pass --no-shell-escape to texd. Note that, as mentioned, some packages will stop working.

On the other hand, if you want to allow arbitrary command execution (!), for example with os.execute in lualatex, you may pass --shell-escape. Be careful, here be dragons.

Also note that --shell-escape and --no-shell-escape are mutually exclusive.

New CLI flag parsing

We've migrated the library used to parse CLI flags (from github.com/spf13/pflags to github.com/urfave/cli/v3).

This was done mostly for developer ergonomics, but as an additional benefit, the --help output now groups flags by category, instead of printing them in alphabetical order.

Changelog

  • a7fd146 - refactor: migrate spf13/pflags to urfave/cli
  • d8dc250 - refactor: split main.go in digestable chunks and add tests
  • f10d3cc - feat: add --[no-]shell-escape flag
  • 9afdded - ci: skip goreleaser step when Github release exists
  • 37c896d - update README
  • 3a0693c - chore(deps): bump actions/github-script from 8 to 9
  • b156604 - chore: update more dependencies
  • 8605fcb - chore: update dependencies

v0.7.1

31 Mar 10:00

Choose a tag to compare

Changelog

  • df21c25 chore(deps): bump codecov/codecov-action from 5 to 6

v0.7.0

11 Sep 18:22

Choose a tag to compare

Changelog

v0.6.3

06 Jun 16:44

Choose a tag to compare

Changelog

v0.6.0

16 Mar 15:43

Choose a tag to compare

Maintenance release.

(No new features, only dependency updates.)

Going forward, we're using Github Packages for the Docker images.

To migrate, pull ghcr.io/digineo/texd instead of digineode/texd, for example:

$ docker pull ghcr.io/digineo/texd:v0.6.0

v0.5.1

21 Feb 08:32

Choose a tag to compare

Maintenance release. An update is strongly recommended.

(No new features, only dependency updates.)

Contains a security fix for CVE-2022-41723 (GHSA-vvpx-j8f3-3w6h).

A maliciously crafted HTTP/2 stream could cause excessive CPU consumption in the HPACK decoder, sufficient to cause a denial of service from a small number of small requests.

v0.5.0

10 Oct 09:53

Choose a tag to compare

This release adds a Memcached adapter for the reference store.

To use this adapter, start your texd instance like so:

$ texd [other options] --reference-store=memcached://cache.example.com:11211

To use this adapter in a Docker container, you need to make sure texd and Memcached operate on the same network. Use this Docker Compose file as guidance:

version: '3'

services:
  texd:
    image: digineode/texd:latest
    command: --reference-store=memcached://memcached:11211?expiration=5s
    depends_on:
      - memcached
    ports:
      - 127.0.0.1:2201:2201
    links:
      - memcached

  memcached:
    image: memcached:1-alpine
    command: memcached -m 16 -vv

See Go docs for supported features of this adapter.

v0.4.1

26 Apr 18:20

Choose a tag to compare

This release adds a retention policy to the reference store, which allows to (optionally) keep the size of the stored files within limits. From the README:

texd supports three different retention policies:

  1. keep (or none) will keep all file references forever. This is the default setting.
  2. purge-on-start (or just purge) will delete file references once on startup.
  3. access will keep an access list with LRU semantics, and delete file references, either if
    a max. number of items is reached, or if the total size of items exeedes a threshold, or both.

To select a specific retention policy, use the --retention-policy CLI flag:

$ texd --reference-store=dir://./refs --retention-policy=purge

To configure the access list (--retention-policy=access), you can adopt the quota to your needs:

$ texd --reference-store=dir://./refs \
    --retention-policy=access \
    --rp-access-items=1000 \
    --rp-access-size=100MB

Notes:

  • The default quota for the max. number of items (--rp-access-items) is 1000.
  • The default quota for the max. total file size (--rp-access-size) is 100MB.
  • Total file size is measured in bytes, common suffixes (100KB, 2MiB, 1.3GB) work as expected.
  • To disable either limit, set the value to 0 (e.g. --rp-access-items=0).
  • It is an error to disable both limits (in this case just use --retention-policy=keep).

v0.3.0

31 Mar 19:54

Choose a tag to compare

Changelog