forked from rubygems/rubygems
-
Notifications
You must be signed in to change notification settings - Fork 0
/
History.txt
1932 lines (1558 loc) · 77 KB
/
History.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# coding: UTF-8
=== 2.1
Minor enhancements:
* `gem clean` now allows `-n` as an alias for `--dryrun`. Pull Request #517
by Gastón Ramos
* Added `gem update --system` to `gem help`. Pull Request #514 by Vince
Wadhwani
* Added PATH to `gem env` output. Pull Request #490 by Michal Papis
* Added --host option to `gem owner` to match other commands using the
gemcutter API. Pull Request #462 and issue #461 by Hugo Lopes Tavares
* Removed duplicate creation of gem subdirectories in
Gem::DependencyInstaller. Pull Request #456 by Vít Ondruch
* RubyGems now works with Ruby built with `--with-ruby-version=''`. Pull
Request #455 by Vít Ondruch
* RubyGems no longer alters Gem::Specification.dirs when installing. Based on
Pull Request #452 by Vít Ondruch
* RubyGems uses ENV['MAKE'] or ENV['make'] over rbconfig.rb's make if present.
Pull Request #443 by Erik Hollensbe
* RubyGems can now save remote source cache files in an alternate directory
controlled by `ENV["GEM_SPEC_CACHE"]`. Pull Request #489 by Michal Papis
* Generated private keys are now encrypted. Pull Request #453 by pietro
=== 2.0.4
* Bug fixes:
* Fixed pushing gems with the default host. Bug #495 by Utkarsh Kukreti
* Improved unhelpful error message from `gem owner --remove`. Bug #488 by
Steve Klabnik
=== 2.0.3 / 2012-03-11
* Bug fixes:
* Reverted automatic upgrade to HTTPS as it breaks RubyGems APIs. Fixes
#506 by André Arko
* Use File.realpath to remove extra / while checking if files are
installable. Issue #508 by Jacob Evans.
* When installing RubyGems on JRuby, the standard library is no longer
deleted. Fixes #504 by Juan Sanchez, #507 by Charles Oliver Nutter.
* When building extconf.rb extensions use the intermediate destination
directory. This addresses further issues with C extension building.
* Use the absolute path to the generated siteconf in case the extension
changes directories to run extconf.rb (like memcached). Fixes #498 by
Chris Morris.
* Fixed default gem key and cert locations. Pull request #511 by Samuel
Cochran.
=== 2.0.2 / 2013-03-06
* Bug fixes:
* HTTPS URLs are preferred over HTTP URLs. RubyGems will now attempt to
upgrade any HTTP source to HTTPS. Credit to Alex Gaynor.
* SSL Certificates are now installed properly. Fixes #491 by hemanth.hm
* Fixed HTTP to HTTPS upgrade for rubygems.org.
=== 2.0.1 / 2013-03-05
* Bug fixes:
* Lazily load RubyGems.org API credentials to avoid failure during
RubyGems installation. Bug #465 by Isaac Sanders.
* RubyGems now picks the latest prerelease to install. Fixes bug #468 by
Santiago Pastorino.
* Improved detection of missing Zlib::GzipReader encoding support. Works
around JRuby-only bug #472 by Matt Beedle.
* "Done installing documentation" is no longer displayed when documentation
generation is disabled. Fixes bug #469 by Jeff Sandberg
* The existing executable check now respects --format-executable. Pull
request #471 by Jeremy Evans.
* RubyGems no longer creates gem subdirectories when fetching gems. Fixes
#482 by Loren Segal.
* RubyGems does not require OpenSSL like RubyGems 1.8, but still prefers it.
Fixes #481 by André Arko.
* RubyGems only fetches specs for list, search and query commands when
needed like RubyGems 1.x. Fixes bug #487 by bitbuerster, Ruby bug #8019
by Ike Miller.
* Allow specification of mode for gem subdirectory creation.
Ruby bug #7713 by nobu
* Fix tests when an 'a.rb' exists. Ruby bug #7749 by nobu.
=== 2.0.0 / 2013-02-24
RubyGems 2.0 includes several new features and many breaking changes. Some of
these changes will cause existing software to break. These changes are a
result of improvements to the internals of RubyGems that make it more
maintainable and improve APIs for RubyGems users.
If you are using bundler be sure to install a 1.3.0.prerelease version or
newer. Older versions of bundler will not work with RubyGems 2.0.
Changes since RubyGems 1.8.25 (including past pre-releases):
* Breaking changes:
* Deprecated Gem.unresolved_deps in favor of
Gem::Specification.unresolved_deps
* Merged Gem::Builder into Gem::Package. Use Gem::Package.build(spec)
instead of Gem::Builder.new(spec).build
* Merged Gem::Format into Gem::Package. Use Gem::Package.new instead
of Gem::Format.from_file_by_path
* Moved Gem::OldFormat to Gem::Package::Old. Gem::Package will
automatically detect old gems for you, so there is no need to refer to it.
* Removed Gem::DocManager, replaced by Gem::RDoc and done_installing hook
* Removed Gem::Package::TarInput in favor of Gem::Package
* Removed Gem::Package::TarOutput in favor of Gem::Package
* Removed Gem::RemoteFetcher#open_uri_or_path. (steveklabnik)
* Removed Gem::SSL in favor of using OpenSSL directly
* Removed Gem.loaded_path
* Removed RSS generation from the gem indexer
* Removed benchmark option from .gemrc
* Removed broken YAML gemspec support in `gem build`
* Removed support for Ruby 1.9.1
* Removed many deprecated methods
* Major enhancements:
* Improved support for default gems shipping with ruby 2.0.0+
* A gem can have arbitrary metadata through Gem::Specification#metadata
* `gem search` now defaults to --remote and is anchored like gem list. Fixes
#166
* Added --document to replace --rdoc and --ri. Use --no-document to disable
documentation, --document=rdoc to only generate rdoc.
* Only ri-format documentation is generated by default.
* `gem server` uses RDoc::Servlet from RDoc 4.0 to generate HTML
documentation.
* Add ability to install gems directly from a compatible gemdep
file (Gemfile, Isolate, gem.deps.rb)
<code>gem install --file path</code>
* Add ability to load gem activation information from a gemdeps
file (Gemfile, Isolate, gem.deps.rb).
Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path
to autodetect (current and parent directories are searched).
* Minor enhancements:
* Added `gem check --doctor` to clean up after failed uninstallation. Bug
#419 by Erik Hollensbe
* RubyGems no longer defaults to uninstalling gems if a dependency would be
broken. Now you must manually say "yes". Pull Request #406 by Shannon
Skipper.
* Gem::DependencyInstaller now passes build_args down to the installer.
Pull Request #412 by Sam Rawlins.
* Added a cmake builder. Pull request #265 by Allan Espinosa.
* Removed rubyforge page from gem list output
* Added --only-executables option to `gem pristine`. Fixes #326
* Added -I flag for 'gem query' to exclude installed items
* Added Gem.install(name, version=default) for interactive sessions
* Added Gem::FilePermissionError#directory
* Added Gem::rubygems_version which is like Gem::ruby_version
* Added RUBYGEMS_HOST documentation to `gem env`
* Added a post_installs hook that runs after Gem::DependencyInstaller
finishes installing a set of gems
* Added a usage method for Gem::Commands::OwnerCommand. (ffmike)
* Added an optional type parameter to Gem::Specification#doc_dir.
* Added announcements url and clarified how to file tickets
* Added guidance for how to use rdoc and ri in setup command. (jjb)
* Attempting to install multiple gems with --version is now an error. You
can specify per-gem versions like <code>rake:0.9.5</code>
* Clarified Gem::CommandManager example code to avoid multi load problems.
(baroquebobcat)
* Corrupt or bad cached specs are now re-downloaded. (cookrn)
* Extension build arguments are saved from install and reused for pristine
* If the OS allows it, documentation is built in a forked background
process. (alexch)
* Imported gem yank from the gemcutter gem. Fixes #177, #343
* Packaged gems now contain and verify SHA1 checksums
* Removed commas from gem update summary so you can paste it back to
cleanup. (amatsuda)
* RubyGems will now warn when building gems with prerelease dependencies.
Fixes #255
* The RUBYGEMS_HOST environment variable is used to determine appropriate
API key for pushing or yanking gems
* Uninstall is now performed in reverse topological order.
* Users are told what to type when they try to uninstall a gem outside
GEM_HOME
* When building gems with non-world-readable files a warning is shown.
* Bug fixes:
* Gem.refresh now maintains the active gem list. Clearing the list would
cause double-loads which would cause other bugs. Pull Request #427 by
Jeremy Evans
* RubyGems now refuses to read the gem push credentials file if it has
insecure permissions. Pull Request #438 by Shannon Skipper
* RubyGems now requires a local gem name to end in '.gem'. Issue #407 by
Santiago Pastorino.
* Do not allow old-format gems to be installed with a security policy that
verifies data.
* Gem installation will fail if RubyGems cannot load the specification from
the gem. Bug #419 by Erik Hollensbe
* RubyGems tests now run in FIPS mode. Issue #365 by Vít Ondruch
* Only update the spec cache when we have permission. Ruby Bug #7509
* gem install now ignores directories and non .gem files that match the gem
to install. Bug #407 by Santiago Pastorino.
* Added PID to setup bin_file while installing RubyGems to protect against
errors. Fixes #328 by ConradIrwin
* Added missing require in Gem::Uninstaller when format_executable is set.
(sakuro)
* Exact gem command name matches are now chosen even if a longer command
overlaps the exact name
* Fixed Gem.loaded_path? with a Pathname instance. (mattetti)
* Fixed Gem::Dependency.new mismatch with rubygems.org checks
* Fixed SecurityError in Gem::Specification.load when $SAFE=1. (ged)
* Fixed SystemStackError with "gem list -r -a" on 1.9 (cldwalker)
* Fixed `gem owners` command so that exceptions don't stop the rest of the
command from completing
* Fixed `gem unpack uninstalled_gem` default version picker.
* Fixed defunct rubyforge urls in gem command line help
* Fixed documentation for the various hooks collections
* Fixed documentation generation on setup when the gem directory does not
exist. Fixes #253
* Fixed documentation to reflect where defaults overrides are loaded from.
(ferrous26)
* Fixed editing of a Makefile with 8-bit characters. Fixes #181
* Fixed gem loading issue caused by dependencies not resolving.
* Fixed independent testing of test_gem_package_tar_output. Ruby Bug #4686
by Shota Fukumori
* Fixed typo in uninstall message. (sandal)
* Gem::Requirement#<=> returns nil on non-requirement arg.
* Gem::Requirement.satisfied_by? raises ArgumentError if given a non-version
argument
* Gem::Version#initialize no longer modifies its parameter. (miaout17)
* Group-writable permissions are now allowed for gem repositories. (ctcherry)
* Memoized values in Gem::Specification are now reset the version or
platform changes. Fixes #78
* More specific errors are raised for bad requirements. (arsduo)
* Removed reference to 'sources' gem in documentation
* Removed unused block arguments to avoid creating Proc objects. (k-tsj)
* RubyGems now asks before overwriting executable wrappers. Ruby Bug #1800
* The bindir is now created with mkdir_p during install. (voxik)
* URI scheme matching is no longer case-sensitive. Fixes #322
* ext/builder now checks $MAKE as well as $make (okkez)
Changes since RubyGems 2.0.0.rc.2:
* Bug fixes:
* Gem.gzip and Gem.gunzip now return strings with BINARY encoding. Issue
#450 by Jeremy Kemper
* Fixed placement of executables with --user-install. Ruby bug #7779 by Jon
Forums.
* Fixed `gem update` with --user-install. Ruby bug #7779 by Jon Forums.
* Fixed test_initialize_user_install for windows. Ruby bug #7885 by Luis
Lavena.
* Create extension destination directory before building extensions. Ruby
Bug #7897 and patch by Kenta Murata.
* Fixed verification of gems at LowSecurity due to missing signature.
Thanks to André Arko.
=== 2.0.0.rc.2 / 2013-02-08
* Bug fixes:
* Fixed signature verification of gems which was broken only on master.
Thanks to Brian Buchanan.
* Proper exceptions are raised when verifying an unsigned gem. Thanks to
André Arko.
=== 2.0.0.rc.1 / 2013-01-08
* Minor enhancements:
* This release of RubyGems can push gems to rubygems.org. Ordinarily
prerelease versions of RubyGems cannot push gems.
* Added `gem check --doctor` to clean up after failed uninstallation. Bug
#419 by Erik Hollensbe
* Bug fixes:
* Fixed exception raised when attempting to push gems to rubygems.org. Bug
#418 by André Arko
* Gem installation will fail if RubyGems cannot load the specification from
the gem. Bug #419 by Erik Hollensbe
=== 2.0.0.preview2.2 / 2012-12-14
* Minor enhancements:
* Added a cmake builder. Pull request #265 by Allan Espinosa.
* Removed rubyforge page from gem list output
* Bug fixes:
* Restored RubyGems 1.8 packaging behavior of omitting directories. Bug
#413 by Jeremy Kemper.
=== 2.0.0.preview2.1 / 2012-12-08
* Minor enhancements:
* Gem::DependencyInstaller now passes build_args down to the installer.
Pull Request #412 by Sam Rawlins.
* RubyGems no longer defaults to uninstalling gems if a dependency would be
broken. Now you must manually say "yes". Pull Request #406 by Shannon
Skipper.
* Bug fixes:
* RubyGems tests now run in FIPS mode. Issue #365 by Vít Ondruch
* Fixed Gem::Specification#base_dir for default gems. Ruby Bug #7469
* Only update the spec cache when we have permission. Ruby Bug #7509
* Restored order of version marking. Fixes an issue with bundler. Thanks
to Aaron Patterson and Terence Lee.
* Gem cleanup now skips default gems. Pull Request #409 by Kouhei Sutou
* gem list, search and query can show remote gems again. Bug #410 by
Henry Maddocks
* gem install now ignores directories that match the gem to install. Bug
#407 by Santiago Pastorino.
=== 2.0.0.preview2 / 2012-12-01
This release contains two commits not present in Ruby 2.0.0.preview2. One
commit is for ruby 1.8.7 support, the second allows RubyGems to work under
$SAFE=1. There is no functional difference compared to Ruby 2.0.0.preview2
* Breaking changes:
* Deprecated Gem.unresolved_deps in favor of
Gem::Specification.unresolved_deps
* Merged Gem::Builder into Gem::Package. Use Gem::Package.build(spec)
instead of Gem::Builder.new(spec).build
* Merged Gem::Format into Gem::Package. Use Gem::Package.new instead
of Gem::Format.from_file_by_path
* Moved Gem::OldFormat to Gem::Package::Old. Gem::Package will
automatically detect old gems for you, so there is no need to refer to it.
* Removed Gem::DocManager, replaced by Gem::RDoc and done_installing hook
* Removed Gem::Package::TarInput in favor of Gem::Package
* Removed Gem::Package::TarOutput in favor of Gem::Package
* Removed Gem::RemoteFetcher#open_uri_or_path. (steveklabnik)
* Removed Gem::SSL in favor of using OpenSSL directly
* Removed Gem.loaded_path
* Removed RSS generation from the gem indexer
* Removed benchmark option from .gemrc
* Removed broken YAML gemspec support in `gem build`
* Removed support for Ruby 1.9.1
* Removed many deprecated methods
* Major enhancements:
* Improved support for default gems shipping with ruby 2.0.0+
* A gem can have arbitrary metadata through Gem::Specification#metadata
* `gem search` now defaults to --remote and is anchored like gem list. Fixes
#166
* Added --document to replace --rdoc and --ri. Use --no-document to disable
documentation, --document=rdoc to only generate rdoc.
* Only ri-format documentation is generated by default.
* `gem server` uses RDoc::Servlet from RDoc 4.0 to generate HTML
documentation.
* Add ability to install gems directly from a compatible gemdep
file (Gemfile, Isolate, gem.deps.rb)
<code>gem install --file path</code>
* Add ability to load gem activation information from a gemdeps
file (Gemfile, Isolate, gem.deps.rb).
Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path
to autodetect (current and parent directories are searched).
* Minor enhancements:
* Added --only-executables option to `gem pristine`. Fixes #326
* Added -I flag for 'gem query' to exclude installed items
* Added Gem.install(name, version=default) for interactive sessions
* Added Gem::FilePermissionError#directory
* Added Gem::rubygems_version which is like Gem::ruby_version
* Added RUBYGEMS_HOST documentation to `gem env`
* Added a post_installs hook that runs after Gem::DependencyInstaller
finishes installing a set of gems
* Added a usage method for Gem::Commands::OwnerCommand. (ffmike)
* Added an optional type parameter to Gem::Specification#doc_dir.
* Added announcements url and clarified how to file tickets
* Added guidance for how to use rdoc and ri in setup command. (jjb)
* Attempting to install multiple gems with --version is now an error. You
can specify per-gem versions like <code>rake:0.9.5</code>
* Clarified Gem::CommandManager example code to avoid multi load problems.
(baroquebobcat)
* Corrupt or bad cached specs are now re-downloaded. (cookrn)
* Extension build arguments are saved from install and reused for pristine
* If the OS allows it, documentation is built in a forked background
process. (alexch)
* Imported gem yank from the gemcutter gem. Fixes #177, #343
* Packaged gems now contain and verify SHA1 checksums
* Removed commas from gem update summary so you can paste it back to
cleanup. (amatsuda)
* RubyGems will now warn when building gems with prerelease dependencies.
Fixes #255
* The RUBYGEMS_HOST environment variable is used to determine appropriate
API key for pushing or yanking gems
* Uninstall is now performed in reverse topological order.
* Users are told what to type when they try to uninstall a gem outside
GEM_HOME
* When building gems with non-world-readable files a warning is shown.
* Bug fixes:
* Added PID to setup bin_file while installing RubyGems to protect against
errors. Fixes #328 by ConradIrwin
* Added missing require in Gem::Uninstaller when format_executable is set.
(sakuro)
* Exact gem command name matches are now chosen even if a longer command
overlaps the exact name
* Fixed Gem.loaded_path? with a Pathname instance. (mattetti)
* Fixed Gem::Dependency.new mismatch with rubygems.org checks
* Fixed SecurityError in Gem::Specification.load when $SAFE=1. (ged)
* Fixed SystemStackError with "gem list -r -a" on 1.9 (cldwalker)
* Fixed `gem owners` command so that exceptions don't stop the rest of the
command from completing
* Fixed `gem unpack uninstalled_gem` default version picker.
* Fixed defunct rubyforge urls in gem command line help
* Fixed documentation for the various hooks collections
* Fixed documentation generation on setup when the gem directory does not
exist. Fixes #253
* Fixed documentation to reflect where defaults overrides are loaded from.
(ferrous26)
* Fixed editing of a Makefile with 8-bit characters. Fixes #181
* Fixed gem loading issue caused by dependencies not resolving.
* Fixed independent testing of test_gem_package_tar_output. Ruby Bug #4686
by Shota Fukumori
* Fixed typo in uninstall message. (sandal)
* Gem::Requirement#<=> returns nil on non-requirement arg.
* Gem::Requirement.satisfied_by? raises ArgumentError if given a non-version
argument
* Gem::Version#initialize no longer modifies its parameter. (miaout17)
* Group-writable permissions are now allowed for gem repositories. (ctcherry)
* Memoized values in Gem::Specification are now reset the version or
platform changes. Fixes #78
* More specific errors are raised for bad requirements. (arsduo)
* Removed reference to 'sources' gem in documentation
* Removed unused block arguments to avoid creating Proc objects. (k-tsj)
* RubyGems now asks before overwriting executable wrappers. Ruby Bug #1800
* The bindir is now created with mkdir_p during install. (voxik)
* URI scheme matching is no longer case-sensitive. Fixes #322
* ext/builder now checks $MAKE as well as $make (okkez)
=== 1.8.25 / 2013-01-24
* Bug fixes:
* Added 11627 to setup bin_file location to protect against errors. Fixes
#328 by ConradIrwin
* Specification#ruby_code didn't handle Requirement with multiple
* Fix error on creating a Version object with a frozen string.
* Fix incremental index updates
* Fix missing load_yaml in YAML-related requirement.rb code.
* Manually backport encoding-aware YAML gemspec
=== 1.8.24 / 2012-04-27
* 1 bug fix:
* Install the .pem files properly. Fixes #320
* Remove OpenSSL dependency from the http code path
=== 1.8.23 / 2012-04-19
This release increases the security used when RubyGems is talking to
an https server. If you use a custom RubyGems server over SSL, this
release will cause RubyGems to no longer connect unless your SSL cert
is globally valid.
You can configure SSL certificate usage in RubyGems through the
:ssl_ca_cert and :ssl_verify_mode options in ~/.gemrc and /etc/gemrc.
The recommended way is to set :ssl_ca_cert to the CA certificate for
your server or a certificate bundle containing your CA certification.
You may also set :ssl_verify_mode to 0 to completely disable SSL
certificate checks, but this is not recommended.
* 2 security fixes:
* Disallow redirects from https to http
* Turn on verification of server SSL certs
* 1 minor feature:
* Add --clear-sources to fetch
* 2 bug fixes:
* Use File.identical? to check if two files are the same.
* Fixed init_with warning when using psych
=== 1.8.22 / 2012-04-13
* 4 bug fixes:
* Workaround for psych/syck YAML date parsing issue
* Don't trust the encoding of ARGV. Fixes #307
* Quiet default warnings about missing spec variables
* Read a binary file properly (windows fix)
=== 1.8.21 / 2012-03-22
* 2 bug fixes:
* Add workaround for buggy yaml output from 1.9.2
* Force 1.9.1 to remove it's prelude code. Fixes #305
=== 1.8.20 / 2012-03-21
* 4 bug fixes:
* Add --force to `gem build` to skip validation. Fixes #297
* Gracefully deal with YAML::PrivateType objects in Marshal'd gemspecs
* Treat the source as a proper url base. Fixes #304
* Warn when updating the specs cache fails. Fixes #300
=== 1.8.19 / 2012-03-14
* 3 bug fixes:
* Handle loading psych vs syck properly. Fixes #298
* Make sure Date objects don't leak in via Marshal
* Perform Date => Time coercion on yaml loading. Fixes #266
=== 1.8.18 / 2012-03-11
* 4 bug fixes:
* Use Psych API to emit more compatible YAML
* Download and write inside `gem fetch` directly. Fixes #289
* Honor sysconfdir on 1.8. Fixes #291
* Search everywhere for a spec for `gem spec`. Fixes #288
* Fix Gem.all_load_path. Fixes #171
=== 1.8.17 / 2012-02-17
* 2 minor enhancements:
* Add MacRuby to the list of special cases for platforms (ferrous26)
* Add a default for where to install rubygems itself
* 3 bug fixes:
* Fixed gem loading issue caused by dependencies not resolving.
* Fixed umask error when stdlib is required and unresolved dependencies exist.
* Shebang munging would only take one arg after the cmd
* Define SUCKAGE better, ie only MRI 1.9.2
* Propagate env-shebang to the pristine command if set for install.
=== 1.8.16 / 2012-02-12
* 3 bug fixes:
* Fix gem specification loading when encoding is not UTF-8. #146
* Allow group writable if umask allows it already.
* Uniquify the spec list based on directory order priority
=== 1.8.15 / 2012-01-06
* 1 bug fix:
* Don't eager load yaml, it creates a bad loop. Fixes #256
=== 1.8.14 / 2012-01-05
* 2 bug fixes:
* Ignore old/bad cache data in Version
* Make sure our YAML workarounds are loaded properly. Fixes #250.
=== 1.8.13 / 2011-12-21
* 1 bug fix:
* Check loaded_specs properly when trying to satisfy a dep
* 2 minor enhancements:
* Remove using #loaded_path? for performance
* Remove Zlib workaround for Windows build.
=== 1.8.12 / 2011-12-02
* Bug fix:
* Handle more cases where Syck's DefaultKey showed up in requirements
and wasn't cleaned out.
=== 1.8.11 / 2011-10-03
* Bug fix:
* Deprecate was moved to Gem::Deprecate to stop polluting the top-level
namespace.
=== 1.8.10 / 2011-08-25
RubyGems 1.8.10 contains a security fix that prevents malicious gems from
executing code when their specification is loaded. See
https://github.com/rubygems/rubygems/pull/165 for details.
* 5 bug fixes:
* RubyGems escapes strings in ruby-format specs using #dump instead of #to_s
and %q to prevent code injection. Issue #165 by Postmodern
* RubyGems attempt to activate the psych gem now to obtain bugfixes from
psych.
* Gem.dir has been restored to the front of Gem.path. Fixes remaining
problem with Issue #115
* Fixed Syck DefaultKey infecting ruby-format specifications.
* `gem uninstall a b` no longer stops if gem "a" is not installed.
=== 1.8.9 / 2011-08-23
* Bug fixes:
* Fixed uninstalling multiple gems using `gem uninstall`
* Gem.use_paths splatted to take multiple paths! Issue #148
=== 1.8.8 / 2011-08-11
* Bug fix:
* The encoding of a gem's YAML spec is now UTF-8. Issue #149
=== 1.8.7 / 2011-08-04
* Bug fixes:
* Added missing require for `gem uninstall --format-executable`
* The correct name of the executable being uninstalled is now displayed with
--format-executable
* Fixed `gem unpack uninstalled_gem` default version picker
* RubyGems no longer claims a nonexistent gem can be uninstalled
* `gem which` no longer claims directories are requirable files
* `gem cleanup` continues cleaning up gems if one can't be uninstalled due
to permissions. Issue #82
* Gem repository directories are no longer created world-writable. Patch by
Sakuro OZAWA. Ruby Bug #4930
=== 1.8.6 / 2011-07-25
* 1 minor enhancement:
* Add autorequires and delay startup of RubyGems until require is called.
See Ruby bug #4962
* 9 bug fixes:
* Restore behavior of Gem::Specification#loaded? Ruby Bug #5032
* Clean up SourceIndex.add_specs to not be so damn noisy. (tadman)
* Added missing APPLE_GEM_HOME in paths.
* Extend YAML::Syck::DefaultKey fixing to `marshal_dump` as well.
* Fix #29216: check correct bin_dir in check_that_user_bin_dir_is_in_path.
* Revert Gem.latest_load_paths to working order (PathSupport revert).
* Restore normalization of GEM_HOME.
* Handle the Syck DefaultKey problem once and for all.
* Fix SystemStackError occurring with "gem list -r -a" on 1.9.
=== 1.8.5 / 2011-05-31
* 2 minor enhancement:
* The -u option to 'update local source cache' is official deprecated.
* Remove has_rdoc deprecations from Specification.
* 2 bug fixes:
* Handle bad specs more gracefully.
* Reset any Gem paths changed in the installer.
=== 1.8.4 / 2011-05-25
* 1 minor enhancement:
* Removed default_executable deprecations from Specification.
=== 1.8.3 / 2011-05-19
* 4 bug fixes:
* Fix independent testing of test_gem_package_tar_output. Ruby Bug #4686 by
Shota Fukumori
* Fix test failures for systems with separate ruby versions. Ruby Bug #3808
by Jeremy Evans
* Fixed some bad calls left behind after rolling out some refactorings.
* Syck has a parse error on (good) times output from Psych. (dazuma, et al)
=== 1.8.2 / 2011-05-11
* 2 minor enhancements:
* Moved #outdated from OutdatedCommand to Specification (for Isolate).
* Print out a warning about missing executables.
* 3 bug fixes:
* Added missing requires to fix various upgrade issues.
* `gem pristine` respects multiple gem repositories.
* setup.rb now execs with --disable-gems when possible
=== 1.8.1 / 2011-05-05
* 1 minor enhancement:
* Added Gem::Requirement#specific? and Gem::Dependency#specific?
* 4 bug fixes:
* Typo on Indexer rendered it useless on Windows
* gem dep can fetch remote dependencies for non-latest gems again.
* gem uninstall with multiple versions no longer crashes with ArgumentError
* Always use binary mode for File.open to keep Windows happy
=== 1.8.0 / 2011-04-34
This release focused on properly encapsulating functionality. Most of this
work focused on moving functionality out of Gem::SourceIndex and
Gem::GemPathSearcher into Gem::Specification where it belongs.
After installing RubyGems 1.8.0 you will see deprecations when loading your
exsting gems. Run `gem pristine --all --no-extensions` to regenerate your
gem specifications safely.
Currently RubyGems does not save the build arguments used to build gems with
extensions. You will need to run `gem pristine gem_with_extension --
--build-arg` to regenerate a gem with an extension where it requires special
build arguments.
* 24(+) Deprecations (WOOT!):
* DependencyList.from_source_index deprecated the source_index argument.
* Deprecated Dependency.new(/regex/).
* Deprecated Gem.searcher.
* Deprecated Gem.source_index and Gem.available?
* Deprecated Gem: activate_dep, activate_spec, activate,
report_activate_error, and required_location.
* Deprecated Gem::all_partials
* Deprecated Gem::cache_dir
* Deprecated Gem::cache_gem
* Deprecated Gem::default_system_source_cache_dir
* Deprecated Gem::default_user_source_cache_dir
* Deprecated Platform#empty?
* Deprecated Specification.cache_gem
* Deprecated Specification.installation_path
* Deprecated Specification.loaded, loaded?, and loaded=
* Deprecated all of Gem::SourceIndex.
* Deprecated all of Gem::GemPathSearcher.
* Deprecated Gem::Specification#default_executable.
* 2 major enhancements:
* Gem::SourceIndex functionality has been moved to Gem::Specification.
Gem::SourceIndex is completely disconnected from Gem::Specification
* Refactored GemPathSearcher entirely out. RIPMF
* 41 minor enhancements:
* Added CommandManager#unregister_command
* Added Dependency#matching_specs + to_specs.
* Added Dependency#to_spec
* Added Gem.pre_reset_hook/s and post_reset_hook/s.
* Added GemCommand.reset to reinitialize the singleton
* Added Specification#activate.
* Added Specification#activated, activated=, and activated?
* Added Specification#base_dir.
* Added Specification#bin_dir and bin_file.
* Added Specification#cache_dir and cache_file. Aliased cache_gem.
* Added Specification#doc_dir and ri_dir.
* Added Specification#find(name_or_dep, *requirements).
* Added Specification#gem_dir and gems_dir.
* Added Specification#spec_dir and spec_file.
* Added Specification.add_spec, add_specs, and remove_spec.
* Added Specification.all=. If you use this, we will light you on fire.
* Added Specification.all_names.
* Added Specification.dirs and dirs=. dirs= resets.
* Added Specification.find_all_by_name(name, *reqs)
* Added Specification.latest_specs. SO TINY!
* Added TestCase#all_spec_names to help clean up tests
* Added TestCase#assert_path_exists and refute_path_exists. Will move to
minitest.
* Gem.sources no longer tries to load sources gem. Only uses default_sources.
* Installer no longer accepts a source_index option.
* More low-level integration.
* Removed Gem::FileOperations since it is a dummy class
* Removed a comment because I am dumb
* Removed pkgs/sources/lib/sources.rb
* Revamped indexer to mostly not use SourceIndex (legacy index requires it).
* Rewrote our last functional test suite to be happy and fast
* RubyGems is now under the Ruby License or the MIT license
* Specification#== now only checks name, version, and platform.
* Specification#authors= now forcefully flattens contents (bad rspec! no
cookie!)
* Specification#eql? checks all fields.
* Specification#installation_path no longer raises if it hasn't been
activated.
* Specification#validate now ensures that authors is not empty.
* TestCase.util_setup_spec_fetcher no longer returns a SourceIndex.
* Uninstaller no longer passes around SourceIndex instances
* Warn on loading bad spec array values (ntlm-http gem has nil in its cert
chain)
* `gem pristine` now accepts --no-executables to skip restoring gems with
extensions.
* `gem pristine` can now restore multiple gems.
* 6 bug fixes:
* DependencyInstaller passed around a source_index instance but used
Gem.source_index.
* Fixed Platform#== and #hash so instances may be used as hash keys.
* Fixed broken Specification#original_platform. It should never be nil.
* Gem::Text#format_text now strips trailing whitespace
* Normalize LOAD_PATH with File.expand_path
* `gem build` errors should exit 1.
* `gem pristine` can now restore non-latest gems where the cached gem was
removed.
=== 1.7.1 / 2011-03-32
* 1 bug fix:
* Fixed missing file in Manifest.txt. (Also a bug in hoe was fixed where
`rake check_manifest` showing a diff would not exit with an error.)
=== 1.7.0 / 2011-03-32
* 16 Deprecations (woot!)
* Deprecated Gem.all_load_paths, latest_load_paths, promote_load_path, and
cache.
* Deprecated RemoteFetcher#open_uri_or_path.
* Deprecated SourceIndex#all_gems.
* Deprecated SourceIndex#initialize(hash_of_specs).
* Deprecated SourceIndex.from_installed_gems, from_gems_in, and
load_specification.
* Deprecated Specification#has_rdoc, default_executable, and
test_suite_file(=).
* Deprecated Specification#has_rdoc= and default_executable=
* 26 minor enhancements:
* Added stupid simple deprecation module.
* Added --spec option to `gem unpack` to output a gem's original metadata
* Added packaging option to Specification#validate
* Gem.bin_path requires the exec_name argument.
* Read from cached specs if fetch fails for some reason
* Refactored Specification#assign_defaults into #initialize.
* RemoteFetcher#fetch_path now dispatches dynamically to 'fetch_<uri.schema>'
* Removed Specification @@gather.
* Removed Specification.attribute.
* Removed Specification.attribute_alias_singular.
* Removed Specification.attribute_defaults.
* Removed Specification.attributes
* Removed Specification.overwrite_accessor.
* Removed Specification.read_only.
* Removed Specification.required_attribute.
* Removed Specification::SPECIFICATION_VERSION_HISTORY and turned into rdoc
* Removed blanket rescue in default_executable. Hope it doesn't blow up! :P
* Removed nearly all metaprogramming from Specification. Yay for
attr_accessor!
* SourceIndex#initialize changed to prefer an array of spec dirs, defaulting
to none.
* SourceIndex.new is now the preferred way to create SourceIndex instances.
*gasp*
* Specification#validate now checks that array attribs are indeed arrays.
* Specification.default_value is now an instance method.
* Switched Specification::TODAY to be proper midnight @ UTC
* Update Gem::RemoteFetcher\'s User-Agent to handle RUBY_ENGINE and
RUBY_REVISION when patchlevel is -1
* UpdateCommand#gems_to_update now returns (name, version) pairs.
* UpdateCommand#which_to_update now takes an optional system argument.
* 11 bug fixes:
* Added missing remote fetcher require to pristine command (aarnell)
* Building gems now checks to ensure all required fields are non-nil
* Fix option parser when summary is nil.
* Fixed `gem contents` to work with the lightweight specifications
* Fixed `gem update --system x.y.z` where x.y.z == latest version. (MGPalmer)
* Fixed gem contents sorting and tests. (MGPalmer)
* Fixed intermittant problem in `gem fetch` with --platform specified (quix)
* Fixed lightweight specifications so `gem rdoc` will generate proper
documentation
* MockGemUI#terminate_interaction should not raise Gem::SystemExitException.
(MGPalmer)
* RubyGems now raises a better error for broken .gem files. Bug #29067 by
Elias Baixas
* `gem update` now uniq's command line arguments.
=== 1.6.2 / 2011-03-08
Bug Fixes:
* require of an activated gem could cause activation conflicts. Fixes
Bug #29056 by Dave Verwer.
* `gem outdated` now works with up-to-date prerelease gems.
=== 1.6.1 / 2011-03-03
Bug Fixes:
* Installation no longer fails when a dependency from a version that won't be
installed is unsatisfied.
* README.rdoc now shows how to file tickets and get help. Pull Request #40 by
Aaron Patterson.
* Gem files are cached correctly again. Patch #29051 by Mamoru Tasaka.
* Tests now pass with non-022 umask. Patch #29050 by Mamoru Tasaka.
=== 1.6.0 / 2011-02-29
4 Deprecations:
* RubyGems no longer requires 'thread'. Rails < 3 will need to add require
'thread' to their applications.
* Gem.cache is deprecated. Use Gem.source_index.
* RbConfig.datadir is deprecated. Use Gem.datadir.
* Gem::LoadError#version_requirements has been removed. Use
Gem::LoadError#requirement.
2 Major Enhancements:
* Rewrote how Gem::activate (gem and require) resolves dependencies.
* Gem::LoadError#version_requirement has been removed. Use
Gem::LoadError#requirement.
17 Minor Enhancments:
* Added --key to `gem push` for setting alternate API keys.
* Added --format-executable support to gem uninstall.
* Added Gem::DependencyList#clear.
* Added Gem::DependencyList#remove_specs_unsatisfied_by
* Added Gem.latest_spec_for, latest_version_for, and latest_rubygems_version.
* Added Gem::Dependency#merge which merges requirements for two
dependencies.
* Added Gem::TestCase#util_spec for faster tests.
* Added Gem::Specification#dependent_specs.
* Added Gem::TestCase#new_spec and Gem::TestCase#install_specs.
* Added flag to include prerelease gems in Gem::SourceIndex#latest_specs.
* Gem.cache_dir always references the proper cache dir.
Pass true to support a user path.
* Gem.cache_gem, given a filename always references the cache gem.
Pass true to support a user path.
* Added Gem::Specification#conflicts
* Removed rdoc gem/require from test_case.rb.
* Rubygems will no longer let you push if you're using beta or unreleased
rubygems.
* Save RAM / GC churn by removing spec.files and rdoc options from
locally cached gem specifications.
* SpecFetcher.fetch_spec can now take a string source_uri.
10 Bug Fixes:
* Added missing require of Gem::RemoteFetcher to the unpack command.
* RubyGems now completely removes a previous install when reinstalling.
* Fixed Gem::Installer#generate_bin to only chmod files that exist.
* Fixed handling of Windows style file:/// uris.
* Fixed requires in tests. (shota)
* Fixed script generation on Windows.
* Fixed test issues if you have older rubygems installed.
* Gem::DependencyInstaller tests use Gem::Security, add the missing require.
* Gem::Security used FileUtils but didn't require it. Reported by Elia Schito.
* Gem::Uninstaller now respects --format-executable.
=== 1.5.3 / 2011-02-26
Bug Fixes:
* Fix for a bug in Syck which causes install failures for gems packaged with
Psych. Bug #28965 by Aaron Patterson.
=== 1.5.2 / 2011-02-10
Bug Fixes:
* Fixed <tt>gem update --system</tt>. RubyGems can now update itself again.
=== 1.5.1 / 2011-02-09
==== NOTE: `gem update --system` is broken. See UPGRADING.rdoc.
Minor Enhancement:
* Added ability to do gem update --system X.Y.Z.
Bug Fixes:
* Scrub !!null YAML from 1.9.2 (install and build).
* Added missing requires for user_interaction.
* Wrote option processing tests for gem update.
* Updated upgrading doco for new gem update --system option.
* Fixed SilentUI for cygwin; try /dev/null first then fall back to NUL.
* RubyGems now enforces ruby 1.8.7 or newer.
=== 1.5.0 / 2011-01-31
==== NOTE: `gem update --system` is broken. See UPGRADING.rdoc.
Major Enhancements:
* Finally fixed all known 1.9.x issues. Upgrading is now possible!
* Merged huge 1.3.7/ruby-core changes to master.
Minor Enhancements:
* Added UPGRADING.rdoc to help deal with 1.9 issues.
* Gem::Format now gives better errors for corrupt gem files and includes paths
* Pre-install hooks can now abort gem installation by returning false
* Move shareable TestCase classes to lib/ to help plugin authors with tests.
* Add post-build hooks that can cancel the gem install
* Always require custom_require now that require_gem is gone
* Added GemInstaller accessors for @options so plugins can reference them.
* Optimized Gem.find_files. ~10% faster than 1.4.2. ~40% faster than ruby 1.9.
* Gem::SilentUI now behaves like Gem::StreamUI for asking questions. Patch by
Erik Hollensbe.
Bug Fixes:
* `gem update` was implicitly doing --system.
* 1.9.3: Fixed encoding errors causing gem installs to die during rdoc phase.
* Add RubyForge URL to README. Closes #28825
* 1.9.3: Use chdir {} when building extensions to prevent warnings. Fixes #4337
* 1.9.2: Fix circular require warning.
* Make requiring openssl even lazier at request of NaHi
* `gem unpack` will now download the gem if it is not in the cache. Patch by
Erik Hollensbe.
* rubygems-update lists its development dependencies again
=== 1.4.2 / 2011-01-06
Bug fixes: