The GBIF API library provides:
- The model objects used by the GBIF service interfaces and the internal messaging systems
 - Enumerations representing standardized vocabularies (country codes, databased enumerations, etc.)
 - The Java interface definitions for the public GBIF API (note: each implementation is responsible for mapping to the RESTful URL)
 - Utilities to simplify common operations when working with model objects (JSON serialization, filtered iterators etc)
 
mvn clean install
- All changes must go to the dev branch for testing before merging to master.
 - A pre-commit peer review on all commits, ideally referencing the review in the commit message. Simple changes can be committed without review.
 - All commits must reference a GitHub issue to which they relate
 - PR are preferred for complex functionality. Please target the dev branch.
 
Dev and master versions must be different to avoid issues with many work-in-progress tasks. When master version is released increment patch version, when released version is merged with development, increment minor version manually.
Example of releasing dev branch:
- Current dev and master versions
1) dev version - 1.7.0-SNAPSHOT 2) master version - 1.6.0-SNAPSHOT - Merge changes into master
1) dev version - 1.7.0-SNAPSHOT 2) master version - 1.7.0-SNAPSHOT - Release master and increment patch version
1) dev version - 1.7.0-SNAPSHOT 2) master version - 1.7.1-SNAPSHOT - Merge changes into dev
1) dev version - 1.7.1-SNAPSHOT 2) master version - 1.7.1-SNAPSHOT - Bump dev minor version
1) dev version - 1.8.0-SNAPSHOT 2) master version - 1.7.1-SNAPSHOT 
Example of releasing a fix for master branch:
- Current dev and master versions
1) dev version - 1.8.0-SNAPSHOT 2) master version - 1.7.1-SNAPSHOT - Release master and increment patch version
1) dev version - 1.8.0-SNAPSHOT 2) master version - 1.7.2-SNAPSHOT - Merge changes into dev, without version bumping
1) dev version - 1.8.0-SNAPSHOT 2) master version - 1.7.2-SNAPSHOT