summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3kernel/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/l3kernel/CHANGELOG.md')
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md1853
1 files changed, 0 insertions, 1853 deletions
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md
deleted file mode 100644
index 9c8c4d506c..0000000000
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ /dev/null
@@ -1,1853 +0,0 @@
-# Changelog
-All notable changes to the `l3kernel` bundle since the start of 2018
-will be documented in this file.
-
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
-this project uses date-based 'snapshot' version identifiers.
-
-## [Unreleased]
-
-## [2024-03-14]
-
-### Added
-- Macro interface for `l3sys-query`
-
-### Changed
-- Require that `expl3` is loaded at top level in generic mode
-- Ensure that the dimension arguments to `\box_autosize_to_...:Nnn`
- are properly formed (issue \#1502)
-
-### Fixed
-- Typeset `TF` of internal conditionals in current color (issue \#730)
-- Some functions and variables were defined locally
-## [2024-02-20]
-
-### Changed
-- Improve error recovery when an invalid `prop` is used (PR \#1464)
-
-### Fixed
-- Restore `\__kernel_msg_...:nnx(xx)` for older `xparse` support
-- Prevent an infinite loop in `\debug_(on|off):n` (issue \#1442)
-- Require `\sys_ensure_backend:` is used in the preamble (issue \#1442)
-
-## [2024-02-18]
-
-### Changed
-- Work-around to enable `\prop_set_from_keyval:Nn`, etc., to avoid an error if
- `prop` is not already defined
-
-### Fixed
-- Extend debug checking to cover `\prop_(g)set_from_keyval:Nn`
-
-## [2024-02-13]
-
-### Added
-- Checking missing `\endgroup` at the end of `\DocInclude`
-- Linked storage type for large property lists (issue \#1040, pull \#1059)
-
-### Changed
-- `\meta` now typesets in `\texttt`, along with `\Arg`
-- Improved the performance of `\cs_if_exist:NTF`, `\cs_if_free:NTF`,
- `\cs_if_exist_use:NTF`, and most notably their `c`-type variants.
-
-### Fixed
-- Inconsistent local/global assignments in `\vcoffin_gset:Nnn` and
- `\vcoffin_gset:Nnw`
-- Tokenization by `\peek_analysis_map_inline:n` of one additional
- character after any space or brace
-
-### Deprecated
-- `\msg_gset:nnn(n)`
-
-## [2024-01-22]
-
-### Added
-- `\keys_set_exclude_groups:nnn(nN)` to replace `\keys_set_filter:nnn(nN)`
-- Flags with N-type names, like other variable types
-
-### Changed
-- Set `l3doc` option `kernel` off as-standard (issue \#1403)
-- Moved `\seq_set_filter:NNn` to stable
-
-### Deprecated
-- `\keys_set_filter:nnn(nN)` in favor of `\keys_set_exclude_groups:nnn(nN)`
-
-## [2024-01-04]
-
-### Added
-- Documentation for `\bitset_show_named_index:N` (issue \#1372)
-- `\bitset_log_named_index:N`
-- `\tl_build_get_intermediate:NN`
-- Support for `.default:n` values for the `unknown` handler (see issue \#67)
-
-### Changed
-- Improved method to suppress `l3bitset` where required
-- Clarify behavior of `\tl_if_novalue:n(TF)` (see issue \#1402)
-
-### Deprecated
-- `\tl_build_get:NN` in favor of `\tl_build_get_intermediate:NN`
-
-### Fixed
-- Handling of `documented-as` variants in `l3doc` indexing
- (see issue \#1345)
-- Missing trailing `TF` in single variant of conditional functions (issue \#1398)
-
-## [2023-12-11]
-
-### Changed
-- Use keyval handler for `l3doc` class options
-
-### Fixed
-- Support for deprecated `pdf` module functions (issue \#1373)
-- Generate stub `l3bitset` for transitional support
-
-## [2023-12-08]
-
-### Added
-- `\c_empty_str` (issue \#1361)
-- `l3bitset`: moved from `l3experimental`
-
-### Fixed
-- Return `str` (not `tl`) in `\bool_to_str:N` and `\bool_to_str:n` (issue \#1331)
-- Catcode of space from `\str_set_convert:Nnnn` (issue \#1344)
-- Tidy up various documentation issues (issue \#1345)
-
-## [2023-11-09]
-
-### Added
-- Documentation for `\c_nan_fp`
-- `\str_case_e:en(TF)`
-
-### Changed
-- Speed up `\str_(g)set:Nn`, `\str_const:Nn`, `\str_(g)put_left:Nn`,
- and `\str_(g)put_right:Nn`
-
-### Fixed
-- Normalisation of `.inherit:n` key data (issue \#1314)
-
-## [2023-11-01]
-
-### Added
-- `\seq_(g)set_map_e:NNn`
-- Documentation for `\ExplLoaderFileDate` in `expl3.pdf`
-
-### Changed
-- Documentation improvements
-- Refine action of `\text_titlecase_first:n(n)` to be focussed strictly on
- first (relevant) codepoint in the input
-- Standardize "This is the (e)TeX primitive ..." in `texnote` in documentation
-- Move `\tl_build_(g)begin:N`, `\tl_build_(g)end:N`, `\tl_build_(g)put_left:Nn`
- and `\tl_build_(g)right:Nn` to stable status
-
-### Deprecated
-- `\seq_(g)set_map_x:NNn` in favor of `e`-type naming
-
-### Fixed
-- `\fp_clear_variable:n` should act locally (issue \#1298)
-- `\fp_clear_function:n` should act locally and correctly
-- Support for `\fp_show:N` showing symbolic expressions (issue \#1301)
-- Undefined `\str_case:en(TF)` (excluding `\str_case:en`)
-
-## [2023-10-23]
-
-### Added
-- `\text_titlecase_all:n(n)`
-- `\token_to_catcode:N`
-- Support for symbolic variables in fp input:
- `\fp_new_variable:n`, `\fp_set_variable:nn` and `\fp_clear_variable:n`
-- Support for user-defined functions in fp expressions:
- `\fp_new_function:n`, `\fp_set_function:nnn` and `\fp_clear_function:n`
-
-### Changed
-- Clarify action of `\text_titlecase_first:n(n)`
-- Detect letters for titlecasing based on Unicode general category
-
-### Deprecated
-- `\text_titlecase:n(n)` as ambiguous: replaced by `\text_titlecase_all:n(n)`
-- `\tl_build_(g)clear:N` in favour of `\tl_build_(g)begin:N`
-
-### Fixed
-- Support arbitrary BCP-47 locales for case-changing overrides (issue \#1239)
-- Retain braces when ending titlecasing with some input structures
-
-## [2023-10-10]
-
-### Added
-- `\iow_shipout_e:Nn`
-- Documentation for `\sys_if_timer_exist_p:` and `\sys_if_timer_exist:(TF)`.
- They were supported since l3kernel 2021-05-25, along with `\sys_timer:`.
-- l3doc.dtx: Support for footnotes in the function and variable environment
-- Variants `\tl_if_single:c(TF)` and `\tl_if_single_p:c` (issue \#1272)
-- Key properties `.str_(g)set_e:N` and `.tl_(g)set_e:N`
-
-### Changed
-- Switch generally from `x`- to `e`-type variants
-- Convert `\file_if_exist:n(TF)` to expandable status,
- adding predicate version
-- Standardise variants for `\prop_(g)pop:NnN(TF)`
-- Standardise variants for `\prop_(g)put:Nnn`
-- Standardise variants for `\prop_(g)put_if_new:Nnn`
-- Standardise variants for `\prop_(g)remove:Nn`
-
-### Deprecated
-- `\iow_shipout_x:Nn` in favor of `e`-type naming
-- Key properties `.str_(g)set_x:N` and `.tl_(g)set_x:N`
-
-### Fixed
-- Rare rounding error in divisions (issue \#1264)
-
-## [2023-08-29]
-
-### Added
-- `\c_sys_timestamp_str`
-
-### Changed
-- Rename `\tex_pdfcreationdate:D` to `\tex_creationdate:D`
-
-## [2023-08-11]
-
-### Changed
-- Wrap long lists of variants in `l3doc` display of functions (issue \#1258)
-
-### Fixed
-- Revert 'Allow for implicit chars when case changing' (issue \#1260)
-
-## [2023-08-03]
-
-### Added
-- `\tex_XeTeXhyphenatablelength:D`, `\tex_XeTeXinterwordspaceshaping:D`,
- `\tex_XeTeXselectorcode:D`
-- Several missing `\tex_<name>:D` primitives from LuaTeX and (up)TeX
-
-### Changed
-
-- `\tex_protrudechars:D` now defined for XeTeX (to `\XeTeXprotrudechars`)
-- Allow for optional `v` in version string argument to
- `\ProvidesExpl...`
-
-### Fixed
-- Allow for implicit chars when case changing
-
-## [2023-06-30]
-
-### Added
-- `\codepoint_to_category:n`
-
-### Changed
-- Drop notes about slow `\expanded` emulation. `\expanded` is required since
- release 2023-05-15
-- Sync engine/primitive requirements in `expl3.dtx` with code and README
-
-### Fixed
-- Case changing of Greek characters with complex NFD representation (issue \#1236)
-- Error recovery when wrongly applying abs to a tuple (issue \#1238)
-
-## [2023-06-16]
-
-### Changed
-- Exclude entries in `\l_text_case_exclude_arg_tl` from expansion in `\text_expand:n`
- (latex3/latex2e\#904)
-- Generate _dialytika_ if appropriate when uppercasing Greek words starting with a
- vowel taking a breathing mark (issue \#1228)
-- Retain stress diacritics when uppercasing Greek (issue \#1230)
-- Expand (partial) paths in `\l_file_search_path_seq` and `\input@path`
- (see latex3/latex2e\#1086)
-
-## [2023-06-05]
-
-### Added
-- `\cctab_gsave_current:N`, `\g_tmpa_cctab` and `\g_tmpb_cctab` (issue \#1089)
-- `\prg_gset_eq_conditional:NNn` (issue \#1212)
-- `\iow_shell_open:Nn` (issue \#1122)
-
-### Deprecated
-- `\tl_case:Nn(TF)`
-- `expl3` package option `enable-debug` (no longer required)
-
-### Fixed
-- Set `\l_keys_value_tl` in `.initial:n` (issue \#1013)
-- Support for boolean values in `expl3` package options
- `check-declarations` and `log-functions` (issue \#978)
-- Allow for optional `/` at end of `\input@path` entries
- (see latex3/latex2e\#1076)
-
-## [2023-05-22]
-
-### Added
-- Rounded out the `\use_i:nn...` functions to cover all cases taking
- one argument from up to nine arguments
-- `\coffin_(g)reset_poles:N`
-- `\dim_to_decimal_in_<unit>:n`, for `<unit>` types
- `cc`, `cm`, `dd`, `in`, `mm` and `pc`
-- `\file_input_raw:n`
-- `\int_if_zero:n(TF)`
-- `\str_mdfive_hash:n`
-### Changed
-- Remove `\noexpand` inside math mode in `\text_expand:n`
-- Re-implement `\dim_to_decimal_in_bp:n` and
- `\dim_to_decimal_in_unit:nn` to be re-entrant (issue \#954)
-
-### Fixed
-- Omit `0123456789` from URL escaping (issue \#838)
-- Leave implicit chars unchanged in `\text_expand:n` (issue \#874)
-- Filtering/grouping applied to meta keys (issue \#940)
-- Issue correct error message if `bool` key is set
- incorrectly using `.initial:n` (issue \#1013)
-- Set `\l_keys_key_str` in `.initial:n` (issue \#1013)
-- Handling of implicit chars in `\text_purify:n` (issue \#1208)
-
-## [2023-05-15]
-
-### Changed
-- Require `\expanded` and 'pdfTeX extension' primitives,
- and thus TeX distributions from mid-2019 onward
-
-### Fixed
-- Treatment of trailing `/` in `\input@path`
-
-## [2023-05-11]
-
-### Added
-- `\seq_map_pairwise_function:NNN` (renamed from `\seq_mapthread_function:NNN`)
-
-### Changed
-- Moved `\seq_set_item:Nnn` to stable status
-- Track seen filenames to improve performance of
- `\file_full_name:n` and dependent file operations
-
-### Removed
-- Experimental function `\seq_pop_item:NnN` from `l3candidates`
-- Experimental function `\seq_mapthread_function:NNN` now renamed
- `\seq_map_pairwise_function:NNN`
-
-## [2023-05-05]
-
-### Added
-- `\bool_case:n(TF)` (renamed from `\bool_case_true:n(TF)`)
-- `\flag_ensure_raised:n` (renamed from `\flag_raise_if_clear:n`)
-- `\iow_wrap_allow_break:` (renamed from `\iow_allow_break:`)
-
-### Changed
-- Moved to stable status:
- - `\bool_(g)set_inverse:N`
- - `\c_catcode_active_space_tl`
- - `\c_sys_engine_version_str`
- - `\exp_args_generate:n`
- - `\fp_if_nan:n(TF)`
- - `\ior_get_term:nN` and `\ior_str_get_term:nN`
- - `\ior_shell_open:Nn`
- - `\msg_show_item:n`, `\msg_show_item_unbraced:n`,
- `\msg_show_item:nn`, `\msg_show_item_unbraced:nn`
-- Require random number support from engine
-
-### Removed
-- Experimental functions from `l3candidates`:
- - `\bool_case_false:n(TF)`
- - `\intarray_gset_rand:Nn(n)`
- - `\intarray_to_clist:N`
- - `\peek_catcode_collect_inline:Nn`, `\peek_charcode_collect_inline:Nn` and
- `\peek_meaning_collect_inline:Nn`
- - `\prop_rand_key_value:N`
- - `\seq_set_from_function:Nnn` and `\seq_set_from_inline_x:Nnn`
- - `\sys_if_rand_exist:(TF)`
- - `\tl_range_braced:Nnn` and `\tl_range_unbraced:Nnn`
-- Experimental functions now renamed
- - `\bool_case_true:n(TF)` (now `\bool_case:n(TF)`)
- - `\flag_raise_if_clear:n` (now `\flag_ensure_raised:n`)
- - `\iow_allow_break:` (now `\iow_wrap_allow_break:`)
-- Experimental functions moved to kernel-internal:
- - `\msg_log_eval:Nn` and `\msg_show_eval:Nn`
-
-## [2023-04-20]
-
-### Changed
-- Re-order arguments of `\text_declare_lowercase_mapping:nnn`,
- `\text_declare_titlecase_mapping:nnn` and
- `\text_declare_uppercase_mapping:nnn`
-
-## [2023-04-19]
-
-### Added
-- `\box_set_clipped:N` and variants (renamed from `\box_clip:N`)
-- `\text_declare_lowercase_mapping:nn(n)`,
- `\text_declare_titlecase_mapping:nn(n)`
- and `\text_declare_uppercase_mapping:nn(n)` to allow customization of
- case changing outcomes
-
-### Changed
-- `\box_set_trim:Nnnnn` and `\box_set_viewport:Nnnnn` moved to
- stable kernel
-
-### Fixed
-- Incorrect internal name in `\pdf_pagesize_gset:nn`
-
-### Removed
-- Experimental `\box_clip:N` and variants (renamed to
- `\box_set_clipped:N`)
-
-## [2023-03-30]
-
-### Added
-- `\tex_endlocalcontrol:D` as expl3 name for the LuaTeX primitive
-
-### Changed
-- Allow non-integer values in color expressions
-- Restrict color expressions values to the range [0, 100]
-- Leave Greek spacing diacritics unchanged in uppercasing
-
-### Fixed
-- Fix minor version in `\c_sys_engine_version_str` for pdfTeX and LuaTeX
- (issue [\#1186](https://github.com/latex3/latex3/issues/1186))
-
-## [2023-02-22]
-
-### Changed
-- More defensive approach in `\codepoint_to_nfd:n`
-
-### Fixed
-- CJK character handling for (u)pTeX (issue
- [\#1171](https://github.com/latex3/latex3/issues/1171))
-
-## [2023-02-07]
-
-### Changed
-- Swap meaning of `el` and `el-x-iota` when case changing
- Greek: match traditional LaTeX approach
-
-### Deprecated
-- `\l_text_accents_tl` and `\l_text_letterlike_tl`
-
-## [2023-02-02]
-
-### Fixed
-- Handling of multiple accents when uppercasing Greek
- (see LaTeX2e issue
- [\#987](https://github.com/latex3/latex2e/issues/987))
-
-## [2023-02-01]
-
-### Fixed
-- Allow for expressions within color `RGB`/`HSB` input
-
-## [2023-01-24]
-
-### Added
-- Complete list of pdfTeX primitives
-
-### Fixed
-- Allow for multi-part BCP47 strings in case changing
-- Loading with plain TeX due to `\outer` status of `^^L`
- issue ([\#1161](https://github.com/latex3/latex3/issues/1161))
-
-### Changed
-- Leave catcode of `&` unchanged in code environment
-
-## [2023-01-16]
-
-### Added
-- `\pdf_pagesize_gset:nn`
-
-### Fixed
-- Enable `\char_generate:nn` to create active tokens which are `\outer`
- or equal to `\fi`
-
-## [2022-12-17]
-
-### Added
-- `\codepoint_to_nfd:n`
-- `\codepoint_generate:n` and `\codepoint_str_generate:n`
-- `\str_casefold:n`
-
-### Changed
-- Protect `babel` shorthands from expansion
-
-### Fixed
-- Appearance of `\DescribeOption` (issue
- [\#1111](https://github.com/latex3/latex3/issues/1111))
-
-## [2022-11-02]
-
-### Added
-- `\prg_gset_conditional:N(p)nn` and
- `\prg_gset_protected_conditional:N(p)nn`
-
-### Fixed
-- Loading of `expl3` with ConTeXt MkIV (issue
- [\#1142](https://github.com/latex3/latex3/issues/1142))
-
-## [2022-10-26]
-
-### Changed
-- Usage of `\exp_not:n`/`\exp_not:N` in `\peek_analysis_map_inline:n` output
-
-### Fixed
-- `\peek_analysis_map_inline:n` support for macro parameter characters (issue
- [\#1109](https://github.com/latex3/latex3/issues/1109)), for many expandable
- tokens (issue [\#1110](https://github.com/latex3/latex3/issues/1110)), and an
- esoteric case (issue [\#1113](https://github.com/latex3/latex3/issues/1113))
-- Creation of a message with some engines (issue
- [\#1139](https://github.com/latex3/latex3/issues/1139))
-
-### Deprecated
-- `\char_to_nfd:N`, `\char_to_nfd:n`
-- `\char_foldcase:N`, `\char_lowercase:N`, `\char_titlecase:N`,
- `\char_uppercase:N` and `str` variants
-- `\char_to_utfviii_bytes:n`
-- `\str_foldcase:n`
-
-## [2022-09-28]
-
-### Added
-- Set media box for test phase documents
-
-### Fixed
-- Text case switching in `\text_titlecase_first:n` (issue
- [\#1130](https://github.com/latex3/latex3/issues/1130))
-
-## [2022-08-30]
-
-### Added
-- `\pdf_object_new:n` and `\pdf_object_write:nnn` - support assignment of object
- type at point-of-writing (issue
- [\#1123](https://github.com/latex3/latex3/issues/1123))
-- `\text_map_function:nN` and `\text_map_inline:nn` for mapping to
- graphemes in textual input
-- Support for medieval Latin case changing
-- `\char_to_nfd:n` to extend NFD support to 8-bit engines
-
-### Deprecated
-- `\pdf_object_new:nn` and `\pdf_object_write:nn`, in favor of
- `\pdf_object_new:n` and `\pdf_object_write:nnn`, respectively
-
-## [2022-08-23]
-
-### Added
-- Shortened range of chars which are left unchanged when converted to
- strings with `\str_(g)set_convert:Nnnn`.
-- `\color_if_exist:n(TF)`
-- Support for case changing Vietnamese characters with 8-bit engines
-- Parsing of `cmy`, `tHsb` and `&spot` color models to support data exchange with
- `xcolor`
-
-### Changed
-- Replace `LaTeX3` in message text by `LaTeX`
-
-### Changed
-- Approach to setting current color data from LaTeX2e
-## [2022-08-05]
-
-### Added
-- Support for case changing Croatian diagraph with 8-bit engines
-- Support accent removal when uppercasing Greek with 8-bit engines
-- Function `\sys_ensure_backend:`
-
-### Fixed
-- Behavior of `\color_math:nn` in alignments
-- Expansion of text containing unterminated `\romannumeral` primitives
-
-## [2022-07-21]
-
-### Fixed
-- `\iow_open:N` in ConTeXt MkII
-
-## [2022-07-15]
-
-### Fixed
-- Correct argument order in `\text_case_switch:nnnn`
-
-## [2022-07-14]
-
-### Changed
-- Improved approach to `\text_case_switch:nnnn` expansion
-
-## [2022-07-04]
-
-### Added
-- `\text_declare_case_equivalent:Nn`, `\text_case_switch:nnnn` and
- related mechanism to allow specialisation of case changing output
- for selected commands
-
-## [2022-07-01]
-
-### Added
-- `\cs_parameter_spec:N`
-
-### Changed
-- `\text_expand:n` now acts on active chars to support legacy input encodings
-
-### Deprecated
-- `\cs_argument_spec:N`
-
-### Fixed
-- Correct validity check performed by `\regex_show:N` (issue [\#1093](https://github.com/latex3/latex3/issues/1093))
-- Closing of file handles (issue [\#1105](https://github.com/latex3/latex3/issues/1105))
-
-## [2022-06-16]
-
-### Fixed
-- Made `\peek_analysis_map_inline:n` alignment-safe (issue [\#1090](https://github.com/latex3/latex3/issues/1090))
-- Setting a boolean to itself no longer errors (issue [\#1055](https://github.com/latex3/latex3/issues/1055))
-
-## [2022-06-02]
-
-### Changed
-- Exclude only first mandatory argument of entries in
- `\l_text_case_exclude_arg_tl` from case changing
-
-## [2022-05-30]
-
-### Added
-- Add `\lua_load_module:n`
-
-### Fixed
-- Typo in implementation of titlecase `hy-x-yiwn`
-- Definition order issue with `\str_case:Nn(TF)`
-
-## [2022-05-04]
-
-### Added
-- Language settings `hy` and `hy-x-yiwn` for handling of ech-yiwn ligature
- uppercasing
-
-### Changed
-- Support BCP 47 properly in case changer language argument
-
-### Fixed
-- Correct `el-xiota` and `de-xeszett` to `el-x-iota` and `de-x-eszett`
-
-## [2022-04-29]
-
-### Added
-- Language setting `el-xiota` for retention of ypogegrammeni when uppercasing
- Greek
-
-### Changed
-- Rename case-changing variant `de-alt` to `de-xeszett` to align with
- `luaotfload`
-- Allow for `\lccode`/`\uccode` changes in `\char_...case:n` functions
-
-### Fixed
-- Support for ypogegrammeni in case changing Greek (see issue [\#1088](https://github.com/latex3/latex3/issues/1088))
-
-## [2022-04-20]
-
-### Changed
-- Collect some common code from `l3backend-color`
-
-## [2022-04-10]
-
-### Added
-- `\keys_precompile:nnN` for conversion of keyvals to fast-to-apply token
- lists
-- Missing `\str_if_empty:n(TF)` (see issue [\#1071](https://github.com/latex3/latex3/issues/1071))
-- Missing `\str_case:Nn(TF)` (see issue [\#1071](https://github.com/latex3/latex3/issues/1071))
-- `\tex_...:D` names for primitives added in TeX Live 2022
-
-### Changed
-- Definition of `\legacy_if:n(TF)` to support primitive conditionals
-- `\str_<type>case:n` now case changes codepoints above 127 with all engines
-- `\char_generate:nn` now also allows to generate category 10 tokens (spaces)
- except for char code 0
-
-### Fixed
-- Handling of 'misplaced' `\protect` by `\text_expand:n`
-- Nesting of `\tl_analysis_map_inline:nn`
-- Naming of an error message
-
-## [2022-02-24]
-
-### Changed
-- Better support for `\cite`, _etc._, in case changing
-
-## [2022-02-21]
-
-### Fixed
-- Use of `\@uclclist` for case changing
-
-## [2022-02-05]
-
-### Added
-- Distribute `l3doc.pdf` with a prominent warning about future changes
-- `\color_math:nn(n)` as a functional equivalent of the new `\mathcolor`
- command in LaTeX2e
-
-### Changed
-- Documentation for horizontal coffin poles (see issue [\#1041](https://github.com/latex3/latex3/issues/1041))
-- Update primitive requirements to enable loading with Prote/HINT
-
-## [2022-01-21]
-
-### Changed
-- Auto-generate legacy switch if required in `.legacy_set_if:n`
- key property
-
-### Fixed
-- Correct creation of `.if` property
-- Handling of colors created in a group once they go out-of-scope
-
-## [2022-01-12]
-
-### Added
-- Support for validity scope for keys
-- `\peek_remove_filler:n`
-- `\prop_to_keyval:N`
-- `\regex_match_case:nn(TF)`, `\regex_replace_case_once:nN(TF)`,
- `\regex_replace_case_all:nN(TF)`
-
-### Changed
-- Policy change: functions will no longer be removed after deprecation,
- thus the Lua functions noted below are the *last* 'stable' code to be
- removed from `l3kernel` after deprecation
-- Allow indirect conversions between colorspaces through fallback models
-- Move some color functions from `l3backend`
-
-### Deprecated
-- `\peek_..._ignore_spaces:N(TF)` functions
-- `\sys_load_deprecation:`
-- Option `undo-recent-deprecations`
-
-### Removed
-- Lua functions in `l3kernel` table
-
-## [2021-11-22]
-
-### Added
-- Support for legacy `if` switches in `l3keys`
-
-### Changed
-- Documentation improvements
-- Implementation of `intarray` data type with LuaTeX
-- Better support for LuaMetaTeX
-
-## [2021-11-12]
-
-### Fixed
-- DeviceN colorspace conversions with alternative model RGB
-
-### Added
-- `.str_set:N`, etc., key properties (issue [\#1007](https://github.com/latex3/latex3/issues/1007))
-- `\bool_to_str:n` (issue [\#1010](https://github.com/latex3/latex3/issues/1010))
-
-### Changed
-- `\prop_..._from_keyval:Nn` functions now support active comma or
- equal sign (pull \#1012)
-
-## [2021-10-18]
-
-### Added
-- Support for ICC-based color profiles
-- `\color_profile_apply:nn`
-
-## [2021-10-17]
-
-### Changed
-- Better DeviceN support
-
-## [2021-10-12]
-
-### Fixed
-- Global assignments for `\box_gresize_to_ht_plus_dp:Nn`
- and `\coffin_gattach:NnnNnnnn`
-- Conversion of DeviceN colors to device fallback
-
-## [2021-08-27]
-
-### Changed
-- Formatting of expandable errors (issue [\#931](https://github.com/latex3/latex3/issues/931))
-- Internal code for kernel messages
-
-## [2021-07-12]
-
-### Fixed
-- Handling of multiple color models (issue [\#962](https://github.com/latex3/latex3/issues/962))
-
-### Removed
-- Functions marked for removal end-2020
-
-## [2021-06-18]
-
-### Fixed
-- Local assignment to `\g__sys_backend_tl`
-- Incorrect internal function name (issue [\#939](https://github.com/latex3/latex3/issues/939))
-- Case-changing exceptions for (u)pTeX (issue [\#939](https://github.com/latex3/latex3/issues/939))
-- Low-level error if accent commands are not followed by
- letter when case changing (see \#946)
-
-## [2021-06-01]
-
-### Fixed
-- Loading when `\expanded` is not available
-
-## [2021-05-27]
-
-### Fixed
-- Correctly detect local formats in `Mismatched LaTeX support files` error.
-
-## [2021-05-25]
-
-### Added
-- `\msg_note:nnnnnn` (issue [\#911](https://github.com/latex3/latex3/issues/911))
-- `\str_compare:nNnTF` (issue [\#927](https://github.com/latex3/latex3/issues/927))
-- `\sys_timer:`
-- `\prop_concat:NNN`, `\prop_put_from_keyval:Nn` (issue [\#924](https://github.com/latex3/latex3/issues/924))
-- Functions to show and log various datatypes (issue [\#241](https://github.com/latex3/latex3/issues/241)):
- `\coffin_show:Nnn`, `\coffin_show:N`, `\coffin_log:Nnn`, `\coffin_log:N`,
- `\color_log:n`, `\group_show_list:`, `\group_log_list:`,
- `\ior_show:N`, `\ior_log:N`, `\iow_show:N`, `\iow_log:N`,
- `\tl_log_analysis:N`, `\tl_log_analysis:n`
-- `\legacy_if_set_true:n`, `\legacy_if_set_false:n`, `\legacy_if_set:nn`
-- Matching multiple regex at the same time (issue [\#433](https://github.com/latex3/latex3/issues/433)):
- `\regex_case_match:nn(TF)`,
- `\regex_case_replace_once:nN(TF)`,
- `\regex_case_replace_all:nN(TF)`
-
-### Fixed
-- Checking brace balance in all regex functions (issue [\#377](https://github.com/latex3/latex3/issues/377))
-- Removing duplicates in clists when items contain commas (issue [\#917](https://github.com/latex3/latex3/issues/917))
-
-### Changed
-- Slight speed up in some elementary int/dim/skip/muskip operations and
- in setting tl or clist variables equal.
-- Speed up mapping functions in l3clist, l3prop, l3seq, l3tl
-
-## [2021-05-11]
-
-### Added
-- `\cctab_item:Nn` (issue [\#880](https://github.com/latex3/latex3/issues/880))
-- `\clist_use:nnnn` and `\clist_use:nn` (issue [\#561](https://github.com/latex3/latex3/issues/561))
-
-### Fixed
-- Loading of backend in generic DVI mode (issue [\#905](https://github.com/latex3/latex3/issues/905))
-- Make `\keyval_parse:nnn` alignment-safe (issue [\#896](https://github.com/latex3/latex3/issues/896))
-- Control sequences and category codes in regex replacements (issue [\#909](https://github.com/latex3/latex3/issues/909))
-
-### Changed
-- Speed up `\group_align_safe_begin:` (pull \#906)
-
-## [2021-05-07]
-
-### Added
-- Color export in comma-separated format
-- `\ur{...}` escape in `l3regex` to compose regexes
-- `\seq_set_split_keep_spaces:Nnn` (see \#784)
-- `\seq_set_item:Nnn(TF)` and `\seq_pop_item:NnN(TF)`
-- `\box_ht_plus_dp:N` (issue [\#899](https://github.com/latex3/latex3/issues/899))
-- `\clist_map_tokens:nn`, `\clist_map_tokens:Nn`,
- `\str_map_tokens:nn`, `\str_map_tokens:Nn`
-
-### Changed
-- Use prevailing catcodes instead of string in regex replacement (issue [\#621](https://github.com/latex3/latex3/issues/621))
- (*Breaking change*)
-- `\__kernel_file_name_sanitize:n` now uses a faster `\csname`-based
- approach to expand the file name
-- Improved performance for basic conditionals
-- `\pdf_version_gset:n` support for `dvips`
-- Improve handling of `\exp_not:n` in `\text_expand:n` (issue [\#875](https://github.com/latex3/latex3/issues/875))
-- `\file_full_name:n` now avoids calling `\pdffilesize` primitive multiple times
- on the same file
-- Show printable characters explicitly in `\regex_show:n`
-- Regex replacement now errors when using a submatch (`\1` etc) for which
- the regex has too few groups
-- Showing complex datatypes now validates their internal structure (issue [\#884](https://github.com/latex3/latex3/issues/884))
-- Indexing in l3doc: all page references before codeline references,
- improve target placement, solve pdfTeX and makeindex warnings
-
-### Fixed
-- Evalutate integer constants only once (issue [\#861](https://github.com/latex3/latex3/issues/861))
-- Detect `\ior_map_inline:Nn` calls on undefined streams (issue [\#194](https://github.com/latex3/latex3/issues/194))
-
-### Deprecated
-- `l3docstrip` converted to a stub which simply loads DocStrip: use
- the latter directly
-
-## [2021-02-18]
-
-### Added
-- `l3color`: Moved from `l3experimental`
-- `l3pdf`: Moved from `l3experimental`
-- `default` alias to str_convert
-
-### Changed
-- Re-ordered `interface3` documentation
-- Moved `msg_show:nn(nnnn)` to stable
-
-## [2021-02-06]
-
-### Changed
-- Use new (internal) interface for kerns
-
-## [2021-02-02]
-
-### Added
-- `\c_zero_str`
-
-## [2021-01-09]
-
-### Added
-- `\keyval_parse:nnn`
-
-### Changed
-- `\keyval_parse:NNn` is set equal to `\keyval_parse:nnn`
-
-### Fixed
-- Handling of encoding-specfic commands in `\text_purify:n`
-
-## [2020-12-07]
-
-### Fixed
-- `\peek_analysis_map_inline:n` with spaces and braces
-
-## [2020-12-05]
-
-### Fixed
-- Setting of line width in vertical coffins in LaTeX
-
-## [2020-12-03]
-
-### Added
-- `\peek_analysis_map_inline:n`
-- `\peek_regex:nTF`, `\peek_regex_remove_once:nTF`, and
- `\peek_regex_replace_once:nnTF`
-- `\token_case_catcode:NnTF`, `\token_case_charcode:NnTF`, and
- `\token_case_meaning:NnTF`
-
-### Changed
-- Extend `\text_expand:n` to cover `\@protected@testopt`
-- Extend `\text_purify:n` to cover `\@protected@testopt`
-
-## [2020-10-27]
-
-### Added
-- `\token_if_font_selection:N(TF)` (see \#806)
-
-### Fixed
-- Avoid relying on braced `\input` primitive syntax
-- Correct expansion of environments in `\text_purify:n`
-- Some aspects of `cctab` setup with 8-bit engines(issue [\#814](https://github.com/latex3/latex3/issues/814))
-
-### Changed
-- Improved performance for `tl` functions
-- Extend case changer to cover all of Greek with pdfTeX
-
-## [2020-10-05]
-
-### Fixed
-- Correctly detect LaTeX when pre-loading expl3 and setting up
- case changer
-- Lua emulation of \strcmp (issue [\#813](https://github.com/latex3/latex3/issues/813))
-
-## [2020-09-24]
-
-### Changed
-- Use Lua pseudo-primitives instead of `\directlua`
-- `\token_if_primitive:N(TF)` now reports pseudo-primitives as primitives in LuaTeX
-
-## [2020-09-06]
-
-### Fixed
-- Loading in generic mode (issue [\#800](https://github.com/latex3/latex3/issues/800))
-
-## [2020-09-03]
-
-### Fixed
-- Save primitive definition of `\pdfoutput` with CSLaTeX
-
-## [2020-09-01]
-
-### Added
-- `\hbox_overlap_center:n`
-
-### Changed
-- Backend setting for direct PDF output
-- Backend setting for XeTeX support
-
-### Deprecated
-- Backend setting `pdfmode`
-
-### Fixed
-- `\file_compare_timestamp:nNn(TF)` in LuaTeX (issue [\#792](https://github.com/latex3/latex3/issues/792))
-- Text case changing and expansion where an excluded command is equivalent
- to `\use:n`
-
-## [2020-08-07]
-
-### Changed
-- Color selection implementation
-- Performance enhancements for `\keys_set:nn`
-
-### Fixed
-- Loading generically on ConTeXt (issue [\#783](https://github.com/latex3/latex3/issues/783))
-
-## [2020-07-17]
-
-### Added
-- `l3cctab` module for using category code tables
-- `\file_parse_full_name:n` and `\file_parse_full_name_apply:nN`
-- Additional `\prop_put:Nnn` variants
-- `\seq_set_map_x:NNn`
-- `\msg_term:nn(nnnn)`
-
-### Fixed
-- File lookup with `\input@path`
-- 8-bit encodings in `\str_set_convert:Nnnn`
-
-### Changed
-- Implementation of `\file_parse_full_name:nNNN` now uses
- `\file_parse_full_name:n` internally
-- `\seq_set_map:NNn` no longer `x`-expands `<inline function>`
- (`\seq_set_map_x:NNn` now does that). Both moved to stable.
-
-### Removed
-- Functions deprecated at end of 2019
-
-### Deprecated
-- `\str_declare_eight_bit_encoding:nnn`
-
-## [2020-06-18]
-
-### Changed
-- Use `scn` operator for separations
-- Internal color model
-- Internal performance enhancements
-- Moved `\msg_expandable_error:nn(nnnn)` to stable.
-- Moved `\seq_indexed_map_inline:Nn` and `\seq_indexed_map_function:Nn`
- to stable as `\seq_map_indexed_inline:Nn` and `\seq_map_indexed_function:Nn`.
-- Internal changes to `expl3` to allow loading earlier in LaTeX2e.
-
-## [2020-06-03]
-
-### Added
-- `\str_convert_pdfname:n`
-
-## [2020-05-15]
-
-### Changed
-- Make `\text_purify:n` `f`-type expandable
-
-## [2020-05-14]
-
-### Changed
-- Performance improvements in keyval processing
-
-## [2020-05-11]
-
-### Changed
-- Internal changes to quark handling
-
-## [2020-05-05]
-
-### Added
-- Recognize the exponent marker `E` (same as `e`) in floating point numbers
-
-### Fixed
-- Leave active characters untouched when case-changing (see \#715)
-
-## [2020-04-06]
-
-### Added
-- Control for start-of-titlecasing: see `\l_text_titlecase_check_letter_bool`
-
-### Fixed
-- Nesting of `\seq_shuffle:N` in another sequence mapping (issue [\#687](https://github.com/latex3/latex3/issues/687))
-- `\ior_shell_open:Nn` in engines other than LuaTeX - shell commands didn't
- execute, plus the command call would be left in the input stream.
-
-## [2020-03-06]
-
-### Added
-- `\text_purify:n`
-
-### Fixed
-- Issue with case-changing Turkish
-
-## [2020-03-03]
-
-### Added
-- `\tex...:D` coverage for TeX Live 2020 engine changes
-
-### Changed
-- New implementation for `\keyval_parse:NNn` - around 40% speed improvement,
- also *expandable*
-
-### Fixed
-- Make `expl3` reload-safe for `latexrelease` (see latex3/latex2e#295)
-
-## [2020-02-25]
-
-### Changed
-- Extend case-changing encoding support to Cyrillic and Greek
-
-## [2020-02-21]
-
-### Added
-- Option `suppress-backend-headers` (see matching change in
- `l3backend`)
-
-### Changed
-- Allow `dvisvgm` driver with XeTeX (issue [\#677](https://github.com/latex3/latex3/issues/677))
-
-### Fixed
-- `undo-recent-deprecations` would not reload the deprecation code
-
-## [2020-02-14]
-
-### Fixed
-- Interaction with some `babel` languages at the start of the document
-
-## [2020-02-13]
-
-### Changed
-- Leave implicit tokens unchanged by `\text_expand:n`
-- Extend the `de-alt` case changing locale to 8-bit engines
-
-## [2020-02-11]
-
-### Added
-- Key property `.cs_set:Np` and variants
-
-### Changed
-- Support `\@uclclist` entries when case-changing
-
-### Fixed
-- Allow for full range of encodings when expanding text (issue [\#671](https://github.com/latex3/latex3/issues/671))
-- Support `\begin`/`\end` in text expansion
-
-## [2020-02-08]
-
-### Added
-- `\l_keys_key_str` and `\l_keys_path_str`
-
-### Deprecated
-- `\l_keys_key_tl` and `\l_keys_path_tl`, replaced by `\l_keys_key_str` and
- `\l_keys_path_str`, respectively
-
-## [2020-02-03]
-
-### Changed
-- Minor edits to LaTeX3 News
-
-## [2020-01-31]
-
-### Added
-- Table of Contents for combined LaTeX3 News
-
-### Changed
-- Use Lua `utf8` library if available
-
-### Fixed
-- Undefined command in box debugging code
-
-## [2020-01-22]
-
-### Added
-- Support for command replacement in text expansion
-
-### Changed
-- Require key values for numerical key types (dim, int, etc.) (see \#661)
-
-### Fixed
-- Issue with keys where some leading spaces could be left in key names
-
-## [2020-01-12]
-
-### Added
-- `\bool_case_true:n(TF)` and `\bool_case_false:n(TF)`
-- `\file_hex_dump:n(nn)` and `\file_get_hex_dump:n(nn)N(TF)`
-- `\str_<type>case:n`
-- `\text_<type>case:n(n)`
-- `\text_expand:n` and supporting data structures
-
-### Changed
-- Distribute LaTeX3 News
-- Moved `\char_<type>case:N` to stable
-- Documentation improvements
-
-### Fixed
-- Inherit key required/forbidden properties (see \#653)
-- Set backend at the beginning of `\document` (see \#657)
-
-### Deprecated
-- `\str_<type>_case:n` replaced by `\str_<type>case:n`
- except `\str_mixed_case:n` replaced by `\str_titlecase:n`
-- `\tl_<type>_case:n(n)` replaced by `\text_<type>case:n(n)`,
- except `\tl_mixed_case:n(n)` replaced by `\text_titlecase:n(n)`
-
-## [2019-11-07]
-
-### Fixed
-- Handling of repeated loading of a backend (issue [\#646](https://github.com/latex3/latex3/issues/646))
-- Handling of repeated loading of deprecated functions
-
-## [2019-10-28]
-
-### Fixed
-- File searching when `\(pdf)filesize` is not available (issue \#644)
-
-## [2019-10-27]
-
-### Changed
-- Internal structure of `\c_sys_jobname_str` altered
-- Update upTeX test to follow guidance from developers
-
-## [2019-10-24]
-
-### Changed
-- File names are now returned without quotes by `\file_full_name:n`
-
-### Fixed
-- `\file_if_exist:n(TF)`, etc., when dealing with file names containing
- spaces (see \#642)
-
-## [2019-10-21]
-
-### Added
-- Lua function `l3kernel.shellescape()`
-
-### Changed
-- Better coverage of (u)pTeX primitives following publication of
- pTeX manual in English
-- Trim spaces surrounding file names
-
-### Removed
-- HarfTeX primitives
-
-## [2019-10-14]
-
-### Fixed
-- Correct handling of 'traditional' class options for backend
-
-## [2019-10-11]
-
-### Changed
-- Standard backend for (u)pTeX is now `dvips`
-- Minimum LuaTeX version now v0.95
-- Moved `\debug_on:n`, `\debug_off:n`, `\debug_suspend:` and `\debug_resume:`
- to stable
-- Accept 'traditional' class options for backend (`dvipdfmx`, `dvips`, etc.)
-- Performance enhancements when loading `expl3`
-
-### Fixed
-- Handling of files with no extension
-- Behaviour of Lua function `l3kernel.charcat` in some circumstances
-- Loading under ConTeXt
-
-## [2019-10-02]
-
-### Fixed
-- Variants using `\exp_args` functions with more than 9 arguments (see \#636)
-
-## [2019-09-30]
-
-### Fixed
-- File searching using `\file_full_name:n` (see \#634)
-
-## [2019-09-28]
-
-### Changed
-- Speed up variants and reduce their `\tracingall` output
-- Debug and deprecation code are now loaded independently of expl3 core
-- `\file_compare_timestamp:nNn(TF)` now usable in expansion contexts
-- Moved to stable:
- - `\bool_const:Nn`
- - `\dim_sign:n`
- - `\file_compare_timestamp:nNn(TF)`
- - FP `logb` operator
- - `\fp_sign:n`
- - `fparray` module
- - `\int_sign:n`
- - `\intarray_const_from_clist:Nn`
- - `\intarray_show:N`
- - `\ior_map_variable:NNn`
- - `\ior_str_map_variable:NNn`
- - `\mode_leave_vertical:`
- - `\prop_(g)set_from_clist:Nn`
- - `\prop_const_from_clist:Nn`
- - `\seq_const_from_clist:Nn`
- - `\seq_(g)shuffle:N`
- - `\sys_if_platform_unix:(TF)`
- - `\sys_if_platform_windows:(TF)`
- - `\sys_gset_rand_seed:`
- - `\sys_rand_seed:`
- - Shell access functions
-
-### Fixed
-- Key `.initial:n` property when combined with inherited keys (see \#631)
-
-## [2019-09-19]
-
-### Fixed
-- Loading Unicode data when some chars may be active (see \#627)
-
-## [2019-09-08]
-
-### Fixed
-- Missing internal variant (issue \#624)
-
-## [2019-09-05]
-
-### Added
-- `\file_full_name:n`, `\file_mdfive_hash:n`, `\file_size:n`,
- `\file_timestamp:n`
-- `\seq_map_tokens:Nn`, `\tl_map_tokens:nn`, `\tl_map_tokens:Nn`
-
-### Changed
-- Moved `\prop_map_tokens:Nn` to stable
-- Generate chars with catcode as-supplied when case changing
-
-## [2019-08-25]
-
-### Added
-- `\fp_if_nan:nTF`
-
-### Changed
-- Make round(.,nan)=nan with no "Invalid operation" error
-
-### Fixed
-- `\tl_rescan:nn` and `\tl_(g)set_rescan:Nnn` when single-line input
- contains a comment character (see \#607)
-- Final value of the variable in `\tl_map_variable:NNn` and
- `\clist_map_variable:NNn`.
-- Remove duplicate keys in `\prop_set_from_keyval:Nn` (see \#572)
-
-## [2019-08-14]
-
-### Deprecated
-- `\c_term_ior`
-
-### Fixed
-- Coffin pole intersection in some cases (see \#605)
-
-## [2019-07-25]
-
-### Fixed
-- Loading for `expl3` with plain TeX
-
-## [2019-07-01]
-
-### Added
-- Moved `l3str-convert` module to `l3kernel`
-
-### Changed
-- Ensure `\msg_fatal:nn` ends the TeX run if used inside an
- hbox (see \#587)
-- Moved backend code to a separate release schedule
-
-### Fixed
-- Handling of control sequences in key names (see \#594)
-
-## [2019-05-28]
-
-### Added
-- Experimental `\file_compare_timestamp:nNn(TF)`
-
-### Changed
-- Precedence of juxtaposition (implicit multiplication) in `l3fp`
- now different for keywords/variables and factors in parentheses
-
-## [2019-05-09]
-
-### Added
-- Experimental driver-level interfaces for image inclusion
-- Experimental `\ior_shell_open:Nn`
-
-### Fixed
-- Some issues in `dvisvgm` driver
-
-## [2019-05-07]
-
-### Added
-- `.muskip_set:N` property
-
-### Changed
-- Experimental `\driver_pdf_compress_objects:n` replaces
- `\driver_pdf_objects_(en|dis)able:`
-
-## [2019-05-05]
-
-### Added
-- `\char_str_<target>_case:N`
-
-### Fixed
-- Infinite loop in some cases in DVI mode due to link-breaking code
- (see \#570)
-- Category code of output from `\char_<target>_case:N`, and
- same issue in `\str_<target>_case:n`
-
-## [2019-05-03]
-
-### Added
-- New `l3legacy` module containing
- - `\legacy_if:n(TF)`
-
-### Changed
-- Moved `\file_get_mdfive_hash:nN(TF)`, `\file_get_size:nN(TF)`
- and `\file_get_timestamp:nN(TF)` to stable
-- Moved `\file_if_exist_input:n` and `\file_if_exist_input:nF` to stable
-- Moved `\file_input_stop:` to stable
-- Moved `\peek_N_type:TF` to stable
-
-## [2019-04-21]
-
-### Added
-- Experimental support for a range of PDF concepts at the lowest
- (driver abstraction) level
-
-## [2019-04-06]
-
-### Changed
-- Moved `\tl_if_single_token:n(TF)` to stable
-
-### Fixed
-- Support for ConTeXt from mid-December 2018
-
-## [2019-03-26]
-
-### Fixed
-- Loading when pre-TL'18 XeTeX is in use (see \#555)
-
-## [2019-03-05]
-
-### Added
-- `\str_log:n`, `\str_log:N`
-- `TF` versions for `\file_get_...:nN` and `\ior_(str_)get:NN` functions
-- `\cs_prefix_spec:N`, `\cs_argument_spec:N`, `\cs_replacement_spec:N`
-- `undo-recent-deprecations` option
-- `factorial` function in `l3fp`
-
-### Changed
-- Return values from `\file_get:nnN`, `\file_get_...:nN`, `\ior_get:NN`,
- `\sys_shell_get:nnN`
-- Moved coffin affine transformations to stable
-- Moved `\prop_count:N` to stable
-- Moved `\tl_count_tokens:n` to stable
-- Completed emulation of e-type argument when `\expanded` is unavailable
-- Made expandable messages expand their result, like usual messages
-- Made deprecation errors less intrusive by default
-- Stopped providing do-nothing `\color` macro when undefined
-
-### Deprecated
-- `\token_get_prefix_spec:N`, `\token_get_arg_spec:N`,
- `\token_get_replacement_spec:N` replaced by `\cs_prefix_spec:N`,
- `\cs_argument_spec:N`, `\cs_replacement_spec:N`, respectively
-
-### Fixed
-- Treatment of inherited keys when setting only known keys (see \#548)
-
-### Removed
-- Experimental `\skip_split_finite_else_action:nnNN`
-- Experimental `\tl_reverse_tokens:n`
-
-## [2019-02-15]
-
-### Changed
-- Defensive code for redefinition of `\time`, `\day`, `\month` and `\year`
-
-### Fixed
-- Resetting of key inheritance (see \#535)
-- Issue in deprecated command `\tl_set_from_file:Nnn`
- (see https://tex.stackexchange.com/q/474813/)
-
-## [2019-02-03]
-
-### Added
-- Support for return of whole path by `\keys_set_known:nnN`-like
- function `\keys_set_known:nnnN` (see \#508)
-- `.prop_(g)put:N` key property (see \#444)
-
-### Fixed
-- Handling of nested key setting when filtering, _etc._ (see \#526)
-- Inheritance of default values (see \#504)
-
-## [2019-01-28]
-
-### Added
-- Global versions of box affine functions, e.g. `\box_grotate:Nn`
-- Global versions of box size adjustment functions
-- `\box_(g)set_eq_drop:NN`, `\(h|v)box_unpack_drop:N`
-- `\file_get:nnN` and `\file_get:nnNTF`
-- Experimental functions `\sys_shell_get:nnN` and `\sys_shell_get:nnNTF`
-
-### Changed
-- `\char_generate:nn` now always takes exactly two expansions
-- Move `\prg_generate_conditional_variant:Nnn` to stable
-- Renamed experimental `\box_trim:Nnnnn` and `\box_viewport:Nnnnn` as
- `\box_set_trim:Nnnnn` and `\box_set_viewport:Nnnnn`, respectively
-
-### Deprecated
-- `\box_(g)set_eq_clear:NN`, replaced by `\box_(g)set_eq_drop:NN`
-- `\(h|v)box_unpack_clear:N`, replaced by `\(h|v)box_unpack_drop:N`
-- `\tl_(g)set_from_file(_x):Nnn`, replaced by `\file_get:nnN`
-
-### Fixed
-- Scope treatment of `\box_set_dp:N`, _etc._
-- In (u)platex: detection of spaces in `\tl_rescan:nn` and related functions
-
-### Removed
-- Experimental function family `\tl_(g)set_from_shell:(N|c)nn`
- (replaced by `\sys_shell_get:nnN`)
-
-## [2019-01-13]
-
-### Added
-- `\ior_map_variable:NNn` and `\ior_str_map_variable:NNn`
-
-### Fixed
-- Unclosed conditional with Unicode engines
-
-## [2019-01-12]
-
-### Changed
-- Improved `expl3` loading time with LuaTeX and XeTeX
-- Improved performance of `\ior_map_inline:Nn` and related functions
-
-### Fixed
-- Handling of accented characters under mixed case changing in 8-bit engines
- (see \#514)
-
-## [2019-01-01]
-
-### Added
-- `\iow_allow_break:`
-
-### Fixed
-- Correct fp randint with zero argument (see \#507)
-- Handling of `\current@color` with `(x)dvipdfmx` (see \#510)
-
-### Removed
-- Support for stand-alone `l3regex`, `l3sort`, `l3srt`, `l3tl-analysis`,
- `l3tl-build`
-- `\box_resize:Nnn`
-- `\box_use_clear:N`
-- `\c_minus_one`
-- `\file_add_path:nN`
-- `\file_list:`
-- `\file_path_include:n` and `\file_path_remove:n`
-- `\io(r|w)_list_streams:` and `\io(r|w)_log_streams:`
-- `\sort_ordered:` and `\sort_reversed:`
-- `\token_new:Nn`
-- Generation of invalid variants from `n`/`N` base types
-
-## [2018-12-12]
-
-### Changed
-- Move `\tl_range:nnn` to stable
-
-### Fixed
-- Loading in ConTeXt MkIV
-
-## [2018-12-11]
-
-### Changed
-- Enable `\char_generate:nn` to create active tokens with XeTeX
-
-## [2018-12-06]
-
-### Changed
-- Apply `\par` only at the end of vertical boxes
-- Move `\int_rand:n` to stable
-- Move `\<var>_rand_item:N` to stable
-
-### Fixed
-- Typo in `\lua_shipout_e:n` (see \#503)
-
-## [2018-11-19]
-
-### Added
-- Support for cross-compatibility primitives in XeTeX
-- `\int_sign:n`, `\dim_sign:n` and `\fp_sign:n`
-
-## [2018-10-19]
-
-### Fixed
-- Wrapping of text in messages, etc., for some line lengths (issue \#491)
-
-## [2018-10-17]
-
-### Added
-- `\g_msg_module_documentation_prop` (see \#471)
-- `\peek_remove_spaces:n`
-
-### Changed
-- Formatting of messages: now follows LaTeX2e closely
-
-### Deprecated
-- `\msg_interrupt:nn`, `\msg_log:n` and `\msg_term:n`
-
-### Fixed
-- Handling of inheritance for choice keys (issue \#483)
-
-## [2018-09-24]
-
-### Added
-- Some driver-level support for PDF features
-- `\peek_catcode_collect_inline:Nn`, `\peek_charcode_collect_inline:Nn`,
- `\peek_meaning_collect_inline:Nn`
-
-### Fixed
-- Handling of unknown keys when inheritance is active (issue \#481)
-
-## [2018-08-23]
-
-### Added
-- `\lua_escape:e`, `\lua_now:e` and `\lua_shipout_e:n`
-- `\str_case_e:nn(TF)` and `\str_if_eq:ee(TF)`
-- `\sys_if_platform_unix:(TF)` and `\sys_if_platform_windows:(TF)`
-- `\tl_(g)set_from_shell:Nnn`
-
-### Deprecated
-- `\lua_escape_x:n`, `\lua_now_x:n` and `\lua_shipout_x:n`
-- `\str_case_x:nn(TF)` and `\str_if_eq_x:nn(TF)`
-
-## [2018-06-14]
-
-### Added
-- Support for `e`-type argument using `\expanded` or macro emulation
-
-## [2018-06-01]
-
-### Added
-- `CHANGELOG.md` (issue \#460)
-
-### Fixed
-- Loading `expl3` with LuaTeX/XeTeX and certain letter tokens set
- to be active (see \#462)
-
-### Changed
-- Alter `\char_codepoint_from_bytes:n` to produce four groups in all
- cases; make `f`-type expandable
-
-## [2018-05-13]
-
-### Fixed
-- Correct date string in `expl3.dtx`
-- Correct `\c_sys_engine_version_str` when using XeTeX
-
-## [2018-05-12]
-
-### Added
-- Define `\c_zero_int` and `\c_one_int`
-- Implement `\c_sys_engine_version_str`
-- Implement `\seq_indexed_map_function/inline`
-- Implement `\intarray_gzero:N`
-- Implement `\intarray_const_from_clist:Nn`
-- Implement `\bool_set_inverse:N`
-- Implement `\bool_xor:nnTF` instead of just `\bool_xor_p:nn`
-- Implement candidate `\int_rand:n`
-- Implement `\intarray_gset_rand:Nnn`
-- Implement candidate `l3fparray` module
-
-### Changed
-- Update minimal required versions of XeTeX and LuaTeX
-- Deprecate named integer constants `\c_zero`. etc.
-- Move all primitives to `\tex_...:D namespace`,
- deprecating older engine-dependent prefixes
-- Several internal optimisations
-
-### Fixed
-- Expand boolean expression before calling `\chardef` (issue \#461)
-
-### Removed
-- Remove undocumented `\fp_function:Nw` and `\fp_new_function:Npn`
-
-## [2018-04-30]
-
-### Added
-- Implement `\tl_analysis_map_inline:nn`
-- Implement `\exp_args_generate:n` to define new `\exp_args:N...`
- functions
-- Low-level `\int_value:w` function
-- New experimental functions for
- - Building token lists piecewise
- - Fast manipulation of integer arrays
- - Sequence shuffling
- - `\seq_set_from_function:NnN`
- - `\char_codepoint_to_bytes:n`
-
-### Changed
-- Significant internal revision to use only internal functions
- 'private' to specific modules
-- Better documentation of cross-module kernel-internal functions
-- Enable `\char_generate:nn` for active chars
-- Renamed `\tl_show_analysis:(N|n)n` as `\tl_analysis_show:(N|n)n`
-- Change `\int_rand:nn` (and rand_item functions) to better use
- the RNG
-- Make prg break functions public
-- Make scan marks mechanism public
-- Make `\prg_do_nothing:` long rather than nopar (issue \#455)
-- Several performance improvements
-- Documentation improvements
-
-### Fixed
-- Only index TF, T, F functions together if they are `expl3`
- functions (issue \#453)
-- Make `\infty` and `\pi` into errors in fp expressions
- (issue \#357)
-
-### Removed
-- Deprecated functions expiring at end of 2017
-- Old module `.sty` files
-
-## [2018-03-05]
-
-### Changes
-- Adjustments to `l3drivers` to support `l3draw` development in
- `l3experimental` bundle
-
-## [2018-02-21]
-
-### Added
-- Tuple support in fp expressions
-- Step functions have been added for dim variables,
- e.g. `\dim_step_inline:nnnn`
-
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-03-14...HEAD
-[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
-[2024-02-20]: https://github.com/latex3/latex3/compare/2024-02-18...2024-02-20
-[2024-02-18]: https://github.com/latex3/latex3/compare/2024-02-13...2024-02-18
-[2024-02-13]: https://github.com/latex3/latex3/compare/2024-01-22...2024-02-13
-[2024-01-22]: https://github.com/latex3/latex3/compare/2024-01-04...2024-01-22
-[2024-01-04]: https://github.com/latex3/latex3/compare/2023-12-11...2024-01-04
-[2023-12-11]: https://github.com/latex3/latex3/compare/2023-12-08...2023-12-11
-[2023-12-08]: https://github.com/latex3/latex3/compare/2023-11-09...2023-12-08
-[2023-11-09]: https://github.com/latex3/latex3/compare/2023-11-01...2023-11-09
-[2023-11-01]: https://github.com/latex3/latex3/compare/2023-10-23...2023-11-01
-[2023-10-23]: https://github.com/latex3/latex3/compare/2023-10-10...2023-10-23
-[2023-10-10]: https://github.com/latex3/latex3/compare/2023-08-29...2023-10-10
-[2023-08-29]: https://github.com/latex3/latex3/compare/2023-08-11...2023-08-29
-[2023-08-11]: https://github.com/latex3/latex3/compare/2023-08-03...2023-08-11
-[2023-08-03]: https://github.com/latex3/latex3/compare/2023-06-30...2023-08-03
-[2023-06-30]: https://github.com/latex3/latex3/compare/2023-06-16...2023-06-30
-[2023-06-16]: https://github.com/latex3/latex3/compare/2023-06-05...2023-06-16
-[2023-06-05]: https://github.com/latex3/latex3/compare/2023-05-22...2023-06-05
-[2023-05-22]: https://github.com/latex3/latex3/compare/2023-05-15...2023-05-22
-[2023-05-15]: https://github.com/latex3/latex3/compare/2023-05-11...2023-05-15
-[2023-05-11]: https://github.com/latex3/latex3/compare/2023-05-05...2023-05-11
-[2023-05-05]: https://github.com/latex3/latex3/compare/2023-04-20...2023-05-05
-[2023-04-20]: https://github.com/latex3/latex3/compare/2023-04-19...2023-04-20
-[2023-04-19]: https://github.com/latex3/latex3/compare/2023-03-30...2023-04-19
-[2023-03-30]: https://github.com/latex3/latex3/compare/2023-02-22...2023-03-30
-[2023-02-22]: https://github.com/latex3/latex3/compare/2023-02-07...2023-02-22
-[2023-02-07]: https://github.com/latex3/latex3/compare/2023-02-02...2023-02-07
-[2023-02-02]: https://github.com/latex3/latex3/compare/2023-02-01...2023-02-02
-[2023-02-01]: https://github.com/latex3/latex3/compare/2023-01-24...2023-02-01
-[2023-01-24]: https://github.com/latex3/latex3/compare/2023-01-16...2023-01-24
-[2023-01-16]: https://github.com/latex3/latex3/compare/2022-12-17...2023-01-16
-[2022-12-17]: https://github.com/latex3/latex3/compare/2022-11-02...2022-12-17
-[2022-11-02]: https://github.com/latex3/latex3/compare/2022-10-26...2022-11-02
-[2022-10-26]: https://github.com/latex3/latex3/compare/2022-09-28...2022-10-26
-[2022-09-28]: https://github.com/latex3/latex3/compare/2022-08-30...2022-09-28
-[2022-08-30]: https://github.com/latex3/latex3/compare/2022-08-23...2022-08-30
-[2022-08-23]: https://github.com/latex3/latex3/compare/2022-08-05...2022-08-23
-[2022-08-05]: https://github.com/latex3/latex3/compare/2022-07-15...2022-08-05
-[2022-07-15]: https://github.com/latex3/latex3/compare/2022-07-14...2022-07-15
-[2022-07-14]: https://github.com/latex3/latex3/compare/2022-07-04...2022-07-14
-[2022-07-04]: https://github.com/latex3/latex3/compare/2022-07-01...2022-07-04
-[2022-07-01]: https://github.com/latex3/latex3/compare/2022-06-16...2022-07-01
-[2022-06-16]: https://github.com/latex3/latex3/compare/2022-06-02...2022-06-16
-[2022-06-02]: https://github.com/latex3/latex3/compare/2022-05-30...2022-06-02
-[2022-05-30]: https://github.com/latex3/latex3/compare/2022-05-04...2022-05-30
-[2022-05-04]: https://github.com/latex3/latex3/compare/2022-04-29...2022-05-04
-[2022-04-29]: https://github.com/latex3/latex3/compare/2022-04-20...2022-04-29
-[2022-04-20]: https://github.com/latex3/latex3/compare/2022-04-10...2022-04-20
-[2022-04-10]: https://github.com/latex3/latex3/compare/2022-02-24...2022-04-10
-[2022-02-24]: https://github.com/latex3/latex3/compare/2022-02-21...2022-02-24
-[2022-02-21]: https://github.com/latex3/latex3/compare/2022-02-05...2022-02-21
-[2022-02-05]: https://github.com/latex3/latex3/compare/2022-01-21...2022-02-05
-[2022-01-21]: https://github.com/latex3/latex3/compare/2022-01-12...2022-01-21
-[2022-01-12]: https://github.com/latex3/latex3/compare/2021-11-22...2022-01-12
-[2021-11-22]: https://github.com/latex3/latex3/compare/2021-11-12...2021-11-22
-[2021-11-12]: https://github.com/latex3/latex3/compare/2021-10-18...2021-11-12
-[2021-10-18]: https://github.com/latex3/latex3/compare/2021-10-17...2021-10-18
-[2021-10-17]: https://github.com/latex3/latex3/compare/2021-10-12...2021-10-17
-[2021-10-12]: https://github.com/latex3/latex3/compare/2021-08-27...2021-10-12
-[2021-08-27]: https://github.com/latex3/latex3/compare/2021-07-12...2021-08-27
-[2021-07-12]: https://github.com/latex3/latex3/compare/2021-06-18...2021-07-12
-[2021-06-18]: https://github.com/latex3/latex3/compare/2021-06-01...2021-06-18
-[2021-06-01]: https://github.com/latex3/latex3/compare/2021-05-27...2021-06-01
-[2021-05-27]: https://github.com/latex3/latex3/compare/2021-05-25...2021-05-27
-[2021-05-25]: https://github.com/latex3/latex3/compare/2021-05-11...2021-05-25
-[2021-05-11]: https://github.com/latex3/latex3/compare/2021-05-07...2021-05-11
-[2021-05-07]: https://github.com/latex3/latex3/compare/2021-02-18...2021-05-07
-[2021-02-18]: https://github.com/latex3/latex3/compare/2021-02-06...2021-02-18
-[2021-02-06]: https://github.com/latex3/latex3/compare/2021-02-02...2021-02-06
-[2021-02-02]: https://github.com/latex3/latex3/compare/2021-01-09...2021-02-02
-[2021-01-09]: https://github.com/latex3/latex3/compare/2020-12-07...2021-01-09
-[2020-12-07]: https://github.com/latex3/latex3/compare/2020-12-05...2020-12-07
-[2020-12-05]: https://github.com/latex3/latex3/compare/2020-12-03...2020-12-05
-[2020-12-03]: https://github.com/latex3/latex3/compare/2020-10-27...2020-12-03
-[2020-10-27]: https://github.com/latex3/latex3/compare/2020-10-05...2020-10-27
-[2020-10-05]: https://github.com/latex3/latex3/compare/2020-09-24...2020-10-05
-[2020-09-24]: https://github.com/latex3/latex3/compare/2020-09-06...2020-09-24
-[2020-09-06]: https://github.com/latex3/latex3/compare/2020-09-03...2020-09-06
-[2020-09-03]: https://github.com/latex3/latex3/compare/2020-09-01...2020-09-03
-[2020-09-01]: https://github.com/latex3/latex3/compare/2020-08-07...2020-09-01
-[2020-08-07]: https://github.com/latex3/latex3/compare/2020-07-17...2020-08-07
-[2020-07-17]: https://github.com/latex3/latex3/compare/2020-06-18...2020-07-17
-[2020-06-18]: https://github.com/latex3/latex3/compare/2020-06-03...2020-06-18
-[2020-06-03]: https://github.com/latex3/latex3/compare/2020-05-15...2020-06-03
-[2020-05-15]: https://github.com/latex3/latex3/compare/2020-05-14...2020-05-15
-[2020-05-14]: https://github.com/latex3/latex3/compare/2020-05-11...2020-05-14
-[2020-05-11]: https://github.com/latex3/latex3/compare/2020-05-05...2020-05-11
-[2020-05-05]: https://github.com/latex3/latex3/compare/2020-04-06...2020-05-05
-[2020-04-06]: https://github.com/latex3/latex3/compare/2020-03-06...2020-04-06
-[2020-03-06]: https://github.com/latex3/latex3/compare/2020-03-03...2020-03-06
-[2020-03-03]: https://github.com/latex3/latex3/compare/2020-02-25...2020-03-03
-[2020-02-25]: https://github.com/latex3/latex3/compare/2020-02-21...2020-02-25
-[2020-02-21]: https://github.com/latex3/latex3/compare/2020-02-14...2020-02-21
-[2020-02-14]: https://github.com/latex3/latex3/compare/2020-02-13...2020-02-14
-[2020-02-13]: https://github.com/latex3/latex3/compare/2020-02-11...2020-02-13
-[2020-02-11]: https://github.com/latex3/latex3/compare/2020-02-08...2020-02-11
-[2020-02-08]: https://github.com/latex3/latex3/compare/2020-02-03...2020-02-08
-[2020-02-03]: https://github.com/latex3/latex3/compare/2020-01-31...2020-02-03
-[2020-01-31]: https://github.com/latex3/latex3/compare/2020-01-22...2020-01-31
-[2020-01-22]: https://github.com/latex3/latex3/compare/2020-01-12...2020-01-22
-[2020-01-12]: https://github.com/latex3/latex3/compare/2019-11-07...2020-01-12
-[2019-11-07]: https://github.com/latex3/latex3/compare/2019-10-28...2019-11-07
-[2019-10-28]: https://github.com/latex3/latex3/compare/2019-10-27...2019-10-28
-[2019-10-27]: https://github.com/latex3/latex3/compare/2019-10-24...2019-10-27
-[2019-10-24]: https://github.com/latex3/latex3/compare/2019-10-21...2019-10-24
-[2019-10-21]: https://github.com/latex3/latex3/compare/2019-10-14...2019-10-21
-[2019-10-14]: https://github.com/latex3/latex3/compare/2019-10-11...2019-10-14
-[2019-10-11]: https://github.com/latex3/latex3/compare/2019-10-02...2019-10-11
-[2019-10-02]: https://github.com/latex3/latex3/compare/2019-09-30...2019-10-02
-[2019-09-30]: https://github.com/latex3/latex3/compare/2019-09-28...2019-09-30
-[2019-09-28]: https://github.com/latex3/latex3/compare/2019-09-19...2019-09-28
-[2019-09-19]: https://github.com/latex3/latex3/compare/2019-09-08...2019-09-19
-[2019-09-08]: https://github.com/latex3/latex3/compare/2019-09-05...2019-09-08
-[2019-09-05]: https://github.com/latex3/latex3/compare/2019-08-25...2019-09-05
-[2019-08-25]: https://github.com/latex3/latex3/compare/2019-08-14...2019-08-25
-[2019-08-14]: https://github.com/latex3/latex3/compare/2019-07-25...2019-08-14
-[2019-07-25]: https://github.com/latex3/latex3/compare/2019-07-01...2019-07-25
-[2019-07-01]: https://github.com/latex3/latex3/compare/2019-05-28...2019-07-01
-[2019-05-28]: https://github.com/latex3/latex3/compare/2019-05-09...2019-05-28
-[2019-05-09]: https://github.com/latex3/latex3/compare/2019-05-07...2019-05-09
-[2019-05-07]: https://github.com/latex3/latex3/compare/2019-05-05...2019-05-07
-[2019-05-05]: https://github.com/latex3/latex3/compare/2019-05-03...2019-05-05
-[2019-05-03]: https://github.com/latex3/latex3/compare/2019-04-21...2019-05-03
-[2019-04-21]: https://github.com/latex3/latex3/compare/2019-04-06...2019-04-21
-[2019-04-06]: https://github.com/latex3/latex3/compare/2019-03-26...2019-04-06
-[2019-03-26]: https://github.com/latex3/latex3/compare/2019-03-05...2019-03-26
-[2019-03-05]: https://github.com/latex3/latex3/compare/2019-02-15...2019-03-05
-[2019-02-15]: https://github.com/latex3/latex3/compare/2019-02-03...2019-02-15
-[2019-02-03]: https://github.com/latex3/latex3/compare/2019-01-28...2019-02-03
-[2019-01-28]: https://github.com/latex3/latex3/compare/2019-01-13...2019-01-28
-[2019-01-13]: https://github.com/latex3/latex3/compare/2019-01-12...2019-01-13
-[2019-01-12]: https://github.com/latex3/latex3/compare/2019-01-01...2019-01-12
-[2019-01-01]: https://github.com/latex3/latex3/compare/2018-12-12...2019-01-01
-[2018-12-12]: https://github.com/latex3/latex3/compare/2018-12-11...2018-12-12
-[2018-12-11]: https://github.com/latex3/latex3/compare/2018-12-06...2018-12-11
-[2018-12-06]: https://github.com/latex3/latex3/compare/2018-11-19...2018-12-06
-[2018-11-19]: https://github.com/latex3/latex3/compare/2018-10-31...2018-11-19
-[2018-10-31]: https://github.com/latex3/latex3/compare/2018-10-26...2018-10-31
-[2018-10-26]: https://github.com/latex3/latex3/compare/2018-10-19...2018-10-26
-[2018-10-19]: https://github.com/latex3/latex3/compare/2018-10-17...2018-10-19
-[2018-10-17]: https://github.com/latex3/latex3/compare/2018-09-24...2018-10-17
-[2018-09-24]: https://github.com/latex3/latex3/compare/2018-08-23...2018-09-24
-[2018-08-23]: https://github.com/latex3/latex3/compare/2018-06-14...2018-08-23
-[2018-06-14]: https://github.com/latex3/latex3/compare/2018-06-01...2018-06-14
-[2018-06-01]: https://github.com/latex3/latex3/compare/2018-05-13...2018-06-01
-[2018-05-13]: https://github.com/latex3/latex3/compare/2018-05-12...2018-05-13
-[2018-05-12]: https://github.com/latex3/latex3/compare/2018-04-30...2018-05-12
-[2018-04-30]: https://github.com/latex3/latex3/compare/2018-03-05...2018-04-30
-[2018-03-05]: https://github.com/latex3/latex3/compare/2018-02-21...2018-03-05
-[2018-02-21]: https://github.com/latex3/latex3/compare/2017-12-16...2018-02-21