rubygems-update 2.7.6 → 2.7.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -23
  3. data/History.txt +116 -0
  4. data/Manifest.txt +3 -3
  5. data/Rakefile +12 -2
  6. data/bundler/CHANGELOG.md +130 -0
  7. data/bundler/README.md +5 -1
  8. data/bundler/bundler.gemspec +2 -1
  9. data/bundler/lib/bundler.rb +12 -8
  10. data/bundler/lib/bundler/build_metadata.rb +19 -2
  11. data/bundler/lib/bundler/cli.rb +3 -1
  12. data/bundler/lib/bundler/cli/check.rb +1 -1
  13. data/bundler/lib/bundler/cli/exec.rb +4 -4
  14. data/bundler/lib/bundler/cli/gem.rb +5 -2
  15. data/bundler/lib/bundler/cli/init.rb +5 -0
  16. data/bundler/lib/bundler/cli/install.rb +2 -2
  17. data/bundler/lib/bundler/cli/outdated.rb +1 -1
  18. data/bundler/lib/bundler/cli/update.rb +3 -3
  19. data/bundler/lib/bundler/compact_index_client/updater.rb +10 -1
  20. data/bundler/lib/bundler/current_ruby.rb +8 -1
  21. data/bundler/lib/bundler/definition.rb +33 -23
  22. data/bundler/lib/bundler/dep_proxy.rb +2 -2
  23. data/bundler/lib/bundler/dependency.rb +1 -0
  24. data/bundler/lib/bundler/deprecate.rb +2 -1
  25. data/bundler/lib/bundler/endpoint_specification.rb +1 -1
  26. data/bundler/lib/bundler/env.rb +10 -8
  27. data/bundler/lib/bundler/fetcher.rb +3 -3
  28. data/bundler/lib/bundler/fetcher/downloader.rb +10 -5
  29. data/bundler/lib/bundler/fetcher/index.rb +2 -2
  30. data/bundler/lib/bundler/friendly_errors.rb +2 -0
  31. data/bundler/lib/bundler/gem_helper.rb +1 -1
  32. data/bundler/lib/bundler/gem_version_promoter.rb +12 -0
  33. data/bundler/lib/bundler/injector.rb +5 -5
  34. data/bundler/lib/bundler/installer.rb +12 -4
  35. data/bundler/lib/bundler/installer/gem_installer.rb +9 -2
  36. data/bundler/lib/bundler/installer/parallel_installer.rb +1 -1
  37. data/bundler/lib/bundler/lazy_specification.rb +1 -1
  38. data/bundler/lib/bundler/mirror.rb +2 -2
  39. data/bundler/lib/bundler/plugin.rb +2 -2
  40. data/bundler/lib/bundler/plugin/index.rb +7 -2
  41. data/bundler/lib/bundler/process_lock.rb +1 -1
  42. data/bundler/lib/bundler/resolver.rb +10 -9
  43. data/bundler/lib/bundler/resolver/spec_group.rb +0 -5
  44. data/bundler/lib/bundler/ruby_version.rb +1 -1
  45. data/bundler/lib/bundler/rubygems_integration.rb +9 -3
  46. data/bundler/lib/bundler/runtime.rb +2 -2
  47. data/bundler/lib/bundler/shared_helpers.rb +15 -3
  48. data/bundler/lib/bundler/source/git.rb +2 -1
  49. data/bundler/lib/bundler/source/git/git_proxy.rb +6 -1
  50. data/bundler/lib/bundler/source/metadata.rb +1 -1
  51. data/bundler/lib/bundler/source/rubygems.rb +11 -2
  52. data/bundler/lib/bundler/source/rubygems/remote.rb +4 -1
  53. data/bundler/lib/bundler/spec_set.rb +4 -1
  54. data/bundler/lib/bundler/templates/Executable +1 -1
  55. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +8 -2
  56. data/bundler/lib/bundler/templates/newgem/travis.yml.tt +2 -0
  57. data/bundler/lib/bundler/ui/shell.rb +3 -1
  58. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +11 -1
  59. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +7 -2
  60. data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +1 -1
  61. data/bundler/lib/bundler/version.rb +1 -1
  62. data/bundler/man/bundle-binstubs.ronn +3 -3
  63. data/bundler/man/bundle-check.ronn +3 -3
  64. data/bundler/man/bundle-config.ronn +13 -9
  65. data/bundler/man/bundle-doctor.ronn +33 -0
  66. data/bundler/man/bundle-exec.ronn +3 -3
  67. data/bundler/man/bundle-gem.ronn +1 -1
  68. data/bundler/man/bundle-init.ronn +15 -4
  69. data/bundler/man/bundle-inject.ronn +3 -3
  70. data/bundler/man/bundle-install.ronn +12 -3
  71. data/bundler/man/bundle-lock.ronn +1 -1
  72. data/bundler/man/bundle-outdated.ronn +1 -1
  73. data/bundler/man/bundle-package.ronn +3 -3
  74. data/bundler/man/bundle-show.ronn +3 -2
  75. data/bundler/man/bundle-update.ronn +18 -14
  76. data/bundler/man/bundle-viz.ronn +1 -1
  77. data/bundler/man/bundle.ronn +27 -27
  78. data/bundler/man/gemfile.5.ronn +24 -9
  79. data/lib/rubygems.rb +24 -11
  80. data/lib/rubygems/bundler_version_finder.rb +9 -22
  81. data/lib/rubygems/command_manager.rb +6 -4
  82. data/lib/rubygems/commands/install_command.rb +7 -0
  83. data/lib/rubygems/commands/owner_command.rb +4 -1
  84. data/lib/rubygems/commands/push_command.rb +37 -4
  85. data/lib/rubygems/commands/setup_command.rb +3 -3
  86. data/lib/rubygems/commands/uninstall_command.rb +1 -1
  87. data/lib/rubygems/commands/unpack_command.rb +1 -1
  88. data/lib/rubygems/core_ext/kernel_require.rb +2 -7
  89. data/lib/rubygems/dependency.rb +1 -0
  90. data/lib/rubygems/dependency_installer.rb +4 -2
  91. data/lib/rubygems/exceptions.rb +5 -1
  92. data/lib/rubygems/gemcutter_utilities.rb +5 -2
  93. data/lib/rubygems/indexer.rb +1 -1
  94. data/lib/rubygems/install_update_options.rb +1 -1
  95. data/lib/rubygems/installer.rb +29 -6
  96. data/lib/rubygems/package.rb +20 -2
  97. data/lib/rubygems/package/tar_header.rb +3 -1
  98. data/lib/rubygems/package/tar_writer.rb +2 -3
  99. data/lib/rubygems/remote_fetcher.rb +1 -1
  100. data/lib/rubygems/request_set.rb +28 -17
  101. data/lib/rubygems/requirement.rb +14 -3
  102. data/lib/rubygems/resolver/api_specification.rb +5 -0
  103. data/lib/rubygems/security.rb +6 -1
  104. data/lib/rubygems/server.rb +3 -3
  105. data/lib/rubygems/source.rb +1 -1
  106. data/lib/rubygems/specification.rb +7 -10
  107. data/lib/rubygems/ssl_certs/{index.rubygems.org → rubygems.org}/GlobalSignRootCA.pem +0 -0
  108. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  109. data/lib/rubygems/test_case.rb +22 -4
  110. data/lib/rubygems/test_utilities.rb +1 -1
  111. data/lib/rubygems/user_interaction.rb +9 -2
  112. data/lib/rubygems/util/licenses.rb +35 -4
  113. data/lib/rubygems/version.rb +7 -1
  114. data/lib/ubygems.rb +3 -0
  115. data/test/rubygems/test_bundled_ca.rb +7 -4
  116. data/test/rubygems/test_gem.rb +45 -10
  117. data/test/rubygems/test_gem_bundler_version_finder.rb +8 -7
  118. data/test/rubygems/test_gem_command_manager.rb +2 -2
  119. data/test/rubygems/test_gem_commands_build_command.rb +2 -0
  120. data/test/rubygems/test_gem_commands_install_command.rb +37 -0
  121. data/test/rubygems/test_gem_commands_push_command.rb +20 -0
  122. data/test/rubygems/test_gem_commands_setup_command.rb +6 -1
  123. data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
  124. data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -1
  125. data/test/rubygems/test_gem_dependency.rb +1 -1
  126. data/test/rubygems/test_gem_ext_rake_builder.rb +0 -4
  127. data/test/rubygems/test_gem_install_update_options.rb +2 -0
  128. data/test/rubygems/test_gem_installer.rb +109 -3
  129. data/test/rubygems/test_gem_package.rb +90 -5
  130. data/test/rubygems/test_gem_package_tar_header.rb +2 -1
  131. data/test/rubygems/test_gem_remote_fetcher.rb +6 -2
  132. data/test/rubygems/test_gem_request.rb +5 -2
  133. data/test/rubygems/test_gem_requirement.rb +6 -0
  134. data/test/rubygems/test_gem_resolver_api_specification.rb +24 -0
  135. data/test/rubygems/test_gem_resolver_installer_set.rb +1 -1
  136. data/test/rubygems/test_gem_security_policy.rb +3 -3
  137. data/test/rubygems/test_gem_server.rb +12 -12
  138. data/test/rubygems/test_gem_specification.rb +27 -13
  139. data/test/rubygems/test_gem_stream_ui.rb +2 -2
  140. data/test/rubygems/test_gem_text.rb +5 -0
  141. data/test/rubygems/test_gem_util.rb +4 -2
  142. data/test/rubygems/test_gem_version.rb +29 -2
  143. data/util/ci +1 -0
  144. data/util/generate_spdx_license_list.rb +15 -6
  145. data/util/update_bundled_ca_certificates.rb +1 -3
  146. metadata +12 -12
  147. data/lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem +0 -23
  148. data/lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0fa366bda5b1ed46730b8c276ce161ef32966ec9dde14f974663508163df41da
