1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
|
# Change Log
Starting with v2.0.0, all notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## Following the release of version 5.0.2 on October 13, 2023, an automated changelog has been implemented, this document is an archived copy of the previous changelog
## v5.0.2 - 2023-09-29
* Correct a Digest call making this thread-safe and allowing for concurrent r10k deploys.
Thanks to @cmd-ntrf for fixing it and to @baurmatt for tracking it down in the first place.
## v5.0.1 - 2023-07-10
* Update README to reflect accurate Ruby requirement and `faraday` gem dependency
## v5.0.0 - 2023-05-07
* Ruby 3.2 support.
* LRU caching for HTTP response caching.
* Raise a ModuleNotFound error instead of just nil when a module is not found.
## v4.1.0 - 2023-02-21
* Add upload method functionality.
* Allows the user to search by an array of endorsements.
## v4.0.0 - 2022-11-30
* Breaking: The `puppet_forge` gem now requires at least Ruby 2.6.0
* Update `faraday` gem to 2.x series
## v3.2.0 - 2021-11-09
* Allow requests to follow redirects
* Remove the `gettext-setup` gem dependency, which was unused
## v3.1.0 - 2021-08-20
### Changed
* Update `PuppetForge::Connection.authorization` so that it prepends the
required `Bearer ` string automatically to values that look like Forge API
keys. This won't affect values that already include `Bearer `.
## v3.0.0 - 2021-01-28
* Breaking: The `puppet_forge` gem now requires at least Ruby 2.4.0.
* Update `faraday` and `faraday_middleware` gem dependencies to 1.x series.
* Update optional `typhoeus` dependency to `>= 1.4` to maintain compatibility with `faraday`.
## v2.3.4 - 2020-03-31
* Update the forge API url to `forgeapi.puppet.com` (instead of using the older puppetlabs.com domain).
* Allow versions of the `faraday_middleware` dependency up to 0.15.
## v2.3.3 - 2020-02-20
### Changed
* Allow versions of faraday up to 0.18
## v2.3.2 - 2020-02-05
### Fixed
* Catch and handle the new `Faraday::TimeoutError`s which are occasionally
surfaced by the the typheous adapter with more recent verions of libcurl, and
log them the same way that `Faraday::ConnectionFailed` errors are already
logged.
### Changed
* Allow for using `faraday_middleware` versions in the 0.13.x series.
## v2.3.1 - 2019-11-15
### Fixed
* Fixed an issue where proxy configurations were being ignored by expanding the range of acceptable versions of the `faraday` gem dependency and specifically excluding the version that was ignoring proxy configuration options.
## v2.3.0 - 2019-07-09
### Changed
* Updated `PuppetForge::V3::Release#verify` method to use `file_sha256` checksum from Forge API when available.
* Added an `allow_md5` param to `PuppetForge::V3::Release#verify` method to control whether or not fallback to MD5 checksum will be allowed in cases where SHA-256 checksum is not available.
## v2.2.9 - 2017-12-01
### Changed
* Loosened dependency on `faraday` and `faraday_middleware` gems to include recent releases.
## v2.2.8 - 2017-11-09
### Added
Created PuppetForge::Util class with a single method, version_valid?, in order to
drop the r10k dependency on semantic_puppet.
## v2.2.7 - 2017-06-30
### Changed
* Updated dependency on `semantic_puppet` to `~> 1.0`.
## v2.2.6 - 2017-06-27
### Fixed
* Fixed an issue when attempting to assign a non-String value to `PuppetForge.host`.
## v2.2.5 - 2017-06-26
### Fixed
* (FORGE-338) Fixed an issue where `V3::Release.download_url` returned an incorrect value when `PuppetForge.host` included
a path prefix. (Thanks to [Jainish Shah](https://github.com/jainishshah17) for the report and initial fix proposal.)
## v2.2.4 - 2017-04-17
### Added
* PuppetForge::Connection now has .accept\_language and .accept\_language= class methods providing a way to set the
'Accept-Language' header for outbound requests.
## v2.2.3 - 2017-01-17
### Changed
* Fixed an issue that was preventing PuppetForge.host from honoring any given path prefix.
* Upgraded gettext-setup dependency to 0.11 release.
## v2.2.2 - 2016-07-06
### Changed
* Externalized all user facing strings with gettext to support future localization work.
## v2.2.1 - 2016-05-24
### Changed
* Fixed an issue where certain types of connection failures raised a spurious "method missing" error instead of the underlying
exception.
* When setting PuppetForge::Connection.proxy, an empty string will now be treated as nil. If no proxy has yet been configured,
setting to an empty string will have no effect. If a proxy has already been configured, setting to nil will unset the existing
value.
## v2.2.0 - 2016-05-10
### Changed
* puppet\_forge's optional dependency on Typhoeus now searches for a gem matching '~> 1.0.1' so it will pick up more recent versions.
NOTE: This means if you have a version of Typhoeus installed that is less than 1.0.1, puppet\_forge will no longer use the Typhoeus
adapter and will fall back to Ruby's Net::HTTP library.
## v2.1.5 - 2016-04-13
### Added
* PuppetForge::Connection now has .proxy and .proxy= class methods providing a more reliable way of configuring an HTTP proxy.
### Changed
* Cached connection objects will now be automatically discarded when proxy or authorization config has changed.
## v2.1.4 - 2016-04-01
### Changed
* Bug in usage of minitar filenames led to ignored tar files with tar file length of >100 chars.
## v2.1.3 - 2016-01-25
### Changed
* PuppetForge::V3::Release.download will now use the "file\_uri" field of the Release API response to calculate the URI to download from. (Thanks to [ericparton](https://github.com/ericparton) for the contribution.)
## v2.1.2 - 2015-12-16
### Changed
* Runtime dependency on "faraday\_middleware" gem updated to allow 0.10.x releases.
## v2.1.1 - 2015-10-06
### Changed
* Bug in error message around missing release on forge caused inappropriate error.
## v2.1.0 - 2015-08-20
### Added
* PuppetForge::ReleaseForbidden added to acknowledge 403 status returned from release download request
## v2.0.0 - 2015-08-13
### Added
* PuppetForge::V3::Release can now verify the md5, unpack, and install a release tarball.
* PuppetForge::Middleware::SymbolifyJson to change Faraday response hash keys into symbols.
* PuppetForge::V3::Metadata to represent a release's metadata as an object.
* PuppetForge::Connection to provide Faraday connections.
### Changed
* Failed API requests, such as those for a module that doesn't exist, throw a Faraday::ResourceNotFound error.
* API requests are sent through Faraday directly rather than through Her.
* PuppetForge::V3::Base#where and PuppetForge::V3::Base#all now send an API request immediately and return a paginated collection.
### Removed
* Dependency on Her (also removes dependency on ActiveSupport).
|