googleauth 0.13.1 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.github/CODEOWNERS +7 -0
  3. data/.github/workflows/ci.yml +55 -0
  4. data/.github/workflows/release-please.yml +39 -0
  5. data/.gitignore +3 -0
  6. data/.kokoro/populate-secrets.sh +76 -0
  7. data/.kokoro/release.cfg +7 -49
  8. data/.kokoro/release.sh +18 -0
  9. data/.kokoro/trampoline_v2.sh +489 -0
  10. data/.rubocop.yml +0 -2
  11. data/.toys/.toys.rb +45 -0
  12. data/.toys/ci.rb +43 -0
  13. data/.toys/kokoro/.toys.rb +66 -0
  14. data/.toys/kokoro/publish-docs.rb +67 -0
  15. data/.toys/kokoro/publish-gem.rb +53 -0
  16. data/.toys/linkinator.rb +43 -0
  17. data/.trampolinerc +48 -0
  18. data/CHANGELOG.md +66 -26
  19. data/Gemfile +2 -7
  20. data/{COPYING → LICENSE} +0 -0
  21. data/README.md +9 -7
  22. data/googleauth.gemspec +2 -1
  23. data/lib/googleauth/compute_engine.rb +30 -8
  24. data/lib/googleauth/credentials.rb +167 -48
  25. data/lib/googleauth/credentials_loader.rb +1 -1
  26. data/lib/googleauth/iam.rb +1 -1
  27. data/lib/googleauth/id_tokens/key_sources.rb +7 -5
  28. data/lib/googleauth/id_tokens/verifier.rb +7 -9
  29. data/lib/googleauth/scope_util.rb +1 -1
  30. data/lib/googleauth/service_account.rb +31 -21
  31. data/lib/googleauth/signet.rb +1 -1
  32. data/lib/googleauth/stores/file_token_store.rb +1 -0
  33. data/lib/googleauth/stores/redis_token_store.rb +1 -0
  34. data/lib/googleauth/version.rb +1 -1
  35. data/lib/googleauth/web_user_authorizer.rb +4 -7
  36. data/spec/googleauth/compute_engine_spec.rb +36 -4
  37. data/spec/googleauth/credentials_spec.rb +228 -106
  38. data/spec/googleauth/service_account_spec.rb +8 -0
  39. metadata +18 -23
  40. data/.kokoro/build.bat +0 -16
  41. data/.kokoro/build.sh +0 -4
  42. data/.kokoro/continuous/common.cfg +0 -24
  43. data/.kokoro/continuous/linux.cfg +0 -25
  44. data/.kokoro/continuous/osx.cfg +0 -8
  45. data/.kokoro/continuous/post.cfg +0 -30
  46. data/.kokoro/continuous/windows.cfg +0 -29
  47. data/.kokoro/osx.sh +0 -4
  48. data/.kokoro/presubmit/common.cfg +0 -24
  49. data/.kokoro/presubmit/linux.cfg +0 -24
  50. data/.kokoro/presubmit/osx.cfg +0 -8
  51. data/.kokoro/presubmit/windows.cfg +0 -29
  52. data/.kokoro/trampoline.bat +0 -10
  53. data/.kokoro/trampoline.sh +0 -4
  54. data/Rakefile +0 -132
  55. data/rakelib/devsite_builder.rb +0 -45
  56. data/rakelib/link_checker.rb +0 -64
  57. data/rakelib/repo_metadata.rb +0 -59
data/.rubocop.yml CHANGED
@@ -15,5 +15,3 @@ Metrics/ModuleLength:
15
15
  Metrics/BlockLength:
16
16
  Exclude:
17
17
  - "googleauth.gemspec"
