## Unreleased

* Added the `-deriving-fields-require-selectors` command-line flag, which can be used to
  make writing `[@@derving fields]` with no selectors produce an error during
  preprocessing.

## Release v0.16.0

* Added options to `[@@deriving fields]` for selecting a subset of definitions.
  For example, `[@@deriving fields ~getters ~setters]` derives getter and setter
  functions only, and omits the entire `Fields` submodule.

## Old pre-v0.15 changelogs (very likely stale and incomplete)

## v0.11

- Depend on ppxlib instead of (now deprecated) ppx\_core, ppx\_driver,
  ppx\_metaquot and ppx\_type\_conv.

## 113.33.00

- Fix errors in `ppx_fields_conv` documentation

- Add unit tests for `ppx_fields_conv` functions

- Fix some idiosyncracies where the implementations in `ppx_fields_conv.ml` differed
  (ex: a variable would be called one thing when implementing one function but
  would be called something different when implementing every other function).

## 113.24.00

- The `iter` function generated by ppx\_variants\_conv and ppx\_fields\_conv allowed
  one to give function which returned values of arbitrary types as iter function.
  This release constraint these functions to return unit.

  N.B. the signature generated by the use of `@@deriving variants` (resp. fields)
  in interface already constrained the type to unit.

- Update to follow type\_conv's evolution.

- Add `Fields.make_creator` to ppx\_fields\_conv's readme, since it appears
  to not be all that deprecated.
