# 3.9 (2023-10-06) * Add viewport in HTML output (@patrick-g). * Fix Markdown lists (Jendrik Seipp). # 3.8 (2023-02-17) * Raise minimum supported Python version to 3.7 (Jendrik Seipp). * Add continuous integration tests for Python 3.10 and 3.11 (Jendrik Seipp). * Add ConTeXt target (#224, @goetzschnell). * Fix W3C validator warnings (#225, @goetzschnell). * Don't use \multicolumn for single LaTeX table cells (Jendrik Seipp). * Fix LaTeX escapes (#244, @ThexXTURBOXx). * Use correct table title separators for Markdown target (#243, @db-inf). # 3.7 (2020-02-10) * Make CSS style prettier (Jendrik Seipp). * Remove `--toc-only` and `--toc-level` options (Jendrik Seipp). * Remove `--mask-email` option (Jendrik Seipp). * Polish help text (Jendrik Seipp). # 3.6 (2020-02-05) * Escape underscores in Latex headers (Jendrik Seipp). * Don't center Latex tables (Jendrik Seipp). * Use booktabs package for prettier Latex tables (Jendrik Seipp). * Use normal font for Latex table headers (Jendrik Seipp). * Remove `--dump-config` and `--dump-source` options (Jendrik Seipp). * Remove txt2tags version from output. (Jendrik Seipp). * Remove support for multiple input files (Jendrik Seipp). # 3.5 (2020-02-01) * Add Markdown target (Eric Forgeot, #213). * Drop `--encoding` option and always use UTF-8. Files in other encodings are not supported anymore (Jendrik Seipp, Aurelio Jargas, #221). * Show the original error message when a file read/write operation fails (Aurelio Jargas, #216 #217). * Improve the exception handling when reading input data from files and from stdin (Aurelio Jargas, #218 #219). # 3.4 (2019-12-25) * Remove macros (Jendrik Seipp). * Fix MoinMoin URL and email syntax (Jendrik Seipp). # 3.3 (2019-11-04) * Update html target to HTML5 and drop xhtml target (Jendrik Seipp). * Remove ASCII art and PageMaker targets (Jendrik Seipp). * Remove %!csv macro (Jendrik Seipp). * Drop `--css-inside` option (Jendrik Seipp). * Always use CSS sugar and drop `--css-sugar` option (Jendrik Seipp). * Remove i18n (Jendrik Seipp). * Remove plugins and tools that now live in their own repositories (Jendrik Seipp). * Remove code for unused split feature (Jendrik Seipp). * Use \n for linebreaks on all platforms as recommended by Python docs (Jendrik Seipp). * Fix errors detected by flake8 (Jendrik Seipp). * Fix test statistics (Jendrik Seipp). * Only keep English docs (Jendrik Seipp). * Fold sample tests into main test suite (Jendrik Seipp). * Explain how to install txt2tags with pipx in README file (Jendrik Seipp). # 3.2 (2019-10-30) * Remove GUI (Jendrik Seipp). * Rename txt2tags to txt2tags.py (Jendrik Seipp). * Add setup.py file (Jendrik Seipp). * Upload txt2tags to PyPI (Jendrik Seipp). # 3.1 (2019-10-29) * Check code format with black (Jendrik Seipp). * Correctly compute title length under Python 3 for txt target (Jendrik Seipp). * Update and continuously check Python sample scripts under samples/module (Jendrik Seipp). * Check that sample file is converted to all targets correctly in CI (Jendrik Seipp). * lout: fix email markup (Martin Michel, backported by Jendrik Seipp). * man: fix closing lists (Matteo Cypriani, backported by Jendrik Seipp). * Improve table regex (Aurelio Jargas, backported by Jendrik Seipp). * man: fix extra line (Nicolas Delvaux, backported by Jendrik Seipp). * Improve comments inside doHeader() (Aurelio Jargas, backported by Jendrik Seipp). * Don't list targets manually (Aurelio Jargas, backported by Jendrik Seipp). * Canonicalize paths before checking whether input and output files match (Jason Seeley, backported by Jendrik Seipp). # 3.0 (2019-10-21) * Convert changelog file to Markdown (Jendrik Seipp). * Add travis-ci config file (Jendrik Seipp). * Add tox.ini file for testing multiple Python versions (Jendrik Seipp). * Reformat test suite with black (Jendrik Seipp). * Support running test suite under Python 3 (Jendrik Seipp). * Fix and refactor tests (Jendrik Seipp). * Add support for SVG images (Jendrik Seipp). * Don't escape underscores in tagged and raw LaTeX text (Jendrik Seipp). * Support Python 3 (Jendrik Seipp). * Use spaces instead of tabs (Jendrik Seipp). # 2.6 (2010-11-05) * New target: art (ASCII Art). (Florent Gallaire) * New target: adoc (AsciiDoc). (Neil Voss) * New target: creole (Creole 1.0). (Eric Forgeot) * New target: dbk (DocBook). (David Hajage) * New target: pmw (PmWiki). (Ritesh Sood) * New mark: `''tagged''` for inline tagged text. * New mark: `'''` for blocks of tagged text. * New option: `--targets` to list all the available targets. * New option: `--slides` to format output as presentation slides (-t art). (Florent Gallaire) * New option: `--width` to set the document's width (used by -t art). (Florent Gallaire) * New option: `--height` to set the document's height (used by -t art). (Florent Gallaire) * New option: `--art-chars` to set the ASCII Art decorations. (Florent Gallaire) * New options (turn off): `--no-slides`, `--no-targets`. * New command: `%!csv` to include an external CSV file as a table. (Florent Gallaire) * HTML/XHTML: Removed those random `

