forked from puppetlabs/r10k
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
248 lines (163 loc) · 7.29 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
CHANGELOG
=========
1.2.1
-----
2014/04/21
### User Notes
(GH-93) r10k deploy subcommands now respect the --help flag.
(GH-100) The addition of a faster command execution library was POSIX centric,
but there were a number of users that were running r10k on Windows, which brike
their environments. Support for Windows has been re-added and Windows is now a
supported platform for using the r10k puppetfile commands. Please note that
r10k now requires Ruby 1.9.3 on Windows to function.
### Thanks
Thanks to Sam Kottler and Daniel Dreier for their their work on this release.
1.2.0
-----
2014/03/07
### User Notes
Preliminary support for Puppetfile modules from SVN sources. SVN repositories
can track the latest available revision or may be pinned to a specific revision.
Forge modules can now track the latest available version. This can be enabled by
setting the module version to `:latest`.
Git based Puppetfile modules can now be specified as branches, tags, and
commits. When tags and commits are specified r10k can perform optimizations
when updating the given repositories to reduce network accesses.
Command execution has been greatly improved. The old library for executing
commands (systemu) had very high overhead and was 50 - 100 times slower than
%x[] or fork/exec. It's been replaced with a custom process execution
implementation.
Modules can swap out sources. When an existing module is changed from Forge to
Git, for instance, the existing module will be removed before the new module is
installed. (GH-30)
1.2.0rc2
--------
2014/02/27
### Notes
Git repositories were not tracking their upstream remotes, repos should now
properly update upstream changes.
Git reference clones now fetch their cache remotes immediately after the
initial clone.
1.2.0rc1
--------
2014/02/08
Release Candidate 1 for 1.2.0
1.1.4
-----
2014-02-24
This is a backwards compatible bugfix release.
### Notes
* (GH-90) Multiple environments with the same name but with different sources
were previously colliding and some environments were being ignored. This has
been fixed and all environments should be deployed when updates are run.
### Thanks
Thanks to the following contributors for their their extraordinary patience and
help in for chasing down GH-90:
* Andreas Ntaflos (antaflos)
* Igor Galić (igalic)
1.1.3
-----
2014-01-26
This is a backwards compatible maintenance release.
### Notes
* (GH-82) Added all git managed files, including README.markdown, CHANGELOG,
and LICENSE to the gemspec for better compatibility with non-gem packages.
1.1.2
-----
2014-01-06
This is a backwards compatible maintenance release.
### Developer notes
* If Puppet and r10k are required in the same namespace, it's possible for
the vendored copy of SemVer to conflict with the Puppet version. This was
fixed by renaming the copy vendored in r10k and putting it under a namespace.
1.1.1
-----
2013-12-11
This is a backwards compatible bugfix release.
### User notes
* (GH-48) Environment prefixing always defaults to off. Users were already
using r10k with multiple sources but in different directories, and
prefixing breaks this behavior. Since this was a backwards incompatible
change this has to be rolled back.
* (GH-64) Multiple sources in a single directory no longer purge each other.
### Thanks
Thanks to the following contributors for their help in 1.1.1:
* Stig Sandbeck Mathisen
* Gabriel M Schuyler
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.