Commit graph

327 commits

Author SHA1 Message Date
Rhys Arkins
9d46ca6dbd refactor: lower log levels 2018-09-23 07:26:06 +02:00
Rhys Arkins
fc9037a270 logs: correct depName/dependency 2018-09-20 12:13:18 +02:00
Klaus Meinhardt
e9e71f4c1d feat: followTag (#2538)
If `followTag` is defined for a package, then Renovate will ignore all other available versions and instead stick strictly to whatever version is defined for the tag. npm-only for now.

Closes #2258
2018-09-19 09:59:33 +02:00
Rhys Arkins
1d39525749 fix: better digest skip detection 2018-09-17 14:35:44 +02:00
Rhys Arkins
0498015f65 refactor(docker): use 7 char short digests 2018-09-16 06:11:12 +02:00
Rhys Arkins
58d5483e7b feat: changelogUrl
Allows static configuration of custom changelog URLs per npm package, which will then be displayed in PR bodies.

Closes #2520
2018-09-14 06:55:38 +02:00
Rhys Arkins
dda0bade29
refactor: use single localDir per repo (#2505) 2018-09-12 06:30:01 +02:00
Rhys Arkins
e5e303f46f logs: fix branches debug 2018-09-07 08:44:20 +02:00
Rhys Arkins
88c6a48b2a logs: less debug 2018-09-05 15:04:18 +02:00
Rhys Arkins
4539487d26 refactor: less logging 2018-09-05 14:18:31 +02:00
Rhys Arkins
0e0d050884 refactor: include releases only if there’s an update 2018-08-29 11:13:45 +02:00
Rhys Arkins
5fb9d77bba
feat: separate groups into major/minor/patch (#2426)
Previously if grouping, all major/minor updates within that group were combined into one. Instead, we now honour the “separateMajorMinor”, "separateMinorPatch", and "separateMultipleMajor" settings and keep the groups separate if necessary.

For maximum compatibility with existing PRs, we name branches like `renovate/group-name` whenever possible and only name them like `renovate/major-group-name` or `renovate/patch-group-name` if major or patch are found.

Closes #2425
2018-08-27 06:25:17 +02:00
Rhys Arkins
516f60a2cf refactor: save dep homepage 2018-08-16 18:35:01 +02:00
Rhys Arkins
d2885e5d9e fix: do not jump unstable versions implicitly
If the current value is already unstable then we presume the user is happy to take newer unstable versions. However we should not presume that they want to keep jumping versions if so and instead would prefer to stabilise.

Discussed in #2258 but does not close it
2018-08-15 09:40:10 +02:00
Maximilian Gaß
15ee7ab4ae fix: pinning digest of latest version (#2359)
If the dependency already is the latest version, filteredVersions is
empty here, and then the early exit skips over the pinning code
2018-08-11 10:03:57 +02:00
Rhys Arkins
31f2f4c610 refactor: rename getDependency to getPkgReleases 2018-07-29 16:04:00 +02:00
Rhys Arkins
9555b27d9e fix(lookup): use major/minor/patch updateType instead of bump
Helps https://github.com/renovatebot/config-help/issues/67 and https://github.com/renovatebot/config-help/issues/70#issuecomment-407595535
2018-07-25 08:58:17 +02:00
Rhys Arkins
9064e0af62 fix(baseBranches): apply special branch and PR naming only when multiple
baseBranch will be applied in PR title and in branch name only if there are more than one.

Closes #2306
2018-07-23 16:40:30 +02:00
Rhys Arkins
6f868c83f2 refactor(lookup): return warnings object 2018-07-22 11:43:47 +02:00
Rhys Arkins
bb28ae27a2 fix: check for valid fromVersion before pinning 2018-07-22 08:05:21 +02:00
Rhys Arkins
14cbd68d42 feat: rollbackPrs
Adds new config option `rollbackPrs` which defaults to `true` (current behaviour). Setting to false will disable creation of rollback PRs - configurable globally, per-language, per-package, etc.
2018-07-22 06:49:04 +02:00
Rhys Arkins
cffef4f1b4 logs: debug rollback versions, not info 2018-07-22 06:32:17 +02:00
Rhys Arkins
7066a5dd99 fix(docker): use tag suffix when looking up new digest 2018-07-21 10:47:29 +02:00
Rhys Arkins
482892042a fix(docker): filter out failed digest lookups 2018-07-20 18:59:30 +02:00
Rhys Arkins
2635b234c7 refactor: don’t warn if no versions found 2018-07-20 10:03:18 +02:00
Rhys Arkins
7254b5f16c
feat: use generic lookup for docker (#2280)
Removes custom Docker lookup code and instead integrates it with the generic lookup routine used by other package managers. Logic for digest support was added but is used by Docker-only for now.

Closes #2081, Closes #2276
2018-07-20 09:09:01 +02:00
Rhys Arkins
ca23927735 feat: pin PRs should only block necessary PRs
Previously if there were any “pin” updates then that would block all non-pin updates until the pin one was merged. However, this doesn’t make sense if the other PR is for an unrelated dependency.

Closes https://github.com/renovatebot/config-help/issues/64
2018-07-13 06:48:52 +02:00
Rhys Arkins
9521b08b03 refactor: use isSingleVersion in template instead of isRage
Refactors template logic to test for isSingleVersion instead of the negative of isRange. This means that new values like `==1.2.0` in python will be presented as v1.2.0
2018-07-05 21:11:58 +02:00
Rhys Arkins
16d88aee4c feat: ignoreDeprecated
Renovate now ignores any upgrades that are marked as deprecated, unless the current version is itself also deprecated. The new config option `ignoreDeprecated` can be set to false to disable this if necessary.

Closes #1988
2018-07-05 15:10:50 +02:00
Rhys Arkins
7c0a17e9d0 feat: group together deprecation warnings
Previously, deprecation warnings were done as part of dependency lookups, which were run concurrently. This meant the chance of duplicate issues was high, due to race conditions. Instead, raising the issues is done once all package are looked up, to ensure only one issue per manager/dependency. It also means we can list all of the affected package files, in case of a monorepo.

Closes #2224, Closes #2225
2018-07-05 14:23:28 +02:00
Rhys Arkins
24a89a775b
feat(npm): deprecation warnings (#2222)
Raises a deprecation warning issue per-dependency. Uses logic that if latest version is deprecated then the package is deprecated.

Closes #1592
2018-07-05 09:16:53 +02:00
Rhys Arkins
8a8890f82f feat: support updateType=bump
Refactors updateType logic so that a type of “bump” is returned when bumping versions within existing ranges, instead of minor or major. Updates that fall *outside* the existing range will continue to be labeled as minor or major as appropriate.

This value can now be used within packageRules, e.g.

```
  “updateTypes”: [“bump”],
  “labels”: [“bumped version only”]
```

Closes #1942
2018-07-04 10:26:31 +02:00
Rhys Arkins
ebbd417e47 chore: prettier 2018-07-04 10:21:41 +02:00
Rhys Arkins
fb6271e4f7 refactor: rename update.type -> update.updateType 2018-07-04 10:11:53 +02:00
Rhys Arkins
b2cecc38da logs: print versions when rolling back 2018-07-03 11:49:19 +02:00
Rhys Arkins
c1bd2197e2 refactor: use res object for lookup 2018-07-01 07:53:26 +02:00
Rhys Arkins
645ec7f171 fix: add releaseTimestamp to update 2018-06-28 10:52:56 +02:00
Rhys Arkins
124807974a feat(nuget): support changelogs
Refactors nuget lookups to use generatic logic and fill in repositoryUrl to enable changelogs.
2018-06-14 15:52:37 +02:00
Rhys Arkins
c9f7b74bc7 refactor: add releases to lookupUpdates return 2018-06-12 06:53:56 +02:00
Rhys Arkins
db45e5cc71 refactor: push repositoryUrl down 2018-06-12 06:47:43 +02:00
Rhys Arkins
5166b86a1b refactor: lookupUpdates return object not array 2018-06-12 06:45:57 +02:00
Rhys Arkins
688ec14b6a refactor: datasource return array of releases 2018-06-11 14:28:50 +02:00
Rhys Arkins
45d0dcf492 fix: pass auto’d rangeStrategy to getNewValue
Closes #2111
2018-06-11 05:52:46 +02:00
Rhys Arkins
01d2fb3bca
feat: datasource wrapper (#2100)
Adds a wrapper to all datasources to provide a generic purl-based interface.
2018-06-08 10:49:08 +02:00
Ayoub Kaanich
697b80aaf0 feat: composer exact semver support (without lockfile updates) (#1993)
This PR adds the packagist datasource plus basic exact semver Composer support. Composer lockfile updating is not yet supported.
2018-06-08 06:15:13 +02:00
Rhys Arkins
5fd996c9cc refactor: use isSingleVersion not isRange 2018-06-06 12:25:10 +02:00
Rhys Arkins
603b77799b
feat: refactor unpublishSafe for multiple package managers (#2090) 2018-06-06 11:04:54 +02:00
Ayoub Kaanich
f283104988 feat: use purl for pip requirements (#2067) 2018-06-05 11:26:08 +02:00
Rhys Arkins
96b4788697 tests: fix coverage 2018-06-05 11:22:21 +02:00
Rhys Arkins
bc652673ba fix: properly handle null rollback 2018-06-05 10:48:38 +02:00
Rhys Arkins
05260a5b16 refactor: remove semver dependency from github datasource
Instead, perform isVersion filter in lookup
2018-06-05 08:15:11 +02:00
Connor Brathwaite
398303235b (refactor): delegate generic predicate checking to @sindresorhus/is (#2021)
Closes #1764
2018-06-04 20:07:22 +02:00
Rhys Arkins
9fbaf9a3ca fix: unpublishable / unpublishSafe
Corrected logic mistake and renamed unpublishable (internal) to canBeUnpublished to make it easier to follow logic.

Closes #2080
2018-06-04 14:56:47 +02:00
Rhys Arkins
0aaee7bd82 refactor: simplify lookup 2018-06-04 12:23:21 +02:00
Rhys Arkins
c21029ecbb
refactor: rename some versioning interface (#2078)
isPinnedVersion -> isVersion
rangify -> getNewValue
2018-06-04 06:03:21 +02:00
Rhys Arkins
d8cb261ecb
refactor: rename version -> value (#2076)
Renames currentVersion to currentValue, newVersion to newValue, newVersionMajor to newMajor, and newVersionMinor to newMinor.
2018-06-04 05:48:20 +02:00
Ayoub Kaanich
ec53ef78e9 refactor: lookup use versioning wrapper 2018-06-03 18:08:32 +02:00
Rhys Arkins
0523a6ef99 refactor: simplify filterVersions 2018-06-03 16:45:34 +02:00
Rhys Arkins
527c355b48
refactor: move getRangeStrategy to manager (#2072) 2018-06-03 14:25:05 +02:00
Rhys Arkins
5a8c9f57f6 logs: info not warn for no rollback 2018-06-01 17:51:14 +02:00
Rhys Arkins
784a0598b9 refactor: use options for github datasource 2018-06-01 15:32:17 +02:00
Rhys Arkins
bc7728f1d2 refactor: use purl.parse 2018-06-01 14:48:49 +02:00
Rhys Arkins
d02914fd3b tests: update test for repositoryUrl 2018-06-01 10:11:42 +02:00
Rhys Arkins
e39cc9a584
feat: use purl for package lookups (#2041) 2018-06-01 09:02:51 +02:00
Rhys Arkins
54e4733ca5 refactor: fetch return if skipReason present 2018-05-31 21:02:07 +02:00
Rhys Arkins
d71639bbf8 refactor: fetch array or object 2018-05-29 10:27:41 +02:00
Rhys Arkins
7b149df595 logs: less debug 2018-05-28 22:25:33 +02:00
Rhys Arkins
d45f957cfd refactor: defer isX upgrade classifications 2018-05-21 17:20:41 +02:00
Rhys Arkins
7f4cb4aa57
feat: rangeStrategy (#1954)
This PR replaces the existing `pinVersions`, `upgradeInRange` and `versionStrategy` settings with a single one: `rangeStrategy`.

Previously:
 - `pinVersions` could be `true` or `false`, but defaulted to `null`, which meant that Renovate would decide. `true` meant that Renovate would replace existing ranges like `^1.0.0` with an exact/pinned version such as `1.2.0`.
 - `upgradeInRange` could be true or false, default to false. If `true`, it would mean Renovate would replace an existing range like `^1.0.0` with something like `^1.2.0`
 - `versionStrategy` could be `replace` or `widen` and was mainly used for `peerDependencies` to widen existing ranges, e.g. from `^1.0.0` to `^1.0.0 || ^2.0.0`

It was possible to set conflicting settings, e.g. configuring `pinVersions=true` and `upgradeInRange=true`.

Now, we combine them into a single setting: `rangeStrategy`:
 - `auto` = Renovate decides (this will be done on a manager-by-manager basis)
 - `pin` = convert ranges to exact versions
 - `bump` = same as `upgradeInRange` previously, e.g. bump the range even if the new version satisifies the existing range
 - `replace` = Same as pinVersions === false && upgradeInRange === false, i.e. only replace the range if the new version falls outside it
 - `widen` = Same as previous versionStrategy==='widen'
2018-05-17 07:16:13 +02:00
Rhys Arkins
4f5896c908 refactor: monorepo -> internal-package 2018-05-15 13:46:41 +02:00
Rhys Arkins
409cd4adde refactor: monorepoPackages -> internalPackages 2018-05-15 07:21:10 +02:00
Rhys Arkins
2b2b1d92ab logs: packageFiles -> config 2018-05-14 07:56:17 +02:00
Rhys Arkins
eccef72b52 fix(npm): restore autodetect pinVersions 2018-05-09 18:17:11 +02:00
Rhys Arkins
ecdcd9df4f
feat: refactor dependency extraction (#1912)
Rewrite of dependency extraction, particularly for npm. Paves way for easier addition of new package managers.

Closes #1882
2018-05-09 08:03:59 +02:00
Rhys Arkins
ad16528fa0 fix: don’t debug branches when sorting 2018-05-07 13:21:46 +02:00
Rhys Arkins
2517c9f1d9
refactor: renovateRepository split (#1928) 2018-05-07 12:59:32 +02:00
Rhys Arkins
6431cf6861 refactor: move sortBranches 2018-05-07 07:59:53 +02:00