salt/doc/topics/releases/2016.11.2.rst
Erik Johnson 93ee5ee2b0
Fix all Sphinx warnings
Well, all but one, which we expect to see
2018-05-31 15:28:25 -05:00

1602 lines
62 KiB
ReStructuredText

============================
Salt 2016.11.2 Release Notes
============================
Version 2016.11.2 is a bugfix release for :ref:`2016.11.0 <release-2016-11-0>`.
Statistics
==========
- Total Merges: **157**
- Total Issue References: **34**
- Total PR References: **116**
- Contributors: **45** (`Ch3LL`_, `Cybolic`_, `DmitryKuzmenko`_, `UtahDave`_, `Vaelatern`_, `alex-zel`_, `alxwr`_, `amendlik`_, `anlutro`_, `aosagie`_, `basdusee`_, `bbinet`_, `benediktwerner`_, `cachedout`_, `clinta`_, `cro`_, `dereckson`_, `disaster123`_, `ewapptus`_, `ezh`_, `folti`_, `gmacon`_, `gqgunhed`_, `gtmanfred`_, `kkoppel`_, `lorengordon`_, `martintamare`_, `mcalmer`_, `meaksh`_, `mirceaulinic`_, `mostafahussein`_, `mvdwalle`_, `rallytime`_, `rbjorklin`_, `scthi`_, `sjorge`_, `techhat`_, `terminalmage`_, `tsaridas`_, `twangboy`_, `vutny`_, `wolfpackmars2`_, `yhekma`_, `yopito`_, `yue9944882`_)
Security Fixes
==============
**CVE-2017-5192** local_batch client external authentication not respected
The ``LocalClient.cmd_batch()`` method client does not accept ``external_auth``
credentials and so access to it from salt-api has been removed for now. This
vulnerability allows code execution for already-authenticated users and is only
in effect when running salt-api as the ``root`` user.
**CVE-2017-5200** Salt-api allows arbitrary command execution on a salt-master
via Salt's ssh_client
Users of Salt-API and salt-ssh could execute a command on the salt master via a
hole when both systems were enabled.
We recommend everyone upgrade to 2016.11.2 as soon as possible.
Changelog for v2016.11.1..v2016.11.2
====================================
*Generated at: 2018-05-27 19:28:11 UTC*
* **PR** `#38859`_: (`alxwr`_) fix parsing of sockstat -4
@ *2017-01-23 16:47:22 UTC*
* ec59ae67c8 Merge pull request `#38859`_ from alxwr/2016.11
* 30fe5641c7 fix parsing of sockstat -4
* **PR** `#38850`_: (`techhat`_) Strip .p from cache file names
@ *2017-01-23 16:28:46 UTC*
* 5fe6db6201 Merge pull request `#38850`_ from techhat/stripcache
* 109cb62e76 Remove .p from test
* 534aa3f527 Strip .p from cache file names
* **PR** `#38848`_: (`Ch3LL`_) add 2016.11.2 changelog to release notes
* **PR** `#38819`_: (`twangboy`_) Remove `Users` from c:\\salt [DO NOT MERGE FORWARD]
@ *2017-01-20 20:17:35 UTC*
* 4913c4f90c Merge pull request `#38819`_ from twangboy/salt_perms_2016.11
* eb04ed7eef Remove `User` from c:\salt
* **PR** `#38815`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2017-01-20 18:53:01 UTC*
* a275b9714e Merge pull request `#38815`_ from rallytime/merge-2016.11
* ce6d1b103d Make sure we're using the opts dict mocking in parsers_test
* 315b2c8712 Merge branch '2016.3' into '2016.11'
* d14f0c64eb Merge pull request `#38812`_ from rallytime/pyobjects-test
* f3e84c1ab7 Update pyobjects test to be a list
* 50f03f8057 Merge pull request `#38813`_ from gtmanfred/2016.3
* ce3472cec2 catch SIGPIPE in vmware connection
* 23b8b47258 Merge pull request `#38809`_ from twangboy/fix_hostname_2016.3
* d57a51f9f9 Fix tests for get_hostname
* 7ca3fd7484 Fix get_hostname to handle longer computer names
* 1033bbdde8 Merge pull request `#38808`_ from vutny/fix-38388
* 9bd203ffcc Fix `#38388`_
* f3ae3cd5c8 Merge pull request `#38668`_ from terminalmage/issue38604
* 0ea97cdad9 Merge pull request `#10`_ from cachedout/pr-38668
* db81afc035 Munge retcode into return data for batching
* a642a995dc Return the ret data from batch execution instead of raw data
* c6a19a9e5a Merge pull request `#38789`_ from rallytime/fix-38622
* af41fe0c6e Update some saltenv refs to environment in salt.modules.state docs
* e0bf700020 Merge pull request `#38790`_ from cachedout/fix_pyobjects_test_typo
* a66afb5f0f Fix typo in pyobjects test
* 6e9785edea Merge pull request `#38792`_ from rallytime/fix-38629
* 1e125e2844 Update pillar tutorial lanuage regarding pillar_opts settings
* **PR** `#38832`_: (`terminalmage`_) archive.extracted: Identify symlinks when checking for incorrect types
@ *2017-01-20 18:36:15 UTC*
* efe1bf10e8 Merge pull request `#38832`_ from terminalmage/issue38711
* d10c068e25 Update archive state unit tests to reflect symlinks in archive.list
* d6adfb6d12 Identify symlinks when looking for incorrect types
* 09b9e95f7c archive.list: organize symlinks separately from files in verbose mode
* e6483f096d Support removing symlinks in salt.utils.rm_rf
* **PR** `#38726`_: (`twangboy`_) Add VC Redist 2008 SP1 MFC to installer
@ *2017-01-19 19:13:42 UTC*
* 10a3d8b8dd Merge pull request `#38726`_ from twangboy/vcredist
* f00a65355d change extensions .ext to .exe
* 98c40e278c Add VC Redist 2008 SP1 MFC to installer
* **PR** `#38810`_: (`UtahDave`_) Fix beacon doc
@ *2017-01-18 21:37:21 UTC*
* d5f2d92a4e Merge pull request `#38810`_ from UtahDave/fix_beacon_doc_zd1035
* dbe9edb806 fix reactor example.
* **PR** `#38811`_: (`techhat`_) Show a lot less data when requesting a VM
@ *2017-01-18 21:08:03 UTC*
* 88faf08a71 Merge pull request `#38811`_ from techhat/sanvm
* 47c19325cf Show a lot less data when requesting a VM
* **PR** `#38807`_: (`Ch3LL`_) refine the os detection in archive test
* **PR** `#38799`_: (`aosagie`_) Parse ansible dynamic inventory output correctly
@ *2017-01-18 15:32:47 UTC*
* e3ca6881c8 Merge pull request `#38799`_ from aosagie/fix-ansible-dynamic-roster
* 26d6f699a7 Parse ansible dynamic inventory output correctly
* **PR** `#38787`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2017-01-18 08:39:08 UTC*
* 76df6a43f3 Merge pull request `#38787`_ from rallytime/merge-2016.11
* 2aad54c49f Merge branch '2016.3' into '2016.11'
* 3417adc617 Merge pull request `#38796`_ from saltstack/revert-38707-root_dir_fix-gh
* cb080f3bbe Revert "Fixed prepending of root_dir override to the other paths"
* 64d866f7ab Merge branch '2016.3' into '2016.11'
* bab3479a3c Merge pull request `#38585`_ from rallytime/follow-up-38527
* 05587201b6 Pylint fix: add line at end of file
* fa01367599 Keep a copy of the DEFAULT_API_OPTS and restore them after the test run
* 2ad07634d9 Test clean up
* fd2ee7db30 Add some simple unit tests for salt.config.api_config function
* 3d2fefc83b Make sure the pidfile and log_file values are overriden by api opts
* 1f6b540e46 Make sure the pidfile and log_file values are overriden by api opts
* 04d307f917 salt-api no longer forces the default timeout
* 0fb6bb7b77 Merge pull request `#38707`_ from alexbleotu/root_dir_fix-gh
* 0bac8c8be3 Fixed prepending of root_dir override to the other paths
* 96c9dc10f7 Merge pull request `#38774`_ from vutny/dev-test-docs
* 4620dc4afa DOCS: add C++ compiler installation on RHEL required for bundled 0mq
* aedfbb7a43 Merge pull request `#38749`_ from vutny/pkg-build-better-exception-msg
* 53f2be5b21 pkg build modules throw better exception message if keyid wasn't found
* **PR** `#38660`_: (`techhat`_) Don't force salt.cache to use cachedir from opts
@ *2017-01-17 18:38:35 UTC*
* 4e6146f65f Merge pull request `#38660`_ from techhat/cachedir
* be55b57abf One last fix
* fc24b24998 Add correct function name
* 9bbecf7960 Typo fix
* 436ba28f08 Change getlist back to list (using _list)
* ff734fe93b Default to CACHE_DIR in syspaths
* 380abd3744 Add cachedir args to tests
* deb08c0587 Not every module will need cachedir
* 4489f7cac0 Don't force salt.cache to use cachedir from opts
* **ISSUE** `#37948`_: (`djacobs2016`_) ssh_known_hosts.present is failing when checking key/host (refs: `#37982`_)
* **ISSUE** `#33932`_: (`folti`_) ssh_known_hosts.present: hashing global known hosts file makes it readable by root only (refs: `#33933`_)
* **PR** `#38667`_: (`rallytime`_) Back-port `#37982`_ to 2016.11
@ *2017-01-17 15:42:13 UTC*
* **PR** `#37982`_: (`wolfpackmars2`_) Update ssh.py (refs: `#38667`_)
* **PR** `#33933`_: (`folti`_) ssh: keep original permissions, when hashing known_hosts (refs: `#38667`_)
* 89dc86e2bc Merge pull request `#38667`_ from rallytime/bp-37982
* be91e46a93 Update ssh.py
* **PR** `#38759`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2017-01-17 15:22:01 UTC*
* 751e14c523 Merge pull request `#38759`_ from rallytime/merge-2016.11
* 30e8a66fb0 Merge branch '2016.3' into '2016.11'
* 8466b34e82 Merge pull request `#38743`_ from rallytime/merge-2016.3
* d24776f5e9 Merge branch '2015.8' into '2016.3'
* 6869621ed1 Merge pull request `#38731`_ from rallytime/merge-2015.8
* 9eb191b6ac Pylint fix
* b910499dbe Various follow up fixes
* e8309a6bbf Add release notes for 2015.8.13
* f881f366b7 Merge pull request `#20`_ from rallytime/2015.8.12_follow_up-batch-tests
* 34282322c0 Clean up tests and docs for batch execution
* c80b20b957 Merge pull request `#19`_ from whiteinge/batchclient
* 3d8f3d18f6 Remove batch execution from NetapiClient and Saltnado
* 97b0f64923 Lintfix
* d1516664f7 Add explanation comment
* 62f2c87080 Add docstring
* 9b0a786aeb Explain what it is about and how to configure that
* 5ea3579e10 Pick up a specified roster file from the configured locations
* 3a8614c5df Disable custom rosters in API
* c0e5a1171d Add roster disable flag
* e9c59e9b8f Merge pull request `#38602`_ from terminalmage/fix-boto-test
* 3424a108ac Fix failing unit.states.boto_vpc_test.BotoVpcRouteTableTestCase.test_present_with_routes
* a642cdef79 Merge pull request `#38723`_ from rallytime/fix-38674
* 706c885f55 Remove "event_publisher_pub_hwm" and "salt_event_pub_hwm" from config/__init__.py
* fc545af10b Merge pull request `#38669`_ from rallytime/update-bootstrap-script
* 78ba76e34c Update bootstrap script verstion to latest release
* 50d417f267 Merge pull request `#38693`_ from twangboy/update_jinja
* e0c7e5549b Update jinja2 to 2.9.4
* f4233bb18d Merge pull request `#38739`_ from vutny/fix-runtests-doc
* b872bb63f6 DOCS: correct examples of running test suite
* 51d4707071 DOCS: add links to File State Backups page where necessary (`#38735`_)
* 6d3717b9ee Proofread jinja_to_execution_module tutorial (`#38720`_)
* **ISSUE** `#38775`_: (`charburns`_) Error using napalm netusers (refs: `#38778`_)
* **PR** `#38778`_: (`mirceaulinic`_) Fix "Error using napalm netusers"
@ *2017-01-17 15:20:27 UTC*
* bb6291d93a Merge pull request `#38778`_ from cloudflare/fix-38775
* b3388f7162 Fix `#38775`_
* **ISSUE** `#38528`_: (`MorphBonehunter`_) x509 make permissions configurable (refs: `#38664`_)
* **ISSUE** `#38081`_: (`haraldrudell`_) x509 state or module cannot generate password protected private keys (refs: `#38664`_)
* **PR** `#38664`_: (`clinta`_) X509 Improvements. Expose setting permissions, encrypted private keys, and combined key and cert management in one state
@ *2017-01-17 02:20:18 UTC*
* 6663107021 Merge pull request `#38664`_ from clinta/x509-passphrase2
* 77c78723fe pep8
* a2b20ee518 No mutable default args, remove unneeded import
* b48b85cc70 bug fixes
* f62393b864 pep8
* c8613243a1 change documentation
* 9a0abde9ac expose passphrase functionality to state
* e47a93d496 add passphrase to execution module
* a4d6598f1e preserve detailed change reports
* d0ad251778 combine private key and cert management
* 3d1474d911 cross call file.managed to get permissions options
* **PR** `#38682`_: (`mirceaulinic`_) [2016.11.2/napalm] Better error message when NotImplementedError raised
@ *2017-01-15 18:34:25 UTC*
* bf6d74c98e Merge pull request `#38682`_ from cloudflare/NotImplementedError-MSG
* f847639dee Better error message when NotImplementedError raised
* **ISSUE** `#37996`_: (`stefan-as`_) influxdb_user.present does not pass client_args (refs: `#38695`_)
* **PR** `#38695`_: (`rallytime`_) Pass in client_args when calling influxdb execution module funcs
@ *2017-01-15 18:33:48 UTC*
* df12e49d80 Merge pull request `#38695`_ from rallytime/fix-37996
* 05b0975888 Pass in client_args when calling influxdb execution module funcs
* **ISSUE** `#38521`_: (`vladvasiliu`_) State cloud.present on AWS: TypeError: 'NoneType' object is not iterable (refs: `#38651`_)
* **ISSUE** `#37981`_: (`tazaki`_) Salt-cloud ec2 vpc securitygroupid always returning default (refs: `#38183`_)
* **PR** `#38651`_: (`rallytime`_) Don't lose the set reference for ec2 securitygroup ids
@ *2017-01-15 18:06:25 UTC*
* **PR** `#38183`_: (`cro`_) Fix bad set operations when setting up securitygroups in AWS. (refs: `#38651`_)
* 834e5469fc Merge pull request `#38651`_ from rallytime/fix-38521
* 830c03cec6 Don't lose the set reference for ec2 securitygroup ids
* **ISSUE** `#38216`_: (`pgrishin`_) salt-run: can't get cache.grains (refs: `#38659`_)
* **PR** `#38659`_: (`techhat`_) Turn None into an empty string (for minion matching)
@ *2017-01-15 18:02:03 UTC*
* 8b38cfea8d Merge pull request `#38659`_ from techhat/issue38216
* 4073c91584 Turn None into an empty string (for minion matching)
* **PR** `#38703`_: (`yhekma`_) The `test` option is only valid for the minion, not the master
@ *2017-01-15 17:56:22 UTC*
* 0ad5d22ad4 Merge pull request `#38703`_ from yhekma/docfix
* 57df3bf148 The `test` option is only valid for the minion, not the master
* **PR** `#38718`_: (`terminalmage`_) Fix for dynamic git_pillar when pillarenv is used
@ *2017-01-15 14:37:30 UTC*
* 8c1222e7db Merge pull request `#38718`_ from terminalmage/zd909
* 12bbea5a24 Fix for dynamic git_pillar when pillarenv is used
* **ISSUE** `#38677`_: (`yhekma`_) consul cache backend broken (refs: `#38676`_)
* **PR** `#38676`_: (`yhekma`_) Removed overloading of list()
@ *2017-01-15 05:42:13 UTC*
* aae8b54860 Merge pull request `#38676`_ from yhekma/2016.11
* 3237d23e1c Localfs should also be changed of course
* 9d9de67219 We do not want to overload the list() type because if we do, we turn this function into a recursive one, which results in an exception because set() cannot be concatenated with str ('/')
* **ISSUE** `#38684`_: (`rukender`_) 2016.11.1 :[ERROR][11182] Failed to import beacons avahi_announce (refs: `#38713`_)
* **PR** `#38713`_: (`rallytime`_) Add NameError to exception in avahi_announce beacon
@ *2017-01-15 05:33:04 UTC*
* c246ab41c5 Merge pull request `#38713`_ from rallytime/fix-38684
* db60bed24c Add NameError to exception in avahi_announce beacon
* **PR** `#38729`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2017-01-13 23:15:33 UTC*
* 6c14774c04 Merge pull request `#38729`_ from rallytime/merge-2016.11
* 4e1e45d640 Merge branch '2016.3' into '2016.11'
* 7b850d472d Merge pull request `#38647`_ from gtmanfred/nova
* 5be9b60851 add documentation about using keystoneauth for v3
* 7b657ca4ae add the ability to use keystone v2 and v3
* 5646ae1b34 add ability to use keystoneauth to authenitcate in nova driver
* 383768d838 Merge pull request `#38650`_ from rallytime/remove-ubuntu-ppa-docs
* 30429b2e44 Remove the installation instructions for out-of-date community ppa
* 7d9f56e3b5 Merge pull request `#38657`_ from DSRCorporation/bugs/38087_syndic_event_format_fix
* 594c33f396 Publish the 'data' field content for Syndic evets
* 83987511fd Merge pull request `#38649`_ from Ch3LL/test_apply_template
* 47f8b68e0b fix unit.modules.file_test
* **ISSUE** `#38631`_: (`doitian`_) In Orchestration, kwargs are not passed to state.sls in masterless mode (refs: `#38635`_)
* **PR** `#38635`_: (`lorengordon`_) Sends pass-through params to state module
@ *2017-01-10 20:01:59 UTC*
* cfd82d1631 Merge pull request `#38635`_ from lorengordon/issue-38631
* 14666138b9 Sends pass-through params to state module
* **PR** `#38640`_: (`mirceaulinic`_) Import napalm_base instead of napalm
@ *2017-01-10 19:58:01 UTC*
* 017094a207 Merge pull request `#38640`_ from cloudflare/NAPALM-IMPORTS
* 8f13f63880 Import napalm_base instead of napalm
* **PR** `#38661`_: (`techhat`_) Add sane cache defaults for minion and cloud
@ *2017-01-10 19:55:15 UTC*
* 79663132dd Merge pull request `#38661`_ from techhat/sanedefault
* aee40648ec Add a sane cache default for cloud
* c9e01a36e7 Add a sane cache default for minions
* **PR** `#38645`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2017-01-10 19:54:06 UTC*
* b0ed91ce2d Merge pull request `#38645`_ from rallytime/merge-2016.11
* 7a668e9749 Merge branch '2016.3' into '2016.11'
* 74ddc71be3 Merge pull request `#38626`_ from saltstack/revert-37358-2016.3.3_issue37355
* e912ac99c2 Revert "Fix/workaround for issue `#37355`_"
* 5e58b32934 Merge pull request `#37358`_ from Firewire2002/2016.3.3_issue37355
* 910da18bfd fixed typo
* 4fbc5ddd06 fixed wrong renamed variable and spaces
* 92366e646c issue `#37355`_
* 7dc87ab7b8 issue `#37355`_
* 2878180405 issue `#37355`_
* 6c2fe615aa Merge pull request `#35390`_ from alexandr-orlov/2016.3
* cd5ae17e8d fxd missed proper grains dictionary
* 2579cfa42d Merge pull request `#38618`_ from rallytime/bp-38579
* 2052ecee2c Add copy import
* 2c8845aaa0 add test for pillar.get() + default value
* c2f98d2f04 ticket 38558: add unit test, deepcopy() only if necessary
* 30ae0a1958 added deepcopy of default if merge=True
* **PR** `#38627`_: (`cachedout`_) Pr 38476
@ *2017-01-06 22:05:45 UTC*
* **PR** `#38476`_: (`amendlik`_) Key fingerprints (refs: `#38627`_)
* d67f6937d7 Merge pull request `#38627`_ from cachedout/pr-38476
* 2a423ffedd Add changes to raetkey
* 55ad9d6c6c Add hash_type argument to MultiKeyCLI.finger_all function
* c8681269a4 Add hash_type argument to key module fingerprint functions
* d0f4c300b7 Add hash_type argument to wheel fingerprint functions
* e558ddcb18 Add finger_master function to wheel.key module
* **ISSUE** `#38595`_: (`yue9944882`_) Redis ext job cache occurred error (refs: `#38610`_)
* **PR** `#38610`_: (`yue9944882`_) Fix `#38595`_ - Unexpected error log from redis retuner in master's log
@ *2017-01-06 21:47:21 UTC*
* b13cd1370f Merge pull request `#38610`_ from yue9944882/2016.11
* 54325cf293 Fix `#38595`_ - Unexpected error log from redis retuner in master's log
* **ISSUE** `#36148`_: (`alex-zel`_) Eauth error with openLDAP groups (refs: `#38406`_)
* **PR** `#38406`_: (`alex-zel`_) Fix eauth error with openLDAP/389 directory server groups
@ *2017-01-06 21:40:30 UTC*
* 179d385003 Merge pull request `#38406`_ from alex-zel/fix-eauth-groups-permissions
* 6b9e9d8f89 Fix eauth error with openLDAP/389 directory server groups
* **PR** `#38619`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2017-01-06 17:51:19 UTC*
* 82e9b3d1a1 Merge pull request `#38619`_ from rallytime/merge-2016.11
* 0efb2d844e Merge branch '2016.3' into '2016.11'
* da676cebd6 Merge pull request `#38601`_ from terminalmage/pillar-get
* 8613d7254d pillar.get: Raise exception when merge=True and default is not a dict
* 224fc7712a Merge pull request `#38600`_ from terminalmage/issue38459-2016.3
* 8a45b13e76 Avoid errors when sudo_user is set
* a376970f88 Merge pull request `#38589`_ from tobithiel/fix_rvm_rbenv_warning
* 9ec470b4a5 State Gem: fix incorrect warning about missing rvm/rbenv
* 02e6a78254 Merge pull request `#38567`_ from pass-by-value/pgjsonb_queue_changes_2016.3
* 67879ebe65 Create queue if one doesn't exist
* 0889cbdb31 Merge pull request `#38587`_ from rallytime/fix-37498
* 2a5880966f Change daemontools __virtualname__ from service to daemontools
* **PR** `#38612`_: (`sjorge`_) network.ifacestartswith throws exception on Solaris-like platforms
@ *2017-01-06 17:20:32 UTC*
* f64e003a69 Merge pull request `#38612`_ from sjorge/2016.11-solaris-ifacestartswith
* 26fae54f5b network.ifacestartswith throws exception on Solaris-like platforms
* **ISSUE** `#37027`_: (`sjorge`_) Solaris FQDN/UQDN and documentation/consistancy (refs: `#38615`_)
* **PR** `#38615`_: (`sjorge`_) add note related to issue `#37027`_
@ *2017-01-06 16:38:34 UTC*
* 5820ceee16 Merge pull request `#38615`_ from sjorge/2016.11-solarisdocs
* fbdd32f46b add note related to issue `#37027`_
* **PR** `#38598`_: (`terminalmage`_) Avoid errors when sudo_user is set (refs: `#38600`_, `#38599`_)
@ *2017-01-05 23:16:22 UTC*
* a27fdb46a7 Merge pull request `#38598`_ from terminalmage/issue38459
* b37f7ffa38 Avoid errors when sudo_user is set
* **PR** `#38599`_: (`terminalmage`_) archive.extracted: Prevent traceback when state.single cannot be run
@ *2017-01-05 23:16:11 UTC*
* **PR** `#38598`_: (`terminalmage`_) Avoid errors when sudo_user is set (refs: `#38600`_, `#38599`_)
* d6b7019df6 Merge pull request `#38599`_ from terminalmage/archive-results-handling
* 9aceb8186d archive.extracted: Prevent traceback when state.single cannot be run
* **ISSUE** `#38517`_: (`basdusee`_) Slack.py engine 100% CPU load due to missing time.sleep(1) (refs: `#38520`_)
* **PR** `#38520`_: (`basdusee`_) Fix issue `#38517`_, added time.sleep(1) at line 227 in slack.py
@ *2017-01-05 20:35:08 UTC*
* d486b42ceb Merge pull request `#38520`_ from basdusee/fix-issue-38517
* e3a883c915 Small fix on the fix regarding indentation
* 8adeae6f81 Fix issue `#38517`_, added time.sleep(1) at line 227 in slack.py engine.
* **ISSUE** `#38485`_: (`wasabi222`_) bgp.config not working (refs: `#38499`_)
* **PR** `#38577`_: (`mirceaulinic`_) Fix function headers as per `#38499`_
@ *2017-01-05 18:41:33 UTC*
* **PR** `#38499`_: (`mirceaulinic`_) Fix `#38485`_ (refs: `#38577`_)
* 0706cde626 Merge pull request `#38577`_ from cloudflare/PREP-2016.11.2
* 62bee3c793 Fix function headers as per `#38499`_
* **PR** `#38578`_: (`mirceaulinic`_) [2016.11] Port 5123f11 from develop into 2016.11.2
@ *2017-01-05 18:11:12 UTC*
* 55d1747792 Merge pull request `#38578`_ from cloudflare/PORT-5123f1
* dea7866d57 Update net.load_template doc: 2016.11.2
* **ISSUE** `#38462`_: (`g-shockfx`_) Can`t add beacon memusage on Windows (refs: `#38584`_)
* **PR** `#38584`_: (`rallytime`_) Allow memusage beacon to load on Windows
@ *2017-01-05 18:08:30 UTC*
* be69bafe6e Merge pull request `#38584`_ from rallytime/fix-38462
* 1fe945df5e Allow memusage beacon to load on Windows
* **PR** `#38570`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11 (refs: `#38585`_)
@ *2017-01-05 14:28:38 UTC*
* 14b643fd48 Merge pull request `#38570`_ from rallytime/merge-2016.11
* 30f14d15df Merge branch '2016.3' into '2016.11'
* 7b74436d13 Merge pull request `#38562`_ from rallytime/arch-install-docs
* 8b1897ace9 Update arch installation docs with correct package name
* 01860702cb Merge pull request `#38560`_ from Ch3LL/fix_api_log
* 1b45e9670b fix api logfile
* 0056620a53 Merge pull request `#38531`_ from rallytime/bp-33601
* c36cb39825 remove the unnecessary double trigger
* 38414493bf fix spacing lint error
* 8c1defc710 Remove uncessary type from alias commands. Deduplicate alias handling to autodetect function selection. Add error reporting to slack connectivty problems. Cleanup slack's unicode conversion
* c2f23bc45e Fix slack engine to run on python2.6
* 50242c7f17 Merge pull request `#38541`_ from techhat/issue38187
* eae3a435dd Strip user:pass from cached URLs
* 325dc56e59 Merge pull request `#38554`_ from multani/fix/30454
* 2e7f743371 yaml: support unicode serialization/deserialization
* df76113c5c jinja: test the "yaml" filter with ordered dicts
* f7712d417f Revert "Add yaml_safe filter"
* 4ddbc2ecaa add note about pyVmomi locale workaround (`#38536`_)
* 1c951d152b fix gce image bug (`#38542`_)
* **PR** `#38509`_: (`mostafahussein`_) Stop request from being processed if bad ip
@ *2017-01-04 20:05:44 UTC*
* 9a1550d336 Merge pull request `#38509`_ from mostafahussein/2016.11
* 8847289c3e remove commented code
* 420817a963 Stop request from being processed if bad ip
* **ISSUE** `#38518`_: (`kkoppel`_) slack_notify.call_hook returns tracebacks (refs: `#38522`_)
* **PR** `#38522`_: (`kkoppel`_) Fix usage of salt.utils.http.query in slack_notify.call_hook
@ *2017-01-04 20:04:57 UTC*
* bc07d420e9 Merge pull request `#38522`_ from kkoppel/fix-issue-38518
* ff1e7f0c71 Fix usage of salt.utils.http.query in slack_notify.call_hook
* **ISSUE** `#38524`_: (`rbjorklin`_) salt-api seems to ignore rest_timeout since 2016.11.0 (refs: `#38585`_, `#38527`_)
* **PR** `#38527`_: (`rbjorklin`_) salt-api no longer forces the default timeout (refs: `#38585`_)
@ *2017-01-04 17:10:15 UTC*
* 42fef270ee Merge pull request `#38527`_ from rbjorklin/api-timeout-fix
* 0202f68820 salt-api no longer forces the default timeout
* **PR** `#38529`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2017-01-04 17:06:57 UTC*
* 1895eb7533 Merge pull request `#38529`_ from rallytime/merge-2016.11
* 85f470207c Merge branch '2016.3' into '2016.11'
* ec60f9c721 Merge pull request `#38487`_ from gtmanfred/2016.3
* 048b9f6b9d add test
* c480c11528 allow spaces in cron env
* c529ec8c34 allow crons to have multiple spaces
* c5ba11b5e0 Merge pull request `#38491`_ from gtmanfred/timing
* 79368c7528 Use UTC for timing in case timezone changes
* 86f0aa0bb3 Merge pull request `#38503`_ from jinm/issue_38472_jinm
* 0cd9df299f Hash type fallback for file management
* ed2ba4bd1b Merge pull request `#38457`_ from bshelton229/git-latest-head-bug
* 558e7a771a Stops git.latest checking for local changes in a bare repo
* 36e21b22cb Merge pull request `#38385`_ from dragon788/2016.3-double-dash
* 86c4b56f47 Newline for lint compat
* 9d9b686057 Address review comments, consistency of quotes
* df9bd5e7f9 Use unambigous long names with double dashes
* 59f2560d88 Merge pull request `#38474`_ from cachedout/key_loop
* de504538e1 Allow an existing ioloop to be passed to salt-key
* 3d0c752acd Merge pull request `#38467`_ from gtmanfred/2016.3
* 7b7c6b3878 file.line fail with mode=delete
* 940025d5c4 Merge pull request `#38434`_ from slinn0/issue_38433_fixes
* 22af87a3fc Fixes for https://github.com/saltstack/salt/issues/38433
* e5eb51255b Update deprecation notices to the correct version (`#38421`_)
* 9ce53318df file.managed: Fix failure when filename contains unicode chars (`#38415`_)
* 2cdb59d055 Merge pull request `#38419`_ from Ch3LL/fix_doc_scsi
* 234043b8bb fix scsci docs example
* **PR** `#38539`_: (`twangboy`_) Fix DSC LCM Config int checks
@ *2017-01-04 16:56:27 UTC*
* ec4f118ca2 Merge pull request `#38539`_ from twangboy/dsc_int_checks
* 5657fd1956 Add repr flag for str
* aea4219502 Fix DSC LCM Config int checks
* **PR** `#38549`_: (`meaksh`_) Adding multiple SUBVOLUME support and some fixes to the Snapper module
@ *2017-01-04 15:32:30 UTC*
* 53449c89a5 Merge pull request `#38549`_ from meaksh/2016.11-snapper-multiple-subvolumen-support
* ef26e93bb7 Some fixes and pylint
* 1e6ba45db4 Fixes pre/post snapshot order to get the inverse status
* 68d5475c1f Fixing Snapper unit tests for SUBVOLUME support
* e9919a913f Removing posible double '/' from the file paths
* 8b4f87f226 Updating and fixing the documentation
* edea45272a Raises "CommandExecutionError" if snapper command fails
* 3841e1143b Only include diff in the state response if `include_diff` is True
* 7803e7716c Adds multiple SUBVOLUME support to the Snapper module
* **PR** `#38545`_: (`rallytime`_) Move boto_vpc.describe_route_table deprecation version to Oxygen
* **PR** `#38471`_: (`twangboy`_) Fix Problem with win_service module
@ *2017-01-01 20:30:21 UTC*
* 5e80104a70 Merge pull request `#38471`_ from twangboy/fix_win_service
* 810471b9cd Fix problem with some services getting access denied
* **ISSUE** `#38485`_: (`wasabi222`_) bgp.config not working (refs: `#38499`_)
* **PR** `#38499`_: (`mirceaulinic`_) Fix `#38485`_ (refs: `#38577`_)
@ *2017-01-01 17:42:15 UTC*
* 0a09049a2d Merge pull request `#38499`_ from cloudflare/FIX-38485
* 18018139f3 Fix `#38485`_
* **PR** `#38501`_: (`mvdwalle`_) Do not assume every object is a server
@ *2017-01-01 17:37:57 UTC*
* 13f0b809df Merge pull request `#38501`_ from mvdwalle/fix-gogrid-list-password
* bd7dee9a10 Do not assume every object is a server
* **PR** `#38461`_: (`anlutro`_) Improvements/fixes to kapacitor task change detection
@ *2016-12-29 17:08:47 UTC*
* aa0c843553 Merge pull request `#38461`_ from alprs/fix-kapacitor_changes
* 52721e97d6 clean up and fix tests
* 8648775c2a if task is not defined, it's not up to date
* c3ab954c6e improvements/fixes to kapacitor task change detection
* **PR** `#38473`_: (`twangboy`_) Change OSX/OS X to macOS where possible
@ *2016-12-29 16:35:11 UTC*
* 2c51eb9d16 Merge pull request `#38473`_ from twangboy/osx_to_macos
* e96bfe8fa2 Change OSX/OS X to macOS where possible
* **PR** `#38412`_: (`bbinet`_) Update PillarStack stack.py to latest upstream version
@ *2016-12-28 19:28:40 UTC*
* 2497fb547e Merge pull request `#38412`_ from bbinet/pillarstack-updates
* b66b4bd060 Fix lint violations in stack.py
* 6a30fe6aeb Update PillarStack stack.py to latest upstream version
* **PR** `#38456`_: (`twangboy`_) Gate Windows Specific Salt Utils
@ *2016-12-28 18:44:33 UTC*
* 5395d3210a Merge pull request `#38456`_ from twangboy/gate_win_utils
* d34d110a84 Fix lint, fix boto module
* c20111142f Gate Windows Utils
* **PR** `#38428`_: (`gqgunhed`_) fixed typo: lq command-line syntax
@ *2016-12-27 15:42:02 UTC*
* 7c7799162b Merge pull request `#38428`_ from gqgunhed/fix_lq_typo
* d79d682e8b fixed typo: lq command-line syntax
* **ISSUE** `#38443`_: (`lorengordon`_) 2016.11 breaks file.managed on Windows (refs: `#38444`_)
* **ISSUE** `#34101`_: (`windoverwater`_) archive.extracted breakage due to 2016.3.0 upgrade from 2015.8.10 (refs: `#37368`_)
* **PR** `#38444`_: (`lorengordon`_) Adds new import required for `extract_hash`
@ *2016-12-27 15:37:20 UTC*
* **PR** `#37368`_: (`terminalmage`_) Overhaul archive.extracted state (refs: `#38444`_)
* f5984d0f81 Merge pull request `#38444`_ from lorengordon/issue-38443
* b2925ad7b7 Adds new import required for `extract_hash`
* **ISSUE** `#38071`_: (`luochun-95`_) remote execute is very slow (refs: `#38167`_)
* **PR** `#38167`_: (`cachedout`_) Kill pkg_resources for CLI tools [DO NOT MERGE]
@ *2016-12-22 22:11:22 UTC*
* 4c4f07ca4c Merge pull request `#38167`_ from cachedout/no_pkg_resources
* ec6901720a Remove debugging
* f28e33b9b6 Remove from all but salt cli
* bb3af72317 Remove from salt-call
* c676846066 Kill pkg_resources for CLI tools
* **PR** `#38417`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2016-12-22 19:00:44 UTC*
* 2fc8c154af Merge pull request `#38417`_ from rallytime/merge-2016.11
* efb8a8ddf5 Merge branch '2016.3' into '2016.11'
* 27253522c8 Improve pillar documentation (`#38407`_)
* 423b1fddff Merge pull request `#38398`_ from terminalmage/issue38372
* c80dbaa914 Fix call to file.get_managed in cron.file state
* 5a33d1e697 Fix http.query when result has no text (`#38382`_)
* b74b5c7d38 Merge pull request `#38390`_ from meaksh/2016.3-fix-try-restart-for-autorestarting-on-SUSE-systems
* de6ec05ec0 add try-restart to fix autorestarting on SUSE systems
* 2c3a39760a Merge pull request `#38221`_ from UtahDave/fix_default_returner
* 385640765b remove a blank line to satisfy linter
* 9c248aa14c validate return opt, remove default.
* 8bb37f9fe7 specify allowed types and default for "returner"
* 11863a4bfe add examples of default minion returners
* e7c6012655 add support for default returners using `return`
* **PR** `#38342`_: (`scthi`_) Bugfix ext pillar nodegroups
@ *2016-12-22 16:47:42 UTC*
* bbc149c67f Merge pull request `#38342`_ from scthi/bugfix-ext-pillar-nodegroups
* dba315c4b6 ext-pillar nodegroups works for all minions now.
* **PR** `#38403`_: (`terminalmage`_) git_pillar: Document the transition from env to saltenv in the jinja context
@ *2016-12-22 16:34:48 UTC*
* 453476d982 Merge pull request `#38403`_ from terminalmage/document-saltenv
* 0a72e0f0be git_pillar: Document the transition from env to saltenv in the jinja context
* **ISSUE** `#38253`_: (`gmacon`_) There was no error installing package 'setuptools' although it does not show when calling 'pip.freeze'. (refs: `#38354`_)
* **PR** `#38354`_: (`gmacon`_) Use --all when calling pip.py
@ *2016-12-20 20:40:21 UTC*
* 12436efb54 Merge pull request `#38354`_ from gmacon/pip-freeze-all
* dca24b270e Use --all when calling pip.py
* **PR** `#38348`_: (`rallytime`_) Update autodoc topics for new modules added in 2016.11
@ *2016-12-20 20:36:20 UTC*
* 68430b1fa6 Merge pull request `#38348`_ from rallytime/mod-docs-2016.11
* b31c2412ca Add __iter__ and next options to doc/conf.py
* b8c16094c4 Revert "Move import/error messaging logic for snapper module into __virtual__()"
* 640db5b5ac Move import/error messaging logic for snapper module into __virtual__()
* 366271f459 Add snapper to state index doc module list
* 135d254c80 Remove netapi autodoc files: they should not be added as their doc structure is different
* 0006139aca Update autodoc topics for new modules added in 2016.11
* **PR** `#38377`_: (`DmitryKuzmenko`_) Implementation and docs for Consul key-value store plugin for minion data cache.
@ *2016-12-20 20:36:02 UTC*
* 6ee7b2bae7 Merge pull request `#38377`_ from DSRCorporation/features/consul_cache
* 6fb4430ae3 Configuration options and documentation for Consul data cache plugin.
* dad748f57a Data cache plugin configuration documentation.
* c7209cd90c Consul data cache plugin.
* **PR** `#38373`_: (`rallytime`_) Back-port `#38212`_ to 2016.11
@ *2016-12-20 20:35:09 UTC*
* **PR** `#38212`_: (`disaster123`_) ZMQ: add an option for zmq.BACKLOG to salt master (zmq_backlog) (refs: `#38373`_)
* f6d1b559bc Merge pull request `#38373`_ from rallytime/bp-38212
* 52fc6daac0 ZMQ: add an option for zmq.BACKLOG to salt master (zmq_backlog)
* **PR** `#38374`_: (`mirceaulinic`_) NAPALM proxy module: Fix optional_args key issue
@ *2016-12-20 20:34:59 UTC*
* 69c3f19fc1 Merge pull request `#38374`_ from cloudflare/FIX-NAPALM-PROXY
* 44169315d8 Fix optional_args key issue
* **ISSUE** `#38048`_: (`ezh`_) [2016.11.0] Salt-cloud throws TypeError exception (refs: `#38073`_)
* **PR** `#38073`_: (`ezh`_) 2016.11
@ *2016-12-20 14:51:11 UTC*
* 530f495955 Merge pull request `#38073`_ from doublescoring/2016.11
* 42d3d26f28 [38073] Fix test assertion
* 9b37ead913 Fix broken os.write without string.encode
* **PR** `#38344`_: (`bbinet`_) Fix influxdb_database.present state
@ *2016-12-20 13:57:45 UTC*
* 67908d5aba Merge pull request `#38344`_ from bbinet/fix-influx-createdb
* c6b075d6f4 Fix influxdb_database.present state
* **PR** `#38358`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2016-12-20 00:11:48 UTC*
* 04d6898958 Merge pull request `#38358`_ from rallytime/merge-2016.11
* c6e191ad0d Remove doc markup references from 2016.11 branch
* 513058945c Merge branch '2016.3' into '2016.11'
* 09d9cff992 Merge pull request `#38288`_ from terminalmage/archive-extracted-local-source-2016.3
* 845e3d0e75 Update tests to reflect change in cache behavior
* 5a08d7c70a archive.extracted: don't try to cache local sources (2016.3 branch)
* bf37667f8a Merge pull request `#38312`_ from cro/proxy_config_in_cfg
* 2006c4000e Typo
* 689d95b10f Backport feature allowing proxy config to live in pillar OR /etc/salt/proxy.
* c83db5a785 Merge pull request `#38320`_ from rallytime/cleanup-doc-refs
* 62978cb7a0 Don't check the doc/conf.py file for doc markup refs
* 770e732d76 Add a unit test to search for new doc markup refs
* 5c42a361a0 Remove ":doc:" references from all doc/topics/installation/* files
* 23bce1c929 Remove ":doc:" references from all doc/topics/releases/* files
* 4aafa41d22 Remove ":doc:" references from a bunch of doc/* files
* 02bfe7912c Remove more ":doc:" references from doc/* files
* 6e32267d0c Remove ":doc:" references in salt/* files
* **PR** `#38285`_: (`terminalmage`_) archive.extracted: don't try to cache local sources
* **PR** `#37947`_: (`vutny`_) Fix `salt-minion` initscript for RHEL5 (SysV) to pick up proper python version
@ *2016-12-19 21:03:50 UTC*
* 13414949e3 Merge pull request `#37947`_ from vutny/fix-rhel5-minion-init
* c94e798b8a SysV init script for rpm: get and show unique PIDs only
* 8ff68c4128 Fix initscript for RHEL5 (SysV) to pick up proper python version
* **PR** `#38106`_: (`techhat`_) "test" is not necessarily in opts, for thorium
@ *2016-12-19 14:40:32 UTC*
* 4d072ca689 Merge pull request `#38106`_ from techhat/stateget
* 5edc16f606 "test" is not necessarily in opts, for thorium
* **PR** `#38333`_: (`amendlik`_) Suppress errors when checking if an alternative exists
@ *2016-12-19 13:40:49 UTC*
* a01fade604 Merge pull request `#38333`_ from amendlik/states-alternatives
* 8bfcd5bcd5 Adjust alternatives test for updated error message
* 09dee3c611 Suppress errors when checking if an alternative exists
* **PR** `#38340`_: (`ewapptus`_) Backport PR `#38251`_: Fixed nested orchestrate not respecting failures
@ *2016-12-19 13:31:16 UTC*
* **PR** `#38251`_: (`ewapptus`_) Fixed nested orchestrate not respecting failures (refs: `#38340`_)
* 15d3b476e9 Merge pull request `#38340`_ from ewapptus/bp-38251
* 266e0a465c Fixed nested orchestrate not respecting failures
* **PR** `#38229`_: (`mcalmer`_) provide kwargs of sls_build to dockerng.create
@ *2016-12-18 13:13:10 UTC*
* ecd441d090 Merge pull request `#38229`_ from mcalmer/dockerng-sls_build-kwargs
* e7292fabb7 make it explicit that we want to delete these keys
* 4c710139b5 use default values for pop() to prevent KeyError raised
* 455c18325c provide kwargs to dockerng.create to provide all features to sls_build as well
* **ISSUE** `#36204`_: (`stanvarlamov`_) Salt-Cloud: salt.runners.cloud.create exits with True on Python process (ec2.py) exception (refs: `#37333`_)
* **PR** `#38309`_: (`ewapptus`_) Backport PR `#37333`_: Fixed state.salt.runner() reporting success on exceptions
@ *2016-12-18 12:39:53 UTC*
* **PR** `#37333`_: (`benediktwerner`_) Fixed state.salt.runner() reporting success on exceptions (refs: `#38309`_)
* d2ce9c3e71 Merge pull request `#38309`_ from ewapptus/bp-37333
* a2b1259671 Fixed display of errors
* 14a39f914e Fixed state.salt.runner return value on exceptions
* **PR** `#38323`_: (`rallytime`_) Update the Cloud Provider Specifics links in cloud docs
@ *2016-12-18 12:30:49 UTC*
* ebb9f6cbbc Merge pull request `#38323`_ from rallytime/update-cloud-provider-links
* 022caf23e9 Update the Cloud Provider Specifics links in cloud docs
* **PR** `#38324`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2016-12-18 12:30:26 UTC*
* 5bd7471e30 Merge pull request `#38324`_ from rallytime/merge-2016.11
* 5940db5b3f Merge branch '2016.3' into '2016.11'
* 6367ca7d2a Add nick to args for create_multi (`#38281`_)
* 235682b1e6 Merge pull request `#38313`_ from dragon788/2016.3-chocolatey-fix
* 1f5fc17551 Use machine readable output for list
* cdbd2fbe3c Added limit-output to eliminate false packages
* 9e78ddc80e Merge pull request `#38279`_ from rallytime/fix-38174
* 4a62d01577 Add docs for syndic_wait setting
* **ISSUE** `#38246`_: (`martintamare`_) Windows Minion unable to start via nssm (refs: `#38247`_)
* **PR** `#38325`_: (`rallytime`_) Back-port `#38247`_ to 2016.11
@ *2016-12-18 12:28:41 UTC*
* **PR** `#38247`_: (`martintamare`_) fix(win_function): handle other language (refs: `#38325`_)
* 83523d2f73 Merge pull request `#38325`_ from rallytime/bp-38247
* 4b6c5438e3 fix(win_functions): syntax
* e602f17e3d fix(win_function): handle other language
* **ISSUE** `#30195`_: (`Vaelatern`_) Add Void Linux support in Salt (refs: `#31262`_, `#38326`_)
* **PR** `#38326`_: (`yopito`_) fix runit init support (grain init) in 2016.11
@ *2016-12-18 12:07:25 UTC*
* **PR** `#31262`_: (`Vaelatern`_) Add support for Void Linux (refs: `#38326`_)
* 54a2bb95de Merge pull request `#38326`_ from yopito/fix-runit-init-support
* 25b91bb686 fix detection of runit as init system (grain init)
* **PR** `#38322`_: (`rallytime`_) Add azurearm module to doc index
* **PR** `#38305`_: (`dereckson`_) Avoid normalization call for normalized mode value
@ *2016-12-16 17:31:25 UTC*
* 1e4f299e7d Merge pull request `#38305`_ from dereckson/fix-mode-extraneous-normalization
* 573ac3565e Avoid normalization call for normalized mode value
* **PR** `#38291`_: (`terminalmage`_) Improve documentation for archive.extracted in 2016.11
* **ISSUE** `#37966`_: (`Cybolic`_) salt-cloud EC2 instance can't be initiated (refs: `#37967`_)
* **PR** `#38298`_: (`rallytime`_) Back-port `#37967`_ to 2016.11
@ *2016-12-16 15:20:04 UTC*
* **PR** `#37967`_: (`Cybolic`_) Fixed faulty logic preventing instance initialisation. (refs: `#38298`_)
* 3cf0135d50 Merge pull request `#38298`_ from rallytime/bp-37967
* 42d367f39d Fixed faulty logic preventing instance initialisation.
* **ISSUE** `#38070`_: (`ezh`_) [2016.11.0] Salt-cloud throws UnicodeDecodeError exception (refs: `#38076`_)
* **PR** `#38076`_: (`ezh`_) Fix decoding of broken string from remote sources
@ *2016-12-15 19:05:25 UTC*
* f4f0036f30 Merge pull request `#38076`_ from doublescoring/fix-2016.11-38070
* 70c8db5489 Fix decoding of broken string from remote sources
* **PR** `#38278`_: (`rallytime`_) Back-port `#38207`_ to 2016.11
@ *2016-12-15 18:09:27 UTC*
* **PR** `#38207`_: (`tsaridas`_) remove empty strings from list but not ones with one empty space char (refs: `#38278`_)
* **PR** `#38188`_: (`tsaridas`_) fix for push_dir in different OS (refs: `#38203`_, `#38207`_)
* 2ccab22c19 Merge pull request `#38278`_ from rallytime/bp-38207
* 5e8bf571d8 python3 compatibility and fix pylint
* e0df047000 remove empty strings from list but not ones with one empty space char
* **PR** `#38277`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2016-12-15 18:09:10 UTC*
* a748e842a8 Merge pull request `#38277`_ from rallytime/merge-2016.11
* 49a3355915 Merge branch '2016.3' into '2016.11'
* fc9e1dff35 Merge pull request `#38248`_ from meaksh/salt-api-successfully-close-child-processes
* ee6eae9855 Successfully exit of salt-api child processes when SIGTERM.
* 3c718ed35e Merge pull request `#38254`_ from terminalmage/check-pillarenv
* fa9ad311c6 Also check if pillarenv is in opts
* 6b9060c38f [2016.3] Bump latest release version to 2016.11.1 (`#38256`_)
* **ISSUE** `#38231`_: (`tjuup`_) Typo: salt-key deleteed (refs: `#38232`_)
* **PR** `#38232`_: (`rallytime`_) Strip final 'e' in key cmd to correct "deleteed" misspelling
@ *2016-12-15 10:38:49 UTC*
* 0af343e71f Merge pull request `#38232`_ from rallytime/fix-38231
* 26e1ee3650 Strip final 'e' in key cmd to correct "deleteed" misspelling
* **ISSUE** `#38200`_: (`sebw`_) selinux.mode doesn't return any output and doesn't persist (refs: `#38236`_)
* **PR** `#38236`_: (`gtmanfred`_) SELINUXTYPE should not be changed
@ *2016-12-15 10:37:06 UTC*
* 6c1ca9dae7 Merge pull request `#38236`_ from gtmanfred/2016.11
* d1b070c894 clean up selinux unit test
* 96eabd4939 SELINUXTYPE should not be changed
* **ISSUE** `#38228`_: (`vquiering`_) archive.extracted with options and user/group (refs: `#38262`_)
* **PR** `#38262`_: (`terminalmage`_) Fix archive.extracted when --strip or --strip-components is in the options
@ *2016-12-15 08:57:18 UTC*
* fd32dc3e9b Merge pull request `#38262`_ from terminalmage/issue38228
* 6442f8a7b5 Add tests for --strip/--strip-components
* c502e68f12 Detect --strip/--strip-components in tar options and handle properly
* e95770594d Add strip_components arg to archive.list
* **PR** `#38264`_: (`mirceaulinic`_) Port `#37862`_ into 2016.11
@ *2016-12-15 08:51:20 UTC*
* **PR** `#37862`_: (`mirceaulinic`_) [2016.11.1] Docstring fixes and new features for napalm_network (refs: `#38264`_)
* b232bd8ce8 Merge pull request `#38264`_ from cloudflare/PORT-37862
* 28bbb73151 Import from napalm_base instead of napalm
* 0a675afc40 Vice-versa docstring
* 09c50176e2 More docfix
* 215b8f38e2 Lint cleanup
* **PR** `#38260`_: (`rallytime`_) Add 2016.11.2 release notes
* **PR** `#38257`_: (`rallytime`_) [2016.11] Bump latest release version to 2016.11.1
* **PR** `#38233`_: (`terminalmage`_) Correct an inaccurate warning when top_file_merging_strategy == merge_all
* **PR** `#38234`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2016-12-13 18:28:02 UTC*
* ba62fcf2ec Merge pull request `#38234`_ from rallytime/merge-2016.11
* 6a327d1367 Merge branch '2016.3' into '2016.11'
* 004e46afe7 Merge pull request `#38198`_ from vutny/unit-tests-require-libcloud-boto3
* a6098bac1a Remove note about SaltTesting installation, now it is in the requirements
* 004bff113e Add missing requirements for running unit tests: libcloud and boto3
* 9d497bc74c Merge pull request `#38213`_ from rallytime/skip-tls-test
* bdb807fc7c Skip test_cert_info tls unit test on pyOpenSSL upstream errors
* 203109dd17 Merge pull request `#38224`_ from whiteinge/cors-options-unauthed
* de4d3227ab Allow CORS OPTIONS requests to be unauthenticated
* 721a5feccd Merge pull request `#38223`_ from whiteinge/salt-api-root_dirs
* bfbf390c0e Add root_dir to salt-api file paths
* **PR** `#38205`_: (`rallytime`_) [2016.11] Merge forward from 2016.3 to 2016.11
@ *2016-12-12 18:13:18 UTC*
* 7ead1ed336 Merge pull request `#38205`_ from rallytime/merge-2016.11
* e31f97cf71 Merge branch '2016.3' into '2016.11'
* 70f7d22ad6 Merge pull request `#38191`_ from terminalmage/issue38162
* 1ae543a98a Clarify the fact that git_pillar.update does not fast-forward
* 28171cbfc5 Merge pull request `#38194`_ from vutny/integration-test-requirements-doc
* e9f419ff64 Document the requirements for running ZeroMQ-based integration tests
* a4ef037ab1 Merge pull request `#38185`_ from rallytime/bp-38181
* 609f814454 Reset socket default timeout to None (fixes daemons_tests failures)
* **PR** `#38203`_: (`rallytime`_) Back-port `#38188`_ to 2016.11
@ *2016-12-12 17:48:51 UTC*
* **PR** `#38188`_: (`tsaridas`_) fix for push_dir in different OS (refs: `#38203`_, `#38207`_)
* 669409d681 Merge pull request `#38203`_ from rallytime/bp-38188
* 50d3200b12 removing not needed join
* 7af708e1e7 fix for push_dir in different OS
.. _`#10`: https://github.com/saltstack/salt/issues/10
.. _`#19`: https://github.com/saltstack/salt/issues/19
.. _`#20`: https://github.com/saltstack/salt/issues/20
.. _`#30195`: https://github.com/saltstack/salt/issues/30195
.. _`#31262`: https://github.com/saltstack/salt/pull/31262
.. _`#33932`: https://github.com/saltstack/salt/issues/33932
.. _`#33933`: https://github.com/saltstack/salt/pull/33933
.. _`#34101`: https://github.com/saltstack/salt/issues/34101
.. _`#35390`: https://github.com/saltstack/salt/pull/35390
.. _`#36148`: https://github.com/saltstack/salt/issues/36148
.. _`#36204`: https://github.com/saltstack/salt/issues/36204
.. _`#37027`: https://github.com/saltstack/salt/issues/37027
.. _`#37333`: https://github.com/saltstack/salt/pull/37333
.. _`#37355`: https://github.com/saltstack/salt/issues/37355
.. _`#37358`: https://github.com/saltstack/salt/pull/37358
.. _`#37368`: https://github.com/saltstack/salt/pull/37368
.. _`#37862`: https://github.com/saltstack/salt/pull/37862
.. _`#37947`: https://github.com/saltstack/salt/pull/37947
.. _`#37948`: https://github.com/saltstack/salt/issues/37948
.. _`#37966`: https://github.com/saltstack/salt/issues/37966
.. _`#37967`: https://github.com/saltstack/salt/pull/37967
.. _`#37981`: https://github.com/saltstack/salt/issues/37981
.. _`#37982`: https://github.com/saltstack/salt/pull/37982
.. _`#37996`: https://github.com/saltstack/salt/issues/37996
.. _`#38048`: https://github.com/saltstack/salt/issues/38048
.. _`#38070`: https://github.com/saltstack/salt/issues/38070
.. _`#38071`: https://github.com/saltstack/salt/issues/38071
.. _`#38073`: https://github.com/saltstack/salt/pull/38073
.. _`#38076`: https://github.com/saltstack/salt/pull/38076
.. _`#38081`: https://github.com/saltstack/salt/issues/38081
.. _`#38106`: https://github.com/saltstack/salt/pull/38106
.. _`#38167`: https://github.com/saltstack/salt/pull/38167
.. _`#38183`: https://github.com/saltstack/salt/pull/38183
.. _`#38185`: https://github.com/saltstack/salt/pull/38185
.. _`#38188`: https://github.com/saltstack/salt/pull/38188
.. _`#38191`: https://github.com/saltstack/salt/pull/38191
.. _`#38194`: https://github.com/saltstack/salt/pull/38194
.. _`#38198`: https://github.com/saltstack/salt/pull/38198
.. _`#38200`: https://github.com/saltstack/salt/issues/38200
.. _`#38203`: https://github.com/saltstack/salt/pull/38203
.. _`#38205`: https://github.com/saltstack/salt/pull/38205
.. _`#38207`: https://github.com/saltstack/salt/pull/38207
.. _`#38212`: https://github.com/saltstack/salt/pull/38212
.. _`#38213`: https://github.com/saltstack/salt/pull/38213
.. _`#38216`: https://github.com/saltstack/salt/issues/38216
.. _`#38221`: https://github.com/saltstack/salt/pull/38221
.. _`#38223`: https://github.com/saltstack/salt/pull/38223
.. _`#38224`: https://github.com/saltstack/salt/pull/38224
.. _`#38228`: https://github.com/saltstack/salt/issues/38228
.. _`#38229`: https://github.com/saltstack/salt/pull/38229
.. _`#38231`: https://github.com/saltstack/salt/issues/38231
.. _`#38232`: https://github.com/saltstack/salt/pull/38232
.. _`#38233`: https://github.com/saltstack/salt/pull/38233
.. _`#38234`: https://github.com/saltstack/salt/pull/38234
.. _`#38236`: https://github.com/saltstack/salt/pull/38236
.. _`#38246`: https://github.com/saltstack/salt/issues/38246
.. _`#38247`: https://github.com/saltstack/salt/pull/38247
.. _`#38248`: https://github.com/saltstack/salt/pull/38248
.. _`#38251`: https://github.com/saltstack/salt/pull/38251
.. _`#38253`: https://github.com/saltstack/salt/issues/38253
.. _`#38254`: https://github.com/saltstack/salt/pull/38254
.. _`#38256`: https://github.com/saltstack/salt/pull/38256
.. _`#38257`: https://github.com/saltstack/salt/pull/38257
.. _`#38260`: https://github.com/saltstack/salt/pull/38260
.. _`#38262`: https://github.com/saltstack/salt/pull/38262
.. _`#38264`: https://github.com/saltstack/salt/pull/38264
.. _`#38277`: https://github.com/saltstack/salt/pull/38277
.. _`#38278`: https://github.com/saltstack/salt/pull/38278
.. _`#38279`: https://github.com/saltstack/salt/pull/38279
.. _`#38281`: https://github.com/saltstack/salt/pull/38281
.. _`#38285`: https://github.com/saltstack/salt/pull/38285
.. _`#38288`: https://github.com/saltstack/salt/pull/38288
.. _`#38291`: https://github.com/saltstack/salt/pull/38291
.. _`#38298`: https://github.com/saltstack/salt/pull/38298
.. _`#38305`: https://github.com/saltstack/salt/pull/38305
.. _`#38309`: https://github.com/saltstack/salt/pull/38309
.. _`#38312`: https://github.com/saltstack/salt/pull/38312
.. _`#38313`: https://github.com/saltstack/salt/pull/38313
.. _`#38320`: https://github.com/saltstack/salt/pull/38320
.. _`#38322`: https://github.com/saltstack/salt/pull/38322
.. _`#38323`: https://github.com/saltstack/salt/pull/38323
.. _`#38324`: https://github.com/saltstack/salt/pull/38324
.. _`#38325`: https://github.com/saltstack/salt/pull/38325
.. _`#38326`: https://github.com/saltstack/salt/pull/38326
.. _`#38333`: https://github.com/saltstack/salt/pull/38333
.. _`#38340`: https://github.com/saltstack/salt/pull/38340
.. _`#38342`: https://github.com/saltstack/salt/pull/38342
.. _`#38344`: https://github.com/saltstack/salt/pull/38344
.. _`#38348`: https://github.com/saltstack/salt/pull/38348
.. _`#38354`: https://github.com/saltstack/salt/pull/38354
.. _`#38358`: https://github.com/saltstack/salt/pull/38358
.. _`#38373`: https://github.com/saltstack/salt/pull/38373
.. _`#38374`: https://github.com/saltstack/salt/pull/38374
.. _`#38377`: https://github.com/saltstack/salt/pull/38377
.. _`#38382`: https://github.com/saltstack/salt/pull/38382
.. _`#38385`: https://github.com/saltstack/salt/pull/38385
.. _`#38388`: https://github.com/saltstack/salt/issues/38388
.. _`#38390`: https://github.com/saltstack/salt/pull/38390
.. _`#38398`: https://github.com/saltstack/salt/pull/38398
.. _`#38403`: https://github.com/saltstack/salt/pull/38403
.. _`#38406`: https://github.com/saltstack/salt/pull/38406
.. _`#38407`: https://github.com/saltstack/salt/pull/38407
.. _`#38412`: https://github.com/saltstack/salt/pull/38412
.. _`#38415`: https://github.com/saltstack/salt/pull/38415
.. _`#38417`: https://github.com/saltstack/salt/pull/38417
.. _`#38419`: https://github.com/saltstack/salt/pull/38419
.. _`#38421`: https://github.com/saltstack/salt/pull/38421
.. _`#38428`: https://github.com/saltstack/salt/pull/38428
.. _`#38434`: https://github.com/saltstack/salt/pull/38434
.. _`#38443`: https://github.com/saltstack/salt/issues/38443
.. _`#38444`: https://github.com/saltstack/salt/pull/38444
.. _`#38456`: https://github.com/saltstack/salt/pull/38456
.. _`#38457`: https://github.com/saltstack/salt/pull/38457
.. _`#38461`: https://github.com/saltstack/salt/pull/38461
.. _`#38462`: https://github.com/saltstack/salt/issues/38462
.. _`#38467`: https://github.com/saltstack/salt/pull/38467
.. _`#38471`: https://github.com/saltstack/salt/pull/38471
.. _`#38473`: https://github.com/saltstack/salt/pull/38473
.. _`#38474`: https://github.com/saltstack/salt/pull/38474
.. _`#38476`: https://github.com/saltstack/salt/pull/38476
.. _`#38485`: https://github.com/saltstack/salt/issues/38485
.. _`#38487`: https://github.com/saltstack/salt/pull/38487
.. _`#38491`: https://github.com/saltstack/salt/pull/38491
.. _`#38499`: https://github.com/saltstack/salt/pull/38499
.. _`#38501`: https://github.com/saltstack/salt/pull/38501
.. _`#38503`: https://github.com/saltstack/salt/pull/38503
.. _`#38509`: https://github.com/saltstack/salt/pull/38509
.. _`#38517`: https://github.com/saltstack/salt/issues/38517
.. _`#38518`: https://github.com/saltstack/salt/issues/38518
.. _`#38520`: https://github.com/saltstack/salt/pull/38520
.. _`#38521`: https://github.com/saltstack/salt/issues/38521
.. _`#38522`: https://github.com/saltstack/salt/pull/38522
.. _`#38524`: https://github.com/saltstack/salt/issues/38524
.. _`#38527`: https://github.com/saltstack/salt/pull/38527
.. _`#38528`: https://github.com/saltstack/salt/issues/38528
.. _`#38529`: https://github.com/saltstack/salt/pull/38529
.. _`#38531`: https://github.com/saltstack/salt/pull/38531
.. _`#38536`: https://github.com/saltstack/salt/pull/38536
.. _`#38539`: https://github.com/saltstack/salt/pull/38539
.. _`#38541`: https://github.com/saltstack/salt/pull/38541
.. _`#38542`: https://github.com/saltstack/salt/pull/38542
.. _`#38545`: https://github.com/saltstack/salt/pull/38545
.. _`#38549`: https://github.com/saltstack/salt/pull/38549
.. _`#38554`: https://github.com/saltstack/salt/pull/38554
.. _`#38560`: https://github.com/saltstack/salt/pull/38560
.. _`#38562`: https://github.com/saltstack/salt/pull/38562
.. _`#38567`: https://github.com/saltstack/salt/pull/38567
.. _`#38570`: https://github.com/saltstack/salt/pull/38570
.. _`#38577`: https://github.com/saltstack/salt/pull/38577
.. _`#38578`: https://github.com/saltstack/salt/pull/38578
.. _`#38584`: https://github.com/saltstack/salt/pull/38584
.. _`#38585`: https://github.com/saltstack/salt/pull/38585
.. _`#38587`: https://github.com/saltstack/salt/pull/38587
.. _`#38589`: https://github.com/saltstack/salt/pull/38589
.. _`#38595`: https://github.com/saltstack/salt/issues/38595
.. _`#38598`: https://github.com/saltstack/salt/pull/38598
.. _`#38599`: https://github.com/saltstack/salt/pull/38599
.. _`#38600`: https://github.com/saltstack/salt/pull/38600
.. _`#38601`: https://github.com/saltstack/salt/pull/38601
.. _`#38602`: https://github.com/saltstack/salt/pull/38602
.. _`#38610`: https://github.com/saltstack/salt/pull/38610
.. _`#38612`: https://github.com/saltstack/salt/pull/38612
.. _`#38615`: https://github.com/saltstack/salt/pull/38615
.. _`#38618`: https://github.com/saltstack/salt/pull/38618
.. _`#38619`: https://github.com/saltstack/salt/pull/38619
.. _`#38626`: https://github.com/saltstack/salt/pull/38626
.. _`#38627`: https://github.com/saltstack/salt/pull/38627
.. _`#38631`: https://github.com/saltstack/salt/issues/38631
.. _`#38635`: https://github.com/saltstack/salt/pull/38635
.. _`#38640`: https://github.com/saltstack/salt/pull/38640
.. _`#38645`: https://github.com/saltstack/salt/pull/38645
.. _`#38647`: https://github.com/saltstack/salt/pull/38647
.. _`#38649`: https://github.com/saltstack/salt/pull/38649
.. _`#38650`: https://github.com/saltstack/salt/pull/38650
.. _`#38651`: https://github.com/saltstack/salt/pull/38651
.. _`#38657`: https://github.com/saltstack/salt/pull/38657
.. _`#38659`: https://github.com/saltstack/salt/pull/38659
.. _`#38660`: https://github.com/saltstack/salt/pull/38660
.. _`#38661`: https://github.com/saltstack/salt/pull/38661
.. _`#38664`: https://github.com/saltstack/salt/pull/38664
.. _`#38667`: https://github.com/saltstack/salt/pull/38667
.. _`#38668`: https://github.com/saltstack/salt/pull/38668
.. _`#38669`: https://github.com/saltstack/salt/pull/38669
.. _`#38676`: https://github.com/saltstack/salt/pull/38676
.. _`#38677`: https://github.com/saltstack/salt/issues/38677
.. _`#38682`: https://github.com/saltstack/salt/pull/38682
.. _`#38684`: https://github.com/saltstack/salt/issues/38684
.. _`#38693`: https://github.com/saltstack/salt/pull/38693
.. _`#38695`: https://github.com/saltstack/salt/pull/38695
.. _`#38703`: https://github.com/saltstack/salt/pull/38703
.. _`#38707`: https://github.com/saltstack/salt/pull/38707
.. _`#38713`: https://github.com/saltstack/salt/pull/38713
.. _`#38718`: https://github.com/saltstack/salt/pull/38718
.. _`#38720`: https://github.com/saltstack/salt/pull/38720
.. _`#38723`: https://github.com/saltstack/salt/pull/38723
.. _`#38726`: https://github.com/saltstack/salt/pull/38726
.. _`#38729`: https://github.com/saltstack/salt/pull/38729
.. _`#38731`: https://github.com/saltstack/salt/pull/38731
.. _`#38735`: https://github.com/saltstack/salt/pull/38735
.. _`#38739`: https://github.com/saltstack/salt/pull/38739
.. _`#38743`: https://github.com/saltstack/salt/pull/38743
.. _`#38749`: https://github.com/saltstack/salt/pull/38749
.. _`#38759`: https://github.com/saltstack/salt/pull/38759
.. _`#38774`: https://github.com/saltstack/salt/pull/38774
.. _`#38775`: https://github.com/saltstack/salt/issues/38775
.. _`#38778`: https://github.com/saltstack/salt/pull/38778
.. _`#38787`: https://github.com/saltstack/salt/pull/38787
.. _`#38789`: https://github.com/saltstack/salt/pull/38789
.. _`#38790`: https://github.com/saltstack/salt/pull/38790
.. _`#38792`: https://github.com/saltstack/salt/pull/38792
.. _`#38796`: https://github.com/saltstack/salt/pull/38796
.. _`#38799`: https://github.com/saltstack/salt/pull/38799
.. _`#38807`: https://github.com/saltstack/salt/pull/38807
.. _`#38808`: https://github.com/saltstack/salt/pull/38808
.. _`#38809`: https://github.com/saltstack/salt/pull/38809
.. _`#38810`: https://github.com/saltstack/salt/pull/38810
.. _`#38811`: https://github.com/saltstack/salt/pull/38811
.. _`#38812`: https://github.com/saltstack/salt/pull/38812
.. _`#38813`: https://github.com/saltstack/salt/pull/38813
.. _`#38815`: https://github.com/saltstack/salt/pull/38815
.. _`#38819`: https://github.com/saltstack/salt/pull/38819
.. _`#38832`: https://github.com/saltstack/salt/pull/38832
.. _`#38848`: https://github.com/saltstack/salt/pull/38848
.. _`#38850`: https://github.com/saltstack/salt/pull/38850
.. _`#38859`: https://github.com/saltstack/salt/pull/38859
.. _`Ch3LL`: https://github.com/Ch3LL
.. _`Cybolic`: https://github.com/Cybolic
.. _`DmitryKuzmenko`: https://github.com/DmitryKuzmenko
.. _`MorphBonehunter`: https://github.com/MorphBonehunter
.. _`UtahDave`: https://github.com/UtahDave
.. _`Vaelatern`: https://github.com/Vaelatern
.. _`alex-zel`: https://github.com/alex-zel
.. _`alxwr`: https://github.com/alxwr
.. _`amendlik`: https://github.com/amendlik
.. _`anlutro`: https://github.com/anlutro
.. _`aosagie`: https://github.com/aosagie
.. _`basdusee`: https://github.com/basdusee
.. _`bbinet`: https://github.com/bbinet
.. _`benediktwerner`: https://github.com/benediktwerner
.. _`cachedout`: https://github.com/cachedout
.. _`charburns`: https://github.com/charburns
.. _`clinta`: https://github.com/clinta
.. _`cro`: https://github.com/cro
.. _`dereckson`: https://github.com/dereckson
.. _`disaster123`: https://github.com/disaster123
.. _`djacobs2016`: https://github.com/djacobs2016
.. _`doitian`: https://github.com/doitian
.. _`ewapptus`: https://github.com/ewapptus
.. _`ezh`: https://github.com/ezh
.. _`folti`: https://github.com/folti
.. _`g-shockfx`: https://github.com/g-shockfx
.. _`gmacon`: https://github.com/gmacon
.. _`gqgunhed`: https://github.com/gqgunhed
.. _`gtmanfred`: https://github.com/gtmanfred
.. _`haraldrudell`: https://github.com/haraldrudell
.. _`kkoppel`: https://github.com/kkoppel
.. _`lorengordon`: https://github.com/lorengordon
.. _`luochun-95`: https://github.com/luochun-95
.. _`martintamare`: https://github.com/martintamare
.. _`mcalmer`: https://github.com/mcalmer
.. _`meaksh`: https://github.com/meaksh
.. _`mirceaulinic`: https://github.com/mirceaulinic
.. _`mostafahussein`: https://github.com/mostafahussein
.. _`mvdwalle`: https://github.com/mvdwalle
.. _`pgrishin`: https://github.com/pgrishin
.. _`rallytime`: https://github.com/rallytime
.. _`rbjorklin`: https://github.com/rbjorklin
.. _`rukender`: https://github.com/rukender
.. _`scthi`: https://github.com/scthi
.. _`sebw`: https://github.com/sebw
.. _`sjorge`: https://github.com/sjorge
.. _`stanvarlamov`: https://github.com/stanvarlamov
.. _`stefan-as`: https://github.com/stefan-as
.. _`tazaki`: https://github.com/tazaki
.. _`techhat`: https://github.com/techhat
.. _`terminalmage`: https://github.com/terminalmage
.. _`tjuup`: https://github.com/tjuup
.. _`tsaridas`: https://github.com/tsaridas
.. _`twangboy`: https://github.com/twangboy
.. _`vladvasiliu`: https://github.com/vladvasiliu
.. _`vquiering`: https://github.com/vquiering
.. _`vutny`: https://github.com/vutny
.. _`wasabi222`: https://github.com/wasabi222
.. _`windoverwater`: https://github.com/windoverwater
.. _`wolfpackmars2`: https://github.com/wolfpackmars2
.. _`yhekma`: https://github.com/yhekma
.. _`yopito`: https://github.com/yopito
.. _`yue9944882`: https://github.com/yue9944882