18
- Style/SafeNavigation:
19
- Enabled: false
data/.toys/.toys.rb ADDED
@@ -0,0 +1,45 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ expand :clean, paths: :gitignore
16
+
17
+ expand :rspec do |t|
18
+ t.libs = ["lib", "spec"]
19
+ t.use_bundler
20
+ end
21
+
22
+ expand :minitest do |t|
23
+ t.libs = ["lib", "test"]
24
+ t.use_bundler
25
+ t.files = "test/**/*_test.rb"
26
+ end
27
+
28
+ expand :minitest do |t|
29
+ t.name = "integration"
30
+ t.libs = ["lib", "integration"]
31
+ t.use_bundler
32
+ t.files = "integration/**/*_test.rb"
33
+ end
34
+
35
+ expand :rubocop, bundler: true
36
+
37
+ expand :yardoc do |t|
38
+ t.generate_output_flag = true
39
+ # t.fail_on_warning = true
40
+ t.use_bundler
41
+ end
42
+
43
+ expand :gem_build
44
+
45
+ expand :gem_build, name: "install", install_gem: true
data/.toys/ci.rb ADDED
@@ -0,0 +1,43 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ desc "Run CI checks"
16
+
17
+ TESTS = ["test", "integration", "spec", "rubocop", "yardoc", "build", "linkinator"]
18
+
19
+ flag :only
20
+ TESTS.each do |name|
21
+ flag "include_#{name}".to_sym, "--[no-]include-#{name}"
22
+ end
23
+
24
+ include :exec, result_callback: :handle_result
25
+ include :terminal
26
+
27
+ def handle_result result
28
+ if result.success?
29
+ puts "** #{result.name} passed\n\n", :green, :bold
30
+ else
31
+ puts "** CI terminated: #{result.name} failed!", :red, :bold
32
+ exit 1
33
+ end
34
+ end
35
+
36
+ def run
37
+ ::Dir.chdir context_directory
38
+ TESTS.each do |name|
39
+ setting = get "include_#{name}".to_sym
40
+ setting = !only if setting.nil?
41
+ exec ["toys", name], name: name.capitalize if setting
42
+ end
43
+ end
@@ -0,0 +1,66 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ mixin "kokoro-tools" do
16
+ def load_env
17
+ return if defined? @loaded_env
18
+
19
+ service_account = "#{::ENV['KOKORO_GFILE_DIR']}/service-account.json"
20
+ raise "#{service_account} is not a file" unless ::File.file? service_account
21
+ ::ENV["GOOGLE_APPLICATION_CREDENTIALS"] = service_account
22
+
23
+ filename = "#{::ENV['KOKORO_GFILE_DIR']}/ruby_env_vars.json"
24
+ raise "#{filename} is not a file" unless ::File.file? filename
25
+ env_vars = ::JSON.parse ::File.read filename
26
+ env_vars.each { |k, v| ::ENV[k] = v }
27
+
28
+ ::ENV["DOCS_CREDENTIALS"] ||= "#{::ENV['KOKORO_KEYSTORE_DIR']}/73713_docuploader_service_account"
29
+ ::ENV["GITHUB_TOKEN"] ||= "#{::ENV['KOKORO_KEYSTORE_DIR']}/73713_yoshi-automation-github-key"
30
+
31
+ @loaded_env = true
32
+ end
33
+
34
+ def package_name
35
+ @package_name ||=
36
+ ::ENV["RELEASE_PACKAGE"] || ::ENV["PACKAGE"] || begin
37
+ files = ::Dir.glob("*.gemspec")
38
+ raise "Unable to determine package" unless files.length == 1
39
+ ::File.basename files.first, ".gemspec"
40
+ end
41
+ end
42
+
43
+ def package_directory
44
+ @package_directory ||= begin
45
+ if ::File.file? "#{package_name}.gemspec"
46
+ ::File.expand_path "."
47
+ elsif ::File.file? "#{package_name}/#{package_name}.gemspec"
48
+ ::File.expand_path package_name
49
+ else
50
+ raise "Unable to determine package directory"
51
+ end
52
+ end
53
+ end
54
+
55
+ def package_gemspec_path
56
+ @package_gemspec_path ||= ::File.join package_directory, "#{package_name}.gemspec"
57
+ end
58
+
59
+ def package_gemspec
60
+ @package_gemspec ||= eval ::File.read package_gemspec_path
61
+ end
62
+
63
+ def package_version
64
+ @package_version ||= package_gemspec.version
65
+ end
66
+ end
@@ -0,0 +1,67 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "json"
16
+
17
+ include "kokoro-tools"
18
+ include :exec, e: true
19
+ include :fileutils
20
+
21
+ flag :credentials, "--credentials=PATH"
22
+ flag :bucket, "--bucket=NAME"
23
+ flag :dry_run, default: ["true", "docs"].include?(::ENV["RELEASE_DRY_RUN"].to_s)
24
+
25
+ def run
26
+ ::Dir.chdir package_directory
27
+ load_env
28
+ build_docs
29
+ write_metadata
30
+ if dry_run
31
+ puts "DRY RUN: Skipping doc uploading for #{package_name}"
32
+ else
33
+ upload_docs
34
+ end
35
+ end
36
+
37
+ def build_docs
38
+ rm_rf "doc"
39
+ exec ["toys", "yardoc"]
40
+ end
41
+
42
+ def write_metadata
43
+ allowed_fields = [
44
+ "name", "version", "language", "distribution-name",
45
+ "product-page", "github-repository", "issue-tracker"
46
+ ]
47
+ metadata = ::JSON.parse ::File.read ".repo-metadata.json"
48
+ metadata.transform_keys! { |k| k.tr "_", "-" }
49
+ metadata.keep_if { |k, _v| allowed_fields.include? k }
50
+ metadata["version"] = package_version
51
+ metadata["name"] = metadata["distribution-name"]
52
+ args = metadata.transform_keys { |k| "--#{k}" }.to_a.flatten
53
+ cmd = ["python3", "-m", "docuploader", "create-metadata"] + args
54
+ exec cmd, chdir: "doc"
55
+ end
56
+
57
+ def upload_docs
58
+ creds = credentials || "#{::ENV['KOKORO_KEYSTORE_DIR']}/73713_docuploader_service_account"
59
+ buck = bucket || ::ENV["STAGING_BUCKET"] || "docs-staging"
60
+ cmd = [
61
+ "python3", "-m", "docuploader", "upload", ".",
62
+ "--credentials=#{creds}",
63
+ "--staging-bucket=#{buck}",
64
+ "--metadata-file=./docs.metadata"
65
+ ]
66
+ exec cmd, chdir: "doc"
67
+ end
@@ -0,0 +1,53 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ include "kokoro-tools"
16
+ include :exec, e: true
17
+ include :fileutils
18
+ include :gems
19
+
20
+ flag :rubygems_token, "--rubygems-token=TOKEN"
21
+ flag :dry_run, default: ["true", "gem"].include?(::ENV["RELEASE_DRY_RUN"].to_s)
22
+
23
+ def run
24
+ gem "gems", "~> 1.2"
25
+ require "gems"
26
+ ::Dir.chdir package_directory
27
+ load_env
28
+ configure_gems
29
+ gem_path = build_gem
30
+ if dry_run
31
+ puts "DRY RUN: Skipping Rubygems push of #{gem_path}"
32
+ else
33
+ push_gem gem_path
34
+ end
35
+ end
36
+
37
+ def configure_gems
38
+ token = rubygems_token || ::ENV["RUBYGEMS_API_TOKEN"]
39
+ ::Gems.configure { |config| config.key = token } if token
40
+ end
41
+
42
+ def build_gem
43
+ gem_path = "pkg/#{package_name}-#{package_version}.gem"
44
+ rm_rf gem_path
45
+ exec ["toys", "build"]
46
+ gem_path
47
+ end
48
+
49
+ def push_gem gem_path
50
+ response = ::Gems.push ::File.new gem_path
51
+ puts response
52
+ raise "Gem push didn't report success" unless response.include? "Successfully registered gem:"
53
+ end
@@ -0,0 +1,43 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ desc "Run Link checks"
16
+
17
+ flag :install, desc: "Install linkinator instead of running checks"
18
+
19
+ include :exec, e: true
20
+ include :terminal
21
+
22
+ def run
23
+ ::Dir.chdir context_directory
24
+ if install
25
+ Kernel.exec "npm install linkinator"
26
+ else
27
+ exec_tool ["yardoc"]
28
+ check_links
29
+ end
30
+ end
31
+
32
+ def check_links
33
+ result = exec ["npx", "linkinator", "./doc"], out: :capture
34
+ puts result.captured_out
35
+ checked_links = result.captured_out.split "\n"
36
+ checked_links.select! { |link| link =~ /^\[(\d+)\]/ && ::Regexp.last_match[1] != "200" }
37
+ unless checked_links.empty?
38
+ checked_links.each do |link|
39
+ puts link, :yellow
40
+ end
41
+ exit 1
42
+ end
43
+ end
data/.trampolinerc ADDED
@@ -0,0 +1,48 @@
1
+ # Copyright 2021 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # Add required env vars here.
16
+ required_envvars+=(
17
+ )
18
+
19
+ # Add env vars which are passed down into the container here.
20
+ pass_down_envvars+=(
21
+ "AUTORELEASE_PR" "RELEASE_DRY_RUN"
22
+ )
23
+
24
+ # Prevent unintentional override on the default image.
25
+ if [[ "${TRAMPOLINE_IMAGE_UPLOAD:-false}" == "true" ]] && [[ -z "${TRAMPOLINE_IMAGE:-}" ]]; then
26
+ echo "Please set TRAMPOLINE_IMAGE if you want to upload the Docker image."
27
+ exit 1
28
+ fi
29
+
30
+ # Define the default value if it makes sense.
31
+ if [[ -z "${TRAMPOLINE_IMAGE_UPLOAD:-}" ]]; then
32
+ TRAMPOLINE_IMAGE_UPLOAD=""
33
+ fi
34
+
35
+ if [[ -z "${TRAMPOLINE_IMAGE:-}" ]]; then
36
+ TRAMPOLINE_IMAGE=""
37
+ fi
38
+
39
+ if [[ -z "${TRAMPOLINE_DOCKERFILE:-}" ]]; then
40
+ TRAMPOLINE_DOCKERFILE=""
41
+ fi
42
+
43
+ if [[ -z "${TRAMPOLINE_BUILD_FILE:-}" ]]; then
44
+ TRAMPOLINE_BUILD_FILE=""
45
+ fi
46
+
47
+ # Secret Manager secrets.
48
+ source ${PROJECT_ROOT}/.kokoro/populate-secrets.sh
data/CHANGELOG.md CHANGED
@@ -1,25 +1,65 @@
1
1
  # Release History
