This file is in the public domain. ============================================================== Luatex beta-0.79.2 was released 20141111 (5082) ============================================================== * WARNING: the structure of the format file is changed. After the Web2C \TeX's magic constant: "W2TX" there is now a FORMAT_ID, a 32bit field that cannot be between 0 and 256 (included) so that there are no conflicts with the preexisting structure of the format. The value can be seen with --debug-format and currently is 907 (the sum of the values of the bytes of the ASCII string "don knuth"). * There is a new set of lua functions for StructElement and Attribute, convenient (even if not indispensable) for tagged pdf. * several bugfixes and improvements. ============================================================== Luatex beta-0.79.0 was released 20140328 (4960) ============================================================== * The luafontloader now returns 'tsidebearing' glyph values for OT/TT fonts, if applicable. * new lua variables: stats.luatex_hashtype, stats.luatex_hashchars, stats.lastluaerrorstring; the luajittex string hash method is now lua 5.1 compliant which gives better results for similar strings * new lua functions: tex.init_rand(), tex.uniform_rand(), tex.normal_rand(), tex.lua_math_randomseed(), tex.lua_math_random(), tex.show_context(); these helpers make luatex and luajittex compatible * In the lua node interface, there were often issues with rubbish in (especially) 'prev' fields because luatex itself never looks at those values. This is now cleaned up to prevent weird stuff happening inside lua node processing code. * pdf.pageattributes, pdf.pagesattributes, pdf.info, pdf.catalog, pdf.names and pdf.trailer now behave consistent and can be used to add these properties at the lua end in addition to their \pdf* counterparts atthe tex end; there are now pdf.get* and pdf.set* commands for them too (in future versions the old ways can become obsolete) * new accessors pdf.geth, pdfgetv, pdfgetpos, getgetmatrix as well as pdfhasmatrix helpers (in future versions the direct pdf.h and pdf.v accessor can become obsolete) * the pdf.pdf* variables have been removed (they were already obsolete for some years) * a new properties mechanism for associating lua tables with nodes that get cleaned up when nodes a freed (see manual for details) * several improvements to the way temporary (backend) data is stored at the lua end (better protection, more consistent) * a 'l' type for user nodes that holds a lua variable (can be set at the lua end) * if a late lua node is set at the lua end the string value can be a function as well which is then executed during serialization to the backend stream * Various small speedups * Various smallish fixes to the node direct interface * LPeg is now at version 0.12 * Some small fixes to the CFF (font) parsing * Font file inclusion reporting messages on the terminal now comply to the texconfig.trace_file_names setting * Removed some of the additional luafontloader.info() return information that was added in 0.78.2, but could not work properly. * new primitive \luafunction (see manual), with associated lua.get_functions_table() function * lua error message reporting has been altered a bit to make the distinction between \directlua and other lua source code sources clearer * Additional pdf document data functionality in the 'pdf' table has been cleaned up internally * Additional pdf destination names can now be set via lua. * New callbacks: finish_pdfpage, show_error_message, show_lua_error_hook, start_file, stop_file * Handling of \tracinglostchars is fixed * Embedded metapost library version is now 1.900 * luajittex is now included in the distribution. One can use buildjit.sh to build both luatex and luajittex, where supported by the platform * Synchronization with the TeXLive sources updated the following libraries: * libpng is now 1.6.10 * poppler is now 0.25.2 ============================================================== Luatex beta-0.78.2 was released 20140113 (4748) ============================================================== * Extended luafontloader's info() function to include data from the 'pfminfo' and 'names' structure. * Fixed a bug in the luafontloader library that made loading some fonts extremely slow (LastResort.ttf) * Removed a recent extension in the luafontloader library that made loading fonts with lots of glyphs slow (ArialUnicoce.ttf). Note: the extension made sure that there were no duplicate glyph names in the font after loading. * Restored --recorder output for lua files (dofile/loadfile/io.open) * One-at-a-time pattern adding from lua used to require enormous amounts of memory * luatex's fontloader.to_table() no longer reports 'altuni' table information for alternates that are solely driven by the font encoding. This fixes loading time issues for fonts that fill encodings by copying a single glyph many times, like e.g. LastResort.ttf from Apple. * The datestamp no longer appears in any banners. The associated \luatexdatestamp primitive is deprecated and will be removed in 0.80.0. * Synchronization with the TeXLive sources updated the following libraries: * cairo is now 1.12.16 * pixman is now 0.32.4 * lua is now 5.2.3 * zlib is now 1.2.8 * poppler is now 0.25.0 * That same TL synchronization also fixes these issues: * Always write "\nendstream" to the PDF for PDF/A-1b compliance. * Large file support (>4GB) in Lua * Big images could overflow on systems where sizeof(long)=4. * In writing CID CFF fonts to the PDF, and end_dict() was missing. * Unknown 'post' table versions (found in some broken ttf/otf fonts) are now treated as-if they specified version 3.0. * Fix crashes on 32-bit systems caused by bad C header inclusion order * Handle '--luac' and '--luaconly' properly * luatex is now released under GPLv2+, not just GPLv2. * luatex can now find .ofm metric files even if the extension is not given explicitly. * node.unset_attribute() was broken in 0.78.0 * The UTF-8 commandline patch from 0.78.0 for Win32 was removed again (did not work properly) ============================================================== Luatex beta-0.78.0 was released 20131231 ============================================================== * Instead of using expanded fonts, just calculate the expanded width of glyphs where needed, and carry expand info in the glyph nodes (all based on Hans' suggestions). All font expansion functions are disabled and most are removed. * New, faster (but limited) direct node access from lua, see the manual for details * Support for Apple Advanced Typography (AAT) information in fonts is dropped * Extended build script for mingw/msys (includes 64-bit support) * Various patches from/via Akira Kakuta for better Win32 integration * Fixes for some bugs in de pdfscanner library (mostly related to inline images) * Maximum hyphenated word length is now 64Kb characters. * Various patches from Khaled Hosny and Luigi Scarso for the luafontloader subsystem * Fix for a crash when re-dumping formats * Fix for a Selene unicode library bug where some characters in UTF-8 were incorrectly flagged as having the 'Space' property * Some smaller fixes ============================================================== Luatex beta-0.76.0 was released 20130405 ============================================================== * Metapost 1.801. * Small patches from TeXLive 2013, as well as an update to the latest libraries (libpng, poppler, etc.) * Speed up printing (of TeX strings) to the terminal and log. * New lua function node.end_of_math(). * Fixed a memory leak in the lua function pdfscanner.scan(). ============================================================== Luatex beta-0.75.0 was released 20130301 ============================================================== News: * New expandable primitive \Uchar. * Metapost 1.790. * New version of lnodelib.c with speedups by Hans and Luigi. Also added some extra sanity checks to the Lua node field setting functions. * Support 'umath' in tex.extraprimitives(), so that formats can make the \Umath* primitives unprefixed, now that they will be provided by XeTeX as well. * Removed a bunch of deprecated primitives * \AlephVersion, \Alephrevision, \Alephversion, \Alephminorversion * \OmegaVersion, \Omegarevision, \Omegaversion, \Omegaminorversion * \omathcode, \odelcode, \omathchardef, \omathchar, \omathaccent, \odelimiter, \oradical * \Umathbotaccent, \Umathaccents * Fix large file support. * Fix Lua's loadfile(). * Removed the cidmap callbacks again (let that be done by user lua code after the fact). * Removed the fatal error on fonts where num_glyphs is too high, as that problem is actually harmless. * Some compilation issues under Win32 and Solaris resolved. * Allow math extender objects to be zero width. * The 'epdf' library has been extended to deal with finding and saving embedded files (catalog:numEmbeddedFiles() and catalog: embeddedFile, new EmbFile object). ============================================================== Luatex beta-0.74.0 was released 20121224 ============================================================== News: * lua 5.2 There are no patches to the core Lua files; a future version of luatex will switch to loading the regular lua 5.2 dynamic library instead of depending on a statically compiled one. * A bleeding-edge version of luasocket is included, as there is no 5.2-compatible official release yet. * A new lua extension is the two-argument version of string.dump from Luajit: string.dump(function f, [boolean strip]) * mpost 1.780 * The implied existence of the following lua libraries is now deprecated: debug, unicode.*, luazip, lfs, lpeg, zlib, gzip, md5, socket.*, profiler, epdf, fontloader, mplib, and pdfscanner. Future versions of luatex will load these modules on demand from dynamic libraries. Please update your sources to include a 'require' line for each of the library modules mentioned. * Two new callbacks: find_cidmap_file and load_cidmap_file (used by the fontloader to discover .cidmaps) ============================================================== Luatex beta-0.72.0 was released 20121210 ============================================================== News: * update various used libraries, including mplib 1.770, poppler 0.21, libpng 1.5, and lpeg 0.10.2. * new 'pdfscanner' lua library. * various OpenType math fixes, including \Umathcharnumdef. * improved placement of bottom accents. * various other small fixes that have accumulated over the past year-and-a-half. ============================================================== Luatex beta-0.70.1 was released 20110519 ============================================================== News: * fixed: recorder file location from TL (Akira). * fixed: missing newline on 'No output' line. * fixed: relative names in synctex file. * fixed: 16bit png images in generated %!PDF-1.4. * fixed: building with (installed) libpng < 1.5.0 * fixed: year in --version output. * fixed: box output to synctex. * fixed: FontDescriptor for non-embedded OpenType fonts has an invalid FontFile3 entry (#654) * fixed: crash on non-existent images. * fixed: small memory leak in the ipc code. * fixed: tex.print() and tex.sprint() don't recognize -2 as the first argument (#659) ============================================================== Luatex beta-0.70.0 was released 20110506 ============================================================== News: * fixed: various changes needed for libpng 1.5.2. * fixed: node.fields() for nodes without subtype. * fixed: non-argument use of os.execute(). * fixed: tex.[s|t|]print() with invalid catcode table arguments. * fixed: recorder filename location with --output-directory. * fixed: display alignment in TRT mode. * luatex now uses the standard synctex files from Jérome Laurens. ============================================================== Luatex beta-0.66.0 was released 20110412 ============================================================== News: * fixed: linebreak_filter doesn't do its default job when tex.linebreak is used * fixed: \escapechar ignored by \meaning * fixed: wrong px default * fixed: font kern attribute inheritance * fixed: "nop" unrecognized in virtual fonts * fixed: assertion failure in dviluatex when font ptmr8t used * fixed: tex.settoks for with strings with embedded zeroes * fixed: an indexing problem with nonexistent font glyphs * fixed: some crashes and other bugs on the 'subtype' and 'prev' fields (not all node types have those fields) * fixed: crash on token.csname_id ("") * fixed: initialize the statically allocated node's type ids * fixed: fencepost error in math parameter counting * fixed: math family numbers > 255 are allowed * fixed: compilation failure on Hurd * fixed: a small bug leading to displacements when reading the AccentTop table * fixed: \directlua followed by \pdfximage generates error if draft mode is active * fixed: a problem with \vadjust pre in alignments * fixed: a lua stack growing problem in the backend in 0.65.0, resulting in an inability to create more than a few thousand generated pages * fixed: inclusion of Scribus-generated pdfs * adapt: the default form margin is now zero (was 1bp before) * adapt: libpng 1.4.4, zzuplib 0.13.60, mplib 1.504 * adapt: small changes to the build system and new imports from the texlive repository * feature: new function node.currentattr() queries the current active attribute list * feature: Lua font loading; ignore unknown enumeration keys in MathConstants * feature: JPEG 2000 image support * feature: continuing work on the 'epdf' library * doc: the 'epdf' lua library is now documented * doc: various other manual corrections ============================================================== Luatex beta-0.65.0 was released 20101213 ============================================================== News: * The Aleph and Omega version primitives are deprecated. * The Apple Snow Leopard Truetype font collections now work properly. * Libpng has been updated to 1.4.4, and zlib to 1.2.5. * New lua functions node.next() and node.prev(). * The already deprecated for some time node.protrusion_skipable() function has been removed. * fontloader.apply_featurefile() and fontloader.apply_afmfile() now return nil, on failure. * The various node list fields in the lua node interface have been renamed from 'list' to 'head', e.g. tex.box[0].head, and the 'list' name is deprecated. For now, the deprecation is silent, as 'list' will stay for quite some time. Please update your lua source as soon as possible, though. * The call node.type() now returns "node". The existing functionality is otherwise unchanged. * Luafilesystem has been updated to 1.5.0. NOTE: there is an incompatible change in the directory iterator method. * The restriction on linebreak_filter has been eased: at least one horizontal box should be returned, but that is not necessarily the last node any more. * Backward compatibility has been restored for \meaning\mathchar * node.first_character() has been renamed to node.first_glyph() to better match its actual functionality. * The \Umathaccent primitive now supports both/bottom keywords, and \Umathbotaccent / \Umathaccents are now deprecated. * The \Umathaccent primitive now also supports the fixed keyword, which supports non-growing math accents even if the font says there are extensible variants. * Ongoing work on the epdf library. Bugfixes: * Assignment to \dimen65535 was broken earlier. * .head.prev is now always initialized to null (0). * luatex -lua=