` that used to appear on the output. * HTML: Headers changed to avoid orphan tags when not using `--css-sugar`. (Thomas Hafner) * HTML: Removed `id="toc"` from the toc DIV, but `class="toc"` still remains. * LaTeX: New compact lists with no paragraph breaks between items. (Mark White) * LaTeX: Added column span and cell alignment to tables. (Mark White) * LaTeX: UTF-8 encoding is now correctly set as `utf8` instead `utf-8`. (Aad Mathijssen) * Lout: Removed list indent to avoid gaps in text. (Barrie Stott) * Lout: Now paragraphs are allowed inside lists. (Barrie Stott) * Man: Removed indentation in verbatim blocks. * i18n: Sample files converted to UTF-8. * i18n: Manual Pages converted to UTF-8. * i18n: All .po files converted to UTF-8. * i18n: Added po/tools folder and po/stats.txt file. * i18n: Added Basque translations. (Ales Zabala Alava) * i18n: Added Ukrainian translations. (Bunyk Taras) * Docs: the Manual Page was rewritten: now a reference not a guide. * Docs: Markup Demo, Sample File, Manual Page translated to Basque. (Ales Zabala Alava) * Docs: User Guide translated to Chinese (simplified). (Chris Leng) * Docs: Sample File translated to Ukrainian. (Bunyk Taras) * extras: Added syntax files for JOE, "ne", "le" text editors. (Stefano D'Archino) * extras: Added a txt2tags markup set for markItUp! (Florent Gallaire) * extras: Added "dynartslides", a script to generate art slides dynamically. (Florent Gallaire) * extras: Added the Cookbook to use txt2tags markup in a PmWiki website. (Eric Forgeot) * extras: t2tmake.rb: Now compatible with ruby 1.9. (Lucas Buchala) * extras: Improved txt2tags.vim, unhtml.vim and txt2tagsrc files. * extras: Removed TextMate Bundle, it's already available at TextMate's SVN. * PHP Web interface improved: targets in alphabetical order, new $dfttarget. * Blank lines were added/removed to improve the generated code of all targets. * No more several blank lines at the end of the document. * Raw and tagged blocks are allowed inside paragraphs, they don't close it. (Kruzslicz Ferenc) * If called with no arguments, don't load the Gui. Must use `--gui` to load it. * The ":" char is now allowed in the query component of a URI (link). (sphaira, Chris lavabit) * Added TOC formatting example in samples/module/module-body.py file. (Jendrik Seipp) * Test-suite: 256 tests. New modules: art, csv, include, includeconf, sample. * Improved some error messages. (Leo Rosa) * Raise error when using `(target)` in `%!target` and `%!includeconf`. * The program code is now cleaner/safer with the help of `pychecker`. * Removed string module import: using `foo.upper()` instead `string.upper(foo)`. * Bugfix: Now `-C`,`--config-file` respects `(target)` in the config file settings. (Emmanuel Godard) * Bugfix: Now inline verbatim, raw and tagged marks are really mutually exclusive. No marks are interpreted inside them. * **IMPORTANT:** This release requires Python 2.2 or newer. The only exception is the new %!csv command that requires Python 2.3 or newer. * New website: http://txt2tags.org - Thanks Florent Gallaire for the domain! * This release was sponsored by Rubens Queiroz de Almeida. # 2.5 (2008-07-26) * New target: wiki (Wikipedia) (Eric Forgeot @ .fr for the idea) * New target: gwiki (Google Code Wiki) * New target: doku (DokuWiki) (Joerg Desch) * New mark `--` for ~~strikeout~~ text, currently implemented for: html, xhtml, tex, wiki, gwiki, doku, moin * New document: How to add a new target to txt2tags * New tools: TextMate bundle, Gedit language file, gensite program (see 'extras' folder) * Improved Unicode (UTF-8) support * PHP Web interface rewrote: now configurable, clean and modular * Moin target improved: added support for definition list and strong line * LaTeX target improved: Added support for anchors and local links * Lout target improved: Added support for anchors in titles * Added PreProc sample on the samples/module/module-body.py file * i18n: Added Finnish translations (Mikko J Piippo) * Docs: Sample file translated to Finnish (Mikko J Piippo) * Docs: Man Page translated to Chinese (Abby Pan) * Docs: Portuguese Man Page updated * Bugfix: Fixed title underline length on txt target for UTF-8 files (Jan Rejlek) * Bugfix: Fixed fatal error on sources files with UTF-8 encoding (Miguel Filho) * **IMPORTANT:** Txt2tags is not compatible with old Python 1.5.2 anymore, because Unicode strings were added in Python 2.0. If your Python is older than 2.0, please use txt2tags version 2.4. * This release was sponsored by Dmitri Popov. # 2.4 (2006-12-24) * New mark `%%%` for commented blocks (Leo Rosa) * The Style config now may be used multiple times * Different list types on the same indent now forces previous to close * Empty anchor is now part of a link (i.e. foo.html#) (Fabiano Engler) * tex: Default headers cleanup, now it's minimalist * tex: Now limiting the maximum quote depth to six * tex: User-defined styles now overwrite default formatting on headers * (x)html: New header comment showing the CSS file path, when using `--css-inside` * i18n: Added Chinese translations (wfifi) * Bugfix: xhtml: Fixed encoding declaration when using `--css-sugar` * Bugfix: (x)html: No empty `