blob: c25d6396c2f949e8b39e60b3a727a0210a6f2d21 (
plain)
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
|
*This file holds "in progress" release notes for the current release under development and is intended for consumption by the Chef Documentation team.
Please see `https://docs.chef.io/release/<major>-<minor>/release_notes.html` for the official Chef release notes.*
# Chef Client Release Notes 12.9:
## Possible Compat Break with `use_inline_resources` and non-LWRPBase library providers
The correct pattern for LWRPBase-style library providers looks something like:
```ruby
class MyProvider < Chef::Provider::LWRPBase
use_inline_resources
action :stuff do
file "/tmp/whatever.txt"
end
end
```
Starting in 12.5 the `use_inline_resources` directive was mixed into Chef::Provider directly and had the
side effect of mixing in the DSL. After 12.5 it would have worked to write code like this:
```ruby
class MyProvider < Chef::Provider
use_inline_resources
action :stuff do
file "/tmp/whatever.txt"
end
end
```
But that code would be broken (with a hard syntax error on `use_inline_resources` on prior versions of
chef-client). After 12.9 that code will now be broken again on the use of the Recipe DSL which has been removed
from Chef::Provider when mixing `use_inline_resources` into classes that only inherit from the core
class. If any code has been written like this, it should be modified to correctly inherit from
Chef::Provider::LWRPBase instead (which will have the side effect of fixing it so that it correctly works
on Chef 11.0-12.5 as well).
## Shorthand options for `log_location`
The `log_location` setting now accepts shorthand `:syslog` and
`:win_evt` options. `:syslog` is shorthand for `Chef::Log::Syslog.new`
and `:win_evt` is shorthand for `Chef::Log::WinEvt.new`. All previously
valid options are still valid, including Logger or Logger-like
instances, e.g. `Chef::Log::Syslog.new` with other args than the
defaults.
## chef-client `--daemonize` option now takes an optional integer argument
Optional integer argument (.e.g `chef-client --daemonize 5`) is the
number of seconds to wait before the first daemonized run. See
[#3305] for background.
[#3305]: https://github.com/chef/chef/issues/3305
|