#########
Changelog
#########

Release history
===============

1.3.6 -- Thu Oct  2 2025 22:28:09 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Fix bug in ``args.parse`` regarding the ``-s`` option

1.3.5 -- Wed 24 Sep 2025 17:11:01 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Optimized options output and added `--version` option

1.3.4 -- Fri  7 Mar 2025 16:09:03 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Added support for `.mmd` extension
* Removed ``datautil`` support since it's deprecated

1.3.3 -- Tue 20 Oct 2020 17:01:36 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Corrected typo in template: "entries categorized-[ as]" in
  file ``cat.html.j2``, line 6

1.3.2 -- Wed  5 Aug 2020 12:28:32 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Stable release
* Tests performed, fixed typos and bugs

1.3.1rc3 -- Thu 26 Mar 2020 09:17:22 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Fix bug when parsing reStructuredText
* Remove unused imports

1.3.1rc2 -- Wed 25 Mar 2020 04:12:51 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Fix typos and minimal but annoying bugs

1.3.1rc1 -- Wed 25 Mar 2020 02:36:18 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Finish beta tests and begin "release candidate" (``rc1``) stage
* Refactor ``Builder`` to use less external calls
* Add *maxrss* usage statistics when in *DEBUG* mode (``--verbose``)
* Update CSS style, so the {sub,super}scripts don't "break" the baseline
* Fix bug in :func:`slugify`, so now the slug be perfectly trimmed
* Add final period (full stop) to subtitle when parsing metadata if it
  doesn't have one
* Add some doctests in docstrings
* Update documentation

1.3.1b3 -- Sun 22 Mar 2020 00:03:03 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Pages can be private, just as posts
* Files are read only *once* when building the website
* Update documentation
* Safer retrieval from dictionaries without raising ``KeyError``

1.3.1b2 -- Sat 21 Mar 2020 02:22:20 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Feed can be disabled in the ``config.yaml`` file by setting any value
  other than "rss" or "atom"
* Update user documentation
* Error log can be redirected to ``/dev/stdout`` or ``/dev/stderr`` by
  command line (options ``-l`` or ``-log``), and not only to a file
* Date ISO 8601 format generated by ``datetime.isoformat`` instead of
  own function
* Minimize iterations in ``Builder``
* New method, ``Meta.as_dict()``, to get an array of metadata
* Rename some variables in templatates for more uniformity
* More tests performed

1.3.1b1 -- Fri 20 Mar 2020 01:57:08 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Finish alpha tests, starting beta version.
* Update documentation
* Add reStructuredText support using ``docutils``
* Parsers (both, md & rst) in separate modules (:class:`ParserMd` in
  :mod:`parsermd`; and :class:`ParserRst` in :mod:`parserrst`)
* Rename ``Mulang`` to ``Parser``
* Refactor code
* Initial data and locales now stored in ``data`` directory

1.3.1a3 -- Tue 18 Mar 2020 00:42:52 +0100 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Validation: required metatags are initialized to empty string raise
  exception ``ValueError``
* Hard refactor of ``Meta`` class
* Metainformation tags languages no longer hardcoded, only English, but
  ready to increase the comparison sets with all the tags; maybe in the
  future a JSON file will all translations will be used
* Update user documentation
* Refactor ``cli.py`` moving the ``main`` entry to ``main.py``
* Refactor ``Builder`` reducing redundant code
* ``Meta`` class now raises exceptions if meta data is invalid or
  insufficient; validation of titles (always) and dates (if required)
* Array manipulation functions in ``dataman.py`` file
* Update dependency versions in ``setup.py``
* Enhance CSS with minor improvements
* Update locales for Esperanto, Spanish, French, Portuguese, Galician
  and Catalan

1.3.1a2 -- Mon 16 Mar 2020 20:31:24 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Fix dependency requirement in ``setup.py`` for :mod:`PyYAML`
* CLI interface now displays help if no option is given

1.3.1a1 -- Mon 16 Mar 2020 03:17:43 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* CLI interface with ``argparser`` and more modularized
* Update documentation

