forked from thaljef/Pinto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
1892 lines (1306 loc) · 71.7 KB
/
Changes
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
{{$NEXT}}
[BUG FIXES]
- Fixed test failures caused by the presence of a ~/.pause file. GH #172.
[NEW COMMANDS]
- The "look" command will unpack a distribution into a temporary directory
and spawn a subshell in that location. Contributed by Kal Hodgson.
[ENHANCMENTS]
- The "diff" command now has a --format option for more precise control
of the output. Contributed by Florian Ragwitz.
0.09996 2014-11-04 10:54:11-08:00 America/Los_Angeles
[MISCELLANEOUS]
- Upgraded to latest version of Module::CoreList, so we can support
latest versions of perl.
- Tests will no longer clobber ~/.cpanm (GH #170). Thanks to Karen
Etheridge for pointing this out.
0.09995 2014-08-19 18:27:23 America/Los_Angeles
[SECURITY]
- Fixed critical security hole in Pinto::Server. If you are using pintod,
please upgrade now! Thanks to Aran Deltac for reporting this.
[ENHANCEMENTS]
- Improved error handling in Pinto::Remote so you get pretty colored
errors instead of big ugly stack traces, just like you do when using
a local repository.
[MISCELLANEOUS]
- Demoted some warnings to notifications, for less noisy output.
Use the --verbose option to see more diagnostic output.
0.09993 2014-05-02 17:43:41 America/Los_Angeles
[INCOMPATILBE CHANGES]
- The protocol used to communicate with a remote Pinto repository is now
versioned with media types via the "Accept" header. So if you upgrade
to this version of pinto, you'll also need to upgrade pintod to this same
version. Going forward, the protocol will be versioned so that we
can potentially support different versions of the client and server at
the same time. But for the time being, you'll get an exception telling
you whether to upgrade your client (pinto) or the server (pintod).
- The PINTO_COLORS and PINTO_COLOURS environment variables are deprecated
in favor of PINTO_PALETTE. You can still use the old names for now, but
they will be removed in a future release.
- When using the --all option with the "list" command, the default format
shows the pin status as "?" (i.e. indeterminable) instead of showing the
main module status.
[BUG FIXES]
- Colorization is now disabled by default when the output is being piped or
redirected to a file. This improves interoperability with tools like grep,
sort, etc. To force colorization, use the --color or --colour option.
Fixes GH #155. Thanks @mar-kolya.
- The "roots" will now include test and develop prereqs, since Pinto has no
way of knowing how those distributions relate to your application. This
fixes GH #158. Thanks @mar-kolya.
- Fixed timezone.t test which would fail in some cases, ostensibly
because the test environment would not allow us to open sockets
(probably due to security reasons). Thanks CPAN Testers.
[ENHANCEMENTS]
- When using the "add" command, the paths to the local archives can now be
expressed using file:/// URLs.
- The PINTO_PAGER_OPTIONS environment variable can now be used to pass specific
options to your pager when using it with pinto. For example, to tell `less`
to display colors.
[DOCUMENTATION]
- Revised the Tutorial and QuickStart documentation.
0.09992_02 2014-04-29 14:22:29 America/Los_Angeles
0.09992_01 2014-04-28 10:31:21 America/Los_Angeles
- Changes consolidated above under version 0.09993$
0.09992 2014-04-23 15:14:50 America/Los_Angeles
[BUG FIXES]
- Fixed extra newlines that were inserted into large responses
from Pinto::Server. Closes GH #154. Thanks @mar-kolya.
0.09991 2014-04-05 06:28:18 America/Denver
[BUG FIXES]
- Fixed timezone handling for remote users. But it only applies
to new revisions. Old ones will probably still be reported in
the wrong timezone (unless you happen to be in the right one).
0.0999 2014-04-03 22:53:31 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- Internal API changes only. Now all the attributes that were named
"from_stack" are named "stack". This makes the API more consistent, since
the "stack" is almost always the thing that is in play.
[OTHER CHANGES]
- No new features, enhancements, or bug fixes.
0.0998 2014-03-31 15:27:14 America/Los_Angeles
[BUG FIXES]
- Fixed behavior and error message when the repository is not
writable by the user. Fixes GH #150. Thanks @bkysela.
0.0997 2014-03-23 20:36:48 America/Los_Angeles
[BUG FIXES]
- Fixed behavior of the --force flag on the new "update" command.
It now applies to all packages that might be updated, not just the
targets list on the command line.
[ENHANCEMENTS]
- When generating the title for the log message, only the targets
at the top of the dependency graph are listed, and only if they
(or one of their prerequisites) were actually affected by the
operation. In effect, redundant and prereq targets are therefore
excluded from the message. This attempts to fix GH #86. Thanks @akarelas.
0.0996 2014-03-22 21:12:29 America/Los_Angeles
[BUG FIXES]
- Added a workaround for Net::LibIDN, which was not being properly
indexed. If you experienced this problem, just `pull Net::LibIDN`
to correct it. This fixed GH #149. Thanks @perlpunk and @malbin.
0.0995 2014-03-18 21:12:56 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- The argument for the "init" command is now the repository root
instead of the stack name. This makes the interface more convenient
and more familiar to git users. You can still specify the root
using the global --root option if you like. And the initial stack
name can be set with the --stack option.
[NEW COMMANDS]
- All the new command listed below are experimental. The interface and
behavior is subject to change. See the POD in each command for details.
- The "update" command pulls the latest version of packages. You can
ask to update all packages or just specific ones.
- The "merge" command joins the history of two stacks together. At the
moment, it is only capable of fast-forward merges.
- The "reset" command moves the head of the stack to a prior revision,
thereby discarding all subsequent revisions.
- The "revert" command creates a new revision that matches the state at
a prior revision.
[ENHANCEMENTS]
- The index file for each stack now contains artificial records for
each module that is included in the target version of perl. This
allows installers to cope with requests to install core modules,
which normally aren't present in a Pinto repository. If you pull
a dual-life module, it will mask the artifical records. The
artifical records never appear in a stack diff or listing.
NOTE: This change will take effect the next time you perform
any command that modifies the state of the stack.
[BUG FIXES]
- The "install" command threw an exception with a misleading error
message when using the -m option without --do-pull. Now, both the
-m and -M options are silently ignored when --do-pull is not used.
Fixes GH #145 (thanks, @hartzell)
0.0994_04 2014-03-17 21:33:08 America/Los_Angeles
0.0994_03 2014-03-16 00:38:40 America/Los_Angeles
0.0994_02 2014-03-15 23:07:23 America/Los_Angeles
0.0994_01 2014-03-05 01:04:46 America/Los_Angeles
- Changes consolidated above under version 0.0995
0.0994 2014-03-01 16:04:28 America/Los_Angeles
[ENHANCEMENTS]
- Improved the locking mechanism so concurrent read operations are
sometimes possible, especially during the "install" command. This
fixes GH #142.
0.0993 2014-02-23 14:03:28 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- Pinto no longer sets the default port when connecting to a remote
repository. So in most cases, you'll have to explicitly add the port
number to the URI given as the --root. The default port that "pintod"
listens on is 3111. But if you're running "pintod" behind another server
(like Apache or Nginx) then you can probably omit the port number and
Pinto will use the default port that is appropriate for the scheme.
Closes GH #136. Thanks @spacebat.
[ENHANCEMENTS]
- When the repository is a local directory, it can also be expressed
using a file:// URI. This applies to both the --root option and the
PINTO_REPOSITORY_ROOT environment variable. Fixes GH #128.
0.0992 2014-02-10 02:01:18 America/Los_Angeles
[ENHANCEMENTS]
- The "list" command now has a --all option that causes it to list
every package in every distribution in the repository, including past
releases and distributions that are not currently registered on any
stack. When using the --all option, the output includes two extra flags:
"m" means that the package is considered to be the main module in the
distribution. "x" means that the package can be included in the index.
For both of these, the flags will appear as "-" when they are false.
- The --packages, --distributions, and --authors filtering options on
the "list" command are now treated as regular expressions. Take care
to quote them if you use any special shell metacharacters.
[BUG FIXES]
- Fixed regression in the "pin", "unpin", and "unregister" commands
which resulted in a warning from DBIx::Class about returning multiple
rows for a find() query.
0.0991 2014-01-31 17:19:17 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- The --skip-missing-prerequisites option has been replaced with two
separate options: 1) --skip-missing-prerequisite (without the final "s")
requires you to specify the name of the packages you want to skip. This
option can be repeated. 2) --skip-all-missing-prerequisites does not
require an argument and causes Pinto to skip all missing prereqs. These
options can be abbreviated as -k and -K respectively.
0.099 2014-01-28 12:30:49 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- The logic that Pinto uses to construct the index has changed. The
index will now include packages only if they are contained in a file with a
matching name. For example, Foo::Bar must be in a file called Bar.pm. So
in effect, Pinto will only index packages that can be use'd or require'd and
thus form a dependency. This makes it more of a "module" index rather than
a pure "package" index like PAUSE. But Pinto has never promised to index
exactly like PAUSE anyway. The benefit is that it also fixes the problem of
Pinto indexing packages that it shouldn't.
- The aforementioned changes to the index logic will only apply when a
distribution is pulled to a stack where it isn't already registered.
Existing indexes will not spontaneously change just by upgrading Pinto. If
you wish to apply the new index logic to a distribution that already lives
in a certain stack, first use the "unregister" command to remove it from
the stack and then use the "register" command to bring it back with the
new logic.
[ENHANCEMENTS]
- For repositories that prohibit intermingled distributions in the index
(which is the default) the registration process has been optimized because we
can assume that all packages in the distribution are in the index. In some
cases, this can make the "pull" and "add" commands much faster, especially
for distributions that contain a large number of packages.
[BUG FIXES]
- When deciding if a prequisite is satisfied by the perl core, Pinto now
regards a package that is marked as deprecated in the target perl version
as if it has already been removed, thus causing Pinto to pull the prereq.
This makes Pinto consistent with the behavior of cpanm.
0.098_01 2014-01-28 01:43:19 America/Los_Angeles
- Changes consolidated above under version 0.099
0.098 2014-01-27 16:49:14 America/Los_Angeles
[IMPORTANT]
- This release contains a lot of new features. I strongly recommend
reading the manual pages for the "pull", "add", "log", and "diff"
commands as well as "pinto" itself for further explanation of the
enhancements mentioned below.
- Many of the new features in this release were financed by the Perl
community through a crowdfunding campaign. Thank you for your support.
Go to http://tinyurl.com/gopinto to see how it all happened.
[ENHANCEMENTS]
- Pinto can now use a web service provided by stratopan.com to locate
upstream packages and distributions. This can reduce memory consumption
during the "pull" and "add" commands by about 50%. And for distributions
with few dependencies, it can increase the speed of those commands by as
much as 300%. This feature will be enabled by default for new
repositories. For existing repositories it must be enabled manually by
adding "http://cpan.stratopan.com" as the (usually first) upstream
source in your repository configuration file.
- The "pull" command can now fetch a precise version of a package using
a version specification string such as "Moose==1.34" or "Plack>=2,!=4".
This means you can quickly build a repository with your current
depedencies and you only need to know the package name and version.
This feature will be enabled by default for new repositories. For
existing repositories it must be enabled manually by adding
"http://cpan.stratopan.com" as the (usually first) upstream source
in your repository configuration file.
- The "pull" and "add" commands now have a --skip-missing-prerequisites
flag that causes it to skip (but warn about) any prerequisite packages that
it cannot satisfy. You can use it to specify precisely which packages to
skip, or to skip all unsatisfiable packages. This option only has effect
when recursively pulling prerequisites.
- When using the --dry-run option, a diff report will be displayed,
showing all the changes that would have been made. If there were no
changes, nothing is shown.
- The diff reports now default to a concise format which only lists
the distributions that have changed in the index rather than each
package.
- All commands that show diff reports now have a --diff-style option
that controls whether to display the concise or detailed report. You
can also set the default style using the PINTO_DIFF_STYLE environment
variable.
- The "log" command now has a --with-diffs (or -d) option that causes
it to also display the diff from the previous revision.
- Pinto can now handle META files that contain prerequisites with
version ranges such as ">4, !=5, <=7". These are currently used by a
handful of distributions on CPAN, and they are gradually becoming more
common. Fixes GH #127.
[BUG FIXES]
- The "roots" command was returning way too many distributions
because it wasn't examining all the indirect dependencies.
- Fixed when pulling a precise package target (e.g. Foo::Bar==1.0)
that existed in a distribution that you already had.
0.097_04 2014-01-25 15:12:31 America/Los_Angeles
0.097_03 2014-01-23 13:07:22 America/Los_Angeles
0.097_02 2014-01-23 00:37:04 America/Los_Angeles
0.097_01 2014-01-17 12:46:28 America/Los_Angeles
- Changes consolidated above under version 0.098
0.097 2014-01-07 20:53:29 America/Los_Angeles
[BUG FIXES]
- Fixed compatibility with the exception objects thrown by the
latest version of Moose. However, Pinto itself does not require
the latest version of Moose.
0.096 2014-01-07 10:32:19 America/Los_Angeles
[ENHANCEMENTS]
- The exit status of the "list" command will now be non-zero if
you specify any search criteria and no matches are found. This
follows the behavior of the Unix "ls" command.
[BUG FIXES]
- Now requires Module::CoreList 3.03 or newer.
0.095 2013-12-22 23:38:28 America/Los_Angeles
[BUG FIXES]
- Fixed bug in the new "roots" command that caused it to report
far fewer distributions than it should.
[ENHANCEMENTS]
- A warning is emitted if you try to pull or add a Bundle
distribution. Pinto does not know how to automatically determine
prerequisites for a Bundle.
- A better error message is given when repository is not writable.
Previously, you were (incorrectly) told that the repository was
locked.
0.094 2013-12-22 00:36:27 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- When pulling or adding a distribution which contains packages that
partially overlap with an existing distribution on the stack, then
all packages from the existing distribution are removed from the
stack, not just the overlapping ones. This means it is impossible
for the stack to contain only *some* of the packages from any
distribution.
In nearly all cases, this is what you want because you never want
to end up with an installation that has some packages from one
distribution and some packages from another. If you really want
your stack to contain the packages from both distributions like
the PAUSE index does, then Pinto probably isn't the right tool
for you.
[NEW COMMANDS]
- The "roots" command will list all the distributions that are
the root ancestors of the dependency graph which includes all
distributions in the stack. This command can be used to install
every distribution in the stack in one shot. There are some
caveats though. See the documentation for details.
0.093 2013-12-21 16:24:39 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- The "add" and "pull" commands now have both --no-recurse and --recurse
options. This allows you to turn recursion off OR on, depending on
the default setting for the repository (see more about that under
ENHANCEMENTS). However, the -n shortcut for --no-recurse is no
longer available.
[ENHANCEMENTS]
- The pinto.ini configuration file may now contain a "recurse"
parameter that determines the default recursion behavior for
the "pull" and "add" commands. Setting it to 1 means those
commands are recursive by default. Setting it to 0 means
those commands are not recursive by default. Either way,
commands can always override that parameter using either the
--recurse or --no-recurse switches.
- pinto now falls back to using nano, pico, or vi if none of the
usual environment variables for controlling the editor are set.
This fixes #119. Thanks @borisdaeppen for the suggestion.
- The distributions listed in the generated title of the commit
message will now be sorted and deduplicated.
0.092 2013-11-20 11:07:50 America/Los_Angeles
[ENHANCEMENTS]
- Periods are now allowed in stack names, user names, and
property names. Note that author ids are still limited to
uppercase letters and numbers, to be consistent with PAUSE.
0.091 2013-10-25 12:09:52 America/Los_Angeles
[BUG FIXES]
- pinto now accepts remote repository addresses that use SSL
(i.e. those starting with "https://"). This fixes #123.
[DOCUMENTATION]
- Numerous spelling corrections and documentation improvements.
Big thanks to David Steinbrunner and Boris Däppen.
0.090 2013-08-23 14:41:34 America/Los_Angeles
[CODE CHANGES]
- None.
[DEPENDENCY CHANGES]
- Now requires version 0.010 Package::Locator, which respects your
environment variables for user agent proxy settings. This fixes #111.
0.089 2013-08-19 13:03:26 America/Los_Angeles
[CODE CHANGES]
- None.
[DOCUMENTATION CHANGES]
- Added Copyright declarations to files in etc/ so the Debian
packagers can avoid legal hassles when redistributing this code.
- Added an =encoding command to all POD. This should fix
whatever caused MetaCPAN to reject the last release of
Pinto. (Thanks rwstauner & oalders).
- Reformatted this change log to conform to the
CPAN::Changes::Spec (Thanks omega).
0.088 2013-08-15 10:49:36 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- Both the "pull" and "add" commands will no longer fetch
development prerequisites by default. If you want to have them,
then add the --with-development-prerequisites (or --wd) option.
[NEW FEATURES]
- The "add" command now has an experimental --no-index option to
exclude certain packages from the index. This is useful when
Pinto finds packages in your distribution that it should not.
Thanks to Todd Chapman for the great suggestion.
- The "diff" command now accepts revision IDs as arguments, so
you can compare any two arbitrary revisions. Revision IDs can
be truncated to uniqueness. This feature was generously funded
by a grant from TPF.
- The "new" command now accepts a --target-perl-version option to
set the target perl version of the new stack. This affects how
Pinto decided if a prerequisite is satisfied by the core. If
you do not specify the --target-perl-version, then it defaults
the global value that is set in the repository configuration
file.
[ENHANCEMENTS]
- Improved the output from the "manual" command. Thanks to Tommy
Stanton.
- Optimized some queries to make it faster to register packages
on a stack. In the best cases, performance has improved by
about 150%. But in the average case, the limiting factor is
fetching and unpacking the upstream distribution, so you'll only
see a slight improvement there.
- If your username contains non-alphanumeric characters, they
will be stripped out when used as your author identity. This is
because the CPAN toolchain requires author ids to be
alphanumeric. Thanks to @chiselwright and @cebjyre.
- The "statistics" command now accepts a stack name, so you can
see the figures for any stack in the respository, not just the
default stack. This was a silly omission. I don't know why I
left it out.
[BUG FIXES]
- You can now edit the commit message when pinto is reading input
from a file or pipe, as long as STDOUT is connected to a
terminal. You can always just use the -m or -M options if you
don't want to edit the message.
- You can now change only the letter case when renaming a stack,
even on case-insensitive filesystems. So you can change "foo"
to "FOO". Previously, you had to change the name entirely, and
then rename it again to the desired case.
[INTERNAL CHANGES]
- Pinto no longers stores the file path and SHA digest of every
package it sees in the META, since many distributions on CPAN
don't have the right paths in there anyway. This allows Pinto
to index some (technically broken) distributions that it
otherwise couldn't. Pinto was never really using this
information anyway, and it will probably be removed from the
schema entirely in the next major upgrade cycle.
0.087_05 2013-07-29 23:03:41 America/Los_Angeles
0.087_04 2013-07-26 20:11:14 America/Los_Angeles
0.087_03 2013-07-21 01:16:50 America/Los_Angeles
0.087_02 2013-07-16 02:12:40 America/Los_Angeles
0.087_01 2013-07-09 01:06:47 America/Los_Angeles
[DEVELOPER RELEASES]
- Changes consolidated above under version 0.088.
0.087 2013-06-19 14:47:01 America/Los_Angeles
[INCOMPATIBLE CHANGES]
- When pulling, Pinto now takes the first satisfactory package
that it finds among the upstream repositories, rather than
taking the latest one. This only matters if you specify
multiple upstream repositories. To get the old behavior, use the
new --cascade option on the "pull" and "add" commands. Thanks
@hesco for helping me sort this out.
- The "version" command has been removed. Now that all Pinto
components ship together, they all have the same version number.
So there is no need for a special version command. If you want
to know what version of pinto you have, just use the --version
option.
- Author IDs must now match /^[A-Z]{2}[-A-Z0-9]*$/. In other
words, two ASCII letters followed by zero or more ASCII letters,
digits, or hyphens. If you use lowercase letters, they will be
automatically forced to uppercase for you. This was done
because cpanm relies on author IDs following the PAUSE
convention. I had hoped that Pinto could be more liberal about
author IDs, but it seems we must conform so that we can
cooperate with the rest of the toolchain.
- The --no-history and --allow-duplicates repository
configuration parameters are no longer supported. I had created
those so you could try mirroring CPAN with a Pinto repository.
But I have decided that use case is out of scope for Pinto. If
you realy want a mirror of CPAN, use CPAN::Mini or rsync.
[ENHANCEMENTS]
- The names of those kind souls who generously helped finance
Pinto through the crowdfunding campaing on Crowdtilt are now
listed in Pinto::Manual::Thanks. There is also a related Easter
egg among the pinto(1) commands -- see if you can find it!
See http://tinyurl.com/gopinto to learn more about the campaign.
- Pinto::Server (a.k.a. pintod) will abort the action if it
looses the connection with the client. So, for example, you can
press Ctrl-C in the middle of pulling a long chain of
dependencies into a remote repository and the server will
immediately stop and roll back the entire transaction.
- The progress meter is now visible when using a remote
repository. The progress meter is never shown when --verbose or
--quiet is set, or when STDERR is not connected to a terminal.
- The "init" command now has a --target-perl-version switch that
sets the default target_perl_version property for all new
stacks. This is handy if you know that all stacks will be
targeting a perl that is different from the one you are using to
run pinto.
[BUG FIXES]
- The "install" command can now be used on a locked stack, but
only if the --do-pull option is not given. If you want to pull
packges while installing, then you must unlock the stack first.
Thanks Jeremy Marshal.
- The "install" command can now be used on a remote repository
that has basic HTTP authentication enabled. Beware that cpanm
does not sanitize passwords from its log messages. I'm working
with miyagawa to fix that.
- Pinto::Server now cleans up child procs. No more zombies!
- Cleaned up some extraneous dependencies.
- Fixed several typos in the documentation.
0.086 2013-06-18 02:45:38 America/Los_Angeles
0.085 2013-06-18 02:45:38 America/Los_Angeles
[BROKEN RELEASES]
- Changes re-consolidated above under version 0.087.
0.084_02 2013-06-16 20:54:06 America/Los_Angeles
0.084_01 2013-06-16 00:53:47 America/Los_Angeles
[DEVELOPER RELEASES]
- Changes consolidated above under version 0.087.
0.084 2013-05-14 17:24:22 America/Los_Angeles
[ENHANCEMENTS]
- Revised documentation for pintod.
[BUG FIXES]
- Now requires verison 0.018 of Test::LWP::UserAgent or newer
which resolves some test failures in Pinto seen by CPAN Testers
using older versions of T::LWP::UA.
0.083 2013-05-13 14:36:21 America/Los_Angeles
[ENHANCEMENTS]
- Improved password prompting, so it still works when STDIN
and/or STDOUT are not connected to a terninal anymore.
- Revised and corrected errors in documentation.
- The etc/ directory has a sample init.d script (thanks @hesco).
0.082 2013-04-29 09:42:43 America/Los_Angeles
- Just minor changes so Pinto will run on perl 5.8.9
0.081 2013-04-26 13:51:32 America/Los_Angeles
- Just a minor change in test code to prevent failure occasionaly
seen on Unix boxen.
0.080 2013-04-26 10:41:19 America/Los_Angeles
[HEADLINES]
- Pinto::Server and Pinto::Remote have been merged into this
distribution, so everything ships together. It also means both
Pinto::Server and Pinto::Remote are now working again. Woot!!
There is one caveat: when using a remote repository, pinto will
not display the diff and prompt you to edit the commit message.
Instead, it will automatically use the default generated message
or the message you specified at the command line. I hope to fix
this soon.
[BUG FIXES]
- pinto(1) and pintod(1) will now be installed with a fixed
shebang, so that they will always run with the same version of
perl, even if you use perlbrew to switch to a differnt perl
(thanks @punter)
- pinto(1) will now show the progress meter when reading input
from a file. The progress meter will be hidden whenever STDERR
is not connected to a tty. Use the --verbose or --quiet option
to forcibly hide the progress meter.
- Pinto now indexes "inner packages" so distributions like
mod_perl will be indexed (more) correctly. I had misunderstood
how PAUSE worked. Thanks @miyagawa.
0.068 2013-04-04 22:41:55 America/Los_Angeles
- Now using Module::Build::CleanInstall, which removes files from
the last installation before installing. This should help
prevent build failures for those coming from versions prior to
0.066. Thanks to Joel Berger for creating the wonderful
M::B::CleanInstall!
- Worked around bizzare bug that caused DateTime::TimZone to blow
up with a "locate object method" exception on perl 5.14. Root
cause has not been determined.
0.067 2013-03-30 00:23:36 America/Los_Angeles
- Only minor refactoring. No functional or interface changes.
- Explicitly requires Term::ANSIColor 2.02 or later. Thanks CPAN Testers!
- Requires Pinto::Common 0.068, so you'll have better documentation.
0.066 2013-03-26 16:18:06 America/Los_Angeles
[HEADLINES]
- Your MUST uninstall both Pinto and App::Pinto before installing this.
- For local repositories, you'll need to have App::Pinto 0.066 or later.
- This release is not (yet) compatible with any Pinto::Server.
[IMPORTANT]
- Bad news: This version of Pinto is not compatible with
*existing* repositories. To migrate, you'll need to create a new
repository (using this version of Pinto) and then "pull" all the
distributons from your old repository into the new one. Repeat
this process for each stack. Unfortunatley, you will loose your
revision history. If you bug me about it, I'll write a script to
automate this for you. I am [email protected].
- Good news: This version of Pinto has hooks to do future
migrations automatically. So any repository you create with
*this version* of Pinto can be easily migrated to any future
versions. I'm also pretty confident that the schema is now
stable, so a migration will not be required for a while.
[CHANGES]
- Switched from using Archive::Tar to Archive::Extract. The
latter will attempt to use tar(1) to unpack the archive, which
works much better with older archives. This is a bit slower
however. If you don't have tar(1), it falls back to using
Archive::Tar internally.
- Switched from using HTTP::UserAgent to HTTP::Tiny. This cuts
out one non-core dependency. But some of Pinto's upstream
dependencies probably still use HTTP::UserAgent, so the net
effect is moot.
- The version control subsystem has been completely redesigned.
Pinto now stores full snaphots of the stack at each revision and
organizes them in a directed graph, much like Git does. Each
revision is now identified by a unique non-sequential identifier.
- The interface with the terminal has been completely redesigned.
You'll see fewer (but hopefully better) diagnostic messages when
running in verbose mode. And if not verbose, then you'll see a
progress meter. If you still want to see all the gory details,
then set the PINTO_DEBUG environment variable.
- The logger has been completely removed, so Pinto no longer
records diagnostic messages. Recording them never proved to be
useful anyway. All the important changes to the stacks are still
recorded in the revision log though.
- Several Action classes have been added, removed, renamed, or
repurposed. The specifics are not described here because the
Pinto API is still private. See the change log for App::Pinto
for a description of all the public interface changes.
0.065_06 2013-03-23 00:22:57 America/Los_Angeles
0.065_05 2013-03-20 16:21:57 America/Los_Angeles
0.065_04 2013-03-20 16:06:15 America/Los_Angeles
0.065_03 2013-03-19 15:52:24 America/Los_Angeles
0.065_02 2013-03-15 23:39:27 America/Los_Angeles
0.065_01 2013-03-15 16:19:38 America/Los_Angeles
[DEVELOPER RELEASES]
- Changes consolidated above under version 0.066.
0.065 2012-11-14 09:55:54 America/Los_Angeles
[Interface Changes]
- In commit messages, all lines starting with '#' are discarded.
Previously, we figured out the start and end of the message
based on other landmarks, but that isn't very reliable.
- Commit timestamps are now reported in the format that is right
for your locale. However, they are reported in UTC, not the
local timezone. I will fix this in the next release.
[New Features]
- Commit messages are now parsed into separate title and body
sections. The message prompt will advise you to put the title
on the first line, followed by one blank line, followed by the
body (just like with Git). We make some attempt to be lenient
with the parsing, in case you don't follow the suggetion.
0.064 2012-11-12 13:29:50 America/Los_Angeles
[New Features]
- If running in an interactive environment and the PINTO_PAGER or
PAGER environment variable is set, then Action output will be
sent to it. Log messages still go to STDERR and will not be
sent to the pager.
0.063 2012-11-12 11:58:29 America/Los_Angeles
[Important]
- This version of Pinto is not compatible with repositories that were created
with prior versions. Please contact [email protected] if you need to migrate an
old repository.
[New Features]
- Now has a Rename action, to change the name of an existing
stack. You'll need a newer App::Pinto to utilize this action
(Schwern).
[Bug Fixes]
- The Delete action actually works now (Schwern, Holybit).
0.062 2012-11-08 10:52:02 America/Los_Angeles
[Interface Changes]
- If the commit message for a Committable action is empty (but
defined) then we automatically fall back to using the default
message.
[Interal API Changes]
- Actions that take a stack name argument can now accept a stack
object as well.
- Pinto::Util has been moved from this distribution to Pinto-Common.
0.061 2012-10-30 17:19:10 America/Los_Angeles
[Interal Changes]
- Some query optimizations, to benefit alpha.stratopan.com
- Stack and Revision objects are now sortable. In string
context, Stacks sort by name. In numeric context, they sort by
Revision. Revisions sort chronologically.
0.060 2012-10-23 10:57:41 America/Los_Angeles
[New Features]
- You can now set the default stack at the same time that you
create or copy a stack.
[Other Changes]
- The output of the Blame action now has the familiar format of
the List action, and records are sorted by package name.
0.059 2012-10-20 00:52:34 America/Los_Angeles
[Important]
This version of Pinto is not compatible with repositories that
were created with prior versions. Please contact [email protected]
if you need to migrate an old repository.
[Interface Changes]
- Stack names and property names are no longer forced to
lowercase. Instead, we preserve the original case when they
are created. But subsequent comparisons or lookups are done
irrespective of case.
- Author IDs are no longer forced to uppercase. However, the
author ID in the canonical path for any distribution that you
add will always be uppercase, which is consistent with PAUSE.
When listing distributions/packages for a certain author, the
comparison is done irrespective of case.
[Other Changes]
- Made several schema optimizations to help support Stratopan,
the upcoming cloud-based service built on Pinto. For a
preview, check out http://alpha.stratopan.com
0.058 2012-10-11 22:47:23 America/Los_Angeles
[New Features]
- Added the Blame action, which reports who last modified each
package in the stack. You'll need App::Pinto-0.052 to utilize
this action.
[Bug Fixes]
- When pulling prereqs, Pinto would pull the latest version of
the package across the entire repository, rather than taking
the version that is already on the stack. If the package that
is on the stack does not exist or is too old, *then* you get
the latest version in the repository. And if that does not
exist or is too old, *then* we get the latest version from an
upstream repository.
0.057 2012-10-07 12:28:37 America/Los_Angeles
- The Pull action will ignore requests for packages that are in
the Perl core, unless you explicitly request a version of the
package that is newer than the core.
- Removed stray dependency on Pinto::Store::File. That module
has been deprecated and no longer ships with Pinto (holybit).
0.056 2012-09-27 13:40:56 America/Los_Angeles
[Important]
This version of Pinto is not compatible with repositories that
were created with prior versions. Please contact [email protected]
if you need to migrate an old repository.
[New Features]
- Added the Replace action, which substitues one dist for another
on all stacks. You'll need to upgrade App::Pinto to get the
corresponding 'replace' command.
[Other Changes]