a new patch to include a -pkgsrc-runtime compilation option. This option is
needed to compile devel/pcre-ocaml due to buildlink shenanigans
(see http://mail-index.netbsd.org/pkgsrc-users/2014/12/18/msg020800.html )
Changes:
(Changes that can break existing programs are marked with a "*")
Standard library:
* Add optional argument ?limit to Arg.align.
- Bug in Makefile.nt: won't stop on error
- Improve MSVC build
- Configure doesn't detect features correctly on Haiku
- Non-exhaustive matching warning message for open types is confusing
- fix quadratic-time algorithm in Consistbl.extract.
- Add stack overflow handling for native code (OpenBSD i386 and amd64)
- broken semantics of %(%) when substitued by a box
- legacy support for %.10s
- better documentation of flag # in format strings
- Bytes and CamlinternalFormat missing from threads stdlib.cma
- -dsource omits parens for `List ((`String "A")::[]) in patterns
- __MODULE__ aborts the compiler if the module name cannot be inferred
- Debug section is sometimes not readable when using -pack
- Missing command line options for ocamldoc
- fix race condition when retrieving backtraces
- String.sub throws Invalid_argument("Bytes.sub")
- Fix ocamldebug module source lookup
- Inclusion of packs failing to run module initializers
- infinite loop in Mtype.remove_aliases
- compilation fails with Env.Error(_)
- -short-paths and signature inclusion errors
- Fatal error with recursive modules
- Recursive module containing alias causes Segmentation fault
- Some bugs in generative functors
- ocamldep support for "-open M"
- Code generation errors for ARM
- Improve Windows (MSVC and mingw) build
- ocamlbuild: add -bin-annot when using -pack
- Fatal error when tracing a function with abstract type
- ocamlbuild: add an -ocamlmklib option to change the ocamlmklib command
Release 0.7.2
=============
Changes
-------
- Give precedence to the DVD menu navigation keyboard bindings so that user
defined LEFT/RIGHT/... bindings don't break DVD menu navigation.
- Try to fallback to the "default" device if the selected device is busy in the
alsa AO.
- Don't create Dock icon for audio only files on OS X.
- Save screenshots to desktop when using the app bundle on OS X.
- Restore ab-loop settings with playback resume.
- Bump required youtube-dl version to 2014.11.26 and enable the ytdl_hook Lua
script by default (now playing videos from YouTube and the like will work
out of the box without any configuration change needed).
Bug fixes
---------
- Don't signal an error if --stream-dump is used.
- Fix removing key bindings from Lua scripts.
- Reject channel descriptions with too many channels in the coreaudio AO.
- Don't async redraw when waiting for VO redraw on OS X (this fixes the very
annoying glitch where the black bars disappear for a single frame when going
fullscreen).
- Fix mono playback with the also AO.
- Don't crash if framebuffers are not available in the opengl VO.
New features
------------
- Try to handle multi-arc videos in the ytdl_hook Lua script.
Release 0.7.1
=============
Changes
-------
- Don't show the volume neutral marker on the OSD if softvol is disabled.
- Don't select a subtitle track when executing the sub_add input command in
"auto" mode.
Bug fixes
---------
- Fix busy loop when seeking while paused (this fixes a problem with pulseaudio
that caused mpv and the pulseaudio daemon to use 100% CPU).
- Fix Lua function utils.subprocess() in Windows versions older than Vista.
- Avoid creating a window bigger than the screen on Windows.
- Don't ignore the last line in m3u playlists.
- Don't crash if a codec could not be opened.
- Dynamically allocate audio channel map entries (this should fix a crash in
the alsa and coreaudio AOs with audio devices that support more than 20
channel maps).
- Ignore the "srgb" option in the opengl VO if hardware decoding is enabled.
- Linearize non-RGB sRGB files correctly (eg. JPEG).
- Fix opening reference URLs (.file/id=) on OS X.
Release 0.7.0
=============
Changes
-------
- Buffer partial log messages in the client API (the client API will now only
pass full log messages to clients).
- Remove ncurses/terminfo/termcap support (it was disabled by default and
replaced by new code since v0.6.0).
- Enable cdda:// support by default again (it was disabled since v0.6.0).
- Cascade-load input.conf (if there are several input.confs in the set of valid
config paths, load them all).
- Draw the OSD twice in 3D mode (this fixes subtitles display in 3D mode).
- Make wasapi the default AO on Windows again since many of its problems have
been solved.
- Use "site-functions" subdir to install the zsh completion script instead of
the Debian-specific "vendor-completions" (also provide the --zshdir waf
configure option for changing this value).
- Improve synchronization between the Cocoa GUI and the player (this fixes some
long standing deadlock issues on Mac OS X).
- Remove --fs-missioncontrol option (only relevant to Mac OS X).
New features
------------
- Enable pitch correction by default when playing at higher speeds (this can be
controlled with the --audio-pitch-correction option).
- Open stream and demuxer asynchronously (this should avoid having the player
get blocked on network streams).
- Add cache-buffering-state property for querying the cache fill status until
the player unpauses.
- Add support for listing and selecting the audio device (note that it is not
implemented for all AOs, see the --audio-device option for more information).
- Add support for a JSON-based IPC mechanism (note that this is not currently
supported on Windows, see the JSON IPC section in the manpage for more
information).
- Add Lua utility function for starting processes (see utils.subprocess() in the
manpage).
- Add Lua utility function for parsing JSON (see utils.parse_json() in the
manpage).
- Add field-dominance property (see --field-dominance option).
- Add video-rotate property (see --video-rotate option).
- Add playback-abort property for querying whether playback is stopped or is to
be stopped.
- Add cursor-autohide property (see --cursor-autohide option).
- Add vo-configured property for querying whether a window is created.
- Add support for dxva2 hardware acceleration on Windows.
- Drop libquvi support (this has been replaced by a built-in Lua script that
invokes the youtube-dl tool, which needs to be installed, see the --ytdl
option).
- Add support for loading chapters from an external file (see the
--chapters-file option).
- Add window-minimized property for querying whether the window is minimized
(works for X11 only).
- Make it possible to configure the OSC seekbar style (see the "seekbarstyle"
OSC option).
- Add support for libmpv on Mac OS X (it used to be broken, now it's fully
functional and also provides support for embedding the mpv window inside a
Cocoa/Qt application).
- Try to use the audio channel map reported by ALSA in the alsa AO.
- Add option to disable text OSD rendering completely (useful for working around
certain fontconfig issues, see the --use-text-osd option).
(with post 2.6.0 fix: bin/httpclient one-liner broken)
## Changes
### Changes in 2.6.0
This release includes internal CookieManager implementation change. It
involves compatibility layer but for the case your library depends on internal
implementation it also provides a way to restore the implementation. See below
for more details.
* Changes
* feat: use http-cookie if available for better Cookies spec compliance.
Instead of WebAgent 0.6.2 that is not maintained over 10 years. To omit
maintaining that library use http-cookie for better spec compliance and
healthy development.
This introduces following incompatibility from existing cookies
implementation.
* Expired cookies are not saved. With the old implementation expired
cookies are saved in file and not be sent to the server. With the new
implementation the expired cookies are not saved to the file and not
be sent to the server.
* Cookie#domain returns dot-less domain for domain cookies. Instead,
Cookie#dot_domain returns with dot.
http-cookie is used by default if available but you can restore original
CookieManager behavior by loading 'httpclient/webagent-cookie' feature
before 'httpclient' like this;
```ruby
require 'httpclient/webagent-cookie'
require 'httpclient'
```
The new implementation dumps warnings to help you migrate to http-cookie.
Please follow the suggestion to avoid future compatibility.
```ruby
e.g.
WebAgent::Cookie is deprecated and will be replaced with HTTP::Cookie in the near future. Please use Cookie#origin= instead of Cookie#url= for the replacement.
Cookie#domain returns dot-less domain name now. Use Cookie#dot_domain if you need "." at the beginning.
CookieManager#find is deprecated and will be removed in near future. Use HTTP::Cookie.cookie_value(CookieManager#cookies) instead
```
* feat: Message#previous to get responses in negotiation
HTTP::Message#previous keeps previous response in negotiation. For
redirection, authorization negotiation and retry from custom filter.
Closes#234.
* feat: Add JSONClient
JSONClient auto-converts Hash <-> JSON in request and response.
* For POST or PUT request, convert Hash body to JSON String with
'application/json; charset=utf-8' header.
* For response, convert JSON String to Hash when content-type is
'(application|text)/(x-)?json'
This commit include bin/jsonclient that works as same as bin/httpclient
not with HTTPClient but with JSONClient.
* feat: Add download command
```
% httpclient download http://host/path > file
```
* Bug fixes
* fix: duplicated query params by follow_redirect
When the original request has query and the server returns redirection
response with Location, HTTPClient wrongly adds query to the new URI. In
such case the Location header could include query part;
```
e.g.
http://originalhost/api/call?limit=10
-> Location: http://otherhost/api/call?limit=10
```
HTTPClient should just hit the new location '/api/call?limit=10' not
'/api/call?limit=10&limit=10'. Closes#236.
* fix: NTLM & Basic dual auth
When a server returns two or more WWW-Authenticate headers and the first
one is NTLM, say WWW-Authenticate: NTLM and WWW-Authenticate: Basic in
this order, HTTPClient sent Basic Authorization header after finishing
NTLM auth negotiation.
NTLM auth is a connection authentication scheme so HTTPClient deleted
the internal auth negotiation state so that NTLM authenticator does not
do anything after the negotiation has completed. In such case, for the
subsequent requests, NTLM authenticator does nothing but Basic
authenticator sends Basic Authorization header to the server that is
already negotiated via NTLM authenticator. This can cause authentication
failure.
This commit changes the internal state handling not to delete the state
but introduce :done state. NTLM authenticator returns :skip for the
request to the server that auth negotiation has completed. WWWAuth skips
other authenticator to avoid above issue. Closes#157.
* fix: transplant IO positions to new request in negotiation
In authorization negotiation HTTP::Message for request is generated for
each request, of course, but HTTPClient did not care the IO position
recorded in the previous requests in the subsequent requests. Closes#130.
* fix: avoid inconsistent Content-Length and actual body
If lengths of all posted arguments are known HTTPClient sends
'Content-Length' as a sum length of all arguments. But the length of
actual body was wrong because it read as much as possible regardless of
what IO#size returned. So if the file is getting bigger while HTTPClient
is processing a request the request has inconsistent Content-Length and
body.
This bug is found, and the fix is proposed both by @Teshootub7. Thank
you very much for patient trouble shooting! Fixes#117.
* fix: KeepAliveDisconnected race condition
As details explained in #84, current HTTPClient's KeepAliveDisconnected
handling has a race condition bug that allows a client to have
invalidated connection two or more times. This could be a cause of #185.
To avoid this, make HTTPClient acquire new connection for retry of
KeepAliveDisconnected. Closes#84. Closes#185.
### Changes in 2.5.3
This release includes behavior changes of POST and PUT requests that has
nil as a body. See changes below. Emtpty String as a body is not affected.
* Changes
* Update cacert. "Certificate data from Mozilla as of: Tue Oct 28 22:03:58 2014"
-> Reverted in 2.5.3.3 because it caused unexpected SSLError. See
https://github.com/nahi/httpclient/issues/230
* Allow no content POST and PUT.
Previously POST or PUT with :body => nil meant that 'POST or PUT with 0
length entity body'. But sometimes you need to POST or PUT actually no
content which should not have Content-Type nor Content-Length.
It could be incompatible change for user who POST/PUT-ed with empty body
but it should be rare, actually WEBrick cannot handle such 'no content'
POST and PUT. #128.
* Add default_header property.
:default_header is for providing default headers Hash that all HTTP
requests should have, such as custom 'Authorization' header in API. You
can override :default_header with :header Hash parameter in HTTP request
methods.
* raise if redirect res does not have Location header. #155.
* Bug fixes
* Avoid NPE by a cookie without domain=.
The root cause is still uncertain though. Closes#123
* Suppress verify_callback warning.
Because OpenSSL can try multiple certificate chains and some of it can
fail, and one of them succeeds. For that case warning is irrelevant.
Let it warn only in $DEBUG mode. #221.
### Changes in 2.5.2
Oct 29, 2014 - version 2.5.2
* Changes
* Add :force_basic_auth config - #166, #179, #181.
Generally HTTP client must send Authorization header after it gets 401
error from server from security reason. But in some situation (e.g.
API client) you might want to send Authorization from the beginning.
You can turn on/off force_basic_auth flag for sending Authorization
header from the beginning. (Of cource, if a request URI matches with
the URI you set in set_auth method)
Syntax:
```ruby
HTTPClient.new(:force_basic_auth => true)
# or
c = HTTPClient.new
c.force_basic_auth = true
```
* Add :base_url to HTTPClient configuration.
Passing path to get, post, etc. is recognized as a request to
:base_url + uri. If you pass full URL :base_url is ignored.
```ruby
api = HTTPClient.new(:base_url => 'https://api.example.com/v1')
api.get("/users.json") # => Get https://api.example.com/v1/users.json
api.get("https://localhost/path") # => https://localhost/path
```
### Changes in 2.5.1
Oct 19, 2014 - version 2.5.1
* Changes
* Allow to specify :query in POST, PUT, DELETE and OPTIONS requests.
Closes#83.
* Allow to specify :body in OPTIONS request. Closes#136.
### Changes in 2.5.0
Oct 17, 2014 - version 2.5.0
**IMPORTANT CHANGES**
This version changes (again) default SSL options to help
BEAST/CRIME/POODLE Attack prevension.
* Disabled SSLv3 in favor of POODLE Attack prevention.
* Enabled 1/n-1 fragment in favor of BEAST Attack prevention.
* No TLS compression in favor of CRIME Attack prevention.
You can restore the previous SSL configuration like this;
```ruby
client = HTTPClient.new
client.ssl_config.ssl_version = :SSLv23
client.ssl_config.options = OpenSSL::SSL::OP_ALL | OpenSSL::SSL::OP_NO_SSLv2
```
* Changes
* Change default SSL options. See above.
* Keep cause error of KeepAliveDisconnected. It allows caller to
investigate the cause of KeepAliveDisconnected.
### Changes in 2.4.0
Jun 8, 2014 - version 2.4.0
**IMPORTANT CHANGES**
This version changes default SSL version to :auto (same as nil) to use SSL/TLS
version negotiation. Former versions use SSLv3 as default that does not connect
via TLS. This change makes underlying OpenSSL library decide which SSL/TLS
version to use but SSLv2 is disabled.
This change makes your secure connection safer but if you see SSL connection
failure with this version try specifying SSL version to use SSLv3 like;
```
client = HTTPClient.new
client.ssl_config.ssl_version = :SSLv3
```
* Bug fixes
* Avoid unnecessary connection retries for OAuth error.
[#203](https://github.com/nahi/httpclient/issues/203)
* Make authentication drivers Thread-safe. Note that HTTPClient instance is
Thread-safe for authentication state update but it shares authentication
state across threads by design. If you don't want to share authentication
state, such as for using different authentication username/password pair
per thread, create HTTPClient instance for each Thread.
[#200](https://github.com/nahi/httpclient/issues/200)
* Avoid chunked String recycle in callback block.
[#193](https://github.com/nahi/httpclient/issues/193)
* Do not send empty 'oauth_token' in signed request for compatibility.
[#188](https://github.com/nahi/httpclient/issues/188)
* Ignore negative Content-Length header from server.
[#175](https://github.com/nahi/httpclient/issues/175)
* Fix incorrect use of absolute URL for HTTPS proxy requests.
[#168](https://github.com/nahi/httpclient/issues/168)
* Handle UTF characters in chunked bodies.
[#167](https://github.com/nahi/httpclient/issues/167)
* A new cookie never be accepted if an HTTPClient has the same expired cookie.
[#154](https://github.com/nahi/httpclient/issues/154)
* Allow spaces in NO_PROXY environment like; "hosta, hostb"
[#141](https://github.com/nahi/httpclient/issues/141)
* Avoid HttpClient::Message::Body#dump causes Encoding::CompatibilityError.
[#140](https://github.com/nahi/httpclient/issues/140)
* Changes
* Change default SSL version to :auto to use version negotiation.
[#186](https://github.com/nahi/httpclient/issues/186),
[#204](https://github.com/nahi/httpclient/issues/204)
* Allow to pass client private key passphrase in SSLConfig.
[#201](https://github.com/nahi/httpclient/issues/201)
* Convert README to markdown syntax
[#198](https://github.com/nahi/httpclient/issues/198)
* Update default CA certificates: change the source from JDK's to Firefox's.
The file is downloaded from
https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
(Certificate data from Mozilla as of: Tue Apr 22 08:29:31 2014)
[#195](https://github.com/nahi/httpclient/issues/195)
* Callback block can be defined as to get 2 arguments to retrieve the
response object.
[#194](https://github.com/nahi/httpclient/issues/194)
* Remove [] from given address for IPv6 compat.
[#176](https://github.com/nahi/httpclient/issues/176)
* Update API endpoints to those of Twitter REST API v1.1.
[#150](https://github.com/nahi/httpclient/issues/150)
Version 0.1.0
* Fixed the configuration UI (because ibus config API is changed)
* Add support for gettext (now only zh_TW.po is available)
Version 0.0.4
* Update the tables supporting Unicode 5.3
* show hints in the aux window when pressing 'w'
Version 0.0.3
* ibus 1.4 support
* Fix mess when inputing a wrong root sequence
* remove embedded sqlite dependency
Release 1.14.1 (2014-12-23) Kouhei Sutou <kou@cozmixng.org>
===========================================================
Windows users must upgrade. Non Windows users doesn't need to
upgrade.
Improvements
------------
* Upgraded bundled libraries for Windows. libpng is upgraded to
1.6.16 from 1.6.14. libpng 1.6.14 has vulnerability.
2015-01-20 OpenNTPD 5.7p2
* Switched the drift file from an unscaled frequency offset to ppm.
The latter format is compatible with that of ntp.org. This allows
easy switching between ntpd daemons
* Fixed a memory leak in DNS lookups.
* Added support for setting the process title on Linux and OS X.
The different processes are now possible to tell apart by role in
the process list.
* Import NetBSD support.
* Various bugfixes and refinements from the community.
2015-01-08 OpenNTPD 5.7p1
* Support for a new build infrastructure based on the LibreSSL
framework. Source code is integrated directly from the OpenBSD tree
with few manual changes, easing maintenance.
* Removed support for several OSes pending test reports and updated
portability code.
* Supports the Simple Network Time Protocol version 4 as described in
RFC 5905
* Added route virtualization (rdomain) support.
* Added ntpctl(8), which allows for querying ntpd(8) at runtime.
* Finer-grained clock adjustment via adjfreq / ntp_adjtime where
available.
* Improved latency on heavily-loaded machines.
1.5.0 (2015-01-01)
------------------
* Refactor cleanup procedures
* Fix bugs
- Fix get_image_size() closes Image object automatically
- Fix pasting Image object failed on SVG mode
- Fix#61 images.urlopen() got PermissionError on Windows
- Fix#61 images.open() raises exception if ghostscript not found
- Fix#62 Use "sans-serif" to font-family property on SVG output ("sansserif" is invalid)
- Fix#63 AttributeError on get_image_size(); Pillow (<= 2.4.x) does not have Image#close()
=== 0.8.5 / 2014-09-17
* lyrics support (USLT tag) (thanks to ipmsteven)
* fixed travis CI tests (thanks to ipmsteven)
=== 0.8.4 / 2014-04-26
* more robust frame scanning when unsynced (thanks to emonsqueeze for the bug report)
=== 0.8.3 / 2014-01-18
* fix for ruby 2.1.0 (thanks to smashwilson)
=== 0.8.2 / 2013-11-20
* better parsing of corrupted mp3 (more robust frame scanning)
* upgraded license to GPL 3 (previous license (ruby) is compatible)
=== 0.8.1 / 2013-10-28
* test fixes
* added dot to temp filename
=== 0.8 / 2013-01-28
* allow higher level of reading and writing to APIC tag:
* tag2.pictures, tag2.remove_pictures, tag2.add_picture
* added "<<...snip...>>>" to shorten APIC tag when Hash.inspect called (not a shallow copy hash, deep copied hash so does not effect data) tag2.inspect
=== 0.7.2 / 2012-12-24
* do not try to commit changes to IO or StringIO
=== 0.7.1 / 2012-04-01
* convert to utf-16 little endian (instead of big) for more compatibility
=== 0.7 / 2012-02-29
* removed iconv for ruby >= 1.9
* default encoding for decoded and encoded tags is UTF-8 now (removed :encoding params for ID3v2)
* come back to a non senseless version numbering
=== 0.6.16 / 2011-11-10
* fixed type error when inspecting mp3info (thanks to Jacob Lichner)
=== 0.6.15 / 2011-07-18
* support for StringIO as input (thanks to Edd Parris)
=== 0.6.14 / 2011-06-17
* Added a check for nil that was seen causing problems when processing files. (thanks to Carl Hall)
* Fixed reading on win32, requires binary flag. (thanks to Jonas Tingeborn)
* Fixed white spaces. Replaced tabs with spaces to make the source readable on for users other than the original author. (thanks to Jonas Tingeborn)
* Add :parse_mp3 flag to new/open. (thanks to Dave Lee)
* Add benchmark for parsing performance. (thanks to Dave Lee)
* fixed ID3v2#io_position computing, so Mp3Info#audio_content() is correct now
This release no longer supports Ruby prior to 2.0.0.
Full changelog
--------------
Release: 12.0.3
- Issue 2594 Restore missing require in digester.
Release: 12.0.2
- Issue 2578 Check that installed is not empty for keg_only formula in
Homebrew provider
- Issue 2609 Resolve the circular dependency between ProviderResolver
and Resource.
- Issue 2596 Fix nodes not writing to disk
- Issue 2580 Make sure the relative paths are preserved when using link
resource.
- Pull 2630 Improve knife's SSL error messaging
- Issue 2606 chef 12 ignores default_release for apt_package
- Issue 2602 Fix subscribes resource notifications.
- Issue 2578 Check that installed is not empty for keg_only formula in
Homebrew provider.
- Issue 2625 Fix missing shell_out! for windows_package resource
- Issue 2634 Fix option ':command' is not a valid option error in subversion
provider.
- Issue 2345 Allow knife to install cookbooks with metadata.json.
Release: 12.0.1
- Issue 2552 Create constant for LWRP before calling provides
- Issue 2545 path attribute of execute resource is restored to provide
backwards compatibility with Chef 11.
- Issue 2565 Fix Chef::Knife::Core::BootstrapContext constructor for
knife-windows compat.
- Issue 2566 Make sure Client doesn't raise error when interval is set on
Windows.
- Issue 2560 Fix uninitialized constant Windows::Constants in
windows_eventlog.
- Issue 2563 Make sure the Chef Client rpm packages are signed with GPG keys
correctly.
Release: 12.0.0
- retry on HTTP 50X Error when calling Chef REST API
- The chef-apply command now prints usage information when called without
arguments
- CHEF-4933: idempotency fixes for ifconfig provider
- The knife bootstrap command expands the path of the secret-file
- [CHEF-4101] DeepMerge - support overwriting hash values with nil
- Mount provider remount action now honours options
- Fix noauto support in Solaris Mount Provider
- support version constraints in value_for_platform
- Add environment resource attribute to scm resources
- Use thread-safe OpenSSL::Digest instead of Digest
- Chef::Digester converted to thread-safe Singleton mixin.
- Reload systemd service only if it's running, otherwise start.
- knife diagnostic messages sent to stdout instead of stderr
- Remove the unused StreamingCookbookUploader class (CHEF-4586)
- Fix creation of non-empty FreeBSD groups (#1698)
- Check local repository for ips package installs (#1703)
- Fix "cron" resource handling of special strings (e.g. @reboot, @yearly)
(#1708)
- 'group' provider on OSX properly uses 'dscl' to determine existing groups
- Catch StandardError in Chef::ResourceReporter#post_reporting_data (Issue
1550).
- Fix regex causing DuplicateRole error (Issue 1739).
- Ability to specify an array for data_bag_path. (CHEF-3399, CHEF-4753)
- Use Systemd for recent Fedora and RHEL 7.
- Encrypted data bags should use different HMAC key and include the IV in
the HMAC (CHEF-5356).
- Don't modify variable passed to env resource when updating.
- Add "force" attribute to resource/user, pass "-f" to userdel. (Issue 1601)
- Chef::VersionConstraint#to_s should accurately reflect constraint's
behavior.
- Do not override ShellOut:live_stream if already set.
- Change knife option --force to --delete-validators. (Issue 1652)
- Add Parallels Cloud Server (PCS) platform support.
- Minor fixes for the Paludis package provider:
- only search for non-masked packages,
- increase command timeout length for package installation.
- Use shared_path for deploy resource.
- Add template syntax check to files in the templates/ dir only.
- Allow git provider to checkout existing branch names.
- Add whitespace boundaries to some mount point references in mount
provider.
- Improve the regex for /etc/rc.conf for the FreeBSD service provider
- Fetch recipe_url before loading json_attribs in chef-solo (CHEF-5075)
- Workaround for a breaking change in git's shallow-clone behavior. (Issue
1563)
- Fix version detection in FreeBSD pkgng provider. (PR 1980)
- Fixed gem_package resource to be able to upgrade gems when version is not
set.
- Made Chef Client load library folder recursively.
- Made Chef Client read the non-root crontab entries as the user specified
in the resource.
- Added --dry-run option to knife cookbook site share which displays the
files that are to be uploaded to Supermarket.
- Fixed Chef::HTTP to be able to follow relative redirects.
- Fixed FreeBSD port package provider to interpret FreeBSD version 10
correctly.
- Added source_url and issues_url options to metadata to be used by
Supermarket.
- Fixed Chef Client to use the :client_name instead of :node_name during
initial client registration.
- Fixed Paludis package provider to be able to interpret the package
category.
- Added a more clear error message to chef-apply when no recipe is given.
- Added support for sensitive property to the execute resource.
- Added an error message to prevent unintentional running of exec() in
recipes.
- Fixed a bug in pacman package provider that was preventing the
installation of bind package.
- Changed the default service provider to systemd on SLES versions 12 and
higher.
- Changed the default group provider to gpasswd on SLES versions 12 and
higher.
- Implemented RFC017 - File Specificity Overhaul.
- Improved the reliability of Git provider by making it to be more specific
when selecting tags.
- Changed knife upload not to validate the ruby files under files &
templates directories.
- Made knife cookbook create to display the directory of the cookbook that
is being created.
- Fixed the information debug output for the configuration file being used
when running knife.
- Changed knife cookbook site share to make category an optional parameter
when uploading cookbooks. It is still required when the cookbook is being
uploaded for the first time but on the consequent uploads existing category
of the cookbook will be used.
- Added JSON output to knife status command. --medium and --long output
formatting parameters are now supported in knife status.
- Removed dead code from knife ssh.
- Fixed a bug preventing mounting of cgroup type devices in the mount
provider.
- Fixed inconsistent globbing in knife from file command.
- Made user prompts in knife more beautiful by adding a space after Y/N
prompts.
- Made empty run_list to produce an empty array when using node.to_hash.
- Fixed a bug in knife bootstrap that caused config options to override
command line options.
- Fixed a bug in Mac OSX group provider and made it idempotent.
- Fixed a bug in why-run mode for freebsd service resources without
configured init scripts.
- Fixed a bug in freebsd service providers to load the status correctly.
- ruby 1.9.3 support is dropped
- Added RFC-023 Chef 12 Attribute Changes
(https://github.com/opscode/chef-rfc/blob/master/rfc023-chef-12-attributes-changes.md)
- Added os/platform_family options to provides syntax on the Chef::Resource
DSL
- Added provides methods to the Chef::Provider DSL
- Added supported?(resource, action) class method to all Providers for
late-evaluation if a provider can handle a resource
- Added ProviderResolver feature to handle late resolution of providers
based on what kinds of support is in the base operating system.
- Partial Deprecation of Chef::Platform provider mapping. The static mapping
will be removed as Chef-12 progresses and the hooks will be completely
dropped in Chef-13.
- Default guard_interpreter for powershell_script resource set to
:powershell_script, for batch to :batch
- Recipe definition now returns the retval of the definition
- Add support for Windows 10 to version helper.
- dsc_script resource should honor configuration parameters when
configuration_data_script is not set (Issue #2209)
- Ruby has been updated to 2.1.3 along with rubygems update to 2.4.2
- Removed shelling out to erubis/ruby for syntax checks (>= 1.9 has been
able to do this in the ruby vm itself for awhile now and we've dropped
1.8.7 which could not do this and had to shell_out)
- Report the request and response when a non-200 error code happens
- [FEATURE] Upgrade knife upload and knife download to download everything
in an organization, now including the organization definition itself
(knife download /org.json) and the invitations and member list (knife
download /invitations.json and knife download /members.json). Should be
compatible with knife-ec-backup.
- Make default Windows paths more backslashy
- knife now prefers to load config.rb in preference to knife.rb; knife.rb
will be used if config.rb is not found.
- Fixed Config[:cache_path] to use path_join()
- Updated chef-zero to 3.0, so that client tests can be run against
Enterprise Chef as well as Open Source.
- knife cookbook site download/list/search/share/show/unshare now uses
supermerket.getchef.com urls
- added Chef::ResourceCollection#insert_at API to the ResourceCollection
- http_proxy and related config vars no longer clobber already set ENV vars
- all http_proxy configs now set lowercase + uppercase versions of ENV vars
- https_proxy/ftp_proxy support setting http:// URLs (and whatever mix and
match makes sense)
- End-to-end tests for Ubuntu 12.04
- Only run end-to-end tests when secure environment variables are present.
- Remove recipe DSL from base provisioner (Issue 1446).
- Enable client-side key generation by default. (Issue 1711)
- CookbookSiteStreamingUploader now uses ssl_verify_mode config option
(Issue 1518).
- chef/json_compat now throws its own exceptions not JSON gem exceptions
- Modify action for env raises Chef::Exceptions::Env exception on Windows
(Chef Issues 1754)
- Fix a bug in the experimental Policyfile mode that caused errors when
using templates.
- Disable JSON encoding of request body when non-JSON content type is
specified.
- Clean up FileVendor and CookbookUploader internal APIs
- log resource now marks itself as supporting why-run
- http_request no longer appends "?message=" query string to GET and HEAD
requests
- added shell_out commands directly to the recipe DSL
- cookbook synchronizer deletes old files from cookbooks
- do not clear file cache when override run list is set (CHEF-3684)
- ruby 1.8.7/1.9.1/1.9.2 support is dropped
- set no_lazy_load to true (CHEF-4961)
- set file_stating_uses_destdir config option default to true (CHEF-5040)
- remove dependency on rest-client gem
- Add method shell_out_with_systems_locale to ShellOut.
- chef-repo rake tasks are deprecated; print relevant information for each
one.
- Fix RPM package version detection (Issue 1554)
- Don't override :default provider map if :default passed as platform
(OC-11667).
- Fix SuSE package removal failure (Issue 1732).
- Enable Travis to run Test Kitchen with Kitchen EC2.
- Fix a bug in reporting not to post negative duration values.
- Add password setting support for Mac 10.7, 10.8 and 10.9 to the dscl user
provider.
- ChefSpec can find freebsd_package resource correctly when a package
resource is declared on Freebsd.
- Autodetect/decrypt encrypted data bag items with data_bag_item dsl method.
(Issue 1837, Issue 1849)
- windows_user: look up username instead of resource name (Issue #1705)
- Remove the unused bootstrap templates that install chef from rubygems
- Remove the Chef 10 functionality from bootstrap.
- Deprecate --distro / --template_file options in favor of
--boostrap-template
- Add :node_ssl_verify_mode & :node_verify_api_cert options to bootstrap to
be able to configure these settings on the bootstrapped node.
- Add partial_search dsl method to Chef::Search::Query, add result filtering
to search.
- Transfer trusted certificates under :trusted_certs_dir during bootstrap.
- Set :ssl_verify_mode to :verify_peer by default.
- Add homebrew provider for package resource, use it by default on OS X
(Issue #1709)
- Add escape_glob method to PathHelper, update glob operations.
- Verify x509 properties of certificates in the :trusted_certs_dir during
knife ssl check.
- Disable unforked interval chef-client runs.
- Removed dependencies on the 'json' gem, replaced with ffi-yajl. Use
Chef::JSONCompat library for parsing and printing.
- Restore the deprecation logic of #valid_actions in LWRPs until Chef 13.
- Now that we don't allow unforked chef-client interval runs, remove the
reloading of previously defined LWRPs.
- Use shell_out to determine Chef::Config[:internal_locale], fix CentOS
locale detection bug.
- only_if and not_if attributes of execute resource now inherits the parent
resource's attributes when set to a String.
- Retain the original value of retries for resources and display the
original value when the run fails.
- Added service provider for AIX.
- The Windows env provider will delete elements even if they are only in ENV
(and not in the registry)
- Allow events to be logged to Windows Event Log
- Fixed bug in env resource where a value containing the delimiter could
never correctly match the existing values
- More intelligent service check for systemd on Ubuntu 14.10.
Release: 11.16.4
- Windows omnibus installer security updates for redistributed bash.exe /
sh.exe vulnerabilities ("Shellshock") CVE-2014-6271, CVE-2014-6271,
CVE-2014-6278, CVE-2014-7186, CVE-2014-7187.
- Fix bug on Windows where using the env resource on path could render the
path unusable.
- Chef Client now retries when it gets 50X from Chef Server.
- Chef Client 11.16.4 can use the policyfiles generated with Chef DK 0.3.0.
Release: 11.16.2
- Fix a regression in whyrun_safe_ruby_block.
Release: 11.16.0
- Fix a bug in user dscl provider to enable managing password and other
properties at the same time.
- Add dsc_script resource to Chef for PowerShell DSC support on Windows
Release: 11.14.6:
- Modify action for env raises Chef::Exceptions::Env exception on Windows
(Chef Issues 1754)
- Fix RPM package version detection (Issue 1554)
- Fix a bug in reporting not to post negative duration values.
- Add password setting support for Mac 10.7, 10.8 and 10.9 to the dscl user
provider.
- ChefSpec can find freebsd_package resource correctly when a package
resource is declared on Freebsd.
- http_proxy and related config vars no longer clobber already set ENV vars
- all http_proxy configs now set lowercase + uppercase versions of ENV vars
- https_proxy/ftp_proxy support setting http:// URLs (and whatever mix and
match makes sense)
Release: 11.14.2
- SIGTERM will once-more kill a non-daemonized chef-client (CHEF-5172)
- chef-service-manager should run as a non-interactive service (CHEF-5150)
- Fix file:// URI support in remote_file on windows (CHEF-4472)
- Catch HTTPServerException for 404 in remote_file retry (CHEF-5116)
- Providers are now set correctly on CloudLinux. (CHEF-5182)
- Made -E option to work with single lettered environments. (CHEF-3075)
- Added a 'knife node environment set' command. (CHEF-1910)
- Made bootstrap report authentication exceptions. (CHEF-5161)
- Made freebsd_package resource use the brand new "pkgng" package manager
when available.(CHEF-4637)
- Implemented a threaded download queue for synchronizing cookbooks.
(CHEF-4423)
- Raise an error when source is accidently passed to apt_package (CHEF-5113)
- Add an open_timeout when opening an http connection (CHEF-5152)
- Allow environment variables set on Windows to be used immediately
(CHEF-5174)
- Add an option to configure the chef-zero port (CHEF-5228)
- Added support for the usermod provider on OmniOS
- Only modify password when one has been specified. (CHEF-5327)
- Add exception when JSON parsing fails. (CHEF-5309)
- OK to exclude space in dependencies in metadata.rb. (CHEF-4298)
- Allow cookbook names with leading underscores. (CHEF-4562)
- Add Code Climate badge to README.
- Documentation that -E is not respected by knife ssh [search]. (CHEF-4778)
- Fix resource_spec.rb.
- Ensure URI compliant urls. (CHEF-5261)
- Correctly detect when rpm_package does not exist in upgrade action.
(CHEF-5273)
- Hide sensitive data output on chef-client error (CHEF-5098)
- Add config option :yum-lock-timeout for yum-dump.py
- Convert APT package resource to use provides :package, add timeout
parameter.
- Fix Chef::User#list API error when inflate=true. (CHEF-5328)
- Use git resource status checking to reduce shell_out system calls.
- Added .project to git ignore list.
- Support override_runlist CLI option in shef/chef-shell. (CHEF-5314)
- Fix updating user passwords on Solaris. (CHEF-5247)
- Enable storage of roles in subdirectories for chef-solo. (CHEF-4193)
- Fix Upstart provider with parameters. (CHEF-5265)
- Don't pass on default HTTP port(80) in Host header. (CHEF-5355)
- Allow for undefined solaris services in the service resource. (CHEF-5347)
- Properly knife bootstrap on ArchLinux. (CHEF-5366)
- Made windows service resource to handle transitory states. (CHEF-5319,
CHEF-4791)
- Add Dir.pwd as fallback for default user_home if home directory is not
set. (CHEF-5365)
- Add support for automatically using the Systemd service provider when
available. (CHEF-3637)
- Add timeout for Chef::Provider::Service::Windows. (CHEF-1165)
- knife[:attribute] in knife.rb should not override --attribute (CHEF-5158)
- Added the initial exherbo linux support for Chef providers.
- Fix knife cookbook site share on windows (CHEF-4994)
- YAJL Allows Invalid JSON File Sending To The Server (CHEF-4899)
- YAJL Silently Ingesting Invalid JSON and "Normalizing" Incorrectly
(CHEF-4565)
- Update rpm provider checking regex to allow for special characters
(CHEF-4893)
- Allow for spaces in selinux controlled directories (CHEF-5095)
- Windows batch resource run action fails: " TypeError: can't convert nil
into String" (CHEF-5287)
- Log resource always triggers notifications (CHEF-4028)
- Prevent tracing? from throwing an exception when first starting
chef-shell.
- Use Upstart provider on Ubuntu 13.10+. (CHEF-5276)
- Cleaned up mount provider superclass
- Added "knife serve" to bring up local mode as a server
- Print nested LWRPs with indentation in doc formatter output
- Make local mode stable enough to run chef-pedant
- Wrap code in block context when syntax checking so return is valid
(CHEF-5199)
- Quote git resource rev_pattern to prevent glob matching files (CHEF-4940)
- Fix OS X service provider actions that don't require the service label to
work when there is no plist. (CHEF-5223)
- User resource now only prints the name during why-run runs. (CHEF-5180)
- Set --run-lock-timeout to wait/bail if another client has the runlock
(CHEF-5074)
- remote_file's source attribute does not support DelayedEvaluators
(CHEF-5162)
- option attribute of mount resource now supports lazy evaluation.
(CHEF-5163)
- force_unlink now only unlinks if the file already exists. (CHEF-5015)
- chef_gem resource now uses omnibus gem binary. (CHEF-5092)
- chef-full template gets knife options to override install script url, add
wget/curl cli options, and custom install commands (CHEF-4697)
- knife now bootstraps node with the latest current version of chef-client.
(CHEF-4911)
- Add config options for attribute whitelisting in node.save. (CHEF-3811)
- Use user's .chef as a fallback cache path if /var/chef is not accessible.
(CHEF-5259)
- Fixed Ruby 2.0 Windows compatibility issues around ruby-wmi gem by
replacing it with wmi-lite gem.
- Set proxy environment variables if preset in config. (CHEF-4712)
- Automatically enable verify_api_cert when running chef-client in
local-mode. (Chef Issues 1464)
- Add helper to warn for broken [windows] paths. (CHEF-5322)
- Send md5 checksummed data for registry key if data type is binary, dword,
or qword. (Chef-5323)
- Add warning if host resembles winrm command and knife-windows is not
present.
- Use FFI binders to attach :SendMessageTimeout to avoid DL deprecation
warning. (ChefDK Issues 69)
- Use 'guest' user on AIX for RSpec tests. (OC-9954)
- Added DelayedEvaluator support in LWRP using the lazy {} key
- Fixed a bug where nested resources that inherited from Resource::LWRPBase
would not share the same actions/default_action as their parent
Release: 11.12.8
- Fix OS X service provider actions that don't require the service label to
work when there is no plist. (CHEF-5223)
- CHEF-5211: 'knife configure --initial' fails to load 'os' and 'hostname'
ohai plugins properly
- Fix the order of middlewares in HTTP::Simple (CHEF-5198).
- Wrap code in block context when syntax checking so return is valid
(CHEF-5199).
- Including a recipe from a cookbook not in the dependency graph logs a
MissingCookbookDependency warning. Fixes CHEF-4367.
- Improves syntax check speed for Ruby 1.9+, especially when using bundler.
- Send X-Remote-Request-Id header in order to be able to correlate actions
during a single run.
- Fix for CHEF-5048.
- Fix for CHEF-5052.
- Fix for CHEF-5018.
- Add --validator option to knife client create to be able to create
validator clients via knife.
- Add --delete-validators option to knife client delete in order to prevent
accidental deletion of validator clients.
- Add --delete-validators option to knife client bulk delete in order to
prevent accidental deletion of validator clients.
- Add -r / --runlist option to chef-client which permanently sets or changes
the run_list of a node.
- CHEF-5030: clean up debian ifconfig provider code
- CHEF-5001: spec tests for multiple rollbacks
- Added ohai7 'machinename' attribute as source of node_name information
- CHEF-4773: add ruby-shadow support to Mac and FreeBSD distros
- Service Provider for MacOSX now supports enable and disable
- CHEF-5086: Add reboot_pending? helper to DSL
- Upgrade ohai to 7.0.0.rc.0
- Make the initial bootstrap message more user friendly (CHEF-5102)
- Correctly handle exceptions in formatters when exception.message is nil
(CHEF-4743)
- Fix convergence message in deploy provider (CHEF-4929)
- Make group resource idempotent when gid is specified as a string.
(CHEF-4927)
- Non-dupable elements are now handled when duping attribute arrays.
(CHEF-4799)
- ruby-shadow is not installed on cygwin platform anymore. (CHEF-4946)
- Upgrade chef-zero to 2.0, remove native-compiled puma as chef dependency.
(CHEF-4901/CHEF-5005)
- Don't honor splay when sent USR1 signal.
- Don't set log_level in client.rb by default (CHEF-3698)
- Add IBM PowerKVM to Platform map. (CHEF-5135)
- Cookbook metadata now allows boolean and numeric attributes. (CHEF-4075)
- Knife ssh uses cloud port attribute when available. (CHEF-4962)
- Client info and debug logs now contain cookbook versions in addition to
cookbook names. (CHEF-4643)
- ShellOut mixin now exposes a method to capture the live stream during
command execution. (CHEF-5017)
- Service provider is now aware of maintenance state on Solaris.
(CHEF-4990)
- Refactor Chef::Util::FileEdit to indicate the purpose of the former
file_edited, now unwritten_changes?. (CHEF-3714)
- Fixed FileEdit#insert_line_if_no_match to match multiple times.
(CHEF-4173)
- Hide passwords in error messages from the Subversion resource.
(CHEF-4680)
- The dpkg package provider now supports epoch versions. (CHEF-1752)
- Multiple missing dependencies are now listed on knife cookbook upload.
(CHEF-4851)
- Add a public file_edited? method to Chef::Util::FileEdit. (CHEF-3714)
- Package provider defaults to IPS provider on Solaris 5.11+ (CHEF-5037)
- Chef::REST works with frozen options. (CHEF-5064)
- Service provider now uses Systemd on ArchLinux. (CHEF-4905)
- Support knife node run_list add --before. (CHEF-3812)
- Don't destructively merge subhashes in hash_only_merge!. (CHEF-4918)
- Display correct host name in knife ssh error message (CHEF-5029)
- Knife::UI#confirm now has a default_choice option. (CHEF-5057)
- Add knife 'ssl check' and 'ssl fetch' commands for debugging SSL errors.
(CHEF-4711)
- Usermod group provider is only used on OpenSuse. (OHAI-339)
- Cron resource accepts a weekday attribute as a symbol. (CHEF-4848)
- Cron resource accepts special strings, e.g. @reboot (CHEF-2816)
- Call WIN32OLE.ole_initialize before using WMI (CHEF-4888)
- Fix TypeError when calling dup on un-dupable objects in DeepMerge
- Add optional client-side generation of client keys during registration
(CHEF-4373)
- Restore warning for the overlay feature in knife cookbook upload, which
was accidentally removed in 11.0.0.
- Don't save the run_list during node.save when running with override run
list. (CHEF-4443)
- Enable Content-Length validation for Chef::HTTP::Simple and fix issues
around it. (CHEF-5041, CHEF-5100)
- Windows MSI Package Provider (CHEF-5087)
- Fix mount resource when device is a relative symlink (CHEF-4957)
- Increase bootstrap log_level when knife -V -V is set (CHEF-3610)
- Knife cookbook test should honor chefignore (CHEF-4203)
- Fix ImmutableMash and ImmutableArray to_hash and to_a methods (CHEF-5132)
- guard_interpreter attribute: use powershell_script, other script resources
in guards (CHEF-4553)
- Fix for CHEF-5169: add require for chef/config_fetcher
- SIGTERM will once-more kill a non-daemonized chef-client (CHEF-5172)
xcalc is a scientific calculator X11 client that can emulate a TI-30
or an HP-10C.
This minor maintenance release includes a couple years worth of build
improvements, code cleanups, and bug fixes.
Alan Coopersmith (9):
Remove unused min & max macros from math.c
Replace sprintf & strcpy calls with snprintf & strlcpy
Remove redundant redeclaration of ‘factorial’
Rename "e" arguments to "ev" to avoid shadowing e() function
Mark functions noreturn as suggested by gcc -Wmissing-noreturn
configure: Drop AM_MAINTAINER_MODE
autogen.sh: Honor NOCONFIGURE=1
Replace index() call with strchr()
xcalc 1.0.6
Gaetan Nadon (2):
Assume signal handlers return void, as C89 requires
Replace signal_t with void
Stéphane Aulery (3):
Drop CRAY support
Use the new M_PI symbol from math.h
Use the new M_E symbol from math.h