4
- data.tar.gz: 76d8c2583652ec7266303e5af81014b7b6c440ff207e1d4cbe483959226db55d
3
+ metadata.gz: 05af8c86d4ea15a0d09d4d8611a6aca36d75dc741cdd8e5d86076475ebe8a7de
4
+ data.tar.gz: a8dfa7a91b938c27adb2227e99bb3160384e5bfe4b0701f54bdda00039f5bedb
5
5
  SHA512:
6
- metadata.gz: cd712f404f5e736191c312af58dafdfe897e155b9cdec68a634547606846bb31bae7cdefc46ace35eb143db7f8281c20092a534a7ccb94760ad5701d8c0ca06f
7
- data.tar.gz: 1d80df8990549a07c91d94c5e848141f72045a71046ef0a3be5b871e8af9f0909187b196d117b6c508ec9fd0c9238a0ed96e4f9a8c7f6a9f6b59feac8a7df25b
6
+ metadata.gz: 7c7a3afc31fb6b849ad66759acb0df2444867bf0db3f64ec05f7484689cb47bac289429d5a350fa7949a5d2a94090c14fd7eec552b8ea3678e71f4a65bdd11ba
7
+ data.tar.gz: 77a27d60b8709a0b26872bf616eeb4161cf9c847b0770e74976d631934b4ef88c2d5d2406c36846104361acea894e1b4104921fd286a6540adf17402d85dcecb
@@ -28,28 +28,7 @@ env:
28
28
  - "TEST_TOOL=rubygems YAML=psych"
