From 20592aec7d335e03f82e7001518718b2cc86a3fb Mon Sep 17 00:00:00 2001
From: Rhys Arkins <rhys@arkins.net>
Date: Tue, 26 Dec 2017 05:48:01 +0100
Subject: [PATCH] docs: update design decisions

Closes #1246
---
 docs/design-decisions.md | 38 ++++++++++++--------------------------
 1 file changed, 12 insertions(+), 26 deletions(-)

diff --git a/docs/design-decisions.md b/docs/design-decisions.md
index 2624844bfb..0390684839 100644
--- a/docs/design-decisions.md
+++ b/docs/design-decisions.md
@@ -35,31 +35,12 @@ token configured via environment variable and labels configured via target
 
 ## Cascading Configuration
 
-Configuration options applied per-package override those applied per
+Configuration options applied per-package (e.g. with package rules) override those applied per
 package-type, which override those per-repository, which override those which
 are global (all repositories).
 
-The following options can be configured down to a per-package type level:
-
-* Dependency Types
-* Ignored Dependencies
-
-The following options apply per-repository:
-
-* Token
-* Platform
-* Endpoint
-
-The following options apply globally:
-
-* Log Level
-
-The remaining configuration options can be applied per-package.
-
 ## Automatic discovery of package.json locations
 
-Note: GitHub only.
-
 Default behaviour is to auto-discover all `package.json` locations in a
 repository and process them all. Doing so means that "monorepos" are supported
 by default. This can be overridden by the configuration option `packageFiles`,
@@ -79,9 +60,9 @@ templates in such a way to produce a single branch for all dependencies. The
 `groupName` configuration option can be used at a repository level (e.g. give it
 the value `All`) and then all dependency updates will be in the same branch/PR.
 
-## One PR per Major release
+## Separate Minor and Major PRs
 
-`renovate` will create multiple branches/PRs if multiple major branch upgrades
+`renovate` will create multiple branches/PRs if both major and minor branch upgrades
 are available. For example if the current example is 1.6.0 and upgrades to 1.7.0
 and 2.0.0 exist, then `renovate` will raise PRs for both the 1.x upgrade(s) and
 2.x upgrade(s).
@@ -123,12 +104,9 @@ This is now configurable via the `pinVersions` configuration option.
 
 ## Rebasing Unmergeable Pull Requests
 
-Note: GitHub only. GitLab does not expose enough low level git API to allow
-this.
-
 With the default behaviour of one branch per dependency, it's often that case
 that a PR gets merge conflicts after an adjacent dependency update is merged.
-Although GitHub has added a web interface for simple merge conflicts, this is
+Although platforms often have a web interface for simple merge conflicts, this is
 still annoying to resolve manually.
 
 `renovate` will rebase any unmergeable branches and add the latest necessary
@@ -148,3 +126,11 @@ $ RENOVATE_BRANCH_NAME=foo renovate
 ```
 
 Alternatively, consider using a Configuration File.
+
+## Logging and error levels
+
+Renovate uses the following convention for log levels:
+
+- logger.error should only be used for problems that are likely to be a Renovate bug or require Renovate improvements. These are the types of errors that Renovate administrators should be alerted to immediately
+- logger.warn should be used for problems that might be a Renovate problem so should be checked periodically in batches
+- For *user* problems (e.g. configuration errors), these should not warn or error on the server side and instead use logger.info
-- 
GitLab