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, this project uses date-based 'snapshot' version identifiers.
\box_(g)set_eq_drop:NN
,\hbox_unpack_drop:N
\file_get:nnN
and\file_get:nnNTF
- Experimental functions
\sys_shell_get:nnN
and\sys_shell_get:nnNTF
\char_generate:nn
now always takes exactly two expansions- Move
\prg_generate_conditional_variant:Nnn
to stable
\box_(g)set_eq_clear:NN
, replaced by\box_(g)set_eq_drop:NN
\hbox_unpack_clear:N
, replaced by\hbox_unpack_drop:N
\tl_(g)set_from_file(_x):Nnn
, replaced by\file_get:nnN
- In (u)platex: detection of spaces in
\tl_rescan:nn
and related functions
- Experimental function family
\tl_(g)set_from_shell:(N|c)nn
(replaced by\sys_shell_get:nnN
)
\ior_map_variable:NNn
and\ior_str_map_variable:NNn
- Unclosed conditional with Unicode engines
- Improved
expl3
loading time with LuaTeX and XeTeX - Improved performance of
\ior_map_inline:Nn
and related functions
- Handling of accented characters under mixed case changing in 8-bit engines (see #514)
\iow_allow_break:
- Correct fp randint with zero argument (see #507)
- Handling of
\current@color
with (x)dvipdfmx` (see #510)
- 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
- Move
\tl_range:nnn
to stable
- Loading in ConTeXt MkIV
- Enable
\char_generate:nn
to create active tokens with XeTeX
- Apply
\par
only at the end of vertical boxes - Move
\int_rand:n
to stable - Move
\<var>_rand_item:N
to stable
- Typo in
\lua_shipout_e:n
(see #503)
- Support for cross-compatibility primitives in XeTeX
\int_sign:n
,\dim_sign:n
and\fp_sign:n
- Wrapping of text in messages, etc., for some line lengths (fixes #491)
\g_msg_module_documentation_prop
(see #471)\peek_remove_spaces:n
- Formatting of messages: now follows LaTeX2e closely
\msg_interrupt:nn
,\msg_log:n
and\msg_term:n
- Handling of inheritance for choice keys (fixes #483)
- Some driver-level support for PDF features
\peek_catcode_collect_inline:Nn
,\peek_charcode_collect_inline:Nn
,\peek_meaning_collect_inline:Nn
- Handling of unknown keys when inheritance is active (fixes #481)
\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
\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)
- Support for
e
-type argument using\expanded
or macro emulation
CHANGELOG.md
(fixes #460)
- Loading
expl3
with LuaTeX/XeTeX and certain letter tokens set to be active (see #462)
- Alter
\char_codepoint_from_bytes:n
to produce four groups in all cases; makef
-type expandable
- Correct date string in
expl3.dtx
- Correct
\c_sys_engine_version_str
when using XeTeX
- 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
- 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
- Expand boolean expression before calling
\chardef
(fixes #461)
- Remove undocumented
\fp_function:Nw
and\fp_new_function:Npn
- 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
- 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 (fixes #455) - Several performance improvements
- Documentation improvements
- Only index TF, T, F functions together if they are
expl3
functions (fixes #453) - Make
\infty
and\pi
into errors in fp expressions (fixes #357)
- Deprecated functions expiring at end of 2017
- Old module
.sty
files
- Adjustments to
l3drivers
to supportl3draw
development inl3experimental
bundle
- Tuple support in fp expressions
- Step functions have been added for dim variables,
e.g.
\dim_step_inline:nnnn