libgems 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. data/ChangeLog +5811 -0
  2. data/History.txt +887 -0
  3. data/LICENSE.txt +51 -0
  4. data/README.md +87 -0
  5. data/Rakefile +113 -0
  6. data/lib/gauntlet_libgems.rb +50 -0
  7. data/lib/libgems.rb +1246 -0
  8. data/lib/libgems/builder.rb +102 -0
  9. data/lib/libgems/command.rb +534 -0
  10. data/lib/libgems/command_manager.rb +182 -0
  11. data/lib/libgems/commands/build_command.rb +53 -0
  12. data/lib/libgems/commands/cert_command.rb +86 -0
  13. data/lib/libgems/commands/check_command.rb +80 -0
  14. data/lib/libgems/commands/cleanup_command.rb +106 -0
  15. data/lib/libgems/commands/contents_command.rb +98 -0
  16. data/lib/libgems/commands/dependency_command.rb +195 -0
  17. data/lib/libgems/commands/environment_command.rb +133 -0
  18. data/lib/libgems/commands/fetch_command.rb +67 -0
  19. data/lib/libgems/commands/generate_index_command.rb +133 -0
  20. data/lib/libgems/commands/help_command.rb +172 -0
  21. data/lib/libgems/commands/install_command.rb +178 -0
  22. data/lib/libgems/commands/list_command.rb +35 -0
  23. data/lib/libgems/commands/lock_command.rb +110 -0
  24. data/lib/libgems/commands/mirror_command.rb +111 -0
  25. data/lib/libgems/commands/outdated_command.rb +33 -0
  26. data/lib/libgems/commands/owner_command.rb +75 -0
  27. data/lib/libgems/commands/pristine_command.rb +93 -0
  28. data/lib/libgems/commands/push_command.rb +56 -0
  29. data/lib/libgems/commands/query_command.rb +280 -0
  30. data/lib/libgems/commands/rdoc_command.rb +91 -0
  31. data/lib/libgems/commands/search_command.rb +31 -0
  32. data/lib/libgems/commands/server_command.rb +86 -0
  33. data/lib/libgems/commands/sources_command.rb +157 -0
  34. data/lib/libgems/commands/specification_command.rb +125 -0
  35. data/lib/libgems/commands/stale_command.rb +27 -0
  36. data/lib/libgems/commands/uninstall_command.rb +83 -0
  37. data/lib/libgems/commands/unpack_command.rb +121 -0
  38. data/lib/libgems/commands/update_command.rb +160 -0
  39. data/lib/libgems/commands/which_command.rb +86 -0
  40. data/lib/libgems/config_file.rb +345 -0
  41. data/lib/libgems/custom_require.rb +44 -0
  42. data/lib/libgems/defaults.rb +101 -0
  43. data/lib/libgems/dependency.rb +227 -0
  44. data/lib/libgems/dependency_installer.rb +286 -0
  45. data/lib/libgems/dependency_list.rb +208 -0
  46. data/lib/libgems/doc_manager.rb +242 -0
  47. data/lib/libgems/errors.rb +35 -0
  48. data/lib/libgems/exceptions.rb +91 -0
  49. data/lib/libgems/ext.rb +18 -0
  50. data/lib/libgems/ext/builder.rb +56 -0
  51. data/lib/libgems/ext/configure_builder.rb +25 -0
  52. data/lib/libgems/ext/ext_conf_builder.rb +24 -0
  53. data/lib/libgems/ext/rake_builder.rb +39 -0
  54. data/lib/libgems/format.rb +81 -0
  55. data/lib/libgems/gem_openssl.rb +92 -0
  56. data/lib/libgems/gem_path_searcher.rb +100 -0
  57. data/lib/libgems/gem_runner.rb +79 -0
  58. data/lib/libgems/gemcutter_utilities.rb +49 -0
  59. data/lib/libgems/indexer.rb +720 -0
  60. data/lib/libgems/install_update_options.rb +125 -0
  61. data/lib/libgems/installer.rb +604 -0
  62. data/lib/libgems/local_remote_options.rb +135 -0
  63. data/lib/libgems/old_format.rb +153 -0
  64. data/lib/libgems/package.rb +97 -0
  65. data/lib/libgems/package/f_sync_dir.rb +23 -0
  66. data/lib/libgems/package/tar_header.rb +266 -0
  67. data/lib/libgems/package/tar_input.rb +222 -0
  68. data/lib/libgems/package/tar_output.rb +144 -0
  69. data/lib/libgems/package/tar_reader.rb +106 -0
  70. data/lib/libgems/package/tar_reader/entry.rb +141 -0
  71. data/lib/libgems/package/tar_writer.rb +241 -0
  72. data/lib/libgems/package_task.rb +126 -0
  73. data/lib/libgems/platform.rb +183 -0
  74. data/lib/libgems/remote_fetcher.rb +414 -0
  75. data/lib/libgems/require_paths_builder.rb +18 -0
  76. data/lib/libgems/requirement.rb +153 -0
  77. data/lib/libgems/security.rb +814 -0
  78. data/lib/libgems/server.rb +872 -0
  79. data/lib/libgems/source_index.rb +597 -0
  80. data/lib/libgems/source_info_cache.rb +395 -0
  81. data/lib/libgems/source_info_cache_entry.rb +56 -0
  82. data/lib/libgems/spec_fetcher.rb +337 -0
  83. data/lib/libgems/specification.rb +1487 -0
  84. data/lib/libgems/test_utilities.rb +147 -0
  85. data/lib/libgems/text.rb +65 -0
  86. data/lib/libgems/uninstaller.rb +278 -0
  87. data/lib/libgems/user_interaction.rb +527 -0
  88. data/lib/libgems/validator.rb +240 -0
  89. data/lib/libgems/version.rb +316 -0
  90. data/lib/libgems/version_option.rb +65 -0
  91. data/lib/rbconfig/datadir.rb +20 -0
  92. data/test/bogussources.rb +8 -0
  93. data/test/data/gem-private_key.pem +27 -0
  94. data/test/data/gem-public_cert.pem +20 -0
  95. data/test/fake_certlib/openssl.rb +7 -0
  96. data/test/foo/discover.rb +0 -0
  97. data/test/gem_installer_test_case.rb +97 -0
  98. data/test/gem_package_tar_test_case.rb +132 -0
  99. data/test/gemutilities.rb +605 -0
  100. data/test/insure_session.rb +43 -0
  101. data/test/mockgemui.rb +56 -0
  102. data/test/plugin/exception/libgems_plugin.rb +2 -0
  103. data/test/plugin/load/libgems_plugin.rb +1 -0
  104. data/test/plugin/standarderror/libgems_plugin.rb +2 -0
  105. data/test/private_key.pem +27 -0
  106. data/test/public_cert.pem +20 -0
  107. data/test/rubygems_plugin.rb +21 -0
  108. data/test/simple_gem.rb +66 -0
  109. data/test/test_config.rb +12 -0
  110. data/test/test_gem.rb +780 -0
  111. data/test/test_gem_builder.rb +27 -0
  112. data/test/test_gem_command.rb +178 -0
  113. data/test/test_gem_command_manager.rb +207 -0
  114. data/test/test_gem_commands_build_command.rb +74 -0
  115. data/test/test_gem_commands_cert_command.rb +124 -0
  116. data/test/test_gem_commands_check_command.rb +18 -0
  117. data/test/test_gem_commands_contents_command.rb +156 -0
  118. data/test/test_gem_commands_dependency_command.rb +216 -0
  119. data/test/test_gem_commands_environment_command.rb +144 -0
  120. data/test/test_gem_commands_fetch_command.rb +76 -0
  121. data/test/test_gem_commands_generate_index_command.rb +135 -0
  122. data/test/test_gem_commands_install_command.rb +315 -0
  123. data/test/test_gem_commands_list_command.rb +36 -0
  124. data/test/test_gem_commands_lock_command.rb +68 -0
  125. data/test/test_gem_commands_mirror_command.rb +60 -0
  126. data/test/test_gem_commands_outdated_command.rb +40 -0
  127. data/test/test_gem_commands_owner_command.rb +105 -0
  128. data/test/test_gem_commands_pristine_command.rb +108 -0
  129. data/test/test_gem_commands_push_command.rb +81 -0
  130. data/test/test_gem_commands_query_command.rb +426 -0
  131. data/test/test_gem_commands_server_command.rb +59 -0
  132. data/test/test_gem_commands_sources_command.rb +209 -0
  133. data/test/test_gem_commands_specification_command.rb +139 -0
  134. data/test/test_gem_commands_stale_command.rb +38 -0
  135. data/test/test_gem_commands_uninstall_command.rb +83 -0
  136. data/test/test_gem_commands_unpack_command.rb +199 -0
  137. data/test/test_gem_commands_update_command.rb +207 -0
  138. data/test/test_gem_commands_which_command.rb +66 -0
  139. data/test/test_gem_config_file.rb +287 -0
  140. data/test/test_gem_dependency.rb +149 -0
  141. data/test/test_gem_dependency_installer.rb +661 -0
  142. data/test/test_gem_dependency_list.rb +230 -0
  143. data/test/test_gem_doc_manager.rb +31 -0
  144. data/test/test_gem_ext_configure_builder.rb +84 -0
  145. data/test/test_gem_ext_ext_conf_builder.rb +173 -0
  146. data/test/test_gem_ext_rake_builder.rb +81 -0
  147. data/test/test_gem_format.rb +70 -0
  148. data/test/test_gem_gem_path_searcher.rb +78 -0
  149. data/test/test_gem_gem_runner.rb +45 -0
  150. data/test/test_gem_gemcutter_utilities.rb +103 -0
  151. data/test/test_gem_indexer.rb +673 -0
  152. data/test/test_gem_install_update_options.rb +68 -0
  153. data/test/test_gem_installer.rb +857 -0
  154. data/test/test_gem_local_remote_options.rb +97 -0
  155. data/test/test_gem_package_tar_header.rb +130 -0
  156. data/test/test_gem_package_tar_input.rb +112 -0
  157. data/test/test_gem_package_tar_output.rb +97 -0
  158. data/test/test_gem_package_tar_reader.rb +46 -0
  159. data/test/test_gem_package_tar_reader_entry.rb +109 -0
  160. data/test/test_gem_package_tar_writer.rb +144 -0
  161. data/test/test_gem_package_task.rb +59 -0
  162. data/test/test_gem_platform.rb +264 -0
  163. data/test/test_gem_remote_fetcher.rb +740 -0
  164. data/test/test_gem_requirement.rb +292 -0
  165. data/test/test_gem_server.rb +356 -0
  166. data/test/test_gem_silent_ui.rb +113 -0
  167. data/test/test_gem_source_index.rb +461 -0
  168. data/test/test_gem_spec_fetcher.rb +410 -0
  169. data/test/test_gem_specification.rb +1334 -0
  170. data/test/test_gem_stream_ui.rb +218 -0
  171. data/test/test_gem_text.rb +43 -0
  172. data/test/test_gem_uninstaller.rb +146 -0
  173. data/test/test_gem_validator.rb +63 -0
  174. data/test/test_gem_version.rb +181 -0
  175. data/test/test_gem_version_option.rb +89 -0
  176. data/test/test_kernel.rb +59 -0
  177. metadata +402 -0
