To be a bit pedantic, squashing commits via rebase doesn't create a new commit; rather, it rewrites the first commit as the sum total of all the commits that are being squashed.

The goal of this point is to maintain a 1:1 relationship between features and commits. This makes it significantly easier to maintain the repository over time, especially if a feature is later found to break another part of the API and needs to be reverted. This doesn't necessarily imply that all PRs should only contain a single commit; #15 is a good example of a PR that is properly broken down into multiple commits where each commit corresponds to a single feature change. However, the majority of the PRs we have against this repo add a single large feature.