Release version 8.0.0
[puppet-modules/puppetlabs-apt.git] / CHANGELOG.md
1 # Change log
2
3 All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).
4
5 ## [v8.0.0](https://github.com/puppetlabs/puppetlabs-apt/tree/v8.0.0) (2021-03-01)
6
7 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.7.1...v8.0.0)
8
9 ### Changed
10
11 - pdksync - Remove Puppet 5 from testing and bump minimal version to 6.0.0 [\#969](https://github.com/puppetlabs/puppetlabs-apt/pull/969) ([carabasdaniel](https://github.com/carabasdaniel))
12
13 ## [v7.7.1](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.7.1) (2021-02-15)
14
15 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.7.0...v7.7.1)
16
17 ### Fixed
18
19 - Use modern os facts [\#964](https://github.com/puppetlabs/puppetlabs-apt/pull/964) ([kenyon](https://github.com/kenyon))
20
21 ## [v7.7.0](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.7.0) (2020-12-08)
22
23 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.6.0...v7.7.0)
24
25 ### Added
26
27 - pdksync - \(feat\) - Add support for Puppet 7 [\#958](https://github.com/puppetlabs/puppetlabs-apt/pull/958) ([daianamezdrea](https://github.com/daianamezdrea))
28 - Make auth.conf contents Sensitive [\#953](https://github.com/puppetlabs/puppetlabs-apt/pull/953) ([suchpuppet](https://github.com/suchpuppet))
29
30 ## [v7.6.0](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.6.0) (2020-09-15)
31
32 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.5.0...v7.6.0)
33
34 ### Added
35
36 - \(MODULES-10804\) option to force purge source.lists file [\#948](https://github.com/puppetlabs/puppetlabs-apt/pull/948) ([sheenaajay](https://github.com/sheenaajay))
37
38 ### Fixed
39
40 - \(IAC-978\) - Removal of inappropriate terminology [\#947](https://github.com/puppetlabs/puppetlabs-apt/pull/947) ([david22swan](https://github.com/david22swan))
41
42 ## [v7.5.0](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.5.0) (2020-08-12)
43
44 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.4.2...v7.5.0)
45
46 ### Added
47
48 - pdksync - \(IAC-973\) - Update travis/appveyor to run on new default branch main [\#940](https://github.com/puppetlabs/puppetlabs-apt/pull/940) ([david22swan](https://github.com/david22swan))
49 - patch-acng-ssl-support [\#938](https://github.com/puppetlabs/puppetlabs-apt/pull/938) ([mdklapwijk](https://github.com/mdklapwijk))
50 - \(IAC-746\) - Add ubuntu 20.04 support [\#936](https://github.com/puppetlabs/puppetlabs-apt/pull/936) ([david22swan](https://github.com/david22swan))
51
52 ### Fixed
53
54 - \(MODULES-10763\) loglevel won't affect reports [\#942](https://github.com/puppetlabs/puppetlabs-apt/pull/942) ([gguillotte](https://github.com/gguillotte))
55
56 ## [v7.4.2](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.4.2) (2020-05-14)
57
58 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.4.1...v7.4.2)
59
60 ### Fixed
61
62 - fix apt-mark syntax [\#927](https://github.com/puppetlabs/puppetlabs-apt/pull/927) ([tryfunc](https://github.com/tryfunc))
63 - Do not specify file modes unless relevant [\#923](https://github.com/puppetlabs/puppetlabs-apt/pull/923) ([anarcat](https://github.com/anarcat))
64
65 ## [v7.4.1](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.4.1) (2020-03-10)
66
67 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.4.0...v7.4.1)
68
69 ### Fixed
70
71 - \(MODULES-10583\) Revert "MODULES-10548: make files readonly" [\#920](https://github.com/puppetlabs/puppetlabs-apt/pull/920) ([carabasdaniel](https://github.com/carabasdaniel))
72
73 ## [v7.4.0](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.4.0) (2020-03-03)
74
75 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.3.0...v7.4.0)
76
77 ### Added
78
79 - Add 'include' param to apt::backports [\#910](https://github.com/puppetlabs/puppetlabs-apt/pull/910) ([paladox](https://github.com/paladox))
80 - pdksync - \(FM-8581\) - Debian 10 added to travis and provision file refactored [\#902](https://github.com/puppetlabs/puppetlabs-apt/pull/902) ([david22swan](https://github.com/david22swan))
81
82 ### Fixed
83
84 - MODULES-10548: make files readonly [\#906](https://github.com/puppetlabs/puppetlabs-apt/pull/906) ([anarcat](https://github.com/anarcat))
85 - MODULES-10543: only consider lsbdistcodename for apt-transport-https [\#905](https://github.com/puppetlabs/puppetlabs-apt/pull/905) ([anarcat](https://github.com/anarcat))
86 - MODULES-10543: remove sources.list file on purging [\#904](https://github.com/puppetlabs/puppetlabs-apt/pull/904) ([anarcat](https://github.com/anarcat))
87 - MODULES-10063, extend apt::key to support deeplinks [\#892](https://github.com/puppetlabs/puppetlabs-apt/pull/892) ([atarax](https://github.com/atarax))
88 - Include apt in apt::backports [\#891](https://github.com/puppetlabs/puppetlabs-apt/pull/891) ([zivis](https://github.com/zivis))
89
90 ## [v7.3.0](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.3.0) (2019-12-11)
91
92 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.2.0...v7.3.0)
93
94 ### Added
95
96 - Adding a new parameter for dist [\#890](https://github.com/puppetlabs/puppetlabs-apt/pull/890) ([luckyraul](https://github.com/luckyraul))
97
98 ### Fixed
99
100 - MODULES-10063, extend apt::key to support deeplinks, this time with f… [\#894](https://github.com/puppetlabs/puppetlabs-apt/pull/894) ([atarax](https://github.com/atarax))
101
102 ## [v7.2.0](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.2.0) (2019-10-29)
103
104 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.1.0...v7.2.0)
105
106 ### Added
107
108 - Add apt::mark defined type [\#879](https://github.com/puppetlabs/puppetlabs-apt/pull/879) ([tuxmea](https://github.com/tuxmea))
109 - \(FM-8394\) add debian 10 testing [\#876](https://github.com/puppetlabs/puppetlabs-apt/pull/876) ([ThoughtCrhyme](https://github.com/ThoughtCrhyme))
110 - Add apt::key\_options for default apt::key options [\#873](https://github.com/puppetlabs/puppetlabs-apt/pull/873) ([raphink](https://github.com/raphink))
111 - implement apt.conf.d purging [\#869](https://github.com/puppetlabs/puppetlabs-apt/pull/869) ([lelutin](https://github.com/lelutin))
112
113 ### Fixed
114
115 - Install gnupg instead of dirmngr [\#866](https://github.com/puppetlabs/puppetlabs-apt/pull/866) ([martijndegouw](https://github.com/martijndegouw))
116
117 ## [v7.1.0](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.1.0) (2019-07-30)
118
119 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/v7.0.1...v7.1.0)
120
121 ### Added
122
123 - \(FM-8215\) Convert to using litmus [\#864](https://github.com/puppetlabs/puppetlabs-apt/pull/864) ([florindragos](https://github.com/florindragos))
124
125 ## [v7.0.1](https://github.com/puppetlabs/puppetlabs-apt/tree/v7.0.1) (2019-05-13)
126
127 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/7.0.0...v7.0.1)
128
129 ## [7.0.0](https://github.com/puppetlabs/puppetlabs-apt/tree/7.0.0) (2019-04-24)
130
131 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/6.3.0...7.0.0)
132
133 ### Changed
134
135 - pdksync - \(MODULES-8444\) - Raise lower Puppet bound [\#853](https://github.com/puppetlabs/puppetlabs-apt/pull/853) ([david22swan](https://github.com/david22swan))
136
137 ### Added
138
139 - Allow weak SSL verification for apt\_key [\#849](https://github.com/puppetlabs/puppetlabs-apt/pull/849) ([tuxmea](https://github.com/tuxmea))
140
141 ## [6.3.0](https://github.com/puppetlabs/puppetlabs-apt/tree/6.3.0) (2019-01-21)
142
143 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/6.2.1...6.3.0)
144
145 ### Added
146
147 - Add support for dist-upgrade & autoremove action [\#832](https://github.com/puppetlabs/puppetlabs-apt/pull/832) ([aboks](https://github.com/aboks))
148 - \(MODULES-8321\) - Add manage\_auth\_conf parameter [\#831](https://github.com/puppetlabs/puppetlabs-apt/pull/831) ([eimlav](https://github.com/eimlav))
149
150 ### Fixed
151
152 - \(MODULES-8418\) Fix /etc/apt/auth.conf owner changing endlessly [\#836](https://github.com/puppetlabs/puppetlabs-apt/pull/836) ([antaflos](https://github.com/antaflos))
153 - pdksync - \(FM-7655\) Fix rubygems-update for ruby \< 2.3 [\#835](https://github.com/puppetlabs/puppetlabs-apt/pull/835) ([tphoney](https://github.com/tphoney))
154 - \(MODULES-8326\) - apt-transport-https not ensured properly [\#830](https://github.com/puppetlabs/puppetlabs-apt/pull/830) ([eimlav](https://github.com/eimlav))
155
156 ## [6.2.1](https://github.com/puppetlabs/puppetlabs-apt/tree/6.2.1) (2018-11-20)
157
158 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/6.2.0...6.2.1)
159
160 ### Fixed
161
162 - \(MODULES-8272\) - Revert "Autorequire dirmngr in apt\_key types" [\#825](https://github.com/puppetlabs/puppetlabs-apt/pull/825) ([eimlav](https://github.com/eimlav))
163
164 ## [6.2.0](https://github.com/puppetlabs/puppetlabs-apt/tree/6.2.0) (2018-11-19)
165
166 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/6.1.1...6.2.0)
167
168 ### Added
169
170 - \(MODULES-8081\): add support for hkps:// protocol in apt::key [\#815](https://github.com/puppetlabs/puppetlabs-apt/pull/815) ([simondeziel](https://github.com/simondeziel))
171
172 ### Fixed
173
174 - Apt-key fixes to properly work on Debian 9 [\#822](https://github.com/puppetlabs/puppetlabs-apt/pull/822) ([ekohl](https://github.com/ekohl))
175 - \(maint\) - Update Link to REFERENCE.md [\#811](https://github.com/puppetlabs/puppetlabs-apt/pull/811) ([pmcmaw](https://github.com/pmcmaw))
176
177 ## [6.1.1](https://github.com/puppetlabs/puppetlabs-apt/tree/6.1.1) (2018-10-01)
178
179 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/6.1.0...6.1.1)
180
181 ### Fixed
182
183 - Revert "\(MODULES-6408\) - Fix dirmngr install failing" [\#808](https://github.com/puppetlabs/puppetlabs-apt/pull/808) ([eimlav](https://github.com/eimlav))
184
185 ## [6.1.0](https://github.com/puppetlabs/puppetlabs-apt/tree/6.1.0) (2018-09-28)
186
187 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/6.0.0...6.1.0)
188
189 ### Added
190
191 - pdksync - \(FM-7392\) - Puppet 6 Testing Changes [\#800](https://github.com/puppetlabs/puppetlabs-apt/pull/800) ([pmcmaw](https://github.com/pmcmaw))
192 - pdksync - \(MODULES-6805\) metadata.json shows support for puppet 6 [\#798](https://github.com/puppetlabs/puppetlabs-apt/pull/798) ([tphoney](https://github.com/tphoney))
193 - \(MODULES-3307\) - Auto update expired keys [\#795](https://github.com/puppetlabs/puppetlabs-apt/pull/795) ([eimlav](https://github.com/eimlav))
194 - \(FM-7316\) - Implementation of the i18n process [\#789](https://github.com/puppetlabs/puppetlabs-apt/pull/789) ([david22swan](https://github.com/david22swan))
195 - Introduce an Apt::Proxy type to validate the hash [\#773](https://github.com/puppetlabs/puppetlabs-apt/pull/773) ([ekohl](https://github.com/ekohl))
196
197 ### Fixed
198
199 - \(MODULES-6408\) - Fix dirmngr install failing [\#801](https://github.com/puppetlabs/puppetlabs-apt/pull/801) ([eimlav](https://github.com/eimlav))
200 - \(MODULES-1630\) - Expanding source list fix to cover all needed versions [\#788](https://github.com/puppetlabs/puppetlabs-apt/pull/788) ([david22swan](https://github.com/david22swan))
201
202 ## [6.0.0](https://github.com/puppetlabs/puppetlabs-apt/tree/6.0.0) (2018-08-24)
203
204 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/5.0.1...6.0.0)
205
206 ### Changed
207
208 - \(MODULES-7668\) Remove support for Puppet 4.7 [\#780](https://github.com/puppetlabs/puppetlabs-apt/pull/780) ([jarretlavallee](https://github.com/jarretlavallee))
209
210 ### Added
211
212 - Check existence of gpg key in apt:ppa [\#774](https://github.com/puppetlabs/puppetlabs-apt/pull/774) ([wenzhengjiang](https://github.com/wenzhengjiang))
213 - Make sure PPA source file is absent when apt-add-repository fails [\#768](https://github.com/puppetlabs/puppetlabs-apt/pull/768) ([wenzhengjiang](https://github.com/wenzhengjiang))
214
215 ## 5.0.1
216
217 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/5.0.0...5.0.1)
218
219 ### Fixed
220
221 - \(MODULES-7540\) - add apt-transport-https with https [\#775](https://github.com/puppetlabs/puppetlabs-apt/pull/775) ([tphoney](https://github.com/tphoney))
222
223 ## [5.0.0](https://github.com/puppetlabs/puppetlabs-apt/tree/5.0.0) (2018-07-18)
224
225 [Full Changelog](https://github.com/puppetlabs/puppetlabs-apt/compare/4.5.1...5.0.0)
226
227 ### Changed
228
229 - \[FM-6956\] Removal of unsupported Debian 7 from apt [\#760](https://github.com/puppetlabs/puppetlabs-apt/pull/760) ([david22swan](https://github.com/david22swan))
230
231 ### Added
232
233 - \(MODULES-7467\) Update apt to support Ubuntu 18.04 [\#769](https://github.com/puppetlabs/puppetlabs-apt/pull/769) ([david22swan](https://github.com/david22swan))
234 - Support managing login configurations in /etc/apt/auth.conf [\#752](https://github.com/puppetlabs/puppetlabs-apt/pull/752) ([antaflos](https://github.com/antaflos))
235
236 ### Fixed
237
238 - \(MODULES-7327\) - Update README with supported OS [\#767](https://github.com/puppetlabs/puppetlabs-apt/pull/767) ([pmcmaw](https://github.com/pmcmaw))
239 - \(bugfix\) Dont run ftp tests in travis [\#766](https://github.com/puppetlabs/puppetlabs-apt/pull/766) ([tphoney](https://github.com/tphoney))
240 - \(maint\) make apt testing more stable, cleanup [\#764](https://github.com/puppetlabs/puppetlabs-apt/pull/764) ([tphoney](https://github.com/tphoney))
241 - Remove .length from variable $pin\_release in app [\#754](https://github.com/puppetlabs/puppetlabs-apt/pull/754) ([paladox](https://github.com/paladox))
242 - Replace UTF-8 whitespace in comment [\#748](https://github.com/puppetlabs/puppetlabs-apt/pull/748) ([bernhardschmidt](https://github.com/bernhardschmidt))
243 - Fix "E: Unable to locate package  -y" [\#747](https://github.com/puppetlabs/puppetlabs-apt/pull/747) ([aboks](https://github.com/aboks))
244 - Fix automatic coercion warning [\#743](https://github.com/puppetlabs/puppetlabs-apt/pull/743) ([smortex](https://github.com/smortex))
245
246 ## Supported Release [4.5.1]
247 ### Summary
248 This release fixes CVE-2018-6508 which is a potential arbitrary code execution via tasks.
249
250 ### Fixed
251 - Fix init task for arbitrary remote code
252
253 ## Supported Release [4.5.0]
254 ### Summary
255 This release uses the PDK convert functionality which in return makes the module PDK compliant. It also includes a roll up of maintenance changes.
256
257 ### Added
258 - PDK convert apt ([MODULES-6452](https://tickets.puppet.com/browse/MODULES-6452)).
259 - Testing on Travis using rvm 2.4.1.
260 - Modulesync updates.
261
262 ### Fixed
263 - Changes to address additional Rubocop failures.
264 - (maint) Addressing puppet-lint doc warnings.
265
266 ### Removed
267 - `gem update bundler` command in .travis.yml due to ([MODULES-6339](https://tickets.puppet.com/browse/MODULES-6339)).
268
269 ## Supported Release [4.4.1]
270 ### Summary
271 This release is to update the formatting of the module, Rubocop having been run for all ruby files and been set to run automatically on all future commits.
272
273 ### Changed
274 - Rubocop has been implemented.
275
276 ## Supported Release [4.4.0]
277 ### Summary
278
279 This release is a rollup of new features and fixes.
280
281 #### Added
282 - Install `apt-transport-https` if using Debian 7, 8, 9 or Ubuntu 14.04, 16.04.
283 - Adds a boolean option `direct` to proxy settings to bypass `https_proxy` if not set.
284 - Adds facter facts for `dist-upgrade` apt updates.
285
286 #### Changed
287 - Update class is now private.
288 - Some tidyup of ruby code from Rubocop.
289 - Fixed circular dependency for package dirmngr.
290 - Debian updates are no longer treated as security updates.
291 - Legacy functions have been removed.
292 - Updates to tests.
293
294 #### Fixed
295 - [(MODULES-4265)](https://tickets.puppetlabs.com/browse/MODULES-4265) Detect security updates from multiple sources.
296
297 ## Supported Release [4.3.0]
298 ### Summary
299
300 This release is adding Tasks to the apt module.
301
302 #### Added
303 - Add a task that allows apt-get update and upgrade
304
305 ## Supported Release [4.2.0]
306 ### Summary
307
308 This release is primarily to fix an error around GPG keys in Debian 9, but includes some other small features and fixes as well.
309
310 #### Added
311 - `apt_package_security_updates` fact
312 - The ability to modify the loglevel of `Exec['apt_update'}`
313 - Puppet 5 support
314
315 #### Changed
316 - Ubuntu 16.04 now uses `software-priorities-common`
317
318 #### Removed
319 - Debian 6, Ubuntu 10.04 and 12.04 support. Existing compatibility remains intact but bugs will not be prioritized for these OSes.
320
321 #### Fixed
322 - **[(MODULES-4686)](https://tickets.puppetlabs.com/browse/MODULES-4686) an error that was causing GPG keyserver imports to fail on Debian 9**
323
324 ## Supported Release 4.1.0
325 ### Summary
326
327 This release removes Data in Modules due to current compatibility issues and reinstates the params.pp file. Also includes a couple of bug fixes.
328
329 #### Features
330 - (MODULES-4973) Data in Modules which was introduced in the last release has now been reverted due to compatibility issues.
331
332 #### Bugfixes
333 - Now apt_key only sends the auth basic header when userinfo can be parsed from the URL.
334 - Reverted the removal of Evolving Web's attribution in NOTICE file.
335 - Test added to ensure empty string allowed for $release in apt::source.
336
337
338 ## Supported Release 3.0.0 and 4.0.0
339 ### Summary
340
341 This release adds new Puppet 4 features: data in modules, EPP templates, the $facts hash, and data types. This release is fully backwards compatible to existing Puppet 4 configurations and provides you with deprecation warnings for every argument that will not work as expected with the final 4.0.0 release. See the stdlib docs here for an in-depth discussion of this: https://github.com/puppetlabs/puppetlabs-stdlib#validate_legacy
342
343 If you want to learn more about the new features used or you wish to upgrade a module yourself, have a look at the NTP: A Puppet 4 language update blog post.
344
345 If you're still running Puppet 3, remain on the latest puppetlabs-apt 2.x release for now, and see the documentation to upgrade to Puppet 4.
346
347 #### Changes
348
349 Data in modules: Moves all distribution and OS-dependent defaults into YAML files in data/, alleviating the need for a params class. Note that while this feature is currently still classed as experimental, the final implementation will support the changes here.
350 EPP templating: Uses the Puppet language as a base for templates to create simpler and safer templates. No need for Ruby anymore!
351 The $facts hash: Makes facts visibly distinct from other variables for more readable and maintainable code. This helps eliminate confusion if you use a local variable whose name happens to match that of a common fact.
352 Data types for validation: Helps you find and replace deprecated code in existing validate functions with stricter, more readable data type notation. First upgrade to the 3.0.0 release of this module, and address all deprecation warnings before upgrading to the final 4.0.0 release. Please see the stdlib docs for an in-depth discussion of this process.
353
354 #### Bugfixes
355 - Fix apt::source epp template regression introduced in 3.0.0 for the architecture parameter
356
357 ## Supported Release 2.4.0
358 ### Summary
359 A release that includes only a couple of additional features, but includes several cleanups and bugfixes around existing issues.
360
361 #### Features
362 - Tests updated to check for idempotency.
363 - (MODULES-4224) Implementation of beaker-module_install_helper.
364 - Deprecation warnings are now handled by the deprecation function in stdlib.
365
366 #### Bugfixes
367 - Now http and https sources fixed for apt_key and can take a userinfo.
368 - GPG key update.
369 - Notify_update param now defaults to true to avoid validation errors.
370 - Implement retry on tests which pull key from a key server which sometimes times out (transient error).
371 - String comparison error now comphensated for in update.pp.
372 - (MODULES-4104) Removal of the port number from repository location in order to get the host name of the repository.
373 - Puppet lint warnings addressed.
374 - A few small readme issues addressed.
375
376 ## Supported Release 2.3.0
377 ### Summary
378 A release containing many bugfixes with additional features.
379
380 #### Features
381 - Apt_updates facts now use /usr/bin/apt-get.
382 - Addition of notify update to apt::source.
383 - Update to newest modulesync_configs.
384 - Installs software-properties-common for Xenial.
385 - Modulesync updates.
386 - Add ability to specify a hash of apt::conf defines.
387
388 #### Bugfixes
389 - A clean up of spec/defines/key_compat_specs, also now runs under STRICT_VARIABLES.
390 - Apt::setting expects priority to be an integer, set defaults accordingly.
391 - Fixed version check for Ubuntu on 16.04.
392 - Now uses hkps.pool.sks-keyservers.net instead of pgp.mit.edu.
393 - Updates and fixes to tests. General cleanup.
394 - Fixed regexp for $ensure params.
395 - Apt/params: Remove unused LSB facts.
396 - Replaced `-s` with `-f` in ppa rspec tests - After the repository is added, the "${::apt::sources_list_d}/${sources_list_d_filename}" file is created as an empty file. The unless condition of Exec["add-apt-repository-${name}"] calls test -s, which returns 1 if the file is empty. Because the file is empty, the unless condition is never true and the repository is added on every execution. This change replaces the -s test condition with -f, which is true if the file exists or false otherwise.
397 - Limit non-strict parsing to pre-3.5.0 only - Puppet 3.5.0 introduced strict variables and the module handles strict variables by using the defined() function. This does not work on prior versions of puppet so we now gate based on that version. Puppet 4 series has a new setting `strict` that may be set to enforce strict variables while `strict_variables` remains unset (see PUP-6358) which causes the conditional in manifests/params.pp to erroniously use non-strict 3.5-era parsing and fail. This new conditional corrects the cases such that strict variable behavior happens on versions 3.5.0 and later.
398
399 ## Supported Release 2.2.2
400 ### Summary
401
402 Several bug fixes and the addition of support updates to Debian 8 and Ubuntu Wily.
403
404 #### Bugfixes
405 - Small fixes to descriptions within the readme and the addition of some examples.
406 - Updates to run on Ubuntu Wily.
407 - Fixed apt_key tempfile race condition.
408 - Run stages limitation added to the documentation.
409 - Remove unneeded whitespace in source.list template.
410 - Handle PPA names that contain a plus character.
411 - Update to current msync configs.
412 - Avoid duplicate package resources when package_manage => true.
413 - Avoid multiple package resource declarations.
414 - Ensure PPAs in tests have valid form.
415 - Look for correct sources.list.d file for apt::ppa.
416 - Debian 8 support addiiton to metadata.
417
418 ## Supported Release 2.2.1
419 ### Summary
420
421 Small release for support of newer PE versions. This increments the version of PE in the metadata.json file.
422
423 ## 2015-09-29 - Supported Release 2.2.0
424 ### Summary
425
426 This release includes a few bugfixes.
427
428 #### Features
429 - Adds an `ensure` parameter for user control of proxy presence.
430 - Adds ability to set `notify_update` to `apt::conf` (MODULES-2269).
431 - Apt pins no longer trigger an `apt-get update` run.
432 - Adds support for creating pins from main class.
433
434 #### Bugfixes
435 - Updates to use the official Debian mirrors.
436 - Fixes path to `preferences` and `preferences.d`
437 - Fixes pinning for backports (MODULES-2446).
438 - Fixes the name/extension of the preferences files.
439
440 ## 2015-07-28 - Supported Release 2.1.1
441 ### Summary
442
443 This release includes a few bugfixes.
444
445 #### Bugfixes
446 - Fix incorrect use of anchoring (MODULES-2190)
447 - Use correct comment type for apt.conf files
448 - Test fixes
449 - Documentation fixes
450
451 ## 2015-06-16 - Supported Release 2.1.0
452 ### Summary
453
454 This release largely makes `apt::key` and `apt::source` API-compatible with the 1.8.x versions for ease in upgrading, and also addresses some compatibility issues with older versions of Puppet.
455
456 #### Features
457 - Add API compatibility to `apt::key` and `apt::source`
458 - Added `apt_reboot_required` fact
459
460 #### Bugfixes
461 - Fix compatibility with Puppet versions 3.0-3.4
462 - Work around future parser bug PUP-4133
463
464 ## 2015-04-28 - Supported Release 2.0.1
465 ### Summary
466
467 This bug fixes a few compatibility issues that came up with the 2.0.0 release, and includes test and documentation updates.
468
469 #### Bugfixes
470 - Fix incompatibility with keyrings containing multiple keys
471 - Fix bugs preventing the module from working with Puppet < 3.5.0
472
473 ## 2015-04-07 - Supported Release 2.0.0
474 ### Summary
475
476 This is a major rewrite of the apt module. Many classes and defines were removed, but all existing functionality should still work. Please carefully review documentation before upgrading.
477
478 #### Backwards-incompatible changes
479
480 As this is a major rewrite of the module there are a great number of backwards incompatible changes. Please review this and the updated README carefully before upgrading.
481
482 ##### `apt_key`
483 - `keyserver_options` parameter renamed to `options`
484
485 ##### `apt::backports`
486 - This no longer works out of the box on Linux Mint. If using this on mint, you must specify the `location`, `release`, `repos`, and `key` parameters. [Example](examples/backports.pp)
487
488 ##### `apt::builddep`
489 - This define was removed. Functionality can be matched passing 'build-dep' to `install_options` in the package resource. [Example](examples/builddep.pp)
490
491 ##### `apt::debian::testing`
492 - This class was removed. Manually add an `apt::source` instead. [Example](examples/debian_testing.pp)
493
494 ##### `apt::debian::unstable`
495 - This class was removed. Manually add an `apt::source` instead. [Example](examples/debian_unstable.pp)
496
497 ##### `apt::force`
498 - This define was removed. Functionallity can be matched by setting `install_options` in the package resource. See [here](examples/force.pp) for how to set the options.
499
500 ##### `apt::hold`
501 - This define was removed. Simply use an `apt::pin` with `priority => 1001` for the same functionality.
502
503 ##### `apt`
504 - `always_apt_update` - This parameter was removed. Use `update => { 'frequency' => 'always' }` instead.
505 - `apt_update_frequency` - This parameter was removed. Use `update => { 'frequency' => <frequency> }` instead.
506 - `disable_keys` - This parameter was removed. See this [example](examples/disable_keys.pp) if you need this functionality.
507 - `proxy_host` - This parameter was removed. Use `proxy => { 'host' => <host> }` instead.
508 - `proxy_port` - This parameter was removed. Use `proxy => { 'port' => <port> }` instead.
509 - `purge_sources_list` - This parameter was removed. Use `purge => { 'sources.list' => <bool> }` instead.
510 - `purge_sources_list_d` - This parameter was removed. Use `purge => { 'sources.list.d' => <bool> }` instead.
511 - `purge_preferences` - This parameter was removed. Use `purge => { 'preferences' => <bool> }` instead.
512 - `purge_preferences_d` - This parameter was removed. Use `purge => { 'preferences.d' => <bool> }` instead.
513 - `update_timeout` - This parameter was removed. Use `update => { 'timeout' => <timeout> }` instead.
514 - `update_tries` - This parameter was removed. Use `update => { 'tries' => <tries> }` instead.
515
516 ##### `apt::key`
517 - `key` - This parameter was renamed to `id`.
518 - `key_content` - This parameter was renamed to `content`.
519 - `key_source` - This parameter was renamed to `source`.
520 - `key_server` - This parameter was renamed to `server`.
521 - `key_options` - This parameter was renamed to `options`.
522
523 ##### `apt::release`
524 - This class was removed. See this [example](examples/release.pp) for how to achieve this functionality.
525
526 ##### `apt::source`
527 - `include_src` - This parameter was removed. Use `include => { 'src' => <bool> }` instead. ***NOTE*** This now defaults to false.
528 - `include_deb` - This parameter was removed. Use `include => { 'deb' => <bool> }` instead.
529 - `required_packages` - This parameter was removed. Use package resources for these packages if needed.
530 - `key` - This can either be a key id or a hash including key options. If using a hash, `key => { 'id' => <id> }` must be specified.
531 - `key_server` - This parameter was removed. Use `key => { 'server' => <server> }` instead.
532 - `key_content` - This parameter was removed. Use `key => { 'content' => <content> }` instead.
533 - `key_source` - This parameter was removed. Use `key => { 'source' => <source> }` instead.
534 - `trusted_source` - This parameter was renamed to `allow_unsigned`.
535
536 ##### `apt::unattended_upgrades`
537 - This class was removed and is being republished under the puppet-community namespace. The git repository is available [here](https://github.com/puppet-community/puppet-unattended_upgrades) and it will be published to the forge [here](https://forge.puppetlabs.com/puppet/unattended_upgrades).
538
539 #### Changes to default behavior
540 - By default purge unmanaged files in 'sources.list', 'sources.list.d', 'preferences', and 'preferences.d'.
541 - Changed default for `package_manage` in `apt::ppa` to `false`. Set to `true` in a single PPA if you need the package to be managed.
542 - `apt::source` will no longer include the `src` entries by default.
543 - `pin` in `apt::source` now defaults to `undef` instead of `false`
544
545 #### Features
546 - Added the ability to pass hashes of `apt::key`s, `apt::ppa`s, and `apt::setting`s to `apt`.
547 - Added 'https' key to `proxy` hash to allow disabling `https_proxy` for the `apt::ppa` environment.
548 - Added `apt::setting` define to abstract away configuration.
549 - Added the ability to pass hashes to `pin` and `key` in `apt::backports` and `apt::source`.
550
551 #### Bugfixes
552 - Fixes for strict variables.
553
554 ## 2015-03-17 - Supported Release 1.8.0
555 ### Summary
556
557 This is the last planned feature release of the 1.x series of this module. All new features will be evaluated for puppetlabs-apt 2.x.
558
559 This release includes many important features, including support for full fingerprints, and fixes issues where `apt_key` was not supporting user/password and `apt_has_updates` was not properly parsing the `apt-check` output.
560
561 #### Changes to default behavior
562 - The apt module will now throw warnings if you don't use full fingerprints for `apt_key`s
563
564 #### Features
565 - Use gpg to check keys to work around https://bugs.launchpad.net/ubuntu/+source/gnupg2/+bug/1409117 (MODULES-1675)
566 - Add 'oldstable' to the default update origins for wheezy
567 - Add utopic, vivid, and cumulus compatibility
568 - Add support for full fingerprints
569 - New parameter for `apt::source`
570   - `trusted_source`
571 - New parameters for `apt::ppa`
572   - `package_name`
573   - `package_manage`
574 - New parameter for `apt::unattended_upgrades`
575   - `legacy_origin`
576 - Separate `apt::pin` from `apt::backports` to allow pin by release instead of origin
577
578 #### Bugfixes
579 - Cleanup lint and future parser issues
580 - Fix to support username and passwords again for `apt_key` (MODULES-1119)
581 - Fix issue where `apt::force` `$install_check` didn't work with non-English locales (MODULES-1231)
582 - Allow 5 digit ports in `apt_key`
583 - Fix for `ensure => absent` in `apt_key` (MODULES-1661)
584 - Fix `apt_has_updates` not parsing `apt-check` output correctly
585 - Fix inconsistent headers across files (MODULES-1200)
586 - Clean up formatting for 50unattended-upgrades.erb
587
588 ## 2014-10-28 - Supported Release 1.7.0
589 ### Summary
590
591 This release includes several new features, documentation and test improvements, and a few bug fixes.
592
593 #### Features
594 - Updated unit and acceptance tests
595 - Update module to work with Linux Mint
596 - Documentation updates
597 - Future parser / strict variables support
598 - Improved support for long GPG keys
599 - New parameters!
600   - Added `apt_update_frequency` to apt
601   - Added `cfg_files` and `cfg_missing` parameters to apt::force
602   - Added `randomsleep` to apt::unattended_upgrades
603 - Added `apt_update_last_success` fact
604 - Refactored facts for performance improvements
605
606 #### Bugfixes
607 - Update apt::builddep to require Exec['apt_update'] instead of notifying it
608 - Clean up lint errors
609
610 ## 2014-08-20 - Supported Release 1.6.0
611 ### Summary
612
613 #### Features
614 - Allow URL or domain name for key_server parameter
615 - Allow custom comment for sources list
616 - Enable auto-update for Debian squeeze LTS
617 - Add facts showing available updates
618 - Test refactoring
619
620 #### Bugfixes
621 - Allow dashes in URL or domain for key_server parameter
622
623 ## 2014-08-13 - Supported Release 1.5.3
624 ### Summary
625
626 This is a bugfix releases.  It addresses a bad regex, failures with unicode
627 characters, and issues with the $proxy_host handling in apt::ppa.
628
629 #### Features
630 - Synced files from Modulesync
631
632 #### Bugfixes
633 - Fix regex to follow APT requirements in apt::pin
634 - Fix for unicode characters
635 - Fix inconsistent $proxy_host handling in apt and apt::ppa
636 - Fix typo in README
637 - Fix broken acceptance tests
638
639 ## 2014-07-15 - Supported Release 1.5.2
640 ### Summary
641
642 This release merely updates metadata.json so the module can be uninstalled and
643 upgraded via the puppet module command.
644
645 ## 2014-07-10 - Supported Release 1.5.1
646 ### Summary
647
648 This release has added tests to ensure graceful failure on OSX.
649
650 ## 2014-06-04 - Release 1.5.0
651 ### Summary
652
653 This release adds support for Ubuntu 14.04.  It also includes many new features
654 and important bugfixes.  One huge change is that apt::key was replaced with
655 apt_key, which allows you to use puppet resource apt_key to inventory keys on
656 your system.
657
658 Special thanks to daenney, our intrepid unofficial apt maintainer!
659
660 #### Features
661 - Add support for Ubuntu Trusty!
662 - Add apt::hold define
663 - Generate valid *.pref files in apt::pin
664 - Made pin_priority configurable for apt::backports
665 - Add apt_key type and provider
666 - Rename "${apt_conf_d}/proxy" to "${apt_conf_d}/01proxy"
667 - apt::key rewritten to use apt_key type
668 - Add support for update_tries to apt::update
669
670 #### Bugfixes
671 - Typo fixes
672 - Fix unattended upgrades
673 - Removed bogus line when using purge_preferences
674 - Fix apt::force to upgrade allow packages to be upgraded to the pacakge from the specified release
675
676 ## 2014-03-04 - Supported Release 1.4.2
677 ### Summary
678
679 This is a supported release. This release tidies up 1.4.1 and re-enables
680 support for Ubuntu 10.04
681
682 #### Features
683
684 #### Bugfixes
685 - Fix apt:ppa to include the -y Ubuntu 10.04 requires.
686 - Documentation changes.
687 - Test fixups.
688
689 #### Known Bugs
690
691 * No known issues.
692
693
694
695 ## 2014-02-13 1.4.1
696 ### Summary
697 This is a bugfix release.
698
699 #### Bugfixes
700 - Fix apt::force unable to upgrade packages from releases other than its original
701 - Removed a few refeneces to aptitude instead of apt-get for portability
702 - Removed call to getparam() due to stdlib dependency
703 - Correct apt::source template when architecture is provided
704 - Retry package installs if apt is locked
705 - Use root to exec in apt::ppa
706 - Updated tests and converted acceptance tests to beaker
707
708 ## 2013-10-08 - Release 1.4.0
709
710 ### Summary
711
712 Minor bugfix and allow the timeout to be adjusted.
713
714 #### Features
715 - Add an `updates_timeout` to apt::params
716
717 #### Bugfixes
718 - Ensure apt::ppa can read a ppa removed by hand.
719
720
721 ## 2013-10-08 - Release 1.3.0
722 ### Summary
723
724 This major feature in this release is the new apt::unattended_upgrades class,
725 allowing you to handle Ubuntu's unattended feature.  This allows you to select
726 specific packages to automatically upgrade without any further user
727 involvement.
728
729 In addition we extend our Wheezy support, add proxy support to apt:ppa and do
730 various cleanups and tweaks.
731
732 #### Features
733 - Add apt::unattended_upgrades support for Ubuntu.
734 - Add wheezy backports support.
735 - Use the geoDNS http.debian.net instead of the main debian ftp server.
736 - Add `options` parameter to apt::ppa in order to pass options to apt-add-repository command.
737 - Add proxy support for apt::ppa (uses proxy_host and proxy_port from apt).
738
739 #### Bugfixes
740 - Fix regsubst() calls to quote single letters (for future parser).
741 - Fix lint warnings and other misc cleanup.
742
743
744 ## 2013-07-03 - Release 1.2.0
745
746 #### Features
747 - Add geppetto `.project` natures
748 - Add GH auto-release
749 - Add `apt::key::key_options` parameter
750 - Add complex pin support using distribution properties for `apt::pin` via new properties:
751   - `apt::pin::codename`
752   - `apt::pin::release_version`
753   - `apt::pin::component`
754   - `apt::pin::originator`
755   - `apt::pin::label`
756 - Add source architecture support to `apt::source::architecture`
757
758 #### Bugfixes
759 - Use apt-get instead of aptitude in apt::force
760 - Update default backports location
761 - Add dependency for required packages before apt-get update
762
763
764 ## 2013-06-02 - Release 1.1.1
765 ### Summary
766
767 This is a bug fix release that resolves a number of issues:
768
769 * By changing template variable usage, we remove the deprecation warnings
770   for Puppet 3.2.x
771 * Fixed proxy file removal, when proxy absent
772
773 Some documentation, style and whitespaces changes were also merged. This
774 release also introduced proper rspec-puppet unit testing on Travis-CI to help
775 reduce regression.
776
777 Thanks to all the community contributors below that made this patch possible.
778
779 #### Detail Changes
780
781 * fix minor comment type (Chris Rutter)
782 * whitespace fixes (Michael Moll)
783 * Update travis config file (William Van Hevelingen)
784 * Build all branches on travis (William Van Hevelingen)
785 * Standardize travis.yml on pattern introduced in stdlib (William Van Hevelingen)
786 * Updated content to conform to README best practices template (Lauren Rother)
787 * Fix apt::release example in readme (Brian Galey)
788 * add @ to variables in template (Peter Hoeg)
789 * Remove deprecation warnings for pin.pref.erb as well (Ken Barber)
790 * Update travis.yml to latest versions of puppet (Ken Barber)
791 * Fix proxy file removal (Scott Barber)
792 * Add spec test for removing proxy configuration (Dean Reilly)
793 * Fix apt::key listing longer than 8 chars (Benjamin Knofe)
794
795
796
797
798 ## Release 1.1.0
799 ### Summary
800
801 This release includes Ubuntu 12.10 (Quantal) support for PPAs.
802
803 ---
804
805 ## 2012-05-25 - Puppet Labs <info@puppetlabs.com> - Release 0.0.4
806 ### Summary
807
808  * Fix ppa list filename when there is a period in the PPA name
809  * Add .pref extension to apt preferences files
810  * Allow preferences to be purged
811  * Extend pin support
812
813
814 ## 2012-05-04 - Puppet Labs <info@puppetlabs.com> - Release 0.0.3
815 ### Summary
816
817  * only invoke apt-get update once
818  * only install python-software-properties if a ppa is added
819  * support 'ensure => absent' for all defined types
820  * add apt::conf
821  * add apt::backports
822  * fixed Modulefile for module tool dependency resolution
823  * configure proxy before doing apt-get update
824  * use apt-get update instead of aptitude for apt::ppa
825  * add support to pin release
826
827
828 ## 2012-03-26 - Puppet Labs <info@puppetlabs.com> - Release 0.0.2
829 ### Summary
830
831 * 41cedbb (#13261) Add real examples to smoke tests.
832 * d159a78 (#13261) Add key.pp smoke test
833 * 7116c7a (#13261) Replace foo source with puppetlabs source
834 * 1ead0bf Ignore pkg directory.
835 * 9c13872 (#13289) Fix some more style violations
836 * 0ea4ffa (#13289) Change test scaffolding to use a module & manifest dir fixture path
837 * a758247 (#13289) Clean up style violations and fix corresponding tests
838 * 99c3fd3 (#13289) Add puppet lint tests to Rakefile
839 * 5148cbf (#13125) Apt keys should be case insensitive
840 * b9607a4 Convert apt::key to use anchors
841
842
843 ## 2012-03-07 - Puppet Labs <info@puppetlabs.com> - Release 0.0.1
844 ### Summary
845
846 * d4fec56 Modify apt::source release parameter test
847 * 1132a07 (#12917) Add contributors to README
848 * 8cdaf85 (#12823) Add apt::key defined type and modify apt::source to use it
849 * 7c0d10b (#12809) $release should use $lsbdistcodename and fall back to manual input
850 * be2cc3e (#12522) Adjust spec test for splitting purge
851 * 7dc60ae (#12522) Split purge option to spare sources.list
852 * 9059c4e Fix source specs to test all key permutations
853 * 8acb202 Add test for python-software-properties package
854 * a4af11f Check if python-software-properties is defined before attempting to define it.
855 * 1dcbf3d Add tests for required_packages change
856 * f3735d2 Allow duplicate $required_packages
857 * 74c8371 (#12430) Add tests for changes to apt module
858 * 97ebb2d Test two sources with the same key
859 * 1160bcd (#12526) Add ability to reverse apt { disable_keys => true }
860 * 2842d73 Add Modulefile to puppet-apt
861 * c657742 Allow the use of the same key in multiple sources
862 * 8c27963 (#12522) Adding purge option to apt class
863 * 997c9fd (#12529) Add unit test for apt proxy settings
864 * 50f3cca (#12529) Add parameter to support setting a proxy for apt
865 * d522877 (#12094) Replace chained .with_* with a hash
866 * 8cf1bd0 (#12094) Remove deprecated spec.opts file
867 * 2d688f4 (#12094) Add rspec-puppet tests for apt
868 * 0fb5f78 (#12094) Replace name with path in file resources
869 * f759bc0 (#11953) Apt::force passes $version to aptitude
870 * f71db53 (#11413) Add spec test for apt::force to verify changes to unless
871 * 2f5d317 (#11413) Update dpkg query used by apt::force
872 * cf6caa1 (#10451) Add test coverage to apt::ppa
873 * 0dd697d include_src parameter in example; Whitespace cleanup
874 * b662eb8 fix typos in "repositories"
875 * 1be7457 Fix (#10451) - apt::ppa fails to "apt-get update" when new PPA source is added
876 * 864302a Set the pin priority before adding the source (Fix #10449)
877 * 1de4e0a Refactored as per mlitteken
878 * 1af9a13 Added some crazy bash madness to check if the ppa is installed already. Otherwise the manifest tries to add it on every run!
879 * 52ca73e (#8720) Replace Apt::Ppa with Apt::Builddep
880 * 5c05fa0 added builddep command.
881 * a11af50 added the ability to specify the content of a key
882 * c42db0f Fixes ppa test.
883 * 77d2b0d reformatted whitespace to match recommended style of 2 space indentation.
884 * 27ebdfc ignore swap files.
885 * 377d58a added smoke tests for module.
886 * 18f614b reformatted apt::ppa according to recommended style.
887 * d8a1e4e Created a params class to hold global data.
888 * 636ae85 Added two params for apt class
889 * 148fc73 Update LICENSE.
890 * ed2d19e Support ability to add more than one PPA
891 * 420d537 Add call to apt-update after add-apt-repository in apt::ppa
892 * 945be77 Add package definition for python-software-properties
893 * 71fc425 Abs paths for all commands
894 * 9d51cd1 Adding LICENSE
895 * 71796e3 Heading fix in README
896 * 87777d8 Typo in README
897 * f848bac First commit
898
899 [5.0.1]:https://github.com/puppetlabs/puppetlabs-apt/compare/5.0.0...5.0.1
900 [5.0.0]:https://github.com/puppetlabs/puppetlabs-apt/compare/4.5.1...5.0.0
901 [4.5.1]:https://github.com/puppetlabs/puppetlabs-apt/compare/4.5.0...4.5.1
902 [4.5.0]:https://github.com/puppetlabs/puppetlabs-apt/compare/4.4.1...4.5.0
903 [4.4.1]:https://github.com/puppetlabs/puppetlabs-apt/compare/4.4.0...4.4.1
904 [4.4.0]:https://github.com/puppetlabs/puppetlabs-apt/compare/4.3.0...4.4.0
905 [4.3.0]:https://github.com/puppetlabs/puppetlabs-apt/compare/4.2.0...4.3.0
906 [4.2.0]:https://github.com/puppetlabs/puppetlabs-apt/compare/4.1.0...4.2.0
907
908
909 \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*