Change Log

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

# <a href="https://github.com/zkat/protoduck/compare/v5.0.0...v5.0.1">5.0.1</a> (2018-10-26)

## Bug Fixes

- security: npm audit fix (55a2007)
- standard: standard –fix (2dedbb8)

# <a href="https://github.com/zkat/protoduck/compare/v4.0.0...v5.0.0">5.0.0</a> (2017-12-12)

### Bug Fixes

- license: relicense to MIT (55cdd89)
- platforms: drop support for node 4 and 7 (07a19b1)

### BREAKING CHANGES

- platforms: node 4 and node 7 are no longer officially supported
- license: license changed from CC0-1.0 to MIT

# <a href="https://github.com/zkat/protoduck/compare/v3.3.2...v4.0.0">4.0.0</a> (2017-04-17)

### Bug Fixes

- test: .name is inconsistently available (3483f4a)

### Features

- api: Fresh New API™ (#2) (534e5cf)
- constraints: added optional where-constraints (16ad124)
- defaults: allow default impls without arrays in defs (6cf7d84)
- deps: use genfun@4 (f6810a7)
- meta: bringing project stuff up to date (61791da)

### BREAKING CHANGES

- api: The API was significantly overhauled.
- New protocol creating is now through protoduck.define() instead of protoduck()
- Implementations are through Duck::impl instead of Duck(...)
- The `private` option was removed
- Static protocols were removed – only method-style protocols are available now.
- As part of that: the target argument to impl can no longer be omitted
- The main export object is now the metaobject. protoduck.impl can be used to extend to MOP
- .isDerivable is now a property on Duck instances, not a static method
- .hasImpl is now a method on Duck instances, not a static method
- Protoduck will now genfunnify existing functions as default methods for genfuns declared in a protocol when implementing
- Error messages have been overhauled to be more helpful
- deps: nextMethod is now an extra argument to methods
- meta: node<4 is no longer supported