29
29
  - "TEST_TOOL=bundler RGV=master"
30
30
  script:
31
- - util/ci script
31
+ - util/ci script
32
32
  matrix:
33
- exclude:
34
- - rvm: 1.8.7
35
- env: "TEST_TOOL=rubygems YAML=psych"
36
- - rvm: 1.9.2
37
- env: "TEST_TOOL=bundler RGV=master"
38
- - rvm: 2.0.0
39
- env: "TEST_TOOL=rubygems YAML=syck"
40
- - rvm: 2.1.10
41
- env: "TEST_TOOL=rubygems YAML=syck"
42
- - rvm: 2.2.9
43
- env: "TEST_TOOL=rubygems YAML=syck"
44
- - rvm: 2.3.6
45
- env: "TEST_TOOL=rubygems YAML=syck"
46
- - rvm: 2.4.3
47
- env: "TEST_TOOL=rubygems YAML=syck"
48
- - rvm: 2.5.0
49
- env: "TEST_TOOL=rubygems YAML=syck"
50
- - rvm: ruby-head
51
- env: "TEST_TOOL=rubygems YAML=syck"
52
33
  allow_failures:
53
- - rvm: ruby-head
54
- - rvm: 2.5.0
55
- env: "TEST_TOOL=rubygems YAML=psych"
34
+ - env: "TEST_TOOL=bundler RGV=master"
@@ -1,5 +1,107 @@
1
1
  # coding: UTF-8
2
2
 
