Changelog

v2.1.3

Released on 2024-11-17 - GitHub - PyPI

Fix md2po2md always exiting with code 5 passing --no-empty-msgstr (#322)

v2.1.2

Released on 2024-11-16 - GitHub - PyPI

New features

  • Add --no-fuzzy flag to all CLIs for exiting with non zero code when fuzzy entries are found in PO files.

Enhancements

  • Improved --no-obsolete and --no-empty-msgstr implementations to print file paths and line numbers.

v2.1.1

Released on 2024-11-16 - GitHub - PyPI

New features

  • Add --no-obsolete flag to md2po, po2md and md2po2md CLIs to exit with code 3 when an obsolete entry is found in translations.
  • Add --no-empty-msgstr flag to md2po, po2md and md2po2md CLIs to exit with code 4 when an empty msgstr is found in translations.

v2.1.0

Released on 2024-11-11 - GitHub - PyPI

Bug fixes

Fixed support for LaTeX math spans. Now LaTeX display math blocks will be parsed correctly to PO files.

$$
a^2 + b^2 = c^2
$$
msgid "a^2 + b^2 = c^2"
msgstr ""

Enhancements

Standalone pre-built binaries are now provided for most common architectures. Download all md2po, po2md, md2po2md and mdpo2html standalone binaries executables from release assets below.

v2.0.1

Released on 2024-05-01 - GitHub - PyPI

Bug fixes

  • Fixed po2md not adding newline before first nested list lines.

v2.0.0

Released on 2024-03-06 - GitHub - PyPI

⚠️ Breaking changes

  • mdpo is no longer installable on Python3.7

Note about v1.1.5

Probably you're experiencing an error when calling the CLI after reinstalling v1.1.5. This can be solved by pinning importlib-metadata-argparse-version to <2, but the upgrade of mdpo to v2 is recommended. Sorry for the inconveniences that you could have experienced.

v1.1.5

Released on 2024-02-16 - GitHub - PyPI

Enhancements

  • Added --include-codeblocks option to md2po2md.

v1.1.4

Released on 2023-08-10 - GitHub - PyPI

Chore:

  • Added initial support for Python 3.12

v1.1.3

Released on 2023-03-04 - GitHub - PyPI

Bug fixes:

  • Fixed error when passing 0 or inf as --wrapwidth argument to po2md (regression by v1.1.2).

v1.1.2

Released on 2023-02-19 - GitHub - PyPI

Bug fixes:

  • Fixed po2md output of Unicode Line Breaking wrapping when mixing scriptio and non scriptio continua languages.

Enhancements:

  • Improved performance of po2md as the wrapping algorithm is executed at CPython extension level.

v1.1.1

Released on 2023-02-10 - GitHub - PyPI

Bug fixes:

  • Fix wrapwidth argument not being applied using po2md to render scriptio languages Markdown output.

v1.1.0

Released on 2022-12-15 - GitHub - PyPI

  • Added support for Python3.11
  • Now mdpo can be installed without manual compilation of md4c on a lot of more platforms.

v1.0.3

Released on 2022-09-20 - GitHub - PyPI

Bug fixes:

  • Preserve HTML blocks in po2md output.
  • Fixed edge case encoding bug in Windows when decoding PO files with md2po.

v1.0.2

Released on 2022-09-20 - GitHub - PyPI

Bug fixes:

  • Fixed some edge case errors related to memory management.

v1.0.1

Released on 2022-09-19 - GitHub - PyPI

Bug fixes:

  • Add missing information to project metadata to fix some installations not discovering entry points.

v1.0.0

Released on 2022-07-20 - GitHub - PyPI

Breaking changes:

  • Removed support for Python 3.6.
  • -po option of md2po has been renamed to -p.
  • --plaintext option of md2po does not offer the contraction -p now.
  • -mo contraction of --mo-filepath option of md2po has been removed.
  • Now only one X-Generation header with the value mdpo v{version} is added when using the option --xheader of md2po (--xheaders option has been renamed to --xheader).
  • Changed name of --pre-commit option by --check used to return exit code 1 if any of the files have changed.
  • Removed mdpo.__version__, mdpo.__title__ and mdpo.__description__ (use importlib.metadata or importlib_metadata).
    Replace with something like:
    import sys
    
    if sys.version_info > (3, 7):
        import importlib.metadata as importlib_metadata
    else:
        import importlib_metadata
    
    metadata = importlib_metadata.distribution("mdpo").metadata
    __version__ = metadata["version"]  # or just `importlib_metadata.version("mdpo")` 
    __title__ = metadata["name"]
    __description__ = metadata["summary"]

v0.3.86

Released on 2022-05-25 - GitHub - PyPI

Bug fixes:

  • Do not allow nan value for -w/--wrapwidth arguments.

v0.3.85

Released on 2022-02-28 - GitHub - PyPI

Enhancements:

  • Allow to pass languages with -l es fr de to md2po2md CLI.

v0.3.84

Released on 2021-12-18 - GitHub - PyPI

Enhancements

  • Made public some parsers state properties and documented them.

v0.3.83

Released on 2021-12-18 - GitHub - PyPI

Enhancements

  • events programmatic APIs kwargs now accepts path to functions inside files with path/to/file.py::function_name syntax.
  • Added --event CLI optional argument to md2po and po2md CLIs.

v0.3.82

Released on 2021-12-17 - GitHub - PyPI

Enhancements

  • Add command aliases disable-next-block and enable-next-block for disable-next-line and enable-next-line.

v0.3.81

Released on 2021-11-29 - GitHub - PyPI

Bug fixes

  • Fixed bug removing obsolete messages from PO files

v0.3.80

Released on 2021-11-18 - GitHub - PyPI

Bug fixes

  • Malformatted rendering thematic breaks inside quote blocks with po2md
  • Incorrect extracting and rendering of referenced links with same text and target
  • --remove-not-found md2po option not working if --merge-po-files option is not passed

v0.3.79

Released on 2021-11-16 - GitHub - PyPI

Bug fixes

  • Fixed format rendering headers inside list items.
  • Fixed bug rendering tables that include | characters in cells.

v0.3.78

Released on 2021-11-15 - GitHub - PyPI

Enhancements

  • Added --po-wrapwidth and --md-wrapwidth arguments to md2po2md CLI

Bug fixes

  • Show better error message when input not specified through CLIs.
  • Fixed errors extracting and translating link and image titles with escaped characters.

v0.3.77

Released on 2021-11-14 - GitHub - PyPI

Bug fixes

  • Given executable permissions for md2po2md, mdpo2html and po2md CLI entrypoint files.
  • Don't include trailing whitespaces in comment arguments of custom command events.

v0.3.76

Released on 2021-11-12 - GitHub - PyPI

Enhancements

  • Implement PEP 562 to avoid uneeded imports running CLIs
  • Don't import modules when implementations not need them

Bug fixes

  • Fixed bug handling wrapwidth arguments parsing errors

v0.3.75

Released on 2021-11-11 - GitHub - PyPI

  • Big documentation refactor and bug fixes #184
  • Performance improvement for md2po #189
  • Update pymd4c dependency to v1.1.2.

v0.3.74

Released on 2021-11-09 - GitHub - PyPI

New features

  • Added mdpo2html pre-commit hook

v0.3.73

Released on 2021-11-07 - GitHub - PyPI

Enhancement

  • md2po accepts multiple files and globs.

v0.3.72

Released on 2021-11-07 - GitHub - PyPI

Bugfix

  • Fix file comparison logic used in pre-commit hooks (regression from v0.3.71).

v0.3.71

Released on 2021-11-07 - GitHub - PyPI

Bug fixes

  • Dumped locations when extracting from multiple Markdown files with md2po being accumulated.
  • wrapwidth arguments can accept now floating point and negative numbers (the last would means no wrapping)
  • Indented code blocks empty lines being removed.
  • Malformatted image links regression from v0.3.68.

Enhancements

  • Performance improvements for pre-commit hooks.
  • Performance improvements parsing wrapwidth arguments.
  • Support for referenced image links.

Chore

  • Modernized codebase to fit Python 3.6 standards.
  • Added more tests.

v0.3.70

Released on 2021-11-05 - GitHub - PyPI

v0.3.69

Released on 2021-09-06 - GitHub - PyPI

  • Fixed mdpo2html not handling link references.

v0.3.68

Released on 2021-08-30 - GitHub - PyPI

Fixed uniformity problems translating some normal links and autolinks.

v0.3.67

Released on 2021-08-18 - GitHub - PyPI

Upgraded pymd4c dependency to v1.0.0

v0.3.66

Released on 2021-07-19 - GitHub - PyPI

  • Fixed error running md2po2md pre-commit hook.
  • Added md2po and po2md pre-commit hooks.
  • Added --md-encoding and --po-encoding arguments to md2po2md CLI.

v0.3.65

Released on 2021-07-19 - GitHub - PyPI

  • Added new command line interface md2po2md.

v0.3.64

Released on 2021-07-16 - GitHub - PyPI

  • Allow to pass --wrapwidth inf or --wrapwidth 0 as CLIs arguments to disable wrapping. From programming API, you can use wrapwidth=0 or wrapwidth=math.inf.
  • Exit with code 1 instead of 0 when -h/--help option is explicitly passed to CLIs.

v0.3.63

Released on 2021-07-16 - GitHub - PyPI

  • Rewritten po2md wrapping logic using PyMD4C instead of Python textwrap (fixed some rendering bugs like #155).

v0.3.62

Released on 2021-07-15 - GitHub - PyPI

  • Fix error with md2po --save option doing nothing when the specified PO file doesn't exists before run.

v0.3.61

Released on 2021-07-14 - GitHub - PyPI

  • Fixed wrapping problems with po2md (thanks for report @dingyifei in #153).

v0.3.60

Released on 2021-07-14 - GitHub - PyPI

  • Fixed error wrapping lines with po2md (thanks for report @dingyifei in #153).
  • Added command mdpo event to po2md.

v0.3.59

Released on 2021-07-10 - GitHub - PyPI

  • Added mdpo events text, msgid, enter_block, leave_block, enter_span and leave_span to po2md.
  • Added debug option --debug/-D to po2md CLI.

v0.3.58

Released on 2021-07-10 - GitHub - PyPI

  • Added debug/--debug/-D option to md2po for events targets displaying in extraction process.

v0.3.57

Released on 2021-07-10 - GitHub - PyPI

  • Fixed relative paths input error in po2md and mdpo2html CLIs (thanks for report @dingyifei)

v0.3.56

Released on 2021-07-09 - GitHub - PyPI

  • Fixed error with CLI files passed to md2po (thanks for report @dingyifei in #150).
  • Added CLI argument name variant --nolocation.

v0.3.55

Released on 2021-07-08 - GitHub - PyPI

  • Passing --save without --po-filepath now raises an error before execution using md2po.
  • Allow more variants for CLI argument names: --pofilepath, --mofilepath, --ext, --po-files and --merge-po-files.
  • Removed unused function mdpo.text::striplastline from source code.

v0.3.54

Released on 2021-07-08 - GitHub - PyPI

  • Fixed long links being wrapped into multiple lines with po2md (thanks for report @EuAndreh)

v0.3.53

Released on 2021-06-06 - GitHub - PyPI

  • Fix CLI help formatting.

v0.3.52

Released on 2021-06-04 - GitHub - PyPI

  • Fixed error in md2po CLI help.

v0.3.51

Released on 2021-05-19 - GitHub - PyPI

  • Allow to pass multiple functions to custom parsing events.
  • msgid event of md2po now takes msgstr, msgctxt, tcomment and flag optional arguments.

v0.3.50

Released on 2021-05-19 - GitHub - PyPI

  • Changed md2po CLI --extensions argument by --extension allowing to pass it multiple times.

v0.3.49

Released on 2021-05-19 - GitHub - PyPI

  • --ignore arguments can be passed multiple times to CLIs.

v0.3.48

Released on 2021-05-19 - GitHub - PyPI

  • Added automatic translation of new discovered link references definition messages marking them as fuzzy with md2po.

v0.3.47

Released on 2021-05-18 - GitHub - PyPI

  • Fixed error marking not found messages as obsoletes with md2po.
  • Bump minimum required polib version.

v0.3.46

Released on 2021-05-18 - GitHub - PyPI

  • Fixed error discovering locations with md2po.

v0.3.45

Released on 2021-05-14 - GitHub - PyPI

  • Added md2po event to control link references extraction.

v0.3.44

Released on 2021-05-14 - GitHub - PyPI

  • Added po2md event to control link references translation.

v0.3.43

Released on 2021-05-07 - GitHub - PyPI

  • Added support for link references with md2po and po2md.

v0.3.42

Released on 2021-05-06 - GitHub - PyPI

  • Accept multiple --pofiles arguments (CLI) or list of globs in pofiles parameter (API) with po2md and mdpo2html.

v0.3.41

Released on 2021-05-06 - GitHub - PyPI

  • Fixed error extracting ordered list item messages located inside unordered lists with md2po.
  • Fixed errors rendering tables inside lists with po2md.

v0.3.40

Released on 2021-05-06 - GitHub - PyPI

  • Add message references extraction with md2po. Use --no-location (CLI) or location=False (API) to disable it.
  • Fixed error extracting nested items from ordered lists with md2po.

v0.3.39

Released on 2021-05-05 - GitHub - PyPI

  • Added msgid event to md2po programatic interface.

v0.3.38

Released on 2021-05-05 - GitHub - PyPI

  • Fix escapes not being properly handled with po2md.

v0.3.37

Released on 2021-05-05 - GitHub - PyPI

  • Expose translated entries from Po2Md class.
  • Support 'mdpo-translator' command with po2md for exposed entries.

v0.3.36

Released on 2021-05-04 - GitHub - PyPI

  • Added argument --remove-not-found for md2po to remove messages stored in passed pofile which are not found in Markdown input.

v0.3.35

Released on 2021-05-03 - GitHub - PyPI

  • Added MD4C events preprocessing system for programatic md2po interface.

v0.3.34

Released on 2021-05-03 - GitHub - PyPI

  • Fixed bug extracting quoteblocks placed inside lists with md2po.
  • Fixed bug rendering paragraphs placed inside lists with po2md.

v0.3.33

Released on 2021-05-03 - GitHub - PyPI

  • Fixed bug rendering unordered lists inside ordered lists with po2md.
  • Fixed bugs rendering quote blocks inside unordered lists with po2md.

v0.3.32

Released on 2021-05-03 - GitHub - PyPI

  • Produce markdownlint-compatible output with po2md.
  • Fixed bug rendering horizontal separators inside list items with po2md.

v0.3.31

Released on 2021-05-03 - GitHub - PyPI

Added new commands to allow more control of codeblocks extraction:

  • <!-- mdpo-include-codeblocks -->: Include all codeblocks placed after this command.
  • <!-- mdpo-disable-codeblocks -->: Does not include codeblocks placed after this command.
  • <!-- mdpo-disable-codeblock -->: Does not include next codeblock placed after this command.

v0.3.30

Released on 2021-05-02 - GitHub - PyPI

  • Added -d/--metadata parameter to define produced PO file metadata content with md2po.

v0.3.29

Released on 2021-05-02 - GitHub - PyPI

  • Fixed po2md rendering two newlines after indented codeblocks.
  • Normalized po2md rendering for tables: all table head separators have 3 characters.
  • Fixed po2md rendering two newlines added after blockquotes ending with tables.

v0.3.28

Released on 2021-05-02 - GitHub - PyPI

  • Fixed bugs in po2md rendering codeblocks inside list items.
  • Normalized list items indentation to 3 spaces.
  • Added wrapping formatting improvements in po2md rendering ordered and task lists.

v0.3.27

Released on 2021-05-01 - GitHub - PyPI

  • Added wrapwidth parameter for po2md to specify maximum width of Markdown output.
  • Fixed formatting bug in po2md with multiple followed blockquotes.
  • Improved po2md rendering format for unordered list items and blockquotes.
  • Fixed po2md bug rendering tables inside blockquotes.

v0.3.26

Released on 2021-05-01 - GitHub - PyPI

  • Implemented custom HTML command names as aliases: new parameter --command-alias added for CLIs and command_aliases for APIs.

v0.3.25

Released on 2021-04-29 - GitHub - PyPI

Nested lists formatting improvements for po2md:

  • Don't add newlines after nested lists.
  • Use 4 spaces for nested lists indentation.

v0.3.24

Released on 2021-04-29 - GitHub - PyPI

  • Added new argument --ignore-msgids (CLI) and ignore_msgids (API) for md2po to ignore msgids from being extracted.

v0.3.23

Released on 2021-04-28 - GitHub - PyPI

  • Fixed extra espace error wrapping paragraphs which include codespans.

v0.3.22

Released on 2021-04-28 - GitHub - PyPI

  • Fixed extra newline rendered by po2md before indented code blocks.

v0.3.21

Released on 2021-04-28 - GitHub - PyPI

  • Added disabled_entries properties to extractor and translators classes which expose disabled messages via commands.

v0.3.20

Released on 2021-04-28 - GitHub - PyPI

  • Fixed po2md ignoring rendering when using disable commands.

v0.3.19

Released on 2021-04-27 - GitHub - PyPI

  • Fixed encoding problem in po2md.
  • Added encoding parameters to mdpo2html.

v0.3.18

Released on 2021-04-27 - GitHub - PyPI

  • Self-referenced links must be valid link addresses.

v0.3.17

Released on 2021-04-27 - GitHub - PyPI

  • Separated md2po Markdown and PO files input encoding definition in two arguments: -e/--encoding -> --po-encoding

v0.3.16

Released on 2021-04-27 - GitHub - PyPI

  • Fixed typo in md2po argument name mark_not_found_as_absolete -> mark_not_found_as_obsolete.

v0.3.15

Released on 2021-04-27 - GitHub - PyPI

  • Added arguments to po2md for input files encoding definition.

v0.3.14

Released on 2021-04-27 - GitHub - PyPI

  • Fixed po2md error parsing nested ordered lists.

v0.3.13

Released on 2021-04-27 - GitHub - PyPI

  • Fixed error reading bad glob character ranges.

v0.3.12

Released on 2021-04-12 - GitHub - PyPI

  • Multiple improvements and fixes for documentation.

v0.3.11

Released on 2021-04-05 - GitHub - PyPI

  • Fixed documentation inconsistencies.

v0.3.10

Released on 2021-03-31 - GitHub - PyPI

  • Fixed compatibility issue with polib v1.1.1

v0.3.9

Released on 2021-03-22 - GitHub - PyPI

  • Fixed packaging error in installation config.

v0.3.8

Released on 2021-02-06 - GitHub - PyPI

  • Added developers reference in documentation.
  • Unified docstrings convention.
  • Documented all public functions.

v0.3.7

Released on 2021-02-05 - GitHub - PyPI

  • Added improvements for CLIs documentation.

v0.3.6

Released on 2021-02-01 - GitHub - PyPI

v0.3.5

Released on 2020-11-07 - GitHub - PyPI

  • Improve obsolete msgstr fallback with fuzzy and translator comments flags.

v0.3.4

Released on 2020-11-06 - GitHub - PyPI

  • If an obsolete translated message is found with same 'msgid' of another found by current extraction, that will be used directly translating the new pofile in md2po.

v0.3.3

Released on 2020-11-06 - GitHub - PyPI

  • Fix bug dealing with previous obsolete entries in md2po.