adrianshort / uk_planning_scraper

A Ruby gem to get planning applications data from UK council websites.
GNU Lesser General Public License v3.0
27 stars 19 forks source link

How should we use version numbers for authorities data changes? #26

Open adrianshort opened 5 years ago

adrianshort commented 5 years ago

Semantic versioning 2.0.0 says:

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

This gem includes data in the authorities.csv file. Should changes to this file be regarded as adding functionality, requiring updating the MINOR version number, or just backwards compatible bug fixes, requiring an update to the PATCH version?

Perhaps two scenarios:

  1. A new authority is added. This is regarded as new functionality (you can now do something you couldn't do before: scrape that authority's data) so we update the MINOR version.
  2. An existing authority is modified: either the URL has changed or we've added/removed tags. This is a "bugfix" so we update the PATCH version.

Thoughts? How would this proposal tie in with keeping track of versions usefully in your Gemfile?

dhilton commented 5 years ago

My opinion is that you're changing PATCH type information; authorities.csv could be a config file that a user downloads from the internet (I'm not suggesting you take this route) or it could query the data from some online canonical data URI (again not suggesting you do this) it just happens to be a bundled config file.