2
2
 
3
- ### 0.13.1 / 2020-07-30
3
+ ### [0.16.1](https://www.github.com/googleapis/google-auth-library-ruby/compare/google-auth-library-ruby/v0.16.0...google-auth-library-ruby/v0.16.1) (2021-04-01)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Accept application/text content-type for plain idtoken response ([4948ebb](https://www.github.com/googleapis/google-auth-library-ruby/commit/4948ebb3ca151e9f0433585a41bad6f415416b2d))
9
+
10
+ ## [0.16.0](https://www.github.com/googleapis/google-auth-library-ruby/compare/v0.15.1...v0.16.0) (2021-03-04)
11
+
12
+
13
+ ### Features
14
+
15
+ * Drop support for Ruby 2.4 and add support for Ruby 3.0 ([6644806](https://www.github.com/googleapis/google-auth-library-ruby/commit/6644806ab47cea6d08e1901c2ed808e53a579bc3))
16
+
17
+ ## [0.15.1](https://www.github.com/googleapis/google-auth-library-ruby/compare/v0.15.0...v0.15.1) (2021-02-08)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * Fix crash when using a client credential without any paths or env_vars set ([#296](https://www.github.com/googleapis/google-auth-library-ruby/issues/296)) ([c971c1a](https://www.github.com/googleapis/google-auth-library-ruby/commit/c971c1ad2d7730c0f5b389d533a972be32fbaf49))
23
+
24
+ ## [0.15.0](https://www.github.com/googleapis/google-auth-library-ruby/compare/v0.14.0...v0.15.0) (2021-01-26)
25
+
26
+
27
+ ### Features
28
+
29
+ * Credential parameters inherit from superclasses ([4fa4720](https://www.github.com/googleapis/google-auth-library-ruby/commit/4fa47206dbd62f8bbdd1b9d3721f6baee9fd1d62))
30
+ * Service accounts apply a self-signed JWT if scopes are marked as default ([d22acb8](https://www.github.com/googleapis/google-auth-library-ruby/commit/d22acb8a510e6711b5674545c31a4816e5a9168f))
31
+
32
+
33
+ ### Bug Fixes
34
+
35
+ * Retry fetch_access_token when GCE metadata server returns unexpected errors ([cd9b012](https://www.github.com/googleapis/google-auth-library-ruby/commit/cd9b0126d3419b9953982f71edc9e6ba3f640e3c))
36
+ * Support correct service account and user refresh behavior for custom credential env variables ([d2dffe5](https://www.github.com/googleapis/google-auth-library-ruby/commit/d2dffe592112b45006291ad9a57f56e00fb208c3))
37
+
38
+ ## 0.14.0 / 2020-10-09
39
+
40
+ * Honor GCE_METADATA_HOST environment variable
41
+ * Fix errors in some environments when requesting an access token for multiple scopes
42
+
43
+ ## 0.13.1 / 2020-07-30
4
44
 
5
45
  * Support scopes when using GCE Metadata Server authentication ([@ball-hayden][])
6
46
 
7
- ### 0.13.0 / 2020-06-17
47
+ ## 0.13.0 / 2020-06-17
8
48
 
9
49
  * Support for validating ID tokens.
10
50
  * Fixed header application of ID tokens from service accounts.
11
51
 
12
- ### 0.12.0 / 2020-04-08
52
+ ## 0.12.0 / 2020-04-08
13
53
 
14
54
  * Support for ID token credentials.
15
55
  * Support reading quota_id_project from service account credentials.
16
56
 
17
- ### 0.11.0 / 2020-02-24
57
+ ## 0.11.0 / 2020-02-24
18
58
 
19
59
  * Support Faraday 1.x.
20
60
  * Allow special "postmessage" value for redirect_uri.
21
61
 
22
- ### 0.10.0 / 2019-10-09
62
+ ## 0.10.0 / 2019-10-09
23
63
 
24
64
  Note: This release now requires Ruby 2.4 or later
25
65
 
@@ -29,7 +69,7 @@ Note: This release now requires Ruby 2.4 or later
29
69
  * Set instance variables at initialization to avoid spamming warnings
30
70
  * Pass "Metadata-Flavor" header to metadata server when checking for GCE
31
71
 
32
- ### 0.9.0 / 2019-08-05
72
+ ## 0.9.0 / 2019-08-05
33
73
 
34
74
  * Restore compatibility with Ruby 2.0. This is the last release that will work on end-of-lifed versions of Ruby. The 0.10 release will require Ruby 2.4 or later.
35
75
  * Update Credentials to use methods for values that are intended to be changed by users, replacing constants.
@@ -38,79 +78,79 @@ Note: This release now requires Ruby 2.4 or later
38
78
  * Add verbosity none to gcloud command
39
79
  * Make arity of WebUserAuthorizer#get_credentials compatible with the base class
40
80
 
41
- ### 0.8.1 / 2019-03-27
81
+ ## 0.8.1 / 2019-03-27
42
82
 
43
83
  * Silence unnecessary gcloud warning
44
84
  * Treat empty credentials environment variables as unset
45
85
 
46
- ### 0.8.0 / 2019-01-02
86
+ ## 0.8.0 / 2019-01-02
47
87
 
48
88
  * Support connection options :default_connection and :connection_builder when creating credentials that need to refresh OAuth tokens. This lets clients provide connection objects with custom settings, such as proxies, needed for the client environment.
49
89
  * Removed an unnecessary warning about project IDs.
50
90
 
51
- ### 0.7.1 / 2018-10-25
91
+ ## 0.7.1 / 2018-10-25
52
92
 
53
93
  * Make load_gcloud_project_id module function.
54
94
 
55
- ### 0.7.0 / 2018-10-24
95
+ ## 0.7.0 / 2018-10-24
56
96
 
57
97
  * Add project_id instance variable to UserRefreshCredentials, ServiceAccountCredentials, and Credentials.
58
98
 
59
- ### 0.6.7 / 2018-10-16
99
+ ## 0.6.7 / 2018-10-16
60
100
 
61
101
  * Update memoist dependency to ~> 0.16.
62
102
 
63
- ### 0.6.6 / 2018-08-22
103
+ ## 0.6.6 / 2018-08-22
64
104
 
65
105
  * Remove ruby version warnings.
66
106
 
67
- ### 0.6.5 / 2018-08-16
107
+ ## 0.6.5 / 2018-08-16
68
108
 
69
109
  * Fix incorrect http verb when revoking credentials.
70
110
  * Warn on EOL ruby versions.
71
111
 
72
- ### 0.6.4 / 2018-08-03
112
+ ## 0.6.4 / 2018-08-03
73
113
 
74
114
  * Resolve issue where DefaultCredentials constant was undefined.
75
115
 
76
- ### 0.6.3 / 2018-08-02
116
+ ## 0.6.3 / 2018-08-02
77
117
 
78
118
  * Resolve issue where token_store was being written to twice
79
119
 
80
- ### 0.6.2 / 2018-08-01
120
+ ## 0.6.2 / 2018-08-01
81
121
 
82
122
  * Add warning when using cloud sdk credentials
83
123
 
84
- ### 0.6.1 / 2017-10-18
124
+ ## 0.6.1 / 2017-10-18
85
125
 
86
126
  * Fix file permissions
87
127
 
88
- ### 0.6.0 / 2017-10-17
128
+ ## 0.6.0 / 2017-10-17
89
129
 
90
130
  * Support ruby-jwt 2.0
91
131
  * Add simple credentials class
92
132
 
93
- ### 0.5.3 / 2017-07-21
133
+ ## 0.5.3 / 2017-07-21
94
134
 
95
135
  * Fix file permissions on the gem's `.rb` files.
96
136
 
97
- ### 0.5.2 / 2017-07-19
137
+ ## 0.5.2 / 2017-07-19
98
138
 
99
139
  * Add retry mechanism when fetching access tokens in `GCECredentials` and `UserRefreshCredentials` classes.
100
140
  * Update Google API OAuth2 token credential URI to v4.
101
141
 
102
- ### 0.5.1 / 2016-01-06
142
+ ## 0.5.1 / 2016-01-06
103
143
 
104
144
  * Change header name emitted by `Client#apply` from "Authorization" to "authorization" ([@murgatroid99][])
105
145
  * Fix ADC not working on some windows machines ([@vsubramani][])
106
146
  [#55](https://github.com/google/google-auth-library-ruby/issues/55)
107
147
 
108
- ### 0.5.0 / 2015-10-12
148
+ ## 0.5.0 / 2015-10-12
109
149
 
110
150
  * Initial support for user credentials ([@sqrrrl][])
111
151
  * Update Signet to 0.7
112
152
 
113
- ### 0.4.2 / 2015-08-05
153
+ ## 0.4.2 / 2015-08-05
114
154
 
115
155
  * Updated UserRefreshCredentials hash to use string keys ([@haabaato][])
116
156
  [#36](https://github.com/google/google-auth-library-ruby/issues/36)
@@ -127,16 +167,16 @@ Note: This release now requires Ruby 2.4 or later
127
167
  * Enables passing credentials via environment variables. ([@haabaato][])
128
168
  [#27](https://github.com/google/google-auth-library-ruby/issues/27)
129
169
 
130
- ### 0.4.1 / 2015-04-25
170
+ ## 0.4.1 / 2015-04-25
131
171
 
132
172
  * Improves handling of --no-scopes GCE authorization ([@tbetbetbe][])
133
173
  * Refactoring and cleanup ([@joneslee85][])
134
174
 
135
- ### 0.4.0 / 2015-03-25
175
+ ## 0.4.0 / 2015-03-25
136
176
 
137
177
  * Adds an implementation of JWT header auth ([@tbetbetbe][])
138
178
 
139
- ### 0.3.0 / 2015-03-23
179
+ ## 0.3.0 / 2015-03-23
140
180
 
141
181
  * makes the scope parameter's optional in all APIs. ([@tbetbetbe][])
142
182
  * changes the scope parameter's position in various constructors. ([@tbetbetbe][])