forked from puppetlabs/r10k
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
115 lines (79 loc) · 3.9 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
CHANGELOG
=========
1.1.0
-----
2013-09-30
This is a backwards compatible bugfix and feature release.
### User notes
(GH-35) Puppetfiles can now specify a path to the moduledir, instead of assuming
'/modules'. It can be set with the Puppetfile `moduledir` directive. Note that
this is not compatible with librarian-puppet.
(GH-53) Multiple environment sources can now be specified in a single
directory. When multiple sources are specified, each environment will be
prefixed with the source name. This can be enabled and disabled with the
source `prefix` option.
(GH-45) Documentation has been greatly expanded.
(GH-56) New subcommand: `r10k puppetfile check` allows you to validate the
syntax of a Puppetfile.
(GH-66) Initial clones use `git checkout` when switching to a new branch
instead of just `git reset`; without this change it would look like the wrong
branch was checked out.
(GH-59) r10k can now pull from Pulp repositories for Forge based modules.
(GH-70) Handle unset HOME - in case that HOME is unset, assume that the current
user is root. This mainly occurs when r10k is being run as the `prerun` command
under Puppet.
### Developer notes
The method mocking framework has been switched from mocha to rspec-mocks. Mocha
is notoriously bad about breaking changes between versions and rspec-mocks is
very robust, so Mocha has been ripped out and dropped as a dependency.
Rspec expectations now use the `expect(thing).to` syntax instead `thing.should`
A quasi settings framework has been extracted to make application settings less
bad. In the long term a general application framework will be extracted from
r10k to handle generic 'application' problems like this, but for now the settings
framework is the way to handle singleton data.
R10K:Git::Cache object memoization has been extracted into a standalone class
instead of being grafted onto the class. All hail the single responsibility
principle!
R10K::Module code has been refactored. There's now a real base class instead of
a hacky mixin with some metadata magic on top.
### Thanks
Thanks to the following contributors for their help in 1.1.0:
* Alex Linden Levy
* Abhay Chrungoo
* Adam Vessey
* Chuck Schweizer
* Elias Probst
* Greg Baker
* Jochen Schalanda
* Theo Chatzimichos
1.0.0
-----
2013-05-30
This is a backwards incompatible bugfix and feature release.
### Configuration
The configuration file format of 0.0.9 should be compatible with 1.0.0, and any
issues with that should be considered a bug.
A longstanding issue was confusion between symbols and strings in r10k.yaml
(GH-18). To resolve this, symbols and strings will be treated equally and
should produce the same behavior. In the long run, symbols will probably be
deprecated for the sake of conformity.
### Command line invocation
A number of commands have been renamed. They still but will emit a deprecation
warning and will redirect to the new command implementation. The only
exceptions is the are the `r10k environment cache` and `r10k environment stale`
commands, but they were pretty much useless anyways.
Log level verbosity can now be specified by level name instead of level number.
If --verbose is passed without a level, it will set the log level to `info`.
### Puppetfile support
r10k can be used to deploy modules from a standalone Puppetfile. See
`r10k puppetfile` for more information.
Modules without a version in the format of 'foo/bar' will be assumed. (GH-21)
### API
r10k handles versioning according to SemVer; since this is a major release this
is a backwards incompatible API change. It's unlikely that this has had any
extensions written on top of it, but if you have, then heads up. However, all
versions of 1.x should be backwards compatible.
### Bugfixes
A number of bugs were due to underlying architecture flaws. Part of 1.0.0 has
been a significant architectural overhaul, so on top of all of the above
changes there should be a lot of other bugs that have been fixed.