bundler 1.13.6 → 1.17.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bundler might be problematic. Click here for more details.

Files changed (323) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +554 -9
  3. data/README.md +28 -5
  4. data/bundler.gemspec +40 -11
  5. data/exe/bundle +4 -8
  6. data/exe/bundle_ruby +4 -3
  7. data/lib/bundler.rb +162 -68
  8. data/lib/bundler/build_metadata.rb +53 -0
  9. data/lib/bundler/capistrano.rb +5 -0
  10. data/lib/bundler/cli.rb +360 -118
  11. data/lib/bundler/cli/add.rb +35 -0
  12. data/lib/bundler/cli/binstubs.rb +18 -10
  13. data/lib/bundler/cli/cache.rb +6 -5
  14. data/lib/bundler/cli/check.rb +4 -6
  15. data/lib/bundler/cli/clean.rb +6 -7
  16. data/lib/bundler/cli/common.rb +47 -1
  17. data/lib/bundler/cli/config.rb +26 -7
  18. data/lib/bundler/cli/console.rb +2 -1
  19. data/lib/bundler/cli/doctor.rb +63 -18
  20. data/lib/bundler/cli/exec.rb +12 -5
  21. data/lib/bundler/cli/gem.rb +59 -21
  22. data/lib/bundler/cli/info.rb +50 -0
  23. data/lib/bundler/cli/init.rb +21 -7
  24. data/lib/bundler/cli/inject.rb +13 -4
  25. data/lib/bundler/cli/install.rb +72 -101
  26. data/lib/bundler/cli/issue.rb +40 -0
  27. data/lib/bundler/cli/list.rb +58 -0
  28. data/lib/bundler/cli/lock.rb +9 -6
  29. data/lib/bundler/cli/open.rb +4 -3
  30. data/lib/bundler/cli/outdated.rb +175 -60
  31. data/lib/bundler/cli/package.rb +9 -6
  32. data/lib/bundler/cli/platform.rb +2 -1
  33. data/lib/bundler/cli/plugin.rb +1 -0
  34. data/lib/bundler/cli/pristine.rb +47 -0
  35. data/lib/bundler/cli/remove.rb +18 -0
  36. data/lib/bundler/cli/show.rb +2 -2
  37. data/lib/bundler/cli/update.rb +44 -34
  38. data/lib/bundler/cli/viz.rb +5 -1
  39. data/lib/bundler/compact_index_client.rb +109 -0
  40. data/lib/bundler/compact_index_client/cache.rb +118 -0
  41. data/lib/bundler/compact_index_client/updater.rb +116 -0
  42. data/lib/bundler/compatibility_guard.rb +14 -0
  43. data/lib/bundler/constants.rb +1 -0
  44. data/lib/bundler/current_ruby.rb +17 -8
  45. data/lib/bundler/definition.rb +353 -182
  46. data/lib/bundler/dep_proxy.rb +3 -1
  47. data/lib/bundler/dependency.rb +22 -10
  48. data/lib/bundler/deployment.rb +1 -1
  49. data/lib/bundler/deprecate.rb +15 -3
  50. data/lib/bundler/dsl.rb +122 -64
  51. data/lib/bundler/endpoint_specification.rb +13 -3
  52. data/lib/bundler/env.rb +110 -38
  53. data/lib/bundler/environment_preserver.rb +27 -6
  54. data/lib/bundler/errors.rb +24 -0
  55. data/lib/bundler/feature_flag.rb +74 -0
  56. data/lib/bundler/fetcher.rb +18 -11
  57. data/lib/bundler/fetcher/base.rb +1 -0
  58. data/lib/bundler/fetcher/compact_index.rb +7 -5
  59. data/lib/bundler/fetcher/dependency.rb +3 -2
  60. data/lib/bundler/fetcher/downloader.rb +25 -7
  61. data/lib/bundler/fetcher/index.rb +3 -2
  62. data/lib/bundler/friendly_errors.rb +33 -7
  63. data/lib/bundler/gem_helper.rb +25 -11
  64. data/lib/bundler/gem_helpers.rb +70 -1
  65. data/lib/bundler/gem_remote_fetcher.rb +1 -0
  66. data/lib/bundler/gem_tasks.rb +1 -0
  67. data/lib/bundler/gem_version_promoter.rb +17 -2
  68. data/lib/bundler/gemdeps.rb +29 -0
  69. data/lib/bundler/graph.rb +1 -0
  70. data/lib/bundler/index.rb +28 -15
  71. data/lib/bundler/injector.rb +216 -33
  72. data/lib/bundler/inline.rb +12 -12
  73. data/lib/bundler/installer.rb +139 -53
  74. data/lib/bundler/installer/gem_installer.rb +15 -5
  75. data/lib/bundler/installer/parallel_installer.rb +113 -28
  76. data/lib/bundler/installer/standalone.rb +1 -0
  77. data/lib/bundler/lazy_specification.rb +31 -3
  78. data/lib/bundler/lockfile_generator.rb +95 -0
  79. data/lib/bundler/lockfile_parser.rb +50 -37
  80. data/lib/bundler/match_platform.rb +13 -3
  81. data/lib/bundler/mirror.rb +10 -5
  82. data/lib/bundler/plugin.rb +22 -8
  83. data/lib/bundler/plugin/api.rb +2 -1
  84. data/lib/bundler/plugin/api/source.rb +17 -4
  85. data/lib/bundler/plugin/events.rb +61 -0
  86. data/lib/bundler/plugin/index.rb +9 -2
  87. data/lib/bundler/plugin/installer.rb +7 -6
  88. data/lib/bundler/plugin/source_list.rb +7 -8
  89. data/lib/bundler/process_lock.rb +24 -0
  90. data/lib/bundler/psyched_yaml.rb +10 -0
  91. data/lib/bundler/remote_specification.rb +30 -1
  92. data/lib/bundler/resolver.rb +187 -194
  93. data/lib/bundler/resolver/spec_group.rb +106 -0
  94. data/lib/bundler/retry.rb +5 -1
  95. data/lib/bundler/ruby_dsl.rb +1 -0
  96. data/lib/bundler/ruby_version.rb +12 -2
  97. data/lib/bundler/rubygems_ext.rb +23 -8
  98. data/lib/bundler/rubygems_gem_installer.rb +90 -0
  99. data/lib/bundler/rubygems_integration.rb +193 -70
  100. data/lib/bundler/runtime.rb +39 -22
  101. data/lib/bundler/settings.rb +245 -85
  102. data/lib/bundler/settings/validator.rb +102 -0
  103. data/lib/bundler/setup.rb +4 -7
  104. data/lib/bundler/shared_helpers.rb +183 -40
  105. data/lib/bundler/similarity_detector.rb +1 -0
  106. data/lib/bundler/source.rb +58 -1
  107. data/lib/bundler/source/gemspec.rb +1 -0
  108. data/lib/bundler/source/git.rb +52 -23
  109. data/lib/bundler/source/git/git_proxy.rb +30 -14
  110. data/lib/bundler/source/metadata.rb +62 -0
  111. data/lib/bundler/source/path.rb +42 -16
  112. data/lib/bundler/source/path/installer.rb +4 -2
  113. data/lib/bundler/source/rubygems.rb +171 -82
  114. data/lib/bundler/source/rubygems/remote.rb +12 -2
  115. data/lib/bundler/source_list.rb +75 -15
  116. data/lib/bundler/spec_set.rb +67 -32
  117. data/lib/bundler/ssl_certs/certificate_manager.rb +2 -1
  118. data/lib/bundler/stub_specification.rb +86 -2
  119. data/lib/bundler/templates/.document +1 -0
  120. data/lib/bundler/templates/Executable +13 -1
  121. data/lib/bundler/templates/Executable.bundler +105 -0
  122. data/lib/bundler/templates/Executable.standalone +5 -5
  123. data/lib/bundler/templates/Gemfile +3 -0
  124. data/lib/bundler/templates/gems.rb +8 -0
  125. data/lib/bundler/templates/newgem/Gemfile.tt +4 -2
  126. data/lib/bundler/templates/newgem/LICENSE.txt.tt +1 -1
  127. data/lib/bundler/templates/newgem/README.md.tt +14 -8
  128. data/lib/bundler/templates/newgem/Rakefile.tt +5 -5
  129. data/lib/bundler/templates/newgem/bin/console.tt +1 -1
  130. data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +4 -4
  131. data/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +3 -3
  132. data/lib/bundler/templates/newgem/gitignore.tt +5 -1
  133. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +7 -6
  134. data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +4 -4
  135. data/lib/bundler/templates/newgem/newgem.gemspec.tt +21 -12
  136. data/lib/bundler/templates/newgem/rspec.tt +1 -0
  137. data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -3
  138. data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +13 -1
  139. data/lib/bundler/templates/newgem/test/newgem_test.rb.tt +1 -1
  140. data/lib/bundler/templates/newgem/test/test_helper.rb.tt +3 -3
  141. data/lib/bundler/templates/newgem/{.travis.yml.tt → travis.yml.tt} +2 -0
  142. data/lib/bundler/ui.rb +1 -0
  143. data/lib/bundler/ui/rg_proxy.rb +1 -0
  144. data/lib/bundler/ui/shell.rb +30 -10
  145. data/lib/bundler/ui/silent.rb +21 -1
  146. data/lib/bundler/uri_credentials_filter.rb +1 -0
  147. data/lib/bundler/vendor/fileutils/lib/fileutils.rb +1638 -0
  148. data/lib/bundler/vendor/molinillo/lib/molinillo.rb +2 -0
  149. data/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +26 -0
  150. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
  151. data/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +1 -0
  152. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +26 -6
  153. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +2 -1
  154. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +12 -4
  155. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +3 -2
  156. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  157. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +11 -3
  158. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +13 -1
  159. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +3 -2
  160. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +3 -2
  161. data/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +18 -5
  162. data/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +75 -7
  163. data/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  164. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +1 -0
  165. data/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +3 -1
  166. data/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +499 -128
  167. data/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +1 -0
  168. data/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +8 -4
  169. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/faster.rb +1 -0
  170. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent.rb +27 -24
  171. data/lib/bundler/vendor/{net → net-http-persistent/lib/net}/http/persistent/ssl_reuse.rb +2 -1
  172. data/lib/bundler/vendor/thor/lib/thor.rb +46 -21
  173. data/lib/bundler/vendor/thor/lib/thor/actions.rb +24 -22
  174. data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +2 -1
  175. data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  176. data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +2 -2
  177. data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +16 -8
  178. data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +66 -18
  179. data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +17 -15
  180. data/lib/bundler/vendor/thor/lib/thor/base.rb +55 -32
  181. data/lib/bundler/vendor/thor/lib/thor/command.rb +13 -11
  182. data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +21 -1
  183. data/lib/bundler/vendor/thor/lib/thor/core_ext/io_binary_read.rb +7 -5
  184. data/lib/bundler/vendor/thor/lib/thor/core_ext/ordered_hash.rb +94 -63
  185. data/lib/bundler/vendor/thor/lib/thor/error.rb +3 -3
  186. data/lib/bundler/vendor/thor/lib/thor/group.rb +13 -13
  187. data/lib/bundler/vendor/thor/lib/thor/invocation.rb +4 -5
  188. data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +2 -0
  189. data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +4 -7
  190. data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +16 -16
  191. data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +42 -21
  192. data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +13 -10
  193. data/lib/bundler/vendor/thor/lib/thor/runner.rb +31 -29
  194. data/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  195. data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +49 -33
  196. data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +1 -1
  197. data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +4 -4
  198. data/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
  199. data/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  200. data/lib/bundler/vendored_fileutils.rb +9 -0
  201. data/lib/bundler/vendored_molinillo.rb +1 -0
  202. data/lib/bundler/vendored_persistent.rb +43 -3
  203. data/lib/bundler/vendored_thor.rb +6 -2
  204. data/lib/bundler/version.rb +19 -2
  205. data/lib/bundler/version_ranges.rb +76 -0
  206. data/lib/bundler/vlad.rb +5 -0
  207. data/lib/bundler/worker.rb +30 -6
  208. data/lib/bundler/yaml_serializer.rb +4 -4
  209. data/man/bundle-add.1 +58 -0
  210. data/man/bundle-add.1.txt +52 -0
  211. data/man/bundle-add.ronn +40 -0
  212. data/{lib/bundler/man/bundle-binstubs → man/bundle-binstubs.1} +11 -1
  213. data/man/bundle-binstubs.1.txt +48 -0
  214. data/man/bundle-binstubs.ronn +15 -1
  215. data/man/bundle-check.1 +31 -0
  216. data/man/bundle-check.1.txt +33 -0
  217. data/man/bundle-check.ronn +26 -0
  218. data/man/bundle-clean.1 +24 -0
  219. data/man/bundle-clean.1.txt +26 -0
  220. data/man/bundle-clean.ronn +18 -0
  221. data/man/bundle-config.1 +497 -0
  222. data/man/bundle-config.1.txt +529 -0
  223. data/man/bundle-config.ronn +233 -61
  224. data/man/bundle-doctor.1 +44 -0
  225. data/man/bundle-doctor.1.txt +44 -0
  226. data/man/bundle-doctor.ronn +33 -0
  227. data/{lib/bundler/man/bundle-exec → man/bundle-exec.1} +6 -3
  228. data/man/bundle-exec.1.txt +178 -0
  229. data/man/bundle-exec.ronn +10 -3
  230. data/{lib/bundler/man/bundle-gem → man/bundle-gem.1} +4 -4
  231. data/man/bundle-gem.1.txt +91 -0
  232. data/man/bundle-gem.ronn +3 -2
  233. data/man/bundle-info.1 +20 -0
  234. data/man/bundle-info.1.txt +21 -0
  235. data/man/bundle-info.ronn +17 -0
  236. data/man/bundle-init.1 +25 -0
  237. data/man/bundle-init.1.txt +34 -0
  238. data/man/bundle-init.ronn +29 -0
  239. data/man/bundle-inject.1 +33 -0
  240. data/man/bundle-inject.1.txt +32 -0
  241. data/man/bundle-inject.ronn +22 -0
  242. data/{lib/bundler/man/bundle-install → man/bundle-install.1} +32 -29
  243. data/man/bundle-install.1.txt +396 -0
  244. data/man/bundle-install.ronn +45 -36
  245. data/man/bundle-list.1 +50 -0
  246. data/man/bundle-list.1.txt +43 -0
  247. data/man/bundle-list.ronn +33 -0
  248. data/{lib/bundler/man/bundle-lock → man/bundle-lock.1} +43 -2
  249. data/man/bundle-lock.1.txt +93 -0
  250. data/man/bundle-lock.ronn +47 -0
  251. data/man/bundle-open.1 +32 -0
  252. data/man/bundle-open.1.txt +29 -0
  253. data/man/bundle-open.ronn +19 -0
  254. data/man/bundle-outdated.1 +155 -0
  255. data/man/bundle-outdated.1.txt +131 -0
  256. data/man/bundle-outdated.ronn +111 -0
  257. data/{lib/bundler/man/bundle-package → man/bundle-package.1} +6 -3
  258. data/man/bundle-package.1.txt +79 -0
  259. data/man/bundle-package.ronn +7 -2
  260. data/{lib/bundler/man/bundle-platform → man/bundle-platform.1} +1 -1
  261. data/man/bundle-platform.1.txt +57 -0
  262. data/man/bundle-pristine.1 +34 -0
  263. data/man/bundle-pristine.1.txt +44 -0
  264. data/man/bundle-pristine.ronn +34 -0
  265. data/man/bundle-remove.1 +31 -0
  266. data/man/bundle-remove.1.txt +34 -0
  267. data/man/bundle-remove.ronn +23 -0
  268. data/man/bundle-show.1 +23 -0
  269. data/man/bundle-show.1.txt +27 -0
  270. data/man/bundle-show.ronn +21 -0
  271. data/man/bundle-update.1 +394 -0
  272. data/man/bundle-update.1.txt +391 -0
  273. data/man/bundle-update.ronn +172 -16
  274. data/man/bundle-viz.1 +39 -0
  275. data/man/bundle-viz.1.txt +39 -0
  276. data/man/bundle-viz.ronn +30 -0
  277. data/{lib/bundler/man/bundle → man/bundle.1} +44 -28
  278. data/man/bundle.1.txt +116 -0
  279. data/man/bundle.ronn +39 -27
  280. data/{lib/bundler/man → man}/gemfile.5 +67 -84
  281. data/man/gemfile.5.ronn +77 -55
  282. data/man/gemfile.5.txt +653 -0
  283. data/man/index.txt +25 -8
  284. metadata +118 -58
  285. data/.codeclimate.yml +0 -25
  286. data/.gitignore +0 -16
  287. data/.rspec +0 -3
  288. data/.rubocop.yml +0 -128
  289. data/.rubocop_todo.yml +0 -248
  290. data/.travis.yml +0 -108
  291. data/CODE_OF_CONDUCT.md +0 -42
  292. data/CONTRIBUTING.md +0 -36
  293. data/DEVELOPMENT.md +0 -148
  294. data/ISSUES.md +0 -100
  295. data/Rakefile +0 -333
  296. data/bin/rake +0 -19
  297. data/bin/rspec +0 -15
  298. data/bin/rubocop +0 -17
  299. data/bin/with_rubygems +0 -39
  300. data/lib/bundler/man/bundle-binstubs.txt +0 -33
  301. data/lib/bundler/man/bundle-config +0 -254
  302. data/lib/bundler/man/bundle-config.txt +0 -282
  303. data/lib/bundler/man/bundle-exec.txt +0 -171
  304. data/lib/bundler/man/bundle-gem.txt +0 -90
  305. data/lib/bundler/man/bundle-install.txt +0 -385
  306. data/lib/bundler/man/bundle-lock.txt +0 -52
  307. data/lib/bundler/man/bundle-package.txt +0 -74
  308. data/lib/bundler/man/bundle-platform.txt +0 -57
  309. data/lib/bundler/man/bundle-update +0 -221
  310. data/lib/bundler/man/bundle-update.txt +0 -227
  311. data/lib/bundler/man/bundle.txt +0 -104
  312. data/lib/bundler/man/gemfile.5.txt +0 -636
  313. data/lib/bundler/postit_trampoline.rb +0 -68
  314. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client.rb +0 -79
  315. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/cache.rb +0 -112
  316. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/updater.rb +0 -80
  317. data/lib/bundler/vendor/compact_index_client/lib/compact_index_client/version.rb +0 -4
  318. data/lib/bundler/vendor/postit/lib/postit.rb +0 -15
  319. data/lib/bundler/vendor/postit/lib/postit/environment.rb +0 -44
  320. data/lib/bundler/vendor/postit/lib/postit/installer.rb +0 -28
  321. data/lib/bundler/vendor/postit/lib/postit/parser.rb +0 -21
  322. data/lib/bundler/vendor/postit/lib/postit/setup.rb +0 -12
  323. data/lib/bundler/vendor/postit/lib/postit/version.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 68a5cc7a514ec7f32e13a90153a67b8135acd1ab