3
+ === 2.7.11 / 2020-12-08
4
+
5
+ Minor enhancements:
6
+
7
+ * Add GlobalSign Root CA - R3 cert and remove outdated certs. Pull request #4100
8
+ by Aditya Prakash.
9
+
10
+ === 2.7.10 / 2019-06-14
11
+
12
+ Minor enhancements:
13
+
14
+ * Fix bundler rubygems binstub not properly looking for bundler. Pull request #2426
15
+ by David Rodríguez.
16
+ * [BudlerVersionFinder] set .filter! and .compatible? to match only on major versions.
17
+ Pull request #2515 by Colby Swandale.
18
+ + Update for compatibilty with new minitest. Pull request #2118 by MSP-Greg.
19
+
20
+ === 2.7.9 / 2019-03-05
21
+
22
+ Security fixes:
23
+
24
+ * Fixed following vulnerabilities:
25
+ * CVE-2019-8320: Delete directory using symlink when decompressing tar
26
+ * CVE-2019-8321: Escape sequence injection vulnerability in `verbose`
27
+ * CVE-2019-8322: Escape sequence injection vulnerability in `gem owner`
28
+ * CVE-2019-8323: Escape sequence injection vulnerability in API response handling
29
+ * CVE-2019-8324: Installing a malicious gem may lead to arbitrary code execution
30
+ * CVE-2019-8325: Escape sequence injection vulnerability in errors
31
+
32
+ === 2.7.8 / 2018-11-02
33
+
34
+ Minor enhancements:
35
+
36
+ * [Requirement] Treat requirements with == versions as equal. Pull
37
+ request #2230 by Samuel Giddins.
38
+ * Fix exec_name documentation. Pull request #2239 by Luis Sagastume.
39
+ * [TarHeader] Extract the empty header into a constant. Pull request #2247
40
+ by Samuel Giddins.
41
+ * Simplify the code that lets us call the original, non-monkeypatched
42
+ Kernel#require. Pull request #2267 by Leon Miller-Out.
43
+ * Add install alias documentation. Pull request #2320 by ota42y.
44
+ * [Rakefile] Set bundler build metadata when doing a release. Pull request
45
+ #2335 by Samuel Giddins.
46
+ * Backport commits from ruby core . Pull request #2347 by SHIBATA Hiroshi.
47
+ * Sign in to the correct host before push. Pull request #2366 by Luis
48
+ Sagastume.
49
+ * Bump bundler-1.16.4. Pull request #2381 by SHIBATA Hiroshi.
50
+ * Improve bindir flag description. Pull request #2383 by Luis Sagastume.
51
+ * Update bundler-1.16.6. Pull request #2423 by SHIBATA Hiroshi.
52
+
53
+ Bug fixes:
54
+
55
+ * Fix #1470: generate documentation when --install-dir is present. Pull
56
+ request #2229 by Elias Hernandis.
57
+ * Fix no proxy checking. Pull request #2249 by Luis Sagastume.
58
+ * Validate SPDX license exceptions. Pull request #2257 by Mikit.
59
+ * Retry api specification spec with original platform. Pull request #2275
60
+ by Luis Sagastume.
61
+ * Fix approximate recommendation with prereleases. Pull request #2345 by
62
+ David Rodríguez.
63
+ * Gem::Version should handle nil like it used to before. Pull request
64
+ #2363 by Luis Sagastume.
65
+
66
+ === 2.7.7 / 2018-05-08
67
+
68
+ Minor enhancements:
69
+
70
+ * [RequestSet] Only suggest a gem version with an installable platform.
71
+ Pull request #2175 by Samuel Giddins.
72
+ * Fixed no assignment variables about default gems installation. Pull
73
+ request #2181 by SHIBATA Hiroshi.
74
+ * Backport improvements for test-case from Ruby core. Pull request #2189
75
+ by SHIBATA Hiroshi.
76
+ * Fix ruby warnings in test suite. Pull request #2205 by Colby Swandale.
77
+ * To use Gem::Specification#bindir of bundler instead of hard coded path.
78
+ Pull request #2208 by SHIBATA Hiroshi.
79
+ * Update gem push --help description. Pull request #2215 by Luis
80
+ Sagastume.
81
+ * Backport ruby core commits. Pull request #2264 by SHIBATA Hiroshi.
82
+
83
+ Bug fixes:
84
+
85
+ * Frozen string fix - lib/rubygems/bundler_version_finder.rb. Pull request
86
+ #2115 by MSP-Greg.
87
+ * Fixed tempfile leak for RubyGems 2.7.6. Pull request #2194 by SHIBATA
88
+ Hiroshi.
89
+ * Add missing requires. Pull request #2196 by David Rodríguez.
90
+ * Fix Gem::Version.correct?. Pull request #2203 by Masato Nakamura.
91
+ * Fix verify_entry regex for metadata. Pull request #2212 by Luis
92
+ Sagastume.
93
+ * Fix path checks for case insensitive filesystem. Pull request #2211 by
94
+ Lars Kanis.
95
+
96
+ Compatibility changes:
97
+
98
+ * Deprecate unused code before removing them at #1524. Pull request #2197
99
+ by SHIBATA Hiroshi.
100
+ * Deprecate for rubygems 3. Pull request #2214 by SHIBATA Hiroshi.
101
+ * Mark deprecation to `ubygems.rb` for RubyGems 4. Pull request #2269 by
102
+ SHIBATA Hiroshi.
103
+ * Update bundler-1.16.2. Pull request #2291 by SHIBATA Hiroshi.
104
+
3
105
  === 2.7.6 / 2018-02-16
