3.5 KiB
3.5 KiB
v1.8.0 (2024-12-03)
- [+ui] A scope, delimited by
#scope ... #endscope, limits the effect of#define,#def ... #enddef, and#undef. - [bug] Fix
cppo -version, which used to print a blank line (#92).
v1.7.0 (2024-08-22)
- [+ui] Multi-line macros, without line terminators
\, can now be defined using#defand#enddef. These macro definitions can be nested. - [+ui] Higher-order macros: a macro can now take a parameterized macro as a parameter.
- [compat] Better locations for some syntax error messages.
v1.6.9 (2022-05-19)
- [bug] Fix multiline string support (#81)
v1.6.8 (2021-09-17)
- [compat] Allow version strings without patch numbers, e.g.
8.13+beta1The patch number will be set to 0 upon empty, i.e.(8, 13, 0)
v1.6.7 (2020-12-21)
- [compat] Treat ~ and - the same in semver in order to parse OCaml 4.12.0 pre-release versions.
- [compat] Restore 4.02.3 compatibility.
v1.6.6 (2019-05-27)
- [pkg] port build system to dune from jbuilder.
- [pkg] upgrade opam metadata to 2.0 format.
- [pkg] remove topkg and use dune-release.
- [compat] Use
String.capitalize_asciito remove warning.
v1.6.5 (2018-09-12)
- [bug] Fix 'asr' operator (#61)
v1.6.4 (2018-02-26)
- [compat] Tests should now work with older versions of jbuilder.
v1.6.3 (2018-02-21)
- [compat] Fix tests.
v1.6.1 (2018-01-25)
- [compat] Emit line directives always containing the file name, as mandated starting with ocaml 4.07.
v1.6.0 (2017-08-07)
- [pkg] BREAKING: cppo and cppo_ocamlbuild are now two distinct opam packages.
v1.5.0 (2017-04-24)
- [+ui] Added the
CAPITALIZE()function.
v1.4.0 (2016-08-19)
- [compat] Cppo is now safe-string ready.
v1.3.2 (2016-04-20)
- [pkg] Cppo can now be built on MSVC.
v1.3.1 (2015-09-20)
- [bug] Possible to have #endif between two matching parenthesis.
v1.3.0 (2015-09-13)
- [+ui] Removed the need for escaping commas and parenthesis in macros.
- [+ui] Blanks is now allowed in argument list in macro definitions.
- [+ui] #directive with wrong arguments is now giving a proper error.
- [bug] Fixed expansion of FILE and LINE.
v1.1.2 (2014-11-10)
- [+ui] Ocamlbuild_cppo: added the ocamlbuild flag
cppo_V(NAME:VERSION), equivalent to-V NAME:VERSION(for _tags file).
v1.1.1 (2014-11-10)
- [+ui] Ocamlbuild_cppo: added the ocamlbuild flag
cppo_V_OCAML, equivalent to-V OCAML:VERSION(for _tags file).
v1.1.0 (2014-11-04)
- [+ui] Added the
-V NAME:VERSIONoption. - [+ui] Support for tuples in comparisons: tuples can be constructed
and compared, e.g.
#if (2 + 2, 5) < (4, 5).
v1.0.1 (2014-10-20)
- [+ui]
#elifand#elsecan now be used in the same #if-#else statement. - [bug] Fixed the Ocamlbuild flag
cppo_n.
v1.0.0 (2014-09-06)
- [bug] OCaml comments are now better parsed. For example, (* '"' *) works.
v0.9.4 (2014-06-10)
- [+ui] Added the ocamlbuild_cppo plugin for Ocamlbuild. To use it:
-plugin(cppo_ocamlbuild).
v0.9.3 (2012-02-03)
- [pkg] New way of building the tar.gz archive.
v0.9.2 (2011-08-12)
- [+ui] Added two predefined macros STRINGIFY and CONCAT for making string literals and for building identifiers respectively.
v0.9.1 (2011-07-20)
- [+ui] Added support for processing sections of files using external programs (#ext/#endext, -x option)
- [doc] Moved and extended documentation into the README file.
v0.9.0 (2009-11-17)
- initial public release