Releases: ocaml-ppx/ppxlib
0.27.0
CHANGES:
-
Update expansion context to leave out value name when multiple are
defined at once. (#351, @ceastlund) -
Add
Code_path.enclosing_value
(#349, @ceastlund) -
Add
Code_path.enclosing_module
(#346, @ceastlund) -
Expand code generated by
~enclose_intf
and~enclose_impl
(#345, @ceastlund) -
Add type annotations to code generated by metaquot (#344, @ceastlund)
-
Fix typo in description field of dune-project (#343, @ceastlund)
-
Driver, when run with
--check
: Allowtoplevel_printer
attributes (#340, @pitag-ha) -
Documentation: Add a section on reporting errors by embedding extension nodes
in the AST (#318, @panglesd) -
Driver: In the case of ppxlib internal errors, embed those errors instead of
raising to return a meaningful AST (#329, @panglesd) -
API: For each function that could raise a located error, add a function that
return aresult
instead (#329, @panglesd)
0.26.0
0.25.0
CHANGES:
-
Added
error_extensionf
function to theLocation
module (#316, @panglesd) -
Ast patterns: add
drop
andas
patterns (#313 by @Kakadu, review by @pitag-ha) -
Fixed a bug resulting in disscarded rewriters in the presence of
instrumentations, as well as a wrong order of rewriting (#296, @panglesd) -
Driver: Append the last valid AST to the error in case of located exception
when embedding errors (#315, @panglesd)
0.24.0
CHANGES:
-
Add support for OCaml 4.14 (#304, @kit-ty-kate)
-
Expand nodes before applying derivers or other inline attributes based
transformation, allowing better interactions between extensions and
derivers (#279, #297, @NathanReb) -
Add support for registering ppx_import as a pseudo context-free rule (#271, @NathanReb)
-
Add
input_name
to theExpansion_context.Extension
andExpansion_context.Deriver
modules (#284, @tatchi) -
Improve
gen_symbol
to strip previous unique suffix before adding a new one (#285, @ceastlund) -
Improve
name_type_params_in_td
to use prefixesa
,b
, ... instead ofv_x
. (#285, @ceastlund) -
Fix a bug in
type_is_recursive
andreally_recursive
where they would
consider a type declaration recursive if the type appeared inside an attribute
payload (#299, @NathanReb)
0.23.0
CHANGES:
-
Location
: addset_filename
andError.get_location
(#247, @pitag-ha) -
Make OMP1 a conflict (#255, @kit-ty-kate)
-
Drop
Syntaxerr
from the public API. Doesn't affect any user in the
ppx universe (#244, @pitag-ha) -
Fix bug due to which unwanted public binaries got installed when installing
ppxlib (#223, @pitag-ha) -
Add
Keyword.is_keyword
to check if a string is an OCaml keyword
(#227, @pitag-ha) -
Remove
Lexer.keyword_table
: useKeyword.is_keyword
instead
(#227, @pitag-ha) -
Remove
Lexer
from the API: it was the same as the compiler-libs
Lexer
(#228, @pitag-ha) -
Remove the modules
Ast_magic
,Compiler_version
,Js
,Find_version
,
Convert
,Extra_warnings
,Location_error
,Select_ast
and
Import_for_core
from the API: they are meant for internal use and
aren't used by any current downstream user in the
ppx universe (#230, @pitag-ha) -
Remove compiler specific helper functions from
Location
. They aren't used
by any current downstream user in the
ppx universe (#238, @pitag-ha) -
Allow "%a" when using Location.Error.createf (#239, @mlasson)
-
Fix in
Location
: makeraise_errorf
exception equivalent to exception
Error
(#242, @pitag-ha) -
Fix in
Pprintast
: correctly pretty print local type substitutions, e.g.
type t := ... (#261, @matthewelse) -
Add
Ast_pattern.esequence
, for matching on any number of sequenced
expressions e.g.do_a (); do_b (); ...
. (#264, @matthewelse) -
Expose a part of
Ast_io
in order to allow reading AST values from binary
files (#270, @arozovyk)
0.22.2
0.22.1
0.21.1
0.22.0
0.21.0
CHANGES:
-
Fix ppxlib.traverse declaration and make it a deriver and not a rewriter
(#213, @NathanReb) -
Driver (important for bucklescript): handling binary AST's, accept any
supported version as input; preserve that version (#205, @pitag-ha) -
-as-ppx
: take into account the-loc-filename
argument (#197, @pitag-ha) -
Add Driver.V2: give access to expansion context in whole file transformation
callbacks ofregister_transformation
(#202, @pitag-ha) -
Driver: take
-cookie
argument into account, also when the input is a
binary AST (@pitag-ha, #209) -
run_as_ppx_rewriter
: take into account the arguments
-loc-filename
,apply
anddont-apply
(#205, @pitag-ha) -
Location.Error: add functions
raise
andupdate_loc
(#205, @pitag-ha)