1.2.1a1 -- Sun 15 Mar 2020 17:16:17 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Improve code readability to comply with :PEP:`8` and :PEP:`257`
* Divide code into one more file, for file operations
* Generate pages slug from the title, like posts, not the filename
* Error codes
* Reduce redundant code in ``Builder`` class, private methods to manage
  the code better
* Refactor code

1.2.0a1 -- Sun 15 Mar 2020 10:44:17 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Add logging support by using ``logging``.  Warnings and errors stored
  in separated file, information logs (or more critical) on ``stdout``.
  When the CLI interface will be updated with ``argparser``, the user
  will be able to select the log level, *DEBUG* (show all), *INFO* (show
  only file updates, but not parsing actions), *WARNING*...

1.1.0a1 -- Sat 14 Mar 2020 01:21:35 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Store pages in the directory ``pages``, and not in the root directory
* Generate links to pages in the navigation bar, unless indicating the
  opposite
* Fix bugs

1.0.2.dev4 -- Wed 12 Mar 2020 02:24:35 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Fix tarball in PIP repository

1.0.0.dev1 -- Wed 11 Mar 2020 03:21:35 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Finish first tests, released as 1.0.0a1 and first steps into
  package developing
* Move all templates to user space, so the user has full
  control over the presentation, and prepares the system for future
  inclusion of themes
* Rebrand as **PynFact!** (without the apostrophe)

0.4.0 -- Tue 10 Mar 2020 16:44:33 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Esperanto locale added (``eo``) using ``gettext``
* Esperanto meta tags available
* Remove deprecated ``safe_mode`` in Markdown calls
* Fixed some bugs

0.3.8 -- Mon  9 Mar 2020 15:34:52 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Simplify ``Builder`` class constructor: now it takes a configuration
  dictionary sorted semantically
* Refactor and improved exceptions check

0.3.7 -- Mon  9 Mar 2020 11:46:19 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Remove Javascript and added light/dark CSS styles

0.3.6 -- Wed  4 Mar 2020 15:30:48 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Enable/disable comments by option in configuration file

0.3.5 -- Tue  3 Mar 2020 15:36:29 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Minor bugs and refactoring

0.3.4 -- Tue  3 Mar 2020 14:27:04 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Files that haven't changed are no longer rewritten after parsing the
  Markdown text; only overwrite those files that are different (using
  ``filecmp``)

0.3.3 -- Tue  3 Mar 2020 08:23:24 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Repository going Git instead of Mercurial (Hg) [#]_

0.3.2 -- Mon  2 Mar 2020 15:39:12 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Update existing parsed files only if they are different (*diff*)

0.3.1 -- Sun  1 Mar 2020 16:02:01 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Restore categories support

0.3.0 -- Sat 29 Feb 2020 14:27:36 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Replace ``feedgen`` for ``pyatom`` to generate RSS/Atom syndication
  feeds
* Remove categories (temporarily) for testing purposes

0.2.3 -- Wed 24 May 2017 19:36:50 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Update default first entry (extension reference)
* Change posts default extension, from ``.mdown`` to ``.md``

0.2.2 -- Mon 22 May 2017 10:27:35 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Minimal update of CSS and templates

0.2.1 -- Sun 18 Dec 2016 21:28:59 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Update ``README.md`` file
* Fix dates since old commit (in another repository)

0.2.0 -- Sun 11 Dec 2016 15:42:25 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Add support for categories
* Release as v. 0.2.0 and repository regenerated

0.1.3 -- Thu 22 Oct 2015 16:14:15 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Review: routine control, ``cli.py``, and author updated

0.1.2 -- Sat 22 Feb 2014 15:52:46 +0100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Review: routine control
* Add locale support, including:

  * English
  * French
  * Spanish
  * Portuguese
  * Galician
  * Catalan

0.1.1 -- Sun  2 Jun 2013 16:23:48 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Fix bugs and correct code

0.1.0 -- Mon 22 Oct 2012 16:29:06 +0200
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* *Py'nFact!* initial developing version using Python 3.6 (0.1.0)
* Default listen address: ``http://127.0.0.1:4000``


.. [#] There was no importation, no preservation of logs, or anything
       similar.  This is a personal project being developed just buy one
       person, so there was no need to import the entire Hg repository
       logs.