4
106
 
5
107
  Security fixes:
@@ -19,6 +121,20 @@ Security fixes:
19
121
  * Prevent Path Traversal issue during gem installation.
20
122
  Discovered by nmalkin.
21
123
 
124
+ === 2.7.5
125
+
126
+ Bug fixes:
127
+
128
+ * To use bundler-1.16.1 #2121 by SHIBATA Hiroshi.
129
+ * Fixed leaked FDs. Pull request #2127 by Nobuyoshi Nakada.
130
+ * Support option for `--destdir` with upgrade installer. #2169 by Thibault Jouan.
131
+ * Remove PID from gem index directory. #2155 by SHIBATA Hiroshi.
132
+ * Avoid a #mkdir race condition #2148 by Samuel Giddins.
133
+ * Gem::Util.traverse_parents should not crash on permissions error #2147 by Robert Ulejczyk.
134
+ * Use `File.open` instead of `open`. #2142 by SHIBATA Hiroshi.
135
+ * Set whether bundler is used for gemdeps with an environmental variable #2126 by SHIBATA Hiroshi.
136
+ * Fix undefined method error when printing alert #1884 by Robert Ross.
137
+
22
138
  === 2.7.4
23
139
 
24
140
  Bug fixes:
@@ -247,6 +247,7 @@ bundler/man/bundle-binstubs.ronn
247
247
  bundler/man/bundle-check.ronn
248
248
  bundler/man/bundle-clean.ronn
249
249
  bundler/man/bundle-config.ronn
250
+ bundler/man/bundle-doctor.ronn
250
251
  bundler/man/bundle-exec.ronn
251
252
  bundler/man/bundle-gem.ronn
252
253
  bundler/man/bundle-info.ronn
@@ -432,9 +433,8 @@ lib/rubygems/source_specific_file.rb
432
433
  lib/rubygems/spec_fetcher.rb
433
434
  lib/rubygems/specification.rb
434
435
  lib/rubygems/ssl_certs/.document
435
- lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem
436
- lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem
437
- lib/rubygems/ssl_certs/rubygems.org/AddTrustExternalCARoot.pem
436
+ lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem
437
+ lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
438
438
  lib/rubygems/stub_specification.rb
439
439
  lib/rubygems/syck_hack.rb
440
440
  lib/rubygems/test_case.rb
data/Rakefile CHANGED
@@ -173,9 +173,9 @@ end
173
173
  # --------------------------------------------------------------------
174
174
  # Creating a release
175
175
 
176
- task :prerelease => [:clobber, :check_manifest, :test]
176
+ task :prerelease => %w[clobber check_manifest test bundler:build_metadata]
177
177
 
178
- task :postrelease => %w[upload guides:publish blog:publish]
178
+ task :postrelease => %w[bundler:build_metadata:clean upload guides:publish blog:publish]
179
179
 
180
180
  file "pkg/rubygems-#{v}" => "pkg/rubygems-update-#{v}" do |t|
181
181
  require 'find'
@@ -513,4 +513,14 @@ namespace :bundler do
513
513
  task :checkout do
514
514
  sh "git submodule update --init"
515
515
  end
516
+
517
+ task :build_metadata do
518
+ chdir('bundler') { sh "rake build_metadata" }
519
+ end
520
+
521
+ namespace :build_metadata do
522
+ task :clean do
523
+ chdir('bundler') { sh "rake build_metadata:clean" }
524
+ end
525
+ end
516
526
  end