@@ -0,0 +1,887 @@
1
+ === 1.3.8 / 2011-05-16
2
+
3
+ SlimGems is born! SlimGems is a fork of RubyGems, see README.md for more.
4
+
5
+ === 1.3.7 / 2010-05-13
6
+
7
+ NOTE:
8
+
9
+ http://rubygems.org is now the default source for downloading gems.
10
+
11
+ You may have sources set via ~/.gemrc, so you should replace
12
+ http://gems.rubyforge.org with http://rubygems.org
13
+
14
+ http://gems.rubyforge.org will continue to work for the forseeable future.
15
+
16
+ New features:
17
+
18
+ * `gem` commands
19
+ * `gem install` and `gem fetch` now report alternate platforms when a
20
+ matching one couldn't be found.
21
+ * `gem contents` --prefix is now the default as specified in --help. Bug
22
+ #27211 by Mamoru Tasaka.
23
+ * `gem fetch` can fetch of old versions again. Bug #27960 by Eric Hankins.
24
+ * `gem query` and friends output now lists platforms. Bug #27856 by Greg
25
+ Hazel.
26
+ * `gem server` now allows specification of multiple gem dirs for
27
+ documentation. Bug #27573 by Yuki Sonoda.
28
+ * `gem unpack` can unpack gems again. Bug #27872 by Timothy Jones.
29
+ * `gem unpack` now unpacks remote gems.
30
+ * --user-install is no longer the default. If you really liked it, see
31
+ Gem::ConfigFile to learn how to set it by default. (This change was made
32
+ in 1.3.6)
33
+ * RubyGems now has platform support for IronRuby. Patch #27951 by Will Green.
34
+
35
+ Bug fixes:
36
+
37
+ * Require rubygems/custom_require if --disable-gem was set. Bug #27700 by
38
+ Roger Pack.
39
+ * RubyGems now protects against exceptions being raised by plugins.
40
+ * rubygems/builder now requires user_interaction. Ruby Bug #1040 by Phillip
41
+ Toland.
42
+ * Gem::Dependency support #version_requirements= with a warning. Fix for old
43
+ Rails versions. Bug #27868 by Wei Jen Lu.
44
+ * Gem::PackageTask depends on the package dir like the other rake package
45
+ tasks so dependencies can be hooked up correctly.
46
+
47
+ === 1.3.6 / 2010-02-17
48
+
49
+ New features:
50
+
51
+ * `gem` commands
52
+ * Added `gem push` and `gem owner` for interacting with modern/Gemcutter
53
+ sources
54
+ * `gem dep` now supports --prerelease.
55
+ * `gem fetch` now supports --prerelease.
56
+ * `gem server` now supports --bind. Patch #27357 by Bruno Michel.
57
+ * `gem rdoc` no longer overwrites built documentation. Use --overwrite
58
+ force rebuilding. Patch #25982 by Akinori MUSHA.
59
+ * Captial letters are now allowed in prerelease versions.
60
+
61
+ Bug fixes:
62
+
63
+ * Development deps are no longer added to rubygems-update gem so older
64
+ versions can update sucessfully.
65
+ * Installer bugs:
66
+ * Prerelease gems can now depend on non-prerelease gems.
67
+ * Development dependencies are ignored unless explicitly needed. Bug #27608
68
+ by Roger Pack.
69
+ * `gem` commands
70
+ * `gem which` now fails if no paths were found. Adapted patch #27681 by
71
+ Caio Chassot.
72
+ * `gem server` no longer has invalid markup. Bug #27045 by Eric Young.
73
+ * `gem list` and friends show both prerelease and regular gems when
74
+ --prerelease --all is given
75
+ * Gem::Format no longer crashes on empty files. Bug #27292 by Ian Ragsdale.
76
+ * Gem::GemPathSearcher handles nil require_paths. Patch #27334 by Roger Pack.
77
+ * Gem::RemoteFetcher no longer copies the file if it is where we want it.
78
+ Patch #27409 by Jakub Šťastný.
79
+
80
+ Deprecation Notices:
81
+
82
+ * lib/rubygems/timer.rb has been removed.
83
+ * Gem::Dependency#version_requirements is deprecated and will be removed on or
84
+ after August 2010.
85
+ * Bulk index update is no longer supported.
86
+ * Gem::manage_gems was removed in 1.3.3.
87
+ * Time::today was removed in 1.3.3.
88
+
89
+ === 1.3.5 / 2009-07-21
90
+
91
+ Bug fixes:
92
+
93
+ * Fix use of prerelease gems.
94
+ * Gem.bin_path no longer escapes path with spaces. Bug #25935 and #26458.
95
+
96
+ Deprecation Notices:
97
+
98
+ * Bulk index update is no longer supported (the code currently remains, but not
99
+ the tests)
100
+ * Gem::manage_gems was removed in 1.3.3.
101
+ * Time::today was removed in 1.3.3.
102
+
103
+ === 1.3.4 / 2009-05-03
104
+
105
+ Bug Fixes:
106
+
107
+ * Fixed various warnings
108
+ * Gem::ruby_version works correctly for 1.8 branch and trunk
109
+ * Prerelease gems now show up in `gem list` and can be used
110
+ * Fixed option name for `gem setup --format-executable`
111
+ * RubyGems now matches Ruby > 1.9.1 gem paths
112
+ * Gem::RemoteFetcher#download now works for explicit Windows paths across
113
+ drives. Bug #25882 by Lars Christensen
114
+ * Fix typo in Gem::Requirement#parse. Bug #26000 by Mike Gunderloy.
115
+
116
+ Deprecation Notices:
117
+
118
+ * Bulk index update is no longer supported (the code currently remains, but not
119
+ the tests)
120
+ * Gem::manage_gems was removed in 1.3.3.
121
+ * Time::today was removed in 1.3.3.
122
+
123
+ === 1.3.3 / 2009-05-04
124
+
125
+ New Features:
126
+
127
+ * `gem server` allows port names (from /etc/services) with --port.
128
+ * `gem server` now has search that jumps to RDoc. Patch #22959 by Vladimir
129
+ Dobriakov.
130
+ * `gem spec` can retrieve single fields from a spec (like `gem spec rake
131
+ authors`).
132
+ * Gem::Specification#has_rdoc= is deprecated and ignored (defaults to true)
133
+ * RDoc is now generated regardless of Gem::Specification#has_rdoc?
134
+
135
+ Bug Fixes:
136
+
137
+ * `gem clean` now cleans up --user-install gems. Bug #25516 by Brett
138
+ Eisenberg.
139
+ * Gem.bin_path now escapes paths with spaces.
140
+ * Rake extension builder uses explicit correctly loads rubygems when invoking
141
+ rake.
142
+ * Prerelease versions now match "~>" correctly. Patch #25759 by Yossef
143
+ Mendelssohn.
144
+ * Check bindir for executables, not root when validating. Bug reported by
145
+ David Chelimsky.
146
+ * Remove Time.today, no way to override it before RubyGems loads. Bug #25564
147
+ by Emanuele Vicentini
148
+ * Raise Gem::Exception for #installation_path when not installed. Bug #25741
149
+ by Daniel Berger.
150
+ * Don't raise in Gem::Specification#validate when homepage is nil. Bug #25677
151
+ by Mike Burrows.
152
+ * Uninstall executables from the correct directory. Bug #25555 by Brett
153
+ Eisenberg.
154
+ * Raise Gem::LoadError if Kernel#gem fails due to previously-loaded gem. Bug
155
+ reported by Alf Mikula.
156
+
157
+ Deprecation Notices:
158
+
159
+ * Gem::manage_gems has been removed.
160
+ * Time::today has been removed early. There was no way to make it warn and be
161
+ easy to override with user code.
162
+
163
+ === 1.3.2 / 2009-04-15
164
+
165
+ Select New Features:
166
+
167
+ * RubyGems now loads plugins from rubygems_plugin.rb in installed gems.
168
+ This can be used to add commands (See Gem::CommandManager) or add
169
+ install/uninstall hooks (See Gem::Installer and Gem::Uninstaller).
170
+ * Gem::Version now understands prerelease versions using letters. (eg.
171
+ '1.2.1.b') Thanks to Josh Susser, Alex Vollmer and Phil Hagelberg.
172
+ * RubyGems now includes a Rake task for creating gems which replaces rake's
173
+ Rake::GemPackageTask. See Gem::PackageTask.
174
+ * Gem::find_files now returns paths in $LOAD_PATH.
175
+ * Added Gem::promote_load_path for use with Gem::find_files
176
+ * Added Gem::bin_path to make finding executables easier. Patch #24114 by
177
+ James Tucker.
178
+ * Various improvements to build arguments for installing gems.
179
+ * `gem contents` added --all and --no-prefix.
180
+ * Gem::Specification
181
+ * #validate strips directories and errors on not-files.
182
+ * #description no longer removes newlines.
183
+ * #name must be a String.
184
+ * FIXME and TODO are no longer allowed in various fields.
185
+ * Added support for a license attribute. Feature #11041 (partial).
186
+ * Removed Gem::Specification::list, too much process growth. Bug #23668 by
187
+ Steve Purcell.
188
+ * `gem generate_index`
189
+ * Can now generate an RSS feed.
190
+ * Modern indicies can now be updated incrementally.
191
+ * Legacy indicies can be updated separately from modern.
192
+
193
+ Select Bugs Fixed:
194
+
195
+ * Better gem activation error message. Patch #23082.
196
+ * Kernel methods are now private. Patch #20801 by James M. Lawrence.
197
+ * Fixed various usability issues with `gem check`.
198
+ * `gem update` now rescues InstallError and continues. Bug #19268 by Gabriel
199
+ Wilkins.
200
+ * Allow 'https', 'file' as a valid schemes for --source. Patch #22485.
201
+ * `gem install`
202
+ * Now removes existing path before installing. Bug #22837.
203
+ * Uses Gem::bin_path in executable stubs to work around Kernel#load bug in
204
+ 1.9.
205
+ * Correctly handle build args (after --) via the API. Bug #23210.
206
+ * --user-install
207
+ * `gem install --no-user-install` now works. Patch #23573 by Alf Mikula.
208
+ * `gem uninstall` can now uninstall from ~/.gem. Bug #23760 by Roger Pack.
209
+ * setup.rb
210
+ * Clarify RubyGems RDoc installation location. Bug #22656 by Gian Marco
211
+ Gherardi.
212
+ * Allow setup to run from read-only location. Patch #21862 by Luis Herrera.
213
+ * Fixed overwriting ruby executable when BASERUBY was not set. Bug #24958
214
+ by Michael Soulier.
215
+ * Ensure we're in a RubyGems dir when installing.
216
+ * Deal with extraneous quotation mark when autogenerating .bat file on MS
217
+ Windows. Bug #22712.
218
+
219
+ Deprecation Notices:
220
+
221
+ * Gem::manage_gems has been removed.
222
+ * Time::today will be removed in RubyGems 1.4.
223
+
224
+ Special thanks to Chad Wooley for backwards compatibility testing and Luis
225
+ Lavena and Daniel Berger for continuing windows support.
226
+
227
+ === 1.3.1 / 2008-10-28
228
+
229
+ Bugs fixed:
230
+
231
+ * Disregard ownership of ~ under Windows while creating ~/.gem. Fixes
232
+ issues related to no uid support under Windows.
233
+ * Fix requires for Gem::inflate, Gem::deflate, etc.
234
+ * Make Gem.dir respect :gemhome value from config. (Note: this feature may be
235
+ removed since it is hard to implement on 1.9.)
236
+ * Kernel methods are now private. Patch #20801 by James M. Lawrence.
237
+ * Gem::location_of_caller now behaves on Windows. Patch by Daniel Berger.
238
+ * Silence PATH warning.
239
+
240
+ Deprecation Notices:
241
+
242
+ * Gem::manage_gems will be removed on or after March 2009.
243
+
244
+ === 1.3.0 / 2008-09-25
245
+
246
+ New features:
247
+
248
+ * RubyGems doesn't print LOCAL/REMOTE titles for `gem query` and friends if
249
+ stdout is not a TTY, except with --both.
250
+ * Added Gem.find_files, allows a gem to discover features provided by other
251
+ gems.
252
+ * Added pre/post (un)install hooks for packagers of RubyGems. (Not for gems
253
+ themselves).
254
+ * RubyGems now installs gems into ~/.gem if GEM_HOME is not writable. Use
255
+ --no-user-install command-line switch to disable this behavior.
256
+ * Fetching specs for update now uses If-Modified-Since requests.
257
+ * RubyGems now updates the ri cache when the rdoc gem is installed and
258
+ documentation is generated.
259
+
260
+ Deprecation Notices:
261
+
262
+ * Gem::manage_gems now warns when called. It will be removed on or after March
263
+ 2009.
264
+
265
+ Bugs Fixed:
266
+
267
+ * RubyGems 1.3.0+ now updates when no previous rubygems-update is installed.
268
+ Bug #20775 by Hemant Kumar.
269
+ * RubyGems now uses the regexp we already have for `gem list --installed`. Bug
270
+ #20876 by Nick Hoffman.
271
+ * Platform is now forced to Gem::Platform::RUBY when nil or blank in the
272
+ indexer. Fixes various uninstallable gems.
273
+ * Handle EINVAL on seek. Based on patch in bug #20791 by Neil Wilson.
274
+ * Fix HTTPS support. Patch #21072 by Alex Arnell.
275
+ * RubyGems now loads all cache files even if latest has been loaded. Bug
276
+ #20776 by Uwe Kubosch.
277
+ * RubyGems checks for support of development dependencies for #to_ruby. Bug
278
+ #20778 by Evan Weaver.
279
+ * Now specifications from the future can be loaded.
280
+ * Binary script uninstallation fixed. Bug #21234 by Neil Wilson.
281
+ * Uninstallation with -i fixed. Bug #20812 by John Clayton.
282
+ * Gem::Uninstaller#remove_all now calls Gem::Uninstaller#uninstall_gem so hooks
283
+ get called. Bug #21242 by Neil Wilson.
284
+ * Gem.ruby now properly escaped on windows. Fixes problem with extension
285
+ compilation.
286
+ * `gem lock --strict` works again. Patch #21814 by Sven Engelhardt.
287
+ * Platform detection for Solaris was improved. Patch #21911 by Bob Remeika.
288
+
289
+ Other Changes Include:
290
+
291
+ * `gem help install` now describes _version_ argument to executable stubs
292
+ * `gem help environment` describes environment variables and ~/.gemrc and
293
+ /etc/gemrc
294
+ * On-disk gemspecs are now read in UTF-8 and written with a UTF-8 magic comment
295
+ * Rakefile
296
+ * If the SETUP_OPTIONS environment variable is set, pass its contents as
297
+ arguments to setup.rb
298
+ * lib/rubygems/platform.rb
299
+ * Remove deprecated constant warnings and really deprecate them. (WIN32,
300
+ etc).
301
+ * lib/rubygems/remote_fetcher.rb
302
+ * Now uses ~/.gem/cache if the cache dir in GEM_HOME is not writable.
303
+ * lib/rubygems/source_index.rb
304
+ * Deprecate options to 'search' other than Gem::Dependency instances and
305
+ issue warning until November 2008.
306
+ * setup.rb
307
+ * --destdir folder structure now built using Pathname, so it works for
308
+ Windows platforms.
309
+ * test/*
310
+ * Fixes to run tests when under test/rubygems/. Patch by Yusuke ENDOH
311
+ [ruby-core:17353].
312
+ * test/test_ext_configure_builder.rb
313
+ * Locale-free patch by Yusuke Endoh [ruby-core:17444].
314
+
315
+ === 1.2.0 / 2008-06-21
316
+
317
+ New features:
318
+
319
+ * RubyGems no longer performs bulk updates and instead only fetches the gemspec
320
+ files it needs. Alternate sources will need to upgrade to RubyGems 1.2 to
321
+ allow RubyGems to take advantage of the new metadata updater. If a pre 1.2
322
+ remote source is in the sources list, RubyGems will revert to the bulk update
323
+ code for compatibility.
324
+ * RubyGems now has runtime and development dependency types. Use
325
+ #add_development_dependency and #add_runtime_dependency. All typeless
326
+ dependencies are considered to be runtime dependencies.
327
+ * RubyGems will now require rubygems/defaults/operating_system.rb and
328
+ rubygems/defaults/#{RBX_ENGINE}.rb if they exist. This allows packagers and
329
+ ruby implementers to add custom behavior to RubyGems via these files. (If
330
+ the RubyGems API is insufficient, please suggest improvements via the
331
+ RubyGems list.)
332
+ * /etc/gemrc (and windows equivalent) for global settings
333
+ * setup.rb now handles --vendor and --destdir for packagers
334
+ * `gem stale` command that lists gems by last access time
335
+
336
+ Bugs Fixed:
337
+
338
+ * File modes from gems are now honored, patch #19737
339
+ * Marshal Gem::Specification objects from the future can now be loaded.
340
+ * A trailing / is now added to remote sources when missing, bug #20134
341
+ * Gems with legacy platforms will now be correctly uninstalled, patch #19877
342
+ * `gem install --no-wrappers` followed by `gem install --wrappers` no longer
343
+ overwrites executables
344
+ * `gem pristine` now forces reinstallation of gems, bug #20387
345
+ * RubyGems gracefully handles ^C while loading .gemspec files from disk, bug
346
+ #20523
347
+ * Paths are expanded in more places, bug #19317, bug #19896
348
+ * Gem::DependencyInstaller resets installed gems every install, bug #19444
349
+ * Gem.default_path is now honored if GEM_PATH is not set, patch #19502
350
+
351
+ Other Changes Include:
352
+
353
+ * setup.rb
354
+ * stub files created by RubyGems 0.7.x and older are no longer removed. When
355
+ upgrading from these ancient versions, upgrade to 1.1.x first to clean up
356
+ stubs.
357
+ * RDoc is no longer required until necessary, patch #20414
358
+ * `gem server`
359
+ * Now completely matches the output of `gem generate_index` and
360
+ has correct content types
361
+ * Refreshes from source directories for every hit. The server will no longer
362
+ need to be restarted after installing gems.
363
+ * `gem query --details` and friends now display author, homepage, rubyforge url
364
+ and installed location
365
+ * `gem install` without -i no longer reinstalls dependencies if they are in
366
+ GEM_PATH but not in GEM_HOME
367
+ * Gem::RemoteFetcher now performs persistent connections for HEAD requests,
368
+ bug #7973
369
+
370
+ === 1.1.1 / 2008-04-11
371
+
372
+ Bugs Fixed:
373
+
374
+ * Gem.prefix now returns non-nil only when RubyGems was installed outside
375
+ sitelibdir or libdir.
376
+ * The `gem server` gem list now correctly links to gem details.
377
+ * `gem update --system` now passes --no-format-executable to setup.rb.
378
+ * Gem::SourceIndex#refresh! now works with multiple gem repositories.
379
+ * Downloaded gems now go into --install-dir's cache directory.
380
+ * Various fixes to downloading gem metadata.
381
+ * `gem install --force` now ignores network errors too.
382
+ * `gem pristine` now rebuilds extensions.
383
+ * `gem update --system` now works on virgin Apple ruby.
384
+ * Gem::RemoteFetcher handles Errno::ECONNABORTED.
385
+ * Printing of release notes fixed.
386
+
387
+ === 1.1.0 / 2008-03-29
388
+
389
+ New features:
390
+
391
+ * RubyGems now uses persistent connections on index updates. Index updates are
392
+ much faster now.
393
+ * RubyGems only updates from a latest index by default, cutting candidate gems
394
+ for updates to roughly 1/4 (at present). Index updates are even faster
395
+ still.
396
+ * `gem list -r` may only show the latest version of a gem, add --all to see
397
+ all gems.
398
+ * `gem spec` now extracts specifications from .gem files.
399
+ * `gem query --installed` to aid automation of checking for gems.
400
+
401
+ Bugs Fixed:
402
+
403
+ * RubyGems works with both Config and RbConfig now.
404
+ * Executables are now cleaned upon uninstall.
405
+ * You can now uninstall from a particular directory.
406
+ * Updating from non-default sources fixed.
407
+ * Executable stubs now use ruby install name in shebang.
408
+ * `gem unpack` checks every directory in Gem.path now.
409
+ * `gem install` now exits with non-zero exit code when appropriate.
410
+ * `gem update` only updates gems that need updates.
411
+ * `gem update` doesn't force remote-only updates.
412
+ * `gem update` handles dependencies properly when updating.
413
+ * Gems are now loaded in Gem.path order.
414
+ * Gem stub scripts on windows now work outside Gem.bindir.
415
+ * `gem sources -r` now works without network access.
416
+
417
+ Other Changes Include:
418
+
419
+ * RubyGems now requires Ruby > 1.8.3.
420
+ * Release notes are now printed upon installation.
421
+ * `gem env path` now prints a usable path.
422
+ * `gem install` reverts to local-only installation upon network error.
423
+ * Tar handling code refactoring and cleanup.
424
+ * Gem::DependencyInstaller's API has changed.
425
+
426
+ For a full list of changes to RubyGems, see the ChangeLog file.
427
+
428
+ === 1.0.1 / 2007-12-20
429
+
430
+ Bugs Fixed:
431
+
432
+ * Installation on Ruby 1.8.3 through 1.8.5 fixed
433
+ * `gem build` on 1.8.3 fixed
434
+
435
+ Other Changes Include:
436
+
437
+ * Since RubyGems 0.9.5, RubyGems is no longer supported on Ruby 1.8.2 or older,
438
+ this is official in RubyGems 1.0.1.
439
+
440
+ === 1.0.0 / 2007-12-20
441
+
442
+ Major New Features Include:
443
+
444
+ * RubyGems warns about various problems with gemspecs during gem building
445
+ * More-consistent versioning for the RubyGems software
446
+
447
+ Other Changes Include:
448
+
449
+ * Fixed various bugs and problems with installing gems on Windows
450
+ * Fixed using `gem server` for installing gems
451
+ * Various operations are even more verbose with --verbose
452
+ * Built gems are now backwards compatible with 0.9.4
453
+ * Improved detection of RUBYOPT loading rubygems
454
+ * `ruby setup.rb` now has a --help option
455
+ * Gem::Specification#bindir is now respected on installation
456
+ * Executable stubs can now be installed to match ruby's name, so if ruby is
457
+ installed as 'ruby18', foo_exec will be installed as 'foo_exec18'
458
+ * `gem unpack` can now unpack into a specific directory with --target
459
+ * OpenSSL is no longer required by default
460
+
461
+ Deprecations and Deletions:
462
+
463
+ * Kernel#require_gem has been removed
464
+ * Executables without a shebang will not be wrapped in a future version, this
465
+ may cause such executables to fail to operate on installation
466
+ * Gem::Platform constants other than RUBY and CURRENT have been removed
467
+ * Gem::RemoteInstaller was removed
468
+ * Gem::Specification#test_suite_file and #test_suite_file= are deprecated in
469
+ favor of #test_file and #test_file=
470
+ * Gem::Specification#autorequire= has been deprecated
471
+ * Time::today will be removed in a future version
472
+
473
+ === 0.9.5 / 2007-11-19
474
+
475
+ Major New Features Include:
476
+
477
+ * Platform support
478
+ * Automatic installation of platform gems
479
+ * New bandwidth and memory friendlier index file format
480
+ * "Offline" mode (--no-update-sources)
481
+ * Bulk update threshold can be specified (-B, --bulk-threshold)
482
+ * New `gem fetch` command
483
+ * `gem` now has "really verbose" output when you specify -v
484
+ * Improved stubs and `gem.bat` on mswin, including better compatiblity
485
+ with the One-Click Installer.
486
+
487
+ Other Changes Include:
488
+
489
+ * Time::today is deprecated and will be removed at a future date
490
+ * Gem::manage_gems is deprecated and will be removed at a future date
491
+ * `gem install --include-dependencies` (-y) is now deprecated since it is the
492
+ default, use --ignore-dependencies to turn off automatic dependency
493
+ installation
494
+ * Multi-version diamond dependencies only are installed once
495
+ * Processing a YAML bulk index update takes less memory
496
+ * `gem install -i` makes sure all depenencies are installed
497
+ * `gem update --system` reinstalls into the prefix it was originally installed
498
+ in
499
+ * `gem update --system` respects --no-rdoc and --no-ri flags
500
+ * HTTP basic authentication support for proxies
501
+ * Gem::Specification#platforms should no longer be a String, use
502
+ Gem::Platform::CURRENT when building binary gems instead
503
+ * `gem env` has more diagnostic information
504
+ * require 'rubygems' loads less code
505
+ * sources.gem is gone, RubyGems now uses built-in defaults
506
+ * `gem install --source` will no longer add --source by default, use `gem
507
+ sources --add` to make it a permanent extra source
508
+ * `gem query` (list) no longer prints details by default
509
+ * Exact gem names are matched in various places
510
+ * mkrf extensions are now supported
511
+ * A gem can depend on a specific RubyGems version
512
+ * `gem_server` is now `gem server`
513
+ * `gemlock` is now `gem lock`
514
+ * `gem_mirror` is now `gem mirror`
515
+ * `gemwhich` is now `gem which`
516
+ * `gemri` is no longer included with RubyGems
517
+ * `index_gem_repository.rb` is now `gem generate_index`
518
+ * `gem` performs more validation of parameters
519
+ * Custom rdoc styles are now supported
520
+ * Gem indexer no longer removes quick index during index creation
521
+ * Kernel#require only rescues a LoadError for the file being required now
522
+ * `gem dependencies` can now display some information for remote gems
523
+ * Updating RubyGems now works with RUBYOPT=-rubygems
524
+
525
+ Special thanks to:
526
+
527
+ * Daniel Berger
528
+ * Luis Lavena
529
+ * Tom Copeland
530
+ * Wilson Bilkovich
531
+
532
+ === 0.9.4 / 2007-05-23
533
+
534
+ If you are experiencing problems with the source index (e.g. strange
535
+ "No Method" errors), or problems with zlib (e.g. "Buffer Error"
536
+ messsage), we recommend upgrading to RubyGems 0.9.4.
537
+
538
+ Bug Fixes Include:
539
+
540
+ * Several people have been experiencing problems with no method errors
541
+ on the source index cache. The source index cache is now a bit more
542
+ self healing. Furthermore, if the source index cache is
543
+ irreparable, then it is automatically dropped and reloaded.
544
+ * The source cache files may now be dropped with the "gem sources
545
+ --clear-all" command. (This command may require root is the system
546
+ source cache is in a root protected area).
547
+ * Several sub-commands were accidently dropped from the "gem" command.
548
+ These commands have been restored.
549
+
550
+ === 0.9.3 / 2007-05-10
551
+
552
+ Bug Fixes Include:
553
+
554
+ The ZLib library on Windows will occasionally complains about a buffer error
555
+ when unpacking gems. The Gems software has a workaround for that problem, but
556
+ the workaround was only enabled for versions of ZLib 1.2.1 or earlier. We
557
+ have received several reports of the error occuring with ZLib 1.2.3, so we
558
+ have permanently enabled the work around on all versions.
559
+
560
+ === 0.9.2 / 2007-02-05
561
+
562
+ Bug Fixes Include:
563
+
564
+ * The "unpack" command now works properly.
565
+ * User name and password are now passed properly to the authenticating
566
+ proxy when downloading gems.
567
+
568
+ === 0.9.1 / 2007-01-16
569
+
570
+ See ChangeLog
571
+
572
+ === 0.9.0 / 2006-06-28
573
+
574
+ Finally, the much anticipated RubyGems version 0.9.0 is now available.
575
+ This release includes a number of new features and bug fixes. The
576
+ number one change is that we can now download the gem index
577
+ incrementally. This will greatly speed up the gem command when only a
578
+ few gems are out of date.
579
+
580
+ Major Enhancments include:
581
+
582
+ * The gem index is now downloaded incrementally, only updating entries
583
+ that are out of date. If more than 50 entries are out of date, we
584
+ revert back to a bulk download.
585
+ * Several patches related to allowing RubyGems to work with
586
+ authenticating proxies (from Danie Roux and Anatol Pomozov). Just
587
+ put the user and password in the proxy URL (e.g. -p
588
+ http://user:password@proxy.address.com:8080) or use the
589
+ HTTP_PROXY_USER and HTTP_PROXY_PASS environment variables.
590
+ * The gem unpack command can now accept a file path rather than just a
591
+ install gem name.
592
+ * Both RI and RDOC documents are now generated by default.
593
+ * A gemri command is included to read gem RI docs (only needed for
594
+ Ruby 1.8.4 or earlier).
595
+
596
+ Minor enhancements include:
597
+
598
+ * Verison 0.0.0 is now a valid gem version.
599
+ * Better detection of missing SSL functionality.
600
+ * SSL is not required if the security policy does not require
601
+ signature checking.
602
+ * Rake built extensions are now supported (Tilman Sauerbeck).
603
+ * Several autorequire bug fixes.
604
+ * --traceback is now an alias for --backtrace (I can never remember
605
+ which one it is).
606
+ * SAFE=1 compatibility fixes.
607
+ * .rbw is now a supported suffix for RubyGem's custom require.
608
+ * Several Ruby 1.9 compatibility fixes (Eric Hodel).
609
+
610
+ Bug Fixes:
611
+
612
+ * Added dashes to gemspecs generated in Ruby 1.8.3. This solves some
613
+ cross-Ruby version compatibility issues.
614
+ * Fixed bug where the wrong executables could be uninstalled (Eric
615
+ Hodel).
616
+ * Fixed bug where gem unpack occasionally unpacked the wrong gem.
617
+ * Fixed bug where a fatal error occured when permissions on .gemrc
618
+ were too restrictive (reported by Luca Pireddu).
619
+ * Fixed prefix handling for native expressions (patch by Aaron Patterson).
620
+ * Fixed several Upgrade => Update typos.
621
+
622
+ === 0.8.11 / 2005-07-13
623
+
624
+ * -y is a synonym for --include-dependencies.
625
+ * Better handling of errors in the top level rescue clause.
626
+ * Package list command (e.g. gem inspect GEM).
627
+ * .gemrc now allows cvsrc-like options to set defaults per subcommand.
628
+ * The autorequire gem spec field will now accept a list.
629
+ * Substituted Time for Date in specs, increasing performance
630
+ dramatically.
631
+ * Fixed reported bug of gem directories ending in "-" (reported by
632
+ Erik Hatcher).
633
+ * Fixed but in installer that caused dependency installation to not
634
+ work.
635
+ * Added Paul Duncan's gem signing patch.
636
+ * Added Mark Hubbart's Framework patch (for better integration with OS
637
+ X).
638
+ * Added David Glasser's install-from-mirror patch.
639
+ * Additional internal structural cleanup and test reorganization.
640
+
641
+ === 0.8.10 / 2005-03-27
642
+
643
+ * In multi-user environments, it is common to supply mulitple versions of gems
644
+ (for example Rails), allowing individual users to select the version of the
645
+ gem they desire. This allows a user to be insulated from updates to that
646
+ gem. RubyGems 0.8.10 fixes a problem where gems could occasionally become
647
+ confused about the current versions of libraries selected by the user.
648
+ * The other annoying bug is that if there are any existing rubygems-update gems
649
+ installed, then the "gem update --system" command will download a new
650
+ update, but install the latest update prior to the download.
651
+
652
+ === 0.8.9
653
+
654
+ Never released
655
+
656
+ === 0.8.8 / 2005-03-14
657
+
658
+ * Moved the master definition of class Requirement back under version.
659
+ Kept the body of Requirement under Gem.
660
+
661
+ === 0.8.7 / 2005-03-14
662
+
663
+ Even though it has only been a few weeks since that last release,
664
+ there are quite a number of new features in 0.8.7. A complete list of
665
+ new features will be given below, but here is a summary of the hot
666
+ items.
667
+
668
+ * The bug that prevented some users from installing rails has been
669
+ squashed. A big thanks to Bill Guindon (aGorilla) for helping track
670
+ that one down.
671
+
672
+ There are several new commands available on the gem command:
673
+
674
+ * gem cleanup GEMNAME -- Cleanup (uninstall) all the old versions of
675
+ gem. If the gem name is omitted, the entire repository is cleaned.
676
+ * gem dependency GEMNAME -- Show the dependencies for the named gems.
677
+ This is really helpful when trying to figure out what gem needs what
678
+ other gem.
679
+
680
+ There changes to the existing commands as well.
681
+
682
+ * gem uninstall is much smarter about removing gems from the
683
+ repository. Lists of gems are now uninstalled in proper dependency
684
+ order (ie. if A depends on B, A is uninstalled first). Also,
685
+ warnings about broken dependencies occur only when removing the
686
+ *last* gem that supports a dependency is removed.
687
+
688
+ Both gem install and gem uninstall support some new command line
689
+ options that can reduce the amount of yes/no queries given the user.
690
+ For install we have:
691
+
692
+ * --ignore-dependencies -- Only install requests gems, no
693
+ dependendecies are automatically installed.
694
+ * --include-dependencies -- Automatically install dependencies,
695
+ without confirmation.
696
+
697
+ For gem uninstall, the new options are:
698
+
699
+ * --all -- Uninstall all matching gems without confirmation.
700
+ * --ignore-dependencies -- Uninstall, even if dependencies are broken.
701
+ * --executables -- Remove executables without confirmation
702
+
703
+ Under general cleanup, gems will not, by default, run RDoc on packages
704
+ that do not have the RDoc flag set.
705
+
706
+ And finally there is a new library file 'gemconfigure' to aid in
707
+ writing version sensitive applications (without undue dependencies on
708
+ RubyGems); and 'gemwhich', a short script to locate libraries in the
709
+ file system. You can read more about them here:
710
+
711
+ * gemconfigure: http://docs.rubygems.org/read/chapter/4#page73
712
+ * gemwhich: http://docs.rubygems.org/read/chapter/17
713
+
714
+ === 0.8.6 / 2005-02-27
715
+
716
+ * Fixed a small bug with shebang construction
717
+
718
+ === 0.8.5 / 2005-02-26
719
+
720
+ Do you know how you used to dread getting the following message while
721
+ installing gems?
722
+
723
+ Updating Gem source index for: http://gems.rubyforge.org
724
+
725
+ It could take up to 30 seconds (on my machine, even worse on others) for
726
+ that crazy source index to update.
727
+
728
+ This latest release of RubyGems speeds that wait time up considerably.
729
+ The following table gives the following times for installing RedCloth
730
+ with a required source index update on three system we had available to
731
+ us. No RDoc generation was included in the following times.
732
+
733
+ RubyGems Linux Mac OSX Windows
734
+ 0.8.4 33 secs 73 secs 58 secs
735
+ 0.8.5 8 secs 14 secs 21 secs
736
+
737
+ The new caching code is at least 3x faster than previous versions. Woo
738
+ Hoo!
739
+
740
+ === 0.8.4 / 2005-01-01
741
+
742
+ * Rubygems 0.8.3's installer was broken unless you already had an older
743
+ version of RubyGems installed. That's fixed.
744
+ * Change in the way Gem::Specification internally deals with lazy attributes
745
+ and defaults, bringing (with some loadpath_manager changes) a fairly
746
+ significant increase in speed.
747
+ * Support for lower-cased Gem file names (for you, Paul Duncan :)
748
+ * Erik Veenstra's patch for making Gem versions sortable.
749
+
750
+ === 0.8.3 / 2004-12-07
751
+
752
+ No real earth shattering news here, but there were a number of really
753
+ annoying issues involving other libraries that RubyGems depends upon.
754
+ 0.8.3 contains some workarounds for these issues. In particular:
755
+
756
+ * Added workaround for the null byte in Dir string issue. (see
757
+ http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121702).
758
+ (Thanks to Mauricio Fernández for the quick response on this one).
759
+ * Added workaround for old version of Zlib on windows that caused
760
+ Ruwiki to fail to install. (see
761
+ http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121770)
762
+ * Added workaround for large YAML file issues. (We dynamically cut
763
+ down the size of the source index YAML file and seem to have worked
764
+ around immediate issues.
765
+
766
+ There has been some minor usability enhancements and changes ...
767
+
768
+ * A user specific source index cache can be used when the site-wide
769
+ cache is unwritable (i.e. because you are running as a non-admin).
770
+ This *greatly* speeds up gem commands run in non-admin mode when the
771
+ site-wide cache is out of date.
772
+ * The gem command now used an HTTP HEAD command to detect if the
773
+ server's source index needs to be downloaed.
774
+ * gem check gemname --test will run unit tests on installed gems that
775
+ have unit tests.
776
+ * Multiple gem names are allowed on the gem install command line.
777
+ This means you can do:
778
+
779
+ gem install rake rails needle postgres-pr pimki
780
+
781
+ (Ok, you get the idea)
782
+ * Multiple authors my be specified in a Gem spec.
783
+ * Switched to using setup.rb (rather than a custom install script) for
784
+ the installation of RubyGems itself. If you have installed RubyGems
785
+ before, double check the installation instructions and make sure you
786
+ use setup.rb instead of install.rb.
787
+ * Ryan Davis has provided a patch so you can use an env variable
788
+ (GEM_SKIP), to tell loadpath_manager not to load gems of those
789
+ names. This was useful for him while testing libs that he had in
790
+ development.
791
+
792
+ === 0.8.1 / 2009-09-14
793
+
794
+ * Quick release to capture some bug fixes.
795
+
796
+ === 0.8.0 / 2009-09-12
797
+
798
+ * Remove need for library stubs. Set the RUBYOPT environment variable to
799
+ include "rrubygems", and a normal require will find gem files. Continue to
800
+ use 'require_gem gem_name, version' to specify gem versions.
801
+ * Deprecated "test_suite_file" gemspec attribute in favor of "test_files" array.
802
+ * Generates rdoc by default on installs.
803
+ * Adopted tar/gzip file format, thanks to Mauricio Fernandez.
804
+ * "gem rdoc" allows generation of rdoc after gem installation (will add a "gem
805
+ test"
806
+ * Application stubs can now accept an optional parameter of _VERSION_ that will
807
+ run an arbitrary version of the application requested.
808
+ * Various bug fixes
809
+ * Various platform-independency improvements
810
+ * "gem spec --all" displays spec info for all installed version of a given gem.
811
+ * Dynamic caching of sources
812
+ * Support for user-definable sources on the command line (thanks Assaph Mehr)
813
+ * More intelligent support for platform-dependent gems. Use Platform::CURRENT
814
+ when building a gem to set its platform to the one you're building on.
815
+ Installation displays a choice of platform-dependent gems, allowing the user
816
+ to pick.
817
+ * Added "gem unpack" for "unpacking" a gem to the current directory
818
+
819
+ === 0.7.0 / 2004-07-09
820
+
821
+ See ChangeLog
822
+
823
+ === 0.6.0 / 2004-06-08
824
+
825
+ * Collapse output of --search and --list (and gem_server) operations so that
826
+ each gem is listed only once, with each of its versions listed on the same
827
+ line.
828
+ * bin/gem: new --upgrade-all option allows one to upgrade every installed gem
829
+ * new #required_ruby_version attribute added to gem specification for
830
+ specifying a dependency on which version of ruby the gem needs. Format it
831
+ accepts is the same as the Gem::Version::Requirement format:
832
+
833
+ spec.required_ruby_version = "> 1.8.0"
834
+ * --install-stub defaults to true, so library stubs are created
835
+
836
+ === 0.5.0 / 2004-06-06
837
+
838
+ * Jim added the ability to specify version constraints to avoid API
839
+ incompatibilities. This has been the subject of much debate for the past
840
+ couple of months, with many ideas and code contributed by Eivind Eklund and
841
+ Mauricio Fernandez. The following set of assertions shows how it works:
842
+
843
+ assert_inadequate("1.3", "~> 1.4")
844
+ assert_adequate( "1.4", "~> 1.4")
845
+ assert_adequate( "1.5", "~> 1.4")
846
+ assert_inadequate("2.0", "~> 1.4") # This one is key--the new operator
847
+ # disallows major version number
848
+ # differences.
849
+ * Group gem search output when multiple versions exist for a given gem:
850
+
851
+ activerecord (0.7.8, 0.7.7, 0.7.6, 0.7.5)
852
+ Implements the ActiveRecord pattern for ORM.
853
+ * Add arbitrary RDoc-able files via gemspec (not just Ruby source files) for
854
+ people who have, for example, README.rdoc in their distributions. Add to
855
+ gemspec via: spec.extra_rdoc_files = ["list", "of", "files"]. Ruby files are
856
+ automatically included.
857
+ * Some small bug fixes
858
+
859
+ === 0.4.0 / 2004-05-31
860
+
861
+ * Minor bug fixes including Windows compatability issues
862
+
863
+ === 0.3.0 / 2004-04-30
864
+
865
+ * Cleanup of command-line arguments and handling. Most commands accept a
866
+ --local or --remote modifier.
867
+ * Creation of Application Gems (packages that include executable programs).
868
+ See http://rubygems.rubyforge.org/wiki/wiki.pl?DeveloperGuide for information
869
+ on how to use it.
870
+ * Basic functionality for installing binary gems from source (:extensions
871
+ property of gem specification holds an array of paths to extconf.rb files to
872
+ be used for compilation)
873
+ * Install library "stub" allowing a normal 'require' to work (which then does
874
+ the rubygems require and 'require_gem'
875
+ * --run-tests runs the test suite specified by the "test_suite_file" property
876
+ of a gem specification
877
+ * HTTP Proxy support works. Rewrite of HTTP code.
878
+ * Unit and functional tests added (see Rakefile).
879
+ * Prompt before remote-installing dependencies during gem installation.
880
+ * Config file for storing preferences for 'gem' command usage.
881
+ * Generally improved error messages (still more work to do)
882
+ * Rearranged gem directory structure for cleanliness.
883
+
884
+ === 0.2.0 / 2004-03-14
885
+
886
+ * Initial public release
887
+