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