@@ -1,3 +1,133 @@
1
+ ## 1.16.6 (2018-10-05)
2
+
3
+ Changes:
4
+
5
+ - Add an error message when adding a gem with `bundle add` that's already in the bundle ([#6341](https://github.com/bundler/bundler/issues/6341), @agrim123)
6
+ - Add Homepage, Source Code and Chanagelog URI metadata fields to the `bundle gem` gemspec template (@walf443)
7
+
8
+ Bugfixes:
9
+
10
+ - Fix issue where updating a gem resulted in the gem's version being downgraded when `BUNDLE_ONLY_UPDATE_TO_NEWER_VERSIONS` was set ([#6529](https://github.com/bundler/bundler/issues/6529), @theflow)
11
+ - Fix some rescue calls that don't specifiy error type (@utilum)
12
+ - Fix an issue when the Lockfile would contain platform-specific gems that it didn't need ([#6491](https://github.com/bundler/bundler/issues/6491), @segiddins)
13
+ - Improve handlding of adding new gems with only a single group to the Gemfile in `bundle add` (@agrim123)
14
+ - Refactor check for OpenSSL in `bundle env` (@voxik)
15
+ - Remove an unnecessary assignment in Metadata (@voxik)
16
+
17
+ Documentation:
18
+
19
+ - Update docs to reflect revised guidance to check in Gemfile.lock into version control for gems ([#5879](https://github.com/bundler/bundler/issues/5879), @arbonap)
20
+ - Add documentation for the `--all` flag in `bundle update` (@agrim123)
21
+ - Update README to use `bundle add` in usage examples (@hdf1986)
22
+
23
+ ## 1.16.5 (2018-09-18)
24
+
25
+ Changes:
26
+
27
+ - Add support for TruffleRuby (@eregon)
28
+
29
+ Bugfixes:
30
+
31
+ - Avoid printing git errors when checking the version on incorrectly packaged versions of Bundler ([#6453](https://github.com/bundler/bundler/issues/6453), @greysteil)
32
+ - Fix issue where Bundler does not check the given class when comparing equality in DepProxy (@ChrisBr)
33
+ - Handle `RangeNotSatisfiable` error in Compact Index (@MaxLap)
34
+ - Check for initialized `search` variable in `LazySpecification` (@voxik)
35
+ - Fix LoadError occurring in nested bundle exec calls ([#6537](https://github.com/bundler/bundler/issues/6537), @colby-swandale)
36
+ - Check that Bundler::Deprecate is not an autoload constant ([#6163](https://github.com/bundler/bundler/issues/6163), @eregon)
37
+ - Prefer non-pre-release versions when performing a `bundle update --patch` ([#6684](https://github.com/bundler/bundler/issues/6684), @segiddins)
38
+
39
+ ## 1.16.4 (2018-08-17)
40
+
41
+ Changes:
42
+
43
+ - Welcome new members to the Bundler core team (@indirect)
44
+ - Don't mutate original error trees when determining version_conflict_message (@greysteil)
45
+ - Update vendored Molinillo to 0.6.6 (@segiddins)
46
+
47
+ Bugfixes:
48
+
49
+ - Reword bundle update regression message to be more clear to the user when a gem's version is downgraded ([#6584](https://github.com/bundler/bundler/issues/6584), @ralphbolo)
50
+ - Respect --conservative flag when updating a dependency group ([#6560](https://github.com/bundler/bundler/issues/6560), @greysteil)
51
+ - Fix issue where a pre-release version was not being selected when it's specified in the Gemfile ([#6449](https://github.com/bundler/bundler/issues/6449), @akihiro17)
52
+ - Fix issue where `Etc` was not loaded when getting the user's home dir ([#6640](https://github.com/bundler/bundler/issues/6640), @colby-swandale)
53
+ - Use UTF-8 for reading files including Gemfile ([#6660](https://github.com/bundler/bundler/issues/6660), @eregon)
54
+ - Remove unnecessary `while` loop in path resolver helper (@ojab)
55
+
56
+ Documentation:
57
+
58
+ - Document that `bundle show [--paths]` sorts results by name (@kemitchell)
59
+
60
+ ## 1.16.3 (2018-07-17)
61
+
62
+ Features:
63
+
64
+ - Support URI::File of Ruby 2.6 (@hsbt)
65
+
66
+ Bugfixes:
67
+
68
+ - Expand symlinks during setup to allow Bundler to load correctly when using symlinks in $GEM_HOME ([#6465](https://github.com/bundler/bundler/issues/6465), @ojab, @indirect)
69
+ - Dont let Bundler create temporary folders for gem installs which are owned by root ([#6258](https://github.com/bundler/bundler/issues/6258), @colby-swandale)
70
+ - Don't fallback to using temporary directories when needed directories already exist ([#6546](https://github.com/bundler/bundler/issues/6546), @brodock)
71
+ - Use SharedHelpers.filesystem_access when reading a Gemfile so friendly error messages can be given to the user ([#6541](https://github.com/bundler/bundler/issues/6541), @segiddins)
72
+ - Check if source responds to `#remotes` before printing gem install error message ([#6211](https://github.com/bundler/bundler/issues/6211), @colby-swandale)
73
+ - Handle Errno::ENOTSUP in the Bundler Process Lock to prevent exceptions when using NFS mounts ([#6566](https://github.com/bundler/bundler/issues/6566), @colby-swandale)
74
+ - Respect encodings when reading gemspecs ([#6598](https://github.com/bundler/bundler/issues/6598), @deivid-rodriguez)
75
+
76
+ Documentation:
77
+
78
+ - Fix links between manual pages (@BanzaiMan)
79
+ - Add warning to Gemfile documentation for the use of the `source` option when declaring gems ([#6280](https://github.com/bundler/bundler/issues/6280), @forestgagnon)
80
+
81
+ ## 1.16.2 (2018-04-20)
82
+
83
+ Changes:
84
+
85
+ - Include the gem's source in the gem install error message when available (@papanikge)
86
+ - Remove unnecessary executable bit from gem template (@voxik)
87
+ - Dont add the timestamp comment with gems added to the Gemfile via `bundle add` ([#6193](https://github.com/bundler/bundler/issues/6193), @cpgo)
88
+ - Improve yanked gem error message (@alyssais)
89
+ - Use `Bundler.rubygems.inflate` instead of the Gem::Util method directly (@segiddins)
90
+ - Remove unused instance variable (@segiddins)
91
+
92
+ Bugfixes:
93
+
94
+ - Only trap INT signal and have Ruby's signal default handler be invoked (@shayonj)
95
+ - Fix warning about the use of `__FILE__` in RubyGems integration testing (@MSP-Greg)
96
+ - Skip the outdated bundler check when MD5 is not available ([#6032](https://github.com/bundler/bundler/issues/6032), @segiddins)
97
+ - Fallback to the original error if the friendly message raises (@segiddins)
98
+ - Rename Bundler.frozen? to avoid Object method conflict ([#6252](https://github.com/bundler/bundler/issues/6252), @segiddins)
99
+ - Ensure the bindir exists before installing gems (@segiddins)
100
+ - Handle gzip corruption errors in the compact index client ([#6261](https://github.com/bundler/bundler/issues/6261), @colby-swandale)
101
+ - Check if the current directory is writeable when writing files in `bundle gem` ([#6219](https://github.com/bundler/bundler/issues/6219), @nilsding)
102
+ - Fix hang when gemspec has incompatible encoding (@deivid-rodriguez)
103
+ - Gracefully handle when the lockfile is missing spec entries for the current platform ([#6079](https://github.com/bundler/bundler/issues/6079), @segiddins)
104
+ - Use Gem::Util.inflate instead of Gem.inflate (@hsbt)
105
+ - Update binstub generator to use new ERB.new arity in Ruby 2.6 (@koic)
106
+ - Fix `source_location` call in rubygems integration (@MSP-Greg)
107
+ - Use `filesystem_access` when copying files in Compact Index Updater ([#6289](https://github.com/bundler/bundler/issues/6289), @segiddins)
108
+ - Fail gracefully when resetting git gems to the given revision fails ([#6324](https://github.com/bundler/bundler/issues/6324), @segiddins)
109
+ - Handle exceptions that do not have a backtrace ([#6342](https://github.com/bundler/bundler/issues/6342), @nesaulov)
110
+ - Check if stderr was closed before writing to it (@shime)
111
+ - Handle updating a specific gem for a non-local platform ([#6350](https://github.com/bundler/bundler/issues/6350), @greysteil)
112
+ - Bump the `bundle_binstub` check-length to 300 characters (@tduffield)
113
+ - Fix specifying alterntive Lockfile with `bundle lock` when default gemfile is present ([#6460](https://github.com/bundler/bundler/issues/6460), @agrim123)
114
+ - Allow installing dependencies when the path is set to `.` ([#6475](https://github.com/bundler/bundler/issues/6475), @segiddins)
115
+ - Support Bundler installing on a readonly filesystem without a home directory ([#6461](https://github.com/bundler/bundler/issues/6461), @grosser)
116
+ - Filter git uri credentials in source description (@segiddins)
117
+
118
+ Documentation:
119
+
120
+ - Correct typos in `bundle binstubs` man page (@erikj, @samueloph)
121
+ - Update links in `bundle gem` command documentation to use https (@KrauseFx)
122
+ - Fix broken links between bundler man pages (@segiddins)
123
+ - Add man page for the `bundle doctor` command ([#6243](https://github.com/bundler/bundler/issues/6243), @nholden)
124
+ - Document `# frozen_string_literal` in `bundle init` Gemfile (@315tky)
125
+ - Explain the gemspec files attribute in `bundle gem` template and print a link to bundler.io guides when running `bundle gem` ([#6246](https://github.com/bundler/bundler/issues/6246), @nesaulov)
126
+ - Small copy tweaks & removed redundant phrasing in the bundler man page (@rubymorillo)
127
+ - Improve the documentation of the settings load order in Bundler (@rubymorillo)
128
+ - Added license info to main README (@rubymorillo)
129
+ - Document parameters and return value of Injector#inject (@tobias-grasse)
130
+
1
131
  ## 1.16.1 (2017-12-12)
2
132
 
3
133
  Bugfixes:
@@ -24,7 +24,7 @@ Bundler is most commonly used to manage your application's dependencies. For exa
24
24
 
25
25
  ```
26
26
  bundle init
27
- echo 'gem "rspec"' >> Gemfile
27
+ bundle add rspec
28
28
  bundle install
29
29
  bundle exec rspec
30
30
  ```
@@ -57,3 +57,7 @@ While some Bundler contributors are compensated by Ruby Together, the project ma
57
57
  ### Code of Conduct
58
58
 
59
59
  Everyone interacting in the Bundler project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [Bundler code of conduct](https://github.com/bundler/bundler/blob/master/CODE_OF_CONDUCT.md).
60
+
61
+ ### License
62
+
63
+ [MIT License](https://github.com/bundler/bundler/blob/master/LICENSE.md)
@@ -9,7 +9,8 @@ Gem::Specification.new do |s|
9
9
  s.version = Bundler::VERSION
10
10
  s.license = "MIT"
11
11
  s.authors = [
12
- "André Arko", "Samuel Giddins", "Chris Morris", "James Wen", "Tim Moore",
12
+ "André Arko", "Samuel Giddins", "Colby Swandale", "Hiroshi Shibata",
13
+ "David Rodríguez", "Grey Baker", "Stephanie Morillo", "Chris Morris", "James Wen", "Tim Moore",
13
14
  "André Medeiros", "Jessica Lynn Suttles", "Terence Lee", "Carl Lerche",
14
15
  "Yehuda Katz"
15
16
  ]
@@ -136,7 +136,7 @@ module Bundler
136
136
  end
137
137
  end
138
138
 
139
- def frozen?
139
+ def frozen_bundle?
140
140
  frozen = settings[:deployment]
141
141
  frozen ||= settings[:frozen] unless feature_flag.deployment_means_frozen?
142
142
  frozen
@@ -159,16 +159,18 @@ module Bundler
159
159
  def user_home
160
160
  @user_home ||= begin
161
161
  home = Bundler.rubygems.user_home
162
+ bundle_home = home ? File.join(home, ".bundle") : nil
162
163
 
163
164
  warning = if home.nil?
164
165
  "Your home directory is not set."
165
166
  elsif !File.directory?(home)
166
167
  "`#{home}` is not a directory."
167
- elsif !File.writable?(home)
168
+ elsif !File.writable?(home) && (!File.directory?(bundle_home) || !File.writable?(bundle_home))
168
169
  "`#{home}` is not writable."
169
170
  end
170
171
 
171
172
  if warning
173
+ Kernel.send(:require, "etc")
172
174
  user_home = tmp_home_path(Etc.getlogin, warning)
173
175
  Bundler.ui.warn "#{warning}\nBundler will use `#{user_home}' as your home directory temporarily.\n"
174
176
  user_home
@@ -189,7 +191,7 @@ module Bundler
189
191
  end
190
192
  tmp_home_path.join(login).tap(&:mkpath)
191
193
  end
192
- rescue => e
194
+ rescue RuntimeError => e
193
195
  raise e.exception("#{warning}\nBundler also failed to create a temporary home directory at `#{path}':\n#{e}")
194
196
  end
195
197
 
@@ -359,8 +361,8 @@ EOF
359
361
  @requires_sudo = settings.allow_sudo? && sudo_present && sudo_needed
360
362
  end
361
363
 
362
- def mkdir_p(path)
363
- if requires_sudo?
364
+ def mkdir_p(path, options = {})
365
+ if requires_sudo? && !options[:no_sudo]
364
366
  sudo "mkdir -p '#{path}'" unless File.exist?(path)
365
367
  else
366
368
  SharedHelpers.filesystem_access(path, :write) do |p|
@@ -407,12 +409,14 @@ EOF
407
409
  end
408
410
 
409
411
  def read_file(file)
410
- File.open(file, "rb", &:read)
412
+ SharedHelpers.filesystem_access(file, :read) do
413
+ File.open(file, "r:UTF-8", &:read)
414
+ end
411
415
  end
412
416
 
413
417
  def load_marshal(data)
414
418
  Marshal.load(data)
415
- rescue => e
419
+ rescue StandardError => e
416
420
  raise MarshalError, "#{e.class}: #{e.message}"
417
421
  end
418
422
 
@@ -427,7 +431,7 @@ EOF
427
431
 
428
432
  def load_gemspec_uncached(file, validate = false)
429
433
  path = Pathname.new(file)
430
- contents = path.read
434
+ contents = read_file(file)
431
435
  spec = if contents.start_with?("---") # YAML header
432
436
  eval_yaml_gemspec(path, contents)
433
437
  else