-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathChanges
3710 lines (2717 loc) · 129 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}}
2.155 2024-11-24
New feature:
* Loader: add .set_to_standard_value() function
2.154 2024-06-15
Bug fixes:
* AnyId: raise an error when copy is called on an unknown key or idx
* HashId: raise an error when move is called on an unknown key
* HashId: improve copy method to fix PlainFile backend
* grab: fix error message when autoadd is 0
* loader: update .ensure() doc
New feature:
* Loader: add .rename() function for hash
2.153 2023-07-14
Bug fixes:
* term_ui.t: fix test for Term::ReadLine::Gnu 1.46
* Config::Model::Value: remove deprecated given instruction
* docs: remove links to cpanratings
New feature:
* Loader: add support for single quotes
2.152 2022-07-28
Bug fixes:
* fix regression (Value): error_msg now returns empty string
when there's no error
2.151 2022-07-26
Bug fixes:
* fix (Value): do not check compute result with mandatory value
(Debian #1015913)
* fix (Value): consider an empty string as an unset value
Misc:
* Node: apply_fixes now returns $self
2.150 2022-05-08
New features:
* Loader: add list:.ensure(value) function
Bug fixes:
* Loader: fix reading JSON file with utf8 characters
2.149 2022-01-13
Bug fixes:
* fix regression with check_value method
2.148 2022-01-09
Bug fixes:
* fix (Exception): keep ref to instance object
* fix (Hashid): improve warning message when loading non ordered data
* fix (modify instance): show changes before saving
2.147 2021-11-29
Bug fixes:
* fix (test): ignore info Log.
2.146 2021-11-28
Model improvements:
* fstab: add suid/nosuid (thanks Topi Miettinen)
* feat (fstab model): add umask element in common options
* feat (fstab model): add description to common options
Bug fixes:
* feat (Instance): modify methoed displays changes before saving
* fix (Loader): typo in .substitute load string command
* fix (Grab): improve error message of grab_value
* fix (TermUI): add completion to display command
* fix (SimpleUI): simplify error message shown to user
* fix (SimpleUI): avoid undef warnings
* fix (Describe): truncate long lines
* fix (Describe): show default value in comments
* fix (Describe): show value in user mode
* Value: accept on/off as boolean values
* fix: test error with perl 5.20 (Closes gh #32)
2.145 2021-11-06
Bug fixes:
* fix: compilation error with perl 5.20 to 5.22
* fix (Node): undef warning on $filter value
* fix (Model loader): crash with Config::Model::Itself (Debian #998601)
2.144 2021-11-04
Bug fixes:
* fix (BackendMgr): try to fix crash on Windows
* fix (Constants role): fix crash for perl < 5.28
2.143 2021-10-31
Main change:
* requires perl 5.20
Bug fixes:
* fix (Model load): fix load from absolute path
* fix (BackEndMgr): crash when calling config_file_override
with absolute path
* fix (get_info): show upstream_default as written in file
* feature (get_info): include write_as values
2.142 2021-04-07
New features:
* cme function: add force-load parameter to behave like
cme command
Bug fix:
* Avoid messing up array indexes when remove list items (gh #26)
Thanks Hugo van der Sanden, James E Keenan and Slaven Rezić for
the help
* load method: forward value of check parameter
2.141 2021-01-17
New features:
* Loader: can extract data from YAML file
(requires YAML::Tiny)
* Loader: can extract data from JSON file
* feature (ini backend): add quote_value parameter
Bug fix:
* ListId: fix storage of undef value in store_set
* Config::Model::Loader: update documentation. (Thanks gregoa)
Other changes:
* dist.ini: update copyright year
2.140 2020-07-31
API changes:
* PlainFile backend: extract get_file_name method
* AnyId: add fetch_value and fetch_summary method
* Value: add fetch_summary method
Bug fix:
* fix loader_logs tests broken by Config::Model::Tester 4.006
2.139 2020-07-18
UI changes:
* Show warnings in blue color (color can be
configured using Log4Perl config file)
* shell UI:
* add info command
* improve tree and ls commands
API changes:
* Node: add autoadd argument to fetch_element
and has_element methods
* add get_info method to most tree classes
Bug fix:
* Exception: drop constraint in parsed_file
which avoids a crash when cme should be
showing an error message
Misc:
* cleanup code. Thanks kritika.io for the suggestions
* updated copyright years
2.138 2019-12-27
Bug fix:
* CheckList: add missing "backend" fetch mode
Doc improvements:
* Value: update doc of allow_under mode
* fix typo in pod doc
2.137 2019-12-01
Bug fixes:
* AnyId: avoid deref of undef value
* Loader: fix parsing of list assignment with quotes
* Value: do not store warnings from computed value
* Node: warn only once about deprecated elements
* CheckList: accept non_upstream_default mode
Doc improvements:
* AnyId: clarify doc and error message
* Add doc for container method
* Value: clarify load_data doc
* Value: fix typos in doc
API changes:
* Value: provide has_warnings along has_warning
* DumpAsData, Dumper:
* deprecate full_mode parameter
* full dump is now mode => user
2.136 2019-07-29
Bug fix:
* also tweak ~ dir for tests in Path::Tiny coercion
(fixes Config::Model::Systemd tests that was broken with
Config::Model 2.134)
Doc update:
* Mention force option in Instance doc
2.135 2019-06-05
Bug fix:
* Fix undef start_node error occuring with 'cme run' command
(this regression from previous version broke app-cme tests)
* Instance: clear changes after reset
Doc update:
* remove mention of long gone privilege parameter
2.134 2019-05-05
Bug fix:
* Fix Instance->reset_config method
* improve error handling of get_model_doc
Minor behavior changes:
* dump_tree: add quote around value or if that contain '~'
Deprecation:
* Instance: remove deprecated read_root_dir method
Misc:
* update copyright year
* Tests require Config::Model::Tester 4.002
2.133 2019-01-13
Read/write backend improvements:
* Backend::Any: add auto_delete and auto_create
* IniFile: delete empty file when auto_delete is set
and config file contains no data
* warn when restoring backup file
2.132 2018-12-22
Bug fix:
* Value: really use old_value to track changes
* restore "return undef" in Value.pm to avoid breaking apply_fix
Add long forgotten credit (sorry):
* add Ylya Arosov to credit
2.131 2018-12-16
With this release, this distribution no longer provides YAML
backend. The YAML backend is now delivered in its own
distribution. Look for Config::Model::Backend::Yaml on CPAN.
Other changes:
* Value: use warn_if warn_unless label in warning message shown to user.
* BackendMgr: throw correctly "unknown backend" exception
* Exception: trap missing object parameter
Doc update
* remove mention of old config-model-users mailing list (dead)
* BackendMgr: mention that Yaml backend is now external
2.130 2018-12-07
Dependency changes:
* require boolean module (really)
2.129 2018-12-05
Usability improvements:
* Value" improve warning message about multi line value
Perl backend improvement:
* Convert cme boolean values (i.e. value of value_type boolean) to
Perl boolean values
Dependency changes:
* build require boolean module
2.128 2018-11-21
Usability improvements:
* CheckList: die or warn (with cme -force) when storing unknown item
in check list. Bad values used to be silently dropped.
Test fixes:
* add \n at end of yaml test files (gh #22)
Internal changes:
* improve code quality thanks to the feedbacks provided by kritika.io
Doc change:
* Improve navigation in doc: move parameters from header line to paragraph.
* Instance: add doc for backend_arg
* Instance: improve doc of data method
2.127 2018-09-30
Feature improvement:
* Can use regexp in leaf model to specify help on values
Bug fix:
* fix doc of ObjTreeScanner
2.126 2018-08-20
Bug fix:
* Value: Don't crash with some chained fixes
Usability improvements:
* BackendMgr: log an error when eval'ed write dies
2.125 2018-06-24
Bug fix:
* BackendMgr: remove close call on fh. This is now
handled by Path::Tiny
Breaking change:
* BackendMgr: remove code to read from stdin. This removes
the possibility to read a config file from STDIN. This was
deprecated since January and nobody complained.
Doc change:
* improve pod doc on Grab.pm
2.124 2018-06-09
The main change of this release should help people see what's going
on during 'cme run' or 'cme modify'.
Config::Model::initialize_log4perl now accepts a verbose parameter
to enable verbose message of Loader class (used by cme run and
modify). In verbose mode, Loader now shows the effect for each
instruction specified on 'cme modify' command line or specified in the
script run by 'cme run'. This feature will be available with the
next release of cme.
Bug fixes:
* display USER INFO log as plain message (no need of 'INFO:' prefix)
* fix CheckList element handling when cme is run with -force option.
(add check param to CheckList)
* Value: avoid warning when loading wrong boolean (gh #19)
* Avoid unneeded change notif when showing up a node that was
previously hidden (gh #17)
* improve error message about unknown element (gh #18)
2.123 2018-05-01
On-going improvements of R/W backends:
* io_handle backend parameter is deprecated
* use file_path in all backends instead of io_handle
Test improvements:
* build dep on Config::Model::Tester 3.006
* document prove command in t/README.pod
* tests run without showing any warnings
* all tests accept --log --error --trace parameters
* all test models are updated to remove all
deprecated declarations
Bug fix:
* fix parameter sanitisation in Instance
* Value: remove self assignment (tx kritika.io)
* update WarpedNode synopsis
2.122 2018-04-17
Bug fix:
* Warper: fix crash when a warper (aka warp master)
is a computed value
2.121 2018-04-15
* BackendMgr: fix handling of file argument
* Instance: fix compat with Perl < 5.20
Log improvements:
* use User class to log warning for User
* Model: add doc for initialize_log4perl
* Model: moved log4perl default conf in a separate file
(lib/Config/Model/log4perl.conf)
Test improvements:
* add README for the tests
* some tests can be run with --log, --trace and --error
options. See t/README.pod for details
2.120 2018-04-08
Bug fix:
* fix config file location declared with absolute
path (i.e. all system application like ssh, systemd)
2.119 2018-04-02
Main change:
* use logger to warn about issues. By default, logged warnings
are shown on STDOUT. These warnings can be suppressed
using ~/.log4config-model file.
API change:
* Instance: root_dir parameter can be a Path::Tiny object
or a string
Bug fixes:
* BackendMgr: fix broken file backup
* Backend: create dir before creating file
* Yaml backend: avoid redefined sub warning
2.118 2018-03-26
On-going backend deprecation:
* BackendMgr: deprecate using STDIN to load config file. Which
means using '-' with cme '-file' option is deprecated.
Backend:
* Improve global comment extraction
Other changes:
* remove unused modules from BackendMgr
* Exception: improve Model error message
2.117 2018-02-03
Bug fixes:
* notify about addition of hash key only when needed
* fix error message of "missing file" exception
2.116 2017-12-15
Fix broken cme:
* Instance: fix regression about root_dir param
2.115 2017-12-14
On-going backend deprecation (which might be breaking):
* Backend: deprecate using instance name as config file name
* All backends: suffix method is deprecated
Backend:
* ShellVar backend: don't reorder when writing back (experimental)
* trap when backend class has no implementation
New features:
* Loader: provide "english" operator foreach_match, rm rm_value,
rm_match, substitute. These are equivalent to :-~ :- :-= :-~ :=~
operators (cme gh#2)
Bug fixes:
* Node gist: no need to show that value is undef
* WarpedNode: forward fetch_gist instead of gist
* Instance: add doc for root_path parameter
2.114 2017-11-11
On-going backend deprecation (which might be breaking):
* support for multiple backends is now removed. Attempting to
configure multiple backend leads to an error message with
explanations.
* when possible (i.e. when only one backend is specified),
translate read_config and write_config in new rw_config. This
should limit breakage to the minimum as multiple backends are
seldom (if ever) used.
New features:
* AnyId: add fetch method
* CheckList: add store method
* Node: add gist parameter and fetch_gist method to get a summary
of node content to be shown in user interface.
Bug fixes:
* Exception: fix call to fetch_element
* ObjTreeScanner: Don't try to scan warped out node elements
* Instance: no longer show diff-like changes
* clean up check on node init (gh #15)
* AnyId: add notification triggered by adding a new element to a
hash or array.
Build changes:
* no longer use Text::Diff
2.113 2017-10-12
On-going backend deprecations:
* using "custom" backend is now fatal
* warn when more than one backend is declared in a model class.
This soon will be fatal
* udpated models (Fstab Multistrap PopCon) to use new rw_config parameter
Bug fixes:
* HashId: do not notify when deleting an undef value (Debian #876967)
* Value: support file test in code eval done by warn_if and similar tests
* remove confusing "master triggered changed" message
* really avoid undef warning when homedir is not defined
* avoid "unordered data" warning when loading one item in an ordered hash
New features usable with 'cme modify' or in a cme script (used by 'cme run'):
* add "=.env(...)" instruction to store the content of an environment
variable in a value
* add "=.file(...)" instruction to store a file in a value.
".file(-)" reads from STDIN.
* add a User logger category to log messages to user. Direct calls to warn
will be removed to make test output cleaner
2.112 2017-10-01
Fix bugs to make warp mechanism more consistent:
* Value: trigger a warp after apply_fix is called
* Value: apply replace when warping
Other bug fixes:
* don't initialise Log4Perl if already done
* Avoid warning when YAML data is missing
2.111 2017-09-22
Deprecating features might be necessary, but there's no need to be
obnoxious about it:
* Reduce the number of legacy warning
* use logger mechanism to issue these warnings
2.110 2017-09-21
Unfortunately the deprecations and updates done last release broke
Config::Model::Itself. This release fixes these problems:
* disable translation of read_config to rw_config
* change deprecation messages from warn to say
* put back old backend parameters for FsTab, Multistrap
and PopCon models
2.109 2017-09-18
Deprecation and updates as announced in http://wp.me/pFBZb-f5 :
* the model parameters read_config and write_config that are used
to specify different read and write backends are deprecated
in favor of rw_config to specify *one* r/w backend
* multiple backends are deprecated.
* update doc for these deprecations
* Dump string backend (cds_file) is now handled by its own class
(Config::Model::Backend::CdsFile)
* Perl backend (perl_file) is now handled by its own class
(Config::Model::Backend::PerlFile)
* Model: die when model parameters allow, allow_from, follow are
used. These parameters were deprecated several years ago.
Other changes:
* update backend parameters of FsTab, Multistrap, PopCon models
* Value: allow regexp and code test for enum (like warn_if_match)
Test improvements
* can run tests concurrently: prove -j8 runs all tests in 4s
(16s without -j8)
2.108 2017-08-31
Fix random failure in non-regression tests
2.107 2017-08-30
Deprecation: read/write backends have many complex features to read
and write configuration files that are not used. This is the first
step to deprecate and remove these features:
* custom backends are deprecated
* add doc that show how to replace a custom backend with a backend based
on Config::Model::Backend::Any
Security improvements:
* ValueComputer: safer use of variables in eval: variables are
passed to the eval'ed code in a hash insted of being inserted
*in* the code to eval.
Bug fixes:
* value: fix mechanism to avoid repetitive warnings (Thanks Tincho)
* use check => skip when fetching a value from
is_element_available method. This avoid missing warnings when
is_element_available function triggers a read of a configuration
file (like debian/control)
2.106 2017-07-16
Doc updates:
* BackendMgr: update doc of config_file_name
Improvement on error behavior:
* Fix message of WrongType Exception
* die if model line is missing from application file
* ensure that an application file is not parsed twice
* avoid undef warning when homedir is not defined
* cme function: improve error msg for unknown application
2.105 2017-06-09
Bug fixes:
* Value: fix fetch in non_upstream_default mode to avoid breaking
'cme meta plugin' command
2.104 2017-06-03
Improvements:
* Instance: add backend_arg to enable misc parameter for cme command
(e.g a systemd service name for systemd model or a patch name for
Dpkg patch model). (Build require Config::Model::Tester 2.062)
Bug fixes:
* BackendMgr:
* allow empty but defined config_dir
* ignore config_file in non-root node (do not die anymore)
* Plainfile backend: try to fix a windows bug showing up on smoke tests
* Dumper:
* hash id containing @ must be quoted
* accept non_upstream_default mode
* Value: fix fetch in non_upstream_default mode
2.103 2017-05-25
Bug fix release:
* dist.ini: put back YAML build dep which is used for tests
* remove debug trace about YAML class
* fix exception message to show any kind of data.
2.102 2017-05-14
Fix security issues:
* do not rely on '.' in @INC to load snippet model files
(CVE-2017-0374)
* genclasspod: remove use lib (CVE-2017-0373)
* avoid possible creation of Perl object through hostile
YAML file: use YAML::Tiny in YAML backend instead of YAML::Any
Model improvement
* model can choose YAML parser (default YAML::Tiny)
Bug fix:
* boolean value: accept empty string as false value
2.101 2017-04-28
Model improvement:
* Add assign_char and assign_with to IniFile backend. So it can
be used for files with "key: value" lines.
* add option to write hash key with empty values. By default empty
hash values are dropped and the hash keys of these values are lost.
Usability improvement:
* Value: if possible show why a fix is applied, i.e. show the warning
that triggered the fix
* improved log levels (i.e. move some log from debug to info or trace)
Improvement:
* Model: add log_level parameter, so logs can be shown with a cme
command line option
* prevent undef warnings on Windows
Deprecation warning:
* Model: warn in case of undef constructor argument
2.100 2017-03-18
Usability improvement:
* Unknown element excetption show instructions to report a bug.
Improvement of doc generated from model:
* add compute information in generated doc
* pod generator: show default values in item list
Bug fix:
* Fix file mode test (fix CPAN smoke tests)
2.099 2017-03-05
Model improvement:
* add file_mode parameter to backend specification. This
parameter sets the permission (mode) of written configuration
files (need Config::Model::Tester 2.059 to test)
2.098 2017-02-26
This release bring some improvements to enable more feature on
Debian Dpkg model.
Build:
* build depends on Config::Model::Tester 2.059
* bump © year in dist.ini
Model improvements:
* allow injection of model snippet in another configuration class.
This is used by dpkg model: a dpkg-control default value is
computed from a value in dpkg model only when dpkg-control model
is loaded with dpkg model,
* add doc for has_instance and get_instance methods
Plainfile backend improvements:
* handle deletion of file managed by Plainfile backend
* plainfile backend can handle file named with &element and &index
functions, i.e the config file name can depend on the location
of the value in the configuration tree. (used by dpkg model for
debian/<pkg>.install files)
Value computer improvements:
* doc: mention that functions are allowed in variable definition
* allow '- -' or '--' param to &index
Bug fix:
* fix error forwarding in BackendMgr
* warn when Term::ReadLine::Gnu is not installed
* fix term UI set command to accept white spaces
* Loader: allow creation of empty hash leaf
2.097 2016-12-22
Bug fix:
* fix a regression seen when starting curses interface
(fix retrieval of an instance using an instance name)
2.096 2016-12-11
Term UI improvement
* fix autocompletion of 'cd' command
* add -nz and -v option to ll command
* ll command accept several patterns
* improved ll output
Bug fix:
* show complete stack trace of rethrown exceptions
* Node: propagate check param when calling init
(which fix cme's -force option)
Build:
* dist.ini Add missing prereq 'parent' as plugin
[AutoPrereqs] missed it (Mohammad S Anwar++)
* new dependencies: List::Util Regexp::Common
2.095 2016-12-06
New feature usable by cme:
* loader: add .insort() command for hash element
* Hash element: add insort method
Term UI improvement
* better format the output of 'desc' command (transform
pod doc to text). This requires Pod::Text and
Pod::Simple 3.23
Bug fix:
* track and save annotation changes (gh #12)
* Node: propagate check override in init() (which fixes
loading of a systemd config that contains an error)
2.094 2016-11-09
Fix compatibility with older Term::ReadLine::Gnu:
* TermUI: skip call to enableUTF8 if not available
(gh #11)
2.093 2016-11-08
Hygiene:
* Add Travis CI file (Thanks Jose Luis Perez Diez)
New feature in read/write backend:
* Allow alternate comment char in INI config file (gh #10)
required to support Systemd config files
Bug fix:
* Better support of utf8 in term UI
2.092 2016-09-23
* New feature in shell UI:
* 'll' command shows a warning sign when an element
has a warning that may be fixed
* added 'check' command
* 'fix' command can be applied to selected element instead
on the whole config.
Other bug fixes:
* Node: fix deep_check propagation
* Iterator triggers a call_back if a hash element has a warning
(required to fix the wizard of the graphical interface which
did not stop on a hash element when needed)
2.091 2016-09-13
Bug fix:
* really fix issue with '.' removal from @INC
(needed to close Debian #837682)
2.090 2016-09-10
New feature:
* Model developer can use $std_value in warning messages tp
provide better feedback to user. This variable is substituted
with preset, computed or default value when the message is
generated.
Cleanup:
* remove obsolete skip_read parameter
(breaks App::Cme older than v1.011)
Bug fix:
* Add double quote when dumping value that contain '#'
* Value: generates same error messages for warn_if, warn_if_match
* fix other collaterals of '.' removal from @INC
2.089 2016-09-04
New feature:
Now 3 types of check can be used on hash or array elements:
content check, id check (as usual) and deep_check (should be used
to check between if value and other part of config tree). Only the
index check is run whenever an element of the hash/array is
read. The other are used when check() or apply_fixes methods are
called.
Documentation:
* converted README.pod to markdown
Bug fix:
* load perl data file even if @INC does not contain '.' (required
for perl 5.14 or Debian perl 5.22.2-4)
* Loader: trap another syntax error in load steps. This may breaks existing
tests or cme scripts that contain such an error.
2.088 2016-07-09
Documentation improvements:
* document repo structure in CONTRIBUTE file
* document Instance application method
* add auto_delete param in pod doc
* add CREDITS section in main doc
New instructions for 'cme modify' (in Config::Model::Loader):
* add copy command for list
* add clear command for list and hash
Bug fix:
* use sort keys to get consistent warning order
(which is important for non-regression tests)
* fix regexps for Perl 5.22 (gh #6) Tx mat813
2.087 2016-06-29
A release with mostly documentation improvements:
* Fixed many grammatical issues in all pod docs
* Added CONTRIBUTE.md
* Instance doc:
* separate data change methods from internal methods
* specify value returned by load()
Model specification change
* move warp info in warp param in WarpedNode.
The change is backward compatible and will show a
notification on STDOUT. This notification will
become later a warning.
* always show a message when using some parameters that were
deprecated in 2007. This may break tests.
It's time to fix them.
Bug fixes:
* add as_string method to all exception classes
* BackendMgr: correctly handle Path::Tiny exceptions
* Value: show changes of boolean values as they are
written in configuration file
2.086 2016-06-04
Fixed some bugs so that cme() works with new Systemd model:
* cme() uses config_dir from app file
* Node: element_type works on not yet accepted element
* Node: improved doc of accept_element()
2.085 2016-05-29
The new releases brings new functions to simplify script that modify
configuration files. For instance, the following line is enough to
update popcon's configuration file:
cme('popcon')->modify("PARTICIPATE=yes");
In more details:
* Config::Model provides a 'cme' exported function
(see also the SYNOPSIS of Config::Model doc)
* Instance: added modify and save() methods
Other changes:
* Term::ReadLine is not required for build or tests
* Instance skip_read parameter is deprecated
2.084 2016-05-26
Doc updates:
* Model doc:
* use cme meta instead of config-model-edit
* removed Log4Perl init for synopsis..
* improved instance method doc
* removed obsolete (and broken) example directory
* Instance: clarified constructor doc
Dependencies changes:
* TermUI is now optional (like FuseUI).
So Term::ReadLine dependency is now recommended
instead of required.
Bug fixes:
* Fix gen_class_pod which skipped some classes
(fix reproducible build of libconfig-model-openssh-perl)
* Model: instance() accepts application param
* Removed FATAL warnings from Instance
* all tree elements: added has_data method
* read model files (and doc) as utf8
2.083 2016-04-20
Functional improvements:
* backend parameters: added auto_delete parameter so
that a config file can be removed when it no longer
contains data
* attributes specified in a model plugin can override
attributes of the base model.
Bug fixes:
* BackendMgr: do not remove links to config files
* Fix ini backend to parse values that contain '='
Doc updates:
* Improved instructions to specify a backend in
Config::Model::BackendMgr doc
* Added instructions to create your own backend in
Config::Model::Backend::Any doc
* updated model creation intro doc
* Mentions Itself generated doc as reference doc
* update CreateModelFromDoc to use cme meta edit
2.082 2016-03-29
No big change this time, but a lot of small improvements
required by the systemd model I'm working on...
Functional improvements:
* Loader: list operator :~ with no argument loops
over all values of a hash element
* DumpAsData: also accepts 'mode' param like fetch from
Config::Model::Value
Bug fixes:
* Fix tests broken by C::M::Tester 2.053 (required)
* Loader: fix loop bug which exited too soon
* Improve hash dump readability ...
* DumpAsData: Fix corrupted output...
* BackendMgr: always translate dir with ~/
Doc updates:
* removed Log4Perl instructions from synopsis.
Log4Perl initialisation is handled by Config::Model
constructor since v2.057
* Improved C::M::Warper and C::M:Lister docs
2.081 2016-02-29
Bug fixes:
* Fix error handling in Value. This should fix freebsd smoke tests.
The weird thing is that these tests should have failed in all arch...
2.080 2016-02-27
Functional improvements:
* storing a wrong value is no longer ignored but now
triggers an exception.
Other bug fixes:
* Trigger change notif when store_set reduces the nb of items
(closes gh #4)
* Improved change message shown to user
* Value: don't display grammar in case of error
2.079 2016-02-12
YAML backend changes:
* Remove YAML file when no data is left
* When a root class has only one element, the backend
write (and read) only the content of that element (this
reduce the depth of the written data structure by one).
Functional improvements:
* Added "ChangeTracker" log class and traces (Log::Log4Perl)