You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+47Lines changed: 47 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,50 @@
1
+
## Supported Release 4.13.0
2
+
### Summary
3
+
4
+
This version of stdlib deprecates a whole host of functions, and provides stepping stones to move to Puppet 4 type validations. Be sure to check out the new `deprecation()` and `validate_legacy()` functions to migrate off the deprecated v3-style data validations.
5
+
6
+
Many thanks to all community contributors: bob, Dmitry Ilyin, Dominic Cleal, Joris, Joseph Yaworski, Loic Antoine-Gombeaud, Maksym Melnychok, Michiel Brandenburg, Nate Potter, Romain Tartière, Stephen Benjamin, and Steve Moore, as well as anyone contributing in the code review process and by submitting issues.
7
+
8
+
Special thanks to [Voxpupuli's](https://voxpupuli.org/) Igor Galić for donating the puppet-tea types to kickstart this part of stdlib.
9
+
10
+
11
+
#### Deprecations
12
+
*`validate_absolute_path`, `validate_array`, `validate_bool`, `validate_hash`, `validate_integer`, `validate_ip_address`, `validate_ipv4_address`, `validate_ipv6_address`, `validate_numeric`, `validate_re`, `validate_slength`, `validate_string`, and their `is_` counter parts are now deprecated on Puppet 4. See the `validate_legacy()` description in the README for help on migrating away from those functions.
13
+
* The `dig` function is provided by core puppet since 4.5.0 with slightly different calling convention. The stdlib version can still be accessed as `dig44` for now.
14
+
15
+
16
+
#### Features
17
+
* Add Puppet 4 data types for Unix, and Windows paths, and URLs.
18
+
* Add `deprecation` function to warn users of functionality that will be removed soon.
19
+
* Add `validate_legacy` function to help with migrating to Puppet 4 data types.
20
+
21
+
* Add `any2bool` function, a combination of of `string2bool` and `num2bool`.
22
+
* Add `delete_regex` function to delete array elements matching a regular expression.
23
+
* Add `puppet_environmentpath` fact to expose the `environmentpath` setting.
24
+
* Add `regexpescape` function to safely insert arbitrary strings into regular expressions.
25
+
* Add `shell_escape`, `shell_join`, and `shell_split` functions for safer working with shell scripts..
26
+
27
+
* The `delete` function now also accepts regular expressions as search term.
28
+
* The `loadyaml` function now accepts a default value, which is returned when there is an error loading the file.
29
+
30
+
#### Bugfixes
31
+
* Fix `file_line.match_for_absence` implementation and description to actually work. (MODULES-3590)
32
+
* Fix `getparam` so that it can now also return `false`. (MODULES-3933)
33
+
* Fix the fixture setup for testing and adjust `load_module_metadata` and `loadjson` tests.
34
+
* Fix `defined_with_params` to handle `undef` correctly on all puppet versions. (PUP-6422, MODULES-3543)
35
+
* Fix `file_line.path` validation to use puppet's built in `absolute_path?` matcher.
36
+
37
+
#### Minor Improvements
38
+
* README changes: improved descriptions of `deep_merge`, `delete`, `ensure_packages`, `file_line.after`, `range`, and `validate_numeric`.
39
+
* The `getvar` function now returns nil in all situations where the variable is not found.
40
+
* Update the `dig44` function with better `undef`, `nil`, and `false` handling.
41
+
* Better wording on `str2bool` argument validation error message.
42
+
43
+
44
+
### Known issues
45
+
* The `validate_legacy` function relies on internal APIs from Puppet 4.4.0 (PE 2016.1) onwards, and doesn't work on earlier versions.
46
+
* Puppet 4.5.0 (PE 2016.2) has a number of improvements around data types - especially error handling - that make working with them much nicer.
Copy file name to clipboardExpand all lines: README.markdown
+18-13Lines changed: 18 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
#stdlib
1
+
#stdlib
2
2
3
-
####Table of Contents
3
+
####Table of Contents
4
4
5
5
1.[Overview](#overview)
6
6
2.[Module Description - What the module does and why it is useful](#module-description)
@@ -10,11 +10,11 @@
10
10
5.[Limitations - OS compatibility, etc.](#limitations)
11
11
6.[Development - Guide for contributing to the module](#development)
12
12
13
-
##Overview
13
+
##Overview
14
14
15
15
Adds a standard library of resources for Puppet modules.
16
16
17
-
##Module Description
17
+
##Module Description
18
18
19
19
This module provides a standard library of resources for the development of Puppet modules. Puppet modules make heavy use of this standard library. The stdlib module adds the following resources to Puppet:
20
20
@@ -27,11 +27,11 @@ This module provides a standard library of resources for the development of Pupp
27
27
28
28
> *Note:* As of version 3.7, Puppet Enterprise no longer includes the stdlib module. If you're running Puppet Enterprise, you should install the most recent release of stdlib for compatibility with Puppet modules.
29
29
30
-
##Setup
30
+
##Setup
31
31
32
32
Installing the stdlib module adds the functions, facts, and resources of this standard library to Puppet.
33
33
34
-
##Usage
34
+
##Usage
35
35
36
36
After you've installed stdlib, all of its functions, facts, and resources are available for module use or development.
37
37
@@ -136,36 +136,39 @@ All parameters are optional, unless otherwise noted.
136
136
137
137
### Data Types
138
138
139
-
#### `absolutepath`
139
+
#### `Stdlib::Absolutepath`
140
140
141
141
A strict absolute path type. Uses a Variant of Unixpath and Windowspath types.
@@ -1439,6 +1442,8 @@ validate_legacy("Optional[String]", "validate_re", "Value to be validated", ["."
1439
1442
1440
1443
This function supports updating modules from Puppet 3 style argument validation (using the stdlib `validate_*` functions) to Puppet 4 data types, without breaking functionality for those depending on Puppet 3 style validation.
1441
1444
1445
+
> Note: This function relies on internal APIs from Puppet 4.4.0 (PE 2016.1) onwards, and doesn't work on earlier versions.
1446
+
1442
1447
##### For module users
1443
1448
1444
1449
If you are running Puppet 4 and receiving deprecation warnings about `validate_*` functions, the `validate_legacy` function can help you find and resolve the deprecated code.
Puppet Labs modules on the Puppet Forge are open projects, and community contributions are essential for keeping them great. We can’t access the huge number of platforms and myriad hardware, software, and deployment configurations that Puppet is intended to serve. We want to keep it as easy as possible to contribute changes so that our modules work in your environment. There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things. For more information, see our [module contribution guide](https://docs.puppetlabs.com/forge/contributing.html).
1657
1662
1658
1663
To report or research a bug with any part of this module, please go to
0 commit comments