4
- data.tar.gz: c7f4a9f57e024b55fea8fb6baecfe72d28fb026f
2
+ SHA256:
3
+ metadata.gz: 57be2a031c802a256fffbddca6f7cac7814f550ba22a5228ca4d69ffc6219ca0
4
+ data.tar.gz: f1928fbdadc8b1e2dbbedfb9361a7afed83b8d51b5fea407c5bef0857f93fd03
5
5
  SHA512:
6
- metadata.gz: 18ab28c7d1582cd1a33635f8a710ad029186001be75ade1db367a363b7cb47728e83d8bb94dc36e1e623acbfdada33a4db085b9d874cc9b7cced17aa4bd78590
7
- data.tar.gz: d526f3d9e34f12485cc0f8da0510a1001aea0d9211ce01cd232dcb0d5185e413a3853c4ee8dc7bfded1d143c1962da1fc14a98365c874f9a2d677b456424bc5b
6
+ metadata.gz: '08986fab1b004158cb55a6f0ef41e4a17e4b85561a97b24e85a731056af327f801e1d105915e6760e99b4b006da7f9a3c79b388d3ca998d2d12492e9accf7ad6'
7
+ data.tar.gz: fb07fcd0f42267952e5ce1a929825b7c1d7e42cd489f025a03a3a8846616bcd60bb477d12e437206dbb188f4e7c575fc6d0e6f89ab8adaf1bb6b01e91739fe21
data/CHANGELOG.md CHANGED
@@ -1,3 +1,543 @@
1
+ ## 1.17.3 (2018-12-27)
2
+
3
+ Bugfixes:
4
+
5
+ - Fix a Bundler error when installing gems on old versions of RubyGems ([#6839](https://github.com/bundler/bundler/issues/6839), @colby-swandale)
6
+ - Fix a rare issue where Bundler was removing itself after a `bundle clean` ([#6829](https://github.com/bundler/bundler/issues/6829), @colby-swandale)
7
+
8
+ Documentation:
9
+
10
+ - Add entry for the `bundle remove` command to the main Bundler manual page
11
+
12
+ ## 1.17.2 (2018-12-11)
13
+
14
+ - Add compatibility for bundler merge with Ruby 2.6
15
+
16
+ ## 1.17.1 (2018-10-25)
17
+
18
+ - Convert `Pathname`s to `String`s before sorting them, fixing #6760 and #6758 ([#6761](https://github.com/bundler/bundler/pull/6761), @alexggordon)
19
+
20
+ ## 1.17.0 (2018-10-25)
21
+
22
+ No new changes.
23
+
24
+ ## 1.17.0.pre.2 (2018-10-13)
25
+
26
+ Features:
27
+
28
+ - Configure Bundler home, cache, config and plugin directories with `BUNDLE_USER_HOME`, `BUNDLE_USER_CACHE`, `BUNDLE_USER_CONFIG` and `BUNDLE_USER_PLUGIN` env vars ([#4333](https://github.com/bundler/bundler/issues/4333), @gwerbin)
29
+ - Add `--all` option to `bundle binstubs` that will generate an executable file for all gems with commands in the bundle
30
+ - Add `bundle remove` command to remove gems from the Gemfile via the CLI
31
+ - Improve checking file permissions and asking for `sudo` in Bundler when it doesn't need to
32
+ - Add error message to `bundle add` to check adding duplicate gems to the Gemfile
33
+ - When asking for `sudo`, Bundler will show a list of folders/files that require elevated permissions to write to.
34
+
35
+ The following new features are available but are not enabled by default. These are intended to be tested by users for the upcoming release of Bundler 2.
36
+
37
+ - Improve deprecation warning message for `bundle show` command
38
+ - Improve deprecation warning message for the `--force` option in `bundle install`
39
+
40
+ ## 1.17.0.pre.1 (2018-09-24)
41
+
42
+ Features:
43
+
44
+ - Check folder/file permissions of the Bundle home directory in the `bundle doctor` command ([#5786](https://github.com/bundler/bundler/issues/5786), @ajwann)
45
+ - Remove compiled gem extensions when running `bundle clean` ([#5596](https://github.com/bundler/bundler/issues/5596), @akhramov)
46
+ - Add `--paths` option to `bundle list` command ([#6172](https://github.com/bundler/bundler/issues/6172), @colby-swandale)
47
+ - Add base error class to gems generated from `bundle gem` ([#6260](https://github.com/bundler/bundler/issues/6260), @christhekeele)
48
+ - Correctly re-install gem extensions with a git source when running `bundle pristine` ([#6294](https://github.com/bundler/bundler/issues/6294), @wagenet)
49
+ - Add config option to disable platform warnings ([#6124](https://github.com/bundler/bundler/issues/6124), @agrim123)
50
+ - Add `--skip-install` option to `bundle add` command to add gems to the Gemfile without installation ([#6511](https://github.com/bundler/bundler/issues/6511), @agrim123)
51
+ - Add `--only-explicit` option to `bundle outdated` to list only outdated gems in the Gemfile ([#5366](https://github.com/bundler/bundler/issues/5366), @peret)
52
+ - Support adding multiple gems to the Gemfile with `bundle add` ([#6543](https://github.com/bundler/bundler/issues/6543), @agrim123)
53
+ - Make registered plugin events easier to manage in the Plugin API (@jules2689)
54
+ - Add new gem install hooks to the Plugin API (@jules2689)
55
+ - Add `--optimistic` and `--strict` options to `bundle add` ([#6553](https://github.com/bundler/bundler/issues/6553), @agrim123)
56
+ - Add `--without-group` and `--only-group` options to `bundle list` ([#6564](https://github.com/bundler/bundler/issues/6564), @agrim123)
57
+ - Add `--gemfile` option to the `bundle exec` command ([#5924](https://github.com/bundler/bundler/issues/5924), @ankitkataria)
58
+
59
+ The following new features are available but are not enabled by default. These are intended to be tested by users for the upcoming release of Bundler 2.
60
+
61
+ - Make `install --path` relative to the current working directory ([#2048](https://github.com/bundler/bundler/issues/2048), @igorbozato)
62
+ - Auto-configure job count ([#5808](https://github.com/bundler/bundler/issues/5808), @segiddins)
63
+ - Use the Gem Version Promoter for major gem updates ([#5993](https://github.com/bundler/bundler/issues/5993), @segiddins)
64
+ - Add config option to add the Ruby scope to `bundle config path` when configured globally (@segiddins)
65
+
66
+ ## 1.16.6 (2018-10-05)
67
+
68
+ Changes:
69
+
70
+ - 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)
71
+ - Add Homepage, Source Code and Chanagelog URI metadata fields to the `bundle gem` gemspec template (@walf443)
72
+
73
+ Bugfixes:
74
+
75
+ - 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)
76
+ - Fix some rescue calls that don't specifiy error type (@utilum)
77
+ - 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)
78
+ - Improve handlding of adding new gems with only a single group to the Gemfile in `bundle add` (@agrim123)
79
+ - Refactor check for OpenSSL in `bundle env` (@voxik)
80
+ - Remove an unnecessary assignment in Metadata (@voxik)
81
+
82
+ Documentation:
83
+
84
+ - 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)
85
+ - Add documentation for the `--all` flag in `bundle update` (@agrim123)
86
+ - Update README to use `bundle add` in usage examples (@hdf1986)
87
+
88
+ ## 1.16.5 (2018-09-18)
89
+
90
+ Changes:
91
+
92
+ - Add support for TruffleRuby (@eregon)
93
+
94
+ Bugfixes:
95
+
96
+ - Avoid printing git errors when checking the version on incorrectly packaged versions of Bundler ([#6453](https://github.com/bundler/bundler/issues/6453), @greysteil)
97
+ - Fix issue where Bundler does not check the given class when comparing equality in DepProxy (@ChrisBr)
98
+ - Handle `RangeNotSatisfiable` error in Compact Index (@MaxLap)
99
+ - Check for initialized `search` variable in `LazySpecification` (@voxik)
100
+ - Fix LoadError occurring in nested bundle exec calls ([#6537](https://github.com/bundler/bundler/issues/6537), @colby-swandale)
101
+ - Check that Bundler::Deprecate is not an autoload constant ([#6163](https://github.com/bundler/bundler/issues/6163), @eregon)
102
+ - Prefer non-pre-release versions when performing a `bundle update --patch` ([#6684](https://github.com/bundler/bundler/issues/6684), @segiddins)
103
+
104
+ ## 1.16.4 (2018-08-17)
105
+
106
+ Changes:
107
+
108
+ - Welcome new members to the Bundler core team (@indirect)
109
+ - Don't mutate original error trees when determining version_conflict_message (@greysteil)
110
+ - Update vendored Molinillo to 0.6.6 (@segiddins)
111
+
112
+ Bugfixes:
113
+
114
+ - 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)
115
+ - Respect --conservative flag when updating a dependency group ([#6560](https://github.com/bundler/bundler/issues/6560), @greysteil)
116
+ - 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)
117
+ - Fix issue where `Etc` was not loaded when getting the user's home dir ([#6640](https://github.com/bundler/bundler/issues/6640), @colby-swandale)
118
+ - Use UTF-8 for reading files including Gemfile ([#6660](https://github.com/bundler/bundler/issues/6660), @eregon)
119
+ - Remove unnecessary `while` loop in path resolver helper (@ojab)
120
+
121
+ Documentation:
122
+
123
+ - Document that `bundle show [--paths]` sorts results by name (@kemitchell)
124
+
125
+ ## 1.16.3 (2018-07-17)
126
+
127
+ Features:
128
+
129
+ - Support URI::File of Ruby 2.6 (@hsbt)
130
+
131
+ Bugfixes:
132
+
133
+ - 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)
134
+ - Dont let Bundler create temporary folders for gem installs which are owned by root ([#6258](https://github.com/bundler/bundler/issues/6258), @colby-swandale)
135
+ - Don't fallback to using temporary directories when needed directories already exist ([#6546](https://github.com/bundler/bundler/issues/6546), @brodock)
136
+ - 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)
137
+ - Check if source responds to `#remotes` before printing gem install error message ([#6211](https://github.com/bundler/bundler/issues/6211), @colby-swandale)
138
+ - 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)
139
+ - Respect encodings when reading gemspecs ([#6598](https://github.com/bundler/bundler/issues/6598), @deivid-rodriguez)
140
+
141
+ Documentation:
142
+
143
+ - Fix links between manual pages (@BanzaiMan)
144
+ - Add warning to Gemfile documentation for the use of the `source` option when declaring gems ([#6280](https://github.com/bundler/bundler/issues/6280), @forestgagnon)
145
+
146
+ ## 1.16.2 (2018-04-20)
147
+
148
+ Changes:
149
+
150
+ - Include the gem's source in the gem install error message when available (@papanikge)
151
+ - Remove unnecessary executable bit from gem template (@voxik)
152
+ - Dont add the timestamp comment with gems added to the Gemfile via `bundle add` ([#6193](https://github.com/bundler/bundler/issues/6193), @cpgo)
153
+ - Improve yanked gem error message (@alyssais)
154
+ - Use `Bundler.rubygems.inflate` instead of the Gem::Util method directly (@segiddins)
155
+ - Remove unused instance variable (@segiddins)
156
+
157
+ Bugfixes:
158
+
159
+ - Only trap INT signal and have Ruby's signal default handler be invoked (@shayonj)
160
+ - Fix warning about the use of `__FILE__` in RubyGems integration testing (@MSP-Greg)
161
+ - Skip the outdated bundler check when MD5 is not available ([#6032](https://github.com/bundler/bundler/issues/6032), @segiddins)
162
+ - Fallback to the original error if the friendly message raises (@segiddins)
163
+ - Rename Bundler.frozen? to avoid Object method conflict ([#6252](https://github.com/bundler/bundler/issues/6252), @segiddins)
164
+ - Ensure the bindir exists before installing gems (@segiddins)
165
+ - Handle gzip corruption errors in the compact index client ([#6261](https://github.com/bundler/bundler/issues/6261), @colby-swandale)
166
+ - Check if the current directory is writeable when writing files in `bundle gem` ([#6219](https://github.com/bundler/bundler/issues/6219), @nilsding)
167
+ - Fix hang when gemspec has incompatible encoding (@deivid-rodriguez)
168
+ - Gracefully handle when the lockfile is missing spec entries for the current platform ([#6079](https://github.com/bundler/bundler/issues/6079), @segiddins)
169
+ - Use Gem::Util.inflate instead of Gem.inflate (@hsbt)
170
+ - Update binstub generator to use new ERB.new arity in Ruby 2.6 (@koic)
171
+ - Fix `source_location` call in rubygems integration (@MSP-Greg)
172
+ - Use `filesystem_access` when copying files in Compact Index Updater ([#6289](https://github.com/bundler/bundler/issues/6289), @segiddins)
173
+ - Fail gracefully when resetting git gems to the given revision fails ([#6324](https://github.com/bundler/bundler/issues/6324), @segiddins)
174
+ - Handle exceptions that do not have a backtrace ([#6342](https://github.com/bundler/bundler/issues/6342), @nesaulov)
175
+ - Check if stderr was closed before writing to it (@shime)
176
+ - Handle updating a specific gem for a non-local platform ([#6350](https://github.com/bundler/bundler/issues/6350), @greysteil)
177
+ - Bump the `bundle_binstub` check-length to 300 characters (@tduffield)
178
+ - Fix specifying alterntive Lockfile with `bundle lock` when default gemfile is present ([#6460](https://github.com/bundler/bundler/issues/6460), @agrim123)
179
+ - Allow installing dependencies when the path is set to `.` ([#6475](https://github.com/bundler/bundler/issues/6475), @segiddins)
180
+ - Support Bundler installing on a readonly filesystem without a home directory ([#6461](https://github.com/bundler/bundler/issues/6461), @grosser)
181
+ - Filter git uri credentials in source description (@segiddins)
182
+
183
+ Documentation:
184
+
185
+ - Correct typos in `bundle binstubs` man page (@erikj, @samueloph)
186
+ - Update links in `bundle gem` command documentation to use https (@KrauseFx)
187
+ - Fix broken links between bundler man pages (@segiddins)
188
+ - Add man page for the `bundle doctor` command ([#6243](https://github.com/bundler/bundler/issues/6243), @nholden)
189
+ - Document `# frozen_string_literal` in `bundle init` Gemfile (@315tky)
190
+ - 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)
191
+ - Small copy tweaks & removed redundant phrasing in the bundler man page (@rubymorillo)
192
+ - Improve the documentation of the settings load order in Bundler (@rubymorillo)
193
+ - Added license info to main README (@rubymorillo)
194
+ - Document parameters and return value of Injector#inject (@tobias-grasse)
195
+
196
+ ## 1.16.1 (2017-12-12)
197
+
198
+ Bugfixes:
199
+
200
+ - avoid hanging on complex resolver errors ([#6114](https://github.com/bundler/bundler/issues/6114), @halfbyte)
201
+ - avoid an error when running `bundle update --group` ([#6156](https://github.com/bundler/bundler/issues/6156), @mattbrictson)
202
+ - ensure the resolver prefers non-pre-release gems when possible ([#6181](https://github.com/bundler/bundler/issues/6181), @greysteil)
203
+ - include bundler's gemspec in the built gem ([#6165](https://github.com/bundler/bundler/issues/6165), @dr-itz)
204
+ - ensure locally installed specs are not overriden by those in remote sources during dependency resolution ([#6072](https://github.com/bundler/bundler/issues/6072), @indirect)
205
+ - ensure custom gemfiles are respected in generated binstubs (@pftg)
206
+ - fail gracefully when loading a bundler-generated binstub when `bin/bundle` was not generated by bundler ([#6149](https://github.com/bundler/bundler/issues/6149), @hsbt)
207
+ - allow `bundle init` to be run even when a parent directory contains a gemfile ([#6205](https://github.com/bundler/bundler/issues/6205), @colby-swandale)
208
+
209
+ ## 1.16.0 (2017-10-31)
210
+
211
+ Bugfixes:
212
+
213
+ - avoid new RubyGems warning about unsafe YAML loading (to keep output consistent) (@segiddins)
214
+ - load digest subclasses in a thread-safe manner (@segiddins, @colby-swandale)
215
+ - avoid unusued variable warnings under ruby 2.5 (@amatsuda)
216
+ - fix printing the same message twice in verbose mode ([#6028](https://github.com/bundler/bundler/issues/6028), @akhramov)
217
+ - allow `SignalException`s to bubble up to the interpreter during `bundle exec` ([#6090](https://github.com/bundler/bundler/issues/6090), @dekellum)
218
+ - avoid activating stdlib digest under Ruby 2.5 (@segiddins)
219
+ - prioritise explicitly requested gems in dependency resolution sort order (@segiddins)
220
+ - reduce memory usage during dependency resolution ([#6114](https://github.com/bundler/bundler/issues/6114), @greysteil)
221
+ - ensure that the default bundler gem is not accidentally activated on ruby 2.5 when using local git overrides (@segiddins)
222
+
223
+ ## 1.16.0.pre.3 (2017-10-04)
224
+
225
+ Features:
226
+
227
+ - the output from `bundle env` includes more information, particularly both the compiled & loaded versions of OpenSSL (@indirect)
228
+
229
+ Bugfixes:
230
+
231
+ - fix a bug where installing on FreeBSD would accidentally raise an error (#6013, @olleolleolle)
232
+ - fix a regression in 1.16 where pre-release gems could accidentally be resolved even when the gemfile contained no pre-release requirements (@greysteil)
233
+ - bundler will avoid making unnecessary network requests to fetch dependency data, fixing a regression introduced in 1.16 (@segiddins)
234
+ - the outdated bundler version message is disabled by default until the message has been fine-tuned (#6004, @segiddins)
235
+
236
+ ## 1.16.0.pre.2 (2017-09-06)
237
+
238
+ Bugfixes:
239
+
240
+ - handle when a connection is missing a socket when warning about OpenSSL version (@greysteil)
241
+ - the description for the `rake release` task now reflects `$RUBYGEMS_HOST` (@wadetandy)
242
+ - fix a bug where `bundle update` would regress transitive dependencies (@greysteil)
243
+
244
+ ## 1.16.0.pre.1 (2017-09-04)
245
+
246
+ Features:
247
+
248
+ - allow using non-branch symbolic refs in a git source (#4845, @segiddins)
249
+ - allow absolute paths in the `cache path` setting (#5627, @mal)
250
+ - gems created via `bundle gem` with rspec have `--require spec_helper` in their `.rspec` file (@koic)
251
+ - `bundle env` includes `Gem.ruby` and the `bundle` binstub shebang when they don't match (#5616, @segiddins)
252
+ - allow passing gem names to `bundle pristine` (@segiddins)
253
+ - `bundle version` and `bundle env` include the commit and build date for the bundler gem (#5049, @segiddins)
254
+ - add the `--shebang` option to `bundle binstubs` (#4070, @segiddins, @Zorbash)
255
+ - gemfiles are `eval`ed one fewer time when running `bundle install` (#4952, #3096, #4417, @segiddins)
256
+ - the `fileutils` gem is now vendored so different versions of the gem can be activated (@segiddins)
257
+ - speed up no-op installations (#5842, @segiddins)
258
+ - default to keeping the lockfile in the default gem template (@deivid-rodriguez)
259
+ - add a special bundler binstub that ensures the correct version of bundler is activated (#5876, @segiddins)
260
+ - speed up dependency resolution and ensure that all resolvable gemfiles can be installed (@segiddins, @greysteil)
261
+ - add a `bundle list` command that prints the gems in use (#4754, @colby-swandale)
262
+ - allow adding credentials to a gem source during deployment when `allow_deployment_source_credential_changes` is set (@adrian-gomez)
263
+ - making an outdated (and insecure) TLS connection to rubygems.org will print a warning (@segiddins)
264
+
265
+ Bugfixes:
266
+
267
+ - allow configuring a mirror fallback timeout without a trailing slash (#4830, @segiddins)
268
+ - fix handling of mirrors for file: urls that contain upper-case characters (@segiddins)
269
+ - list the correct gem host for `rake release` when `allowed_push_host` has been set (@mdeering)
270
+ - ensure `Bundler.original_env` preserves all env keys that bundler sets (#5700, @segiddins)
271
+ - ensure `bundle pristine` removes files added to a git gem (@segiddins)
272
+ - load plugin files from path gems before gem installation (#5429, @segiddins)
273
+ - ensure gems containing manpages are properly set up (#5730, @segiddins)
274
+ - avoid fetching remote specs when all effected gems are in groups that are not being installed (@segiddins)
275
+ - allow `BUNDLE_GEMFILE` to be a relative path (#5712, @gxespino)
276
+ - show a more helpful error message when a gem fails to install due to a corrupted lockfile (#5846, @segiddins)
277
+ - add a process lock to allow multiple concurrent `bundle install`s (#5851, @stefansedich)
278
+ - ensure that specifications always return an array for `#extensions` (@greysteil)
279
+ - print a helpful error message when using a gem in the Gemfile with an empty name (@colby-swandale)
280
+ - ensure that all gemfiles are included in `bundle env` (@segiddins)
281
+ - use ssl client cert and ca cert settings from gem configuration as fallbacks (@stan3)
282
+ - avoid global namespace pollution when loading gems (#5958, @shyouhei)
283
+ - avoid running a complete re-resolve on `bundle update --bundler` (@segiddins)
284
+ - allow `bundle binstubs --standalone` to work without `path` being set (@colby-swandale)
285
+ - fix support for bundle paths that include jars or wars on jruby (#5975, @torcido)
286
+
287
+ ## 1.15.4 (2017-08-19)
288
+
289
+ Bugfixes:
290
+
291
+ - handle file conflicts gracefully in `bundle gem` (@rafaelfranca, @segiddins)
292
+ - bundler will fail gracefully when the bundle path contains the system path separator (#5485, ajwann)
293
+ - failed gem downloads will be retried consistently across different RubyGems versions (@shayonj)
294
+ - `bundle pristine` will respect build options while re-building native extensions (@NickLaMuro)
295
+
296
+ ## 1.15.3 (2017-07-21)
297
+
298
+ Bugfixes:
299
+
300
+ - ensure that empty strings passed to `bundle config` are serialized & parsed properly (#5881, @segiddins)
301
+ - avoid printing an outdated version warning when running a parseable command (@segiddins)
302
+
303
+ ## 1.15.2 (2017-07-17)
304
+
305
+ Features:
306
+
307
+ - new gemfiles created by bundler will include an explicit `github` git source that uses `https` (@segiddins)
308
+
309
+ Bugfixes:
310
+
311
+ - inline gemfiles work when `BUNDLE_BIN` is set (#5847, @segiddins)
312
+ - avoid using the old dependency API when there are no changes to the compact index files (#5373, @greysteil)
313
+ - fail gracefully when the full index serves gemspecs with invalid dependencies (#5797, @segiddins)
314
+ - support installing gemfiles that use `eval_gemfile`, `:path` gems with relative paths, and `--deployment` simultaneously (@NickLaMuro)
315
+ - `bundle config` will print settings as the type they are interpreted as (@segiddins)
316
+ - respect the `no_proxy` environment variable when making network requests (#5781, @jakauppila)
317
+ - commands invoked with `--verbose` will not have default flags printed (@segiddins)
318
+ - allow `bundle viz` to work when another gem has a requirable `grapviz` file (#5707, @segiddins)
319
+ - ensure bundler puts activated gems on the `$LOAD_PATH` in a consistent order (#5696, @segiddins)
320
+
321
+ ## 1.15.1 (2017-06-02)
322
+
323
+ Bugfixes:
324
+
325
+ - `bundle lock --update GEM` will fail gracefully when the gem is not in the lockfile (#5693, @segiddins)
326
+ - `bundle init --gemspec` will fail gracefully when the gemspec is invalid (@colby-swandale)
327
+ - `bundle install --force` works when the gemfile contains git gems (#5678, @segiddins)
328
+ - `bundle env` will print well-formed markdown when there are no settings (#5677, @segiddins)
329
+
330
+ ## 1.15.0 (2017-05-19)
331
+
332
+ This space intentionally left blank.
333
+
334
+ ## 1.15.0.pre.4 (2017-05-10)
335
+
336
+ Bugfixes:
337
+
338
+ - avoid conflicts when `Gem.finish_resolve` is called after the bundle has been set up (@segiddins)
339
+ - ensure that `Gem::Specification.find_by_name` always returns an object that can have `#to_spec` called on it (#5592, @jules2689)
340
+
341
+ ## 1.15.0.pre.3 (2017-04-30)
342
+
343
+ Bugfixes:
344
+
345
+ - avoid redundant blank lines in the readme generated by `bundle gem` (@koic)
346
+ - ensure that `open-uri` is not loaded after `bundle exec` (@segiddins)
347
+ - print a helpful error message when an activated default gem conflicts with
348
+ a gem in the gemfile (@segiddins)
349
+ - only shorten `ref` option for git gems when it is a SHA (#5620, @segiddins)
350
+
351
+ ## 1.15.0.pre.2 (2017-04-23)
352
+
353
+ Bugfixes:
354
+
355
+ - ensure pre-existing fit caches are updated from remote sources (#5423, @alextaylor000)
356
+ - avoid duplicating specs in the lockfile after updating with the gem uninstalled (#5599, @segiddins)
357
+ - ensure git gems have their extensions available at runtime (#5594, @jules2689, @segiddins)
358
+
359
+ ## 1.15.0.pre.1 (2017-04-16)
360
+
361
+ Features:
362
+
363
+ - print a notification when a newer version of bundler is available (#4683, @segiddins)
364
+ - add man pages for all bundler commands (#4988, @feministy)
365
+ - add the `bundle info` command (@fredrb, @colby-swandale)
366
+ - all files created with `bundle gem` comply with the bundler style guide (@zachahn)
367
+ - if installing a gem fails, print out the reason the gem needed to be installed (#5078, @segiddins)
368
+ - allow setting `gem.push_key` to set the key used when running `rake release` (@DTrierweiler)
369
+ - print gem versions that are regressing during `bundle update` in yellow (#5506, @brchristian)
370
+ - avoid printing extraneous dependencies when the resolver encounters a conflict (@segiddins)
371
+ - add the `bundle issue` command that prints instructions for reporting issues (#4871, @jonathanpike)
372
+ - add `--source` and `--group` options to the `bundle inject` command (#5452, @Shekharrajak)
373
+ - add the `bundle add` command to add a gem to the gemfile (@denniss)
374
+ - add the `bundle pristine` command to re-install gems from cached `.gem` files (#4509, @denniss)
375
+ - add a `--parseable` option for `bundle config` (@JuanitoFatas, @colby-swandale)
376
+
377
+ Performance:
378
+
379
+ - speed up gemfile initialization by storing locked dependencies as a hash (@jules2689)
380
+ - speed up gemfile initialization by making locked dependency comparison lazy, avoiding object allocation (@jules2689)
381
+ - only validate git gems when they are downloaded, instead of every time `Bundler.setup` is run (@segiddins)
382
+ - avoid regenerating the lockfile when nothing has changed (@segiddins)
383
+ - avoid diffing large arrays when no sources in the gemfile have changed (@segiddins)
384
+ - avoid evaluating full gemspecs when running with RubyGems 2.5+ (@segiddins)
385
+
386
+ Bugfixes:
387
+
388
+ - fix cases where `bundle update` would print a resolver conflict instead of updating the selected gems (#5031, #5095, @segiddins)
389
+ - print out a stack trace after an interrupt when running in debug mode (@segiddins)
390
+ - print out when bundler starts fetching a gem from a remote server (@segiddins)
391
+ - fix `bundle gem` failing when `git` is unavailable (#5458, @Shekharrajak, @colby-swandale)
392
+ - suggest the appropriate command to unfreeze a bundle (#5009, @denniss)
393
+ - ensure nested calls to `bundle exec` resolve default gems correctly (#5500, @segiddins)
394
+ - ensure that a plugin failing to install doesn't uninstall other plugins (@kerrizor, @roseaboveit)
395
+ - ensure `socket` is required before being referenced (#5533, @rafaelfranca)
396
+ - allow running `bundle outdated` when gems aren't installed locally (#5553, @segiddins)
397
+ - print a helpful error when `bundle exec`ing to a gem that isn't included in the bundle (#5487, @segiddins)
398
+ - print an error message when a non-git gem is given a `branch` option (#5530, @colby-swandale)
399
+ - allow interrupts to exit the process after gems have been installed (@segiddins)
400
+ - print the underlying error when downloading gem metadata fails (#5579, @segiddins)
401
+ - avoid deadlocking when installing with a lockfile that is missing dependencies (#5378, #5480, #5519, #5526, #5529, #5549, #5572, @segiddins)
402
+
403
+ ## 1.14.6 (2017-03-03)
404
+
405
+ Bugfixes:
406
+
407
+ - avoid undefined constant `Bundler::Plugin::API::Source` exception (#5409, @segiddins)
408
+ - avoid incorrect warnings about needing to enable `specific_platform` (@segiddins)
409
+ - fail gracefully when the compact index does not send an ETag (#5463, @olleolleolle)
410
+ - ensure `bundle outdated --local` shows all outdated gems (#5430, @denniss)
411
+ - fix a case where ruby version requirements could lead to incorrect resolver conflicts (#5425, @segiddins)
412
+
413
+ ## 1.14.5 (2017-02-22)
414
+
415
+ Bugfixes:
416
+
417
+ - avoid loading all unused gemspecs during `bundle exec` on RubyGems 2.3+ (@segiddins)
418
+ - improve resolver performance when dependencies have zero or one total possibilities ignoring requirements (#5444, #5457, @segiddins)
419
+ - enable compact index when OpenSSL FIPS mode is enabled but not active (#5433, @wjordan)
420
+ - use github username instead of git name for the github url in `bundle gem` (#5438, @danielpclark)
421
+ - avoid a TypeError on RubyGems 2.6.8 when no build settings are set for native extensions (@okkez)
422
+ - fail gracefully when the dependency api is missing runtime dependencies for a gem (@segiddins)
423
+ - handle when a platform-specific gem has more dependencies than the ruby platform version (#5339, #5426, @segiddins)
424
+ - allow running bundler on a machine with no home directory where the temporary directory is not writable (#5371, @segiddins)
425
+ - avoid gem version conflicts on openssl using Ruby 2.5 (#5235, @rhenium)
426
+ - fail when installing in frozen mode and the dependencies for `gemspec` gems have changed without the lockfile being updated (#5264, @segiddins)
427
+
428
+ ## 1.14.4 (2017-02-12)
429
+
430
+ Bugfixes:
431
+
432
+ - fail gracefully when attempting to overwrite an existing directory with `bundle gem` (#5358, @nodo)
433
+ - fix a resolver bug that would cause bundler to report conflicts that it could resolve (#5359, #5362, @segiddins)
434
+ - set native extension build arguments for git gems (#5401, @segiddins)
435
+ - fix the suggested `bundle lock` command printed when a dependency is unused on any platform (@5t111111)
436
+ - ensure the version passed to `ruby` in the Gemfile is valid during Gemfile parsing (#5380, @segiddins)
437
+ - show `bundle inject` usage when too many arguments are passed (#5384, @Shekharrajak)
438
+ - stop `bundle show --outdated` from implicitly running `bundle update` (#5375, @colby-swandale)
439
+ - allow the temporary home directory fallback to work for multiple users (@svoop)
440
+
441
+ ## 1.14.3 (2017-01-24)
442
+
443
+ Bugfixes:
444
+
445
+ - fix the resolver attempting to activate ruby-platform gems when the bundle is only for other platforms (#5349, #5356, @segiddins)
446
+ - avoid re-resolving a locked gemfile that uses `gemspec` and includes development dependencies (#5349, @segiddins)
447
+
448
+ ## 1.14.2 (2017-01-22)
449
+
450
+ Bugfixes:
451
+
452
+ - fix using `force_ruby_platform` on windows (#5344, @segiddins)
453
+ - fix an incorrect version conflict error when using `gemspec` on multiple platforms (#5340, @segiddins)
454
+
455
+ ## 1.14.1 (2017-01-21)
456
+
457
+ Bugfixes:
458
+
459
+ - work around a ruby 2.2.2 bug that caused a stack consistency error during installation (#5342, @segiddins)
460
+
461
+ ## 1.14.0 (2017-01-20)
462
+
463
+ Bugfixes:
464
+
465
+ - ensure `Settings::Mirror` is autoloaded under the `Settings` namespace
466
+ (#5238, @segiddins)
467
+ - fix `bundler/inline` when `BUNDLE_GEMFILE=""` (#5079, @segiddins)
468
+
469
+ ## 1.14.0.pre.2 (2017-01-11)
470
+
471
+ Bugfixes:
472
+
473
+ - allow not selecting a gem when running `bundle open` (#5301, @segiddins)
474
+ - support installing gems from git branches that contain shell metacharacters (#5295, @segiddins)
475
+ - fix a resolver error that could leave dependencies unresolved (#5294, @segiddins)
476
+ - fix a stack overflow error when invoking commands (#5296, @segiddins)
477
+
478
+ ## 1.14.0.pre.1 (2016-12-29)
479
+
480
+ Features:
481
+
482
+ - `bundle doctor` first runs `bundle check` (@segiddins)
483
+ - the bundler trampoline is automatically enabled when the target version is greater than bundler 2 (@segiddins)
484
+ - gem checksums returned by rubygems.org are validated when installing gems (#4464, @segiddins)
485
+ - use the git username as a github username when running `bundle gem` (@JuanitoFatas)
486
+ - show more context when the resolver conflicts on required ruby and rubygems versions (@segiddins)
487
+ - improve platform support by allowing bundler to pick the best platform match during dependency resolution, enabled with the `specific_platform` setting (#4295, #4896, @segiddins)
488
+ - always prompt the user for a password when using `sudo` (#3006, @segiddins)
489
+ - support running without a home directory (#4778, @segiddins)
490
+ - print a warning when the gemfile uses a platform conditional that will exclude the gem from all lockfile platforms (@segiddins)
491
+ - add the `force_ruby_platform` setting to force bundler to install ruby-platform gems, even on other platforms (#4813, @segiddins)
492
+ - add conservative update options to `bundle lock` (#4912, @chrismo)
493
+ - improve `bundle outdated` output to group gems by group (@ryanfox1985)
494
+ - add conservative update options to `bundle update` (#5065, #5076, @chrismo)
495
+ - print the output of `bundle env` as github-flavored markdown, making it easier to preserve formatting when copy-pasting into a new issue (@segiddins)
496
+ - configure the persistence file when using `bundle gem` with `rspec` (@segiddins)
497
+ - add support for the `ruby_25` gemfile filter (@amatsuda)
498
+ - when installing with a lockfile that is missing dependencies, allow installation to proceed (but without parallelism) (@segiddins)
499
+
500
+ Performance:
501
+
502
+ - improve `require "bundler"` performance by ~5x (@segiddins)
503
+ - allow install gems in parallel when running on rubygems 2+
504
+
505
+ Bugfixes:
506
+
507
+ - config files with CRLF line endings can be read (#4435, @segiddins)
508
+ - `bundle lock` activates gems for the current platform even if they were activated under a different platform for a separate dependency (#4896, @segiddins)
509
+ - running `bundle env` in a directory without a gemfile no longer crashes (@segiddins)
510
+ - fail gracefully when attempting to use a source with an unknown URI scheme (#4953, @segiddins)
511
+ - store paths in the lockfile relative to the root gemfile directory when using `eval_gemfile` (#4966, @segiddins)
512
+ - `bundle lock` will not update without the `--update` flag (#4957, @segiddins)
513
+ - the `console` binstub generated by `bundle gem` will load `.irbrc` files (@mattbrictson)
514
+ - print friendly filesystem access errors in the new index (@segiddins)
515
+ - print a helpful error when running out of memory on jruby (#4673, @segiddins)
516
+ - load all rubygems plugins when installing gems (#2824, @segiddins)
517
+ - `bundle clean --dry-run` prints the list of gems without the `--force` option when no path is set (#5027, @hmistry)
518
+ - local installs no longer print "this gem may have been yanked" (#5022, @hmistry)
519
+ - avoid leaking `which` output when running `bundle doctor` (@colby-swandale)
520
+ - print a warning when attempting to `bundle exec` an empty program (#5084, @bronzdoc)
521
+ - ensure `bundle outdated` lists all outdated gems (#4979, @chrismo)
522
+ - fail gracefully when attempting to `bundle gem` with an invalid constant name (#5185, @segiddins)
523
+ - allow `bundler/inline` to work in a directory that contains a gemfile (#5117, @colby-swandale)
524
+ - ensure that the new index is thread-safe, allowing installation on rbx (#5142, @segiddins)
525
+ - remove deprecated `rspec` syntax in `bundle gem` output (@gearnode)
526
+ - fail gracefully when any system error is encountered when touching the filesystem (#5134, @segiddins)
527
+ - fix compatibility with a machine running with FIPS mode enabled (#4989, @segiddins)
528
+ - fix `bundle lock --add-platform ruby` (#5230, @segiddins)
529
+ - print gem post-install messages when running `bundle update` (@smathy)
530
+ - ensure errors due to a retries are all separated by a newline (@segiddins)
531
+ - print out the bundle path in gem not found errors (#4854, @diegosteiner)
532
+ - fail gracefully when creating threads fails (@segiddins)
533
+ - avoid downloading metadata for gems that are only development dependencies (@Paxa)
534
+
535
+ ## 1.13.7 (2016-12-25)
536
+
537
+ Features:
538
+
539
+ - add support for the `ruby_24` gemfile filter (#5281, @amatsuda)
540
+
1
541
  ## 1.13.6 (2016-10-22)
2
542
 
3
543
  Bugfixes:
@@ -31,11 +571,11 @@ Bugfixes:
31
571
 
32
572
  - allow `Settings` to be initialized without a root directory (@m1k3)
33
573
  - allow specifying ruby engines in the gemfile as a symbol (#4919, @JuanitoFatas)
34
- - avoid an execption when using `bundler/deployment` with Vlad (@srbaker)
574
+ - avoid an exception when using `bundler/deployment` with Vlad (@srbaker)
35
575
  - ensure redefined methods have the same visibility as the one they're replacing, fixing `Kernel.require` failing on JRuby (#4975, @segiddins)
36
576
  - ensure that Bundler won't complain about a corrupt lockfile when no lockfile exists when using `gemspec` in the Gemfile (#5006, @segiddins)
37
577
  - fail gracefully when parsing the metadata for a gemspec from the compact index fails (@segiddins)
38
- - fix invoking bundler with binstubs generated by RubyGems 2.6.2+ (#4974, @chrismo)
578
+ - fix system gems not being copied to --path on bundle install (e.g. --deployment) (#4974, @chrismo)
39
579
 
40
580
  Performance:
41
581
 
@@ -65,7 +605,7 @@ Features:
65
605
  - print gem installation errors after other install output (#4834, @segiddins)
66
606
  - add `lock --remove-platform` flag to remove platforms from the lock (#4877, @segiddins)
67
607
  - add `only_update_to_newer_versions` setting to prevent downgrades during `update` (@segiddins)
68
- - expanded expirimental plugin support to include hooks and sources (@asutoshpalai)
608
+ - expanded experimental plugin support to include hooks and sources (@asutoshpalai)
69
609
 
70
610
  Bugfixes:
71
611
 
@@ -143,6 +683,11 @@ Bugfixes:
143
683
  - allow running `bundle install --deployment` after `bundle package --all` with path gems (#2175, @allenzhao)
144
684
  - add support for patchlevels in ruby versions in the gemfile and gemspecs (#4593, @chalkos)
145
685
 
686
+ ## 1.12.6 (2016-10-10)
687
+
688
+ Bugfixes:
689
+ - add support for weak etags to the new index (@segiddins)
690
+
146
691
  ## 1.12.5 (2016-05-25)
147
692
 
148
693
  Bugfixes:
@@ -1262,13 +1807,13 @@ Bugfixes:
1262
1807
 
1263
1808
  Features:
1264
1809
 
1265
- - compatibile with Ruby 2.0.0-preview2
1266
- - compatibile with Rubygems 2.0.0.preview2 (@drbrain, @evanphx)
1810
+ - compatible with Ruby 2.0.0-preview2
1811
+ - compatible with Rubygems 2.0.0.preview2 (@drbrain, @evanphx)
1267
1812
  - ruby 2.0 added to the `:ruby19` ABI-compatible platform
1268
1813
  - lazy load YAML, allowing Psych to be specified in the Gemfile
1269
1814
  - significant performance improvements (@cheald, #2181)
1270
1815
  - `inject` command for scripted Gemfile additions (Engine Yard)
1271
- - :github option uses slashless arguements as repo owner (@rking)
1816
+ - :github option uses slashless arguments as repo owner (@rking)
1272
1817
  - `open` suggests gem names for typos (@jdelStrother)
1273
1818
  - `update` reports non-existent gems (@jdelStrother)
1274
1819
  - `gem` option --test can generate rspec stubs (@MafcoCinco)
@@ -1692,7 +2237,7 @@ Features:
1692
2237
  - Add bundle clean. Removes unused gems from --path directory
1693
2238
  - Initial Gemcutter Endpoint API work, BAI Fetching source index
1694
2239
  - Added bundle install --standalone
1695
- - Ignore Gemfile.lock when buliding new gems
2240
+ - Ignore Gemfile.lock when building new gems
1696
2241
  - Make it possible to override a .gemspec dependency's source in the
1697
2242
  Gemfile
1698
2243
 
@@ -1743,7 +2288,7 @@ Bugfixes:
1743
2288
 
1744
2289
  Features:
1745
2290
 
1746
- - Compatability with Rubygems 1.8.10 installer changes
2291
+ - Compatibility with Rubygems 1.8.10 installer changes
1747
2292
  - Report gem installation failures clearly (@rwilcox, #1380)
1748
2293
  - Useful error for cap and vlad on first deploy (@nexmat, @kirs)
1749
2294
 
@@ -2493,7 +3038,7 @@ Bugfixes:
2493
3038
  - make the tests platform agnostic so we can confirm that they're green on JRuby
2494
3039
  - fixes for Ruby 1.9
2495
3040
 
2496
- ## 0.9.5 (Feburary 12, 2010)
3041
+ ## 0.9.5 (February 12, 2010)
2497
3042
 
2498
3043
  Features:
2499
3044