Over the last few months, we have released 4.06-compatibility versions of ppx_deriving and its plugins ppx_deriving_protobuf and ppx_deriving_yojson, and the related project ppx_import:
- ppx_import 1.3 and 1.4
- ppx_deriving 4.1.5 and 4.2.1
- ppx_deriving_protobuf 2.6
- ppx_deriving_yojson 3.1
Some users may remember that it took a long time for support for OCaml 4.05 to come to these projects, and know that there have been some lingering issues related to interaction between ppx_deriving and driverized ppxes – some of which have been fixed by @jeremiedimino’s work on these issues, see the separate announce on the interaction between ppx_deriving, ppx_type_conv and jbuilder.
The main reason for these delays and trouble is that, while the author and maintainer of ppx_deriving and plugins, @whitequark, let me know several months ago that she would be less active maintaining these libraries in the future, I have been too slow to fill in this maintenance gap. Now that I understand the release process and the amount of work required to adapt to a new OCaml release (which is not much), I expect that support releases for newer OCaml versions, starting with 4.07, will be much smoother – the hope is to release them before the OCaml version itself.
If you have been using these projects (especially if you have already contributed some code, but that is no requirement), now is an excellent time to get more involved in the development. I will take care of compatibility with future OCaml releases, and simple bugfixes, but there are interesting changes to be discussed for these libraries (partial or complete migration to ocaml-migrate-parsetree, driverization, convergence with ppx_type_conv, and in general participation in the rapidly-evolving ppx ecosystem) on which your help would be very welcome, and more active contributors, more voices to discuss decisions, can only improve the project.