Skip to content

Releases: realworldocaml/mdx

1.11.0

08 Sep 10:13
Compare
Choose a tag to compare

CHANGES:

Changed

Deprecated

Fixed

1.10.1

12 Jul 09:19
Compare
Choose a tag to compare

CHANGES:

Added

1.10.0

05 Jul 09:33
Compare
Choose a tag to compare

CHANGES:

Added

  • Display OCaml warnings in mdx-error blocks (#293, @gpetiot)

Fixed

1.9.0

02 Jun 14:18
Compare
Choose a tag to compare

CHANGES:

Added

  • Add a new dune-gen subcommand that generates testing code for Dune to build
    and run with the new mdx stanza. (#305, @voodoos)

1.8.1

11 Feb 11:47
Compare
Choose a tag to compare

CHANGES:

Changed

  • Dropped OMP dependency and use handwritten compat layers instead
    (#317, @NathanReb)

1.8.0

18 Jan 10:18
Compare
Choose a tag to compare

CHANGES:

Added

  • Allow to explicitly set the kind of blocks in labels: ocaml, cram, toplevel or include. (#237, @gpetiot)
  • Include blocks do not require an empty block anymore (#286, @gpetiot)
  • Support for OCaml 4.12 (#298, @kit-ty-kate)

Changed

  • Improve error message of cram test exceptions due to empty lines in a block (#270, @pitag-ha)

Fixed

  • Report #require directive errors (#276, @gpetiot)
  • Handle no such file exception: the input file and the values of options --root and --prelude are checked (#292, @gpetiot)
  • Keep locations from parsing instead of recomputing the lines, providing better error messages (#241, @gpetiot)
  • Use create_process instead of execvp to call mdx-test from mdx. This fixes running mdx from dune on Windows (#299, @emillon)

1.7.0

21 Jul 12:41
Compare
Choose a tag to compare

CHANGES:

Added

  • HTML comments can carry block labels (#234, @gpetiot)
    The syntax is: <!-- $MDX labels -->, where labels is a list of valid
    labels separated by a comma. This line has to immediately precede the block
    it is attached to. The legacy syntax is preserved and will be deprecated in a
    later release.
  • Add support for toplevel blocks in .mli files' doc comments (#206, @jsomers)
  • Add support for OCaml 4.11 (#261, @kit-ty-kate)

Changed

  • Apply unnamed preludes to all environments (#271, @gpetiot)
    New behavior:
    • env_and_file "a:f" associates f to the environment named a
    • env_and_file " :f" associates f to the default environment
    • env_and_file "f" associates f to all environments.
  • Errors in non toplevel OCaml blocks are now printed to a seperate mdx-error code block
    following the ocaml block instead of crashing the mdx process. Those mdx-error blocks
    are recognized and checked by mdx and can be intentionally used to show case specific
    compile errors. (#238, @gpetiot)
  • Improve error reporting for invalid (* $MDX part-... *) delimiters (#250, @gpetiot)

Deprecated

  • The command 'mdx rule' is deprecated and will be removed in 2.0.0 (#251, @gpetiot)

Fixed

  • Fix the environment selection for preludes and slightly improve quality
    of type names in evaluations of toplevel phrases in certain cases. (#225, @gpetiot)
  • Fix toplevel parsing when phrases contain tabs (#240, @gpetiot)
  • Avoid adding newlines to empty blocks (#253, @gpetiot)
  • Preserve the indentation of included files (#259, @gpetiot)
  • Preserve the header in shell blocks (#249, @craigfe)
  • Support underscores in environment variables in set- and unset- labels (#257, @shonfeder)
  • Fix mdx on Windows which was looking for the ocaml-mdx-test binary at the wrong place
    (#263, @hcarty)
  • Properly report mdx parsing errors instead of crashing with an uncaught exception (#267, @gpetiot)

1.6.0

19 Feb 18:43
Compare
Choose a tag to compare

CHANGES:

Added

  • Add a --duniverse-mode to ocaml-mdx rule so that the generated rules work
    within a duniverse
  • Allow to import arbitrary files (not only .ml/.mli ones) into code blocks using
    the file label. (#203, #207, @voodoos)
  • Allow to set the --non-deterministic option through the MDX_RUN_NON_DETERMINISTIC
    env variables (#208, @NathanReb)
  • Add support for OCaml 4.10 (#204, @kit-ty-kate)
  • Infer syntax kind when --syntax is not set, and add 'markdown' as an alias to 'normal' (#222, @gpetiot)
  • Add ocaml-mdx deps command to be used by dune to compute file and dir dependencies of an
    mdx file. (#217, @voodoos)
  • Add new delimiters syntax using comments for partial OCaml files include (#212, @voodoos).

Changed

  • Do not unset INSIDE_DUNE when executing shell commands by default (#224, @NathanReb)

Fixed

  • Fix a bug that could cause ocaml-mdx test to crash on some include in toplevel code blocks
    (#202, @trefis)

Removed

  • Remove the direction option, only synchronize from .ml to .md files (#214, @gpetiot)

1.5.0

29 Nov 13:24
Compare
Choose a tag to compare

CHANGES:

Added

  • Add a --output/-o option to the test subcommand to allow specifying a different
    output file to write the corrected to, or to write it to the standard output (#194, @NathanReb)
  • Migrate to OCaml 4.08 AST to add support for let* bindings (#190, @gpetiot)
  • Add --syntax option to rule subcommand to allow generating rules for cram
    tests (#177, @craigfe)
  • Add a require-package label to explicitly declare dune package dependencies of a code block
    (#149, @Julow)
  • Add an unset- label to unset env variables in shell blocks (#132, @clecat)

Changed

  • Format rules generated by ocaml-mdx rule using dune format-dune-file (#184, @NathanReb)
  • Run promotion of markdown files before .ml files in generated dune rules (#140, @clecat)

Fixed

  • Use module_presence information on Env.summary to prevent fetching absent modules from the
    toplevel env (#186, @clecat)
  • Remove trailing whitespaces at the end of toplevel or bash evaluation lines
    (#166, @clecat)
  • Improve error reporting of ocaml-mdx test (#172, @Julow)
  • Rule: Pass the --section option to test (#176, @Julow)
  • Remove trailing whitespaces from shell outputs and toplevel evals (#166, @clecat)
  • Remove inappropriate empty lines in generated dune rules (#163, @Julow)
  • Fix ignored skip label in ocaml-mdx pp (#1561, @craigfe)
  • Fix synchronization of new parts from markdown to .ml (#156, @Julow)
  • Fix ignored [@@@parts ...] markers within module definitions (#155, @Julow)
  • Fix a bug in internal OCaml version comparison that lead to crashes in some cases (#145, @gpetiot)
  • Promote to empty .ml file when using to-ml direction (#139, @clecat)
  • Apply --force-output to .ml file as well (#137, @clecat)
  • Fix a bug preventing .corrected files to be written in some cases (#136, @clecat)
  • Add compatibility with 4.09.0 (#133, @xclerc)

Removed

  • Remove the output subcommand as it was very specific to RealWorldOCaml needs (#195, @NathanReb)
  • Remove the infer-timestamp direction (#171 @Julow)

1.4.0

11 Jun 14:03
523a139
Compare
Choose a tag to compare

CHANGES: