separate baseoption and option
[tiramisu.git] / ChangeLog
1 Sat Jul  8 15:57:13 2017 +0200 Emmanuel Garette <egarette@cadoles.com>
2         * better cache, only remove value/property from cache for value
3         modified and for all value affected by this modification
4
5 Sat May 20 16:27:09 2017 +0200 Emmanuel Garette <egarette@cadoles.com>
6         * add 'operator' to requirement
7
8 Wed May 17 22:11:55 2017 +0200 Emmanuel Garette <egarette@cadoles.com>
9         * add 'remove' to Multi
10
11 Sun Feb 12 10:30:13 2017 +0200 Emmanuel Garette <egarette@cadoles.com>
12         * error in external function should returns explicit error message
13         all errors will be ConfigError
14
15 Thu Jan 12 19:49:41 2017 +0200 Emmanuel Garette <egarette@cadoles.com>
16         * can mix inversed and non inversed requires
17         * validator's function can have 1 arg, 2 args or 3 args without
18         valid_params specify by user. First arg will receive the value, second
19         arg will receive all values (useful for multi) and the third one will
20         receive index (useful for multi).
21         This functionaly only works for now if user not specify valid_params.
22
23 Wed Jan 11 22:56:30 2017 +0200 Emmanuel Garette <egarette@cadoles.com>
24         * copy the context in carry_out_calculation
25
26 Thu Jan  10 11:55:02 2017 +0200 Gwenael Remond <gremond@cadoles.com>
27         * converts the doc informations into unicode
28
29 Mon Jan  9 20:12:02 2017 +0200 Emmanuel Garette <egarette@cadoles.com>
30         * make_dict has new fullpath option
31
32 Wed Nov 16 22:30:12 2016 +0200 Emmanuel Garette <egarette@cadoles.com>
33         * consistency "not_equal" works now with multi and submulti
34         * a multi or submulti could be "unique" (same value one time)
35         * consistency "not_equal" means "unique" too
36
37 Wed Oct 12 21:55:53 2016 +0200 Emmanuel Garette <egarette@cadoles.com>
38         * consistency is now check "not_equal" if one option has
39         PropertiesOptionError
40         * transitive in apply_requires should only by apply if properties are
41         same has testing action
42
43 Mon Oct 10 21:39:04 2016 +0200 Emmanuel Garette <egarette@cadoles.com>
44         * consistency with default value for all values now works
45         * warnings works now even if default value is None
46
47 Thu Sep 22 08:25:33 2016 +0200 Emmanuel Garette <egarette@cadoles.com>
48         * force_store_value is rebuild if needed
49
50 Mon Mar  7 16:10:30 2016 +0200 Emmanuel Garette <egarette@cadoles.com>
51         * force_store_value is now used directly when configuration is loaded
52         * add force_permissive to Values.is_default_owner
53
54 Sun Nov 29 23:01:28 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
55         * requires could be apply to a slave and properties could be different
56
57 Mon Oct 12 17:05:28 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
58         * domainname with only one character is now allowed
59
60 Thu Sep 17 21:23:34 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
61         * check with option as parameter
62
63 Sun Jul 26 19:09:29 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
64         * add global 'empty' property, this property raise mandatory
65         PropertiesOptionError if multi or master have empty value
66
67 Fri Jul 24 18:03:59 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
68         * add duplicate option to Config, to generate new Config with same
69         value, properties, Option. Option are not duplicated.
70
71 Mon Apr 20 14:44:15 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
72         * if option is multi, the properties disallow [None] for a multi but
73         [] too, with allow_empty_list to True, [None] is not allowed, but you
74         can have empty list (so [])
75
76
77 Sun Apr 19 09:14:21 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
78         * valid Option is an unicode or a string if needed
79         * difference between option/optiondescription in PropertiesOptionError
80         message
81         * remove slave values when delete a master without value
82         * allow uppercase in resource name in URLOption
83
84 Sat Apr 18 22:42:53 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
85         * refactor validation, build a fake context (with new Values and
86         Settings) to validate value with those object. Now value with
87         callback and consistency are correctly validate
88         * ability to disable warnings validation
89         * if ValueError and PropertieError together, should raise with
90         PropertieError
91
92 Sun Mar  8 12:02:17 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
93         * valid default/callback value in consistencies
94
95 Sun Dec  7 14:37:32 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
96         * mandatory master/slave's consistency with default value as slave
97         * test uppercase character before valid domain name for better error
98         message
99
100 Mon Dec  1 22:58:13 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
101         * propertyerror are transitive in consistency, now it's possible to set
102         non-transitive consistency
103         * support transitive in consistency with multiple option return
104         * can reset slave value in all case when deleting master value
105         * in_network's consistency now verify that IP is not network or
106         broadcast's IP + ip_netmask's consistency now verify that IP is not
107         broadcast's IP
108
109 Sun Oct 26 08:50:38 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
110         * if option is frozen with force_default_on_freeze property, owner
111         must be 'default', check property when tried to change owner
112         * bad characters in DomainnameOption could be in warning level
113         * frozen with force_default_on_freeze can change owner
114         * add force_permissive to config __iter__
115         * add force_permissive to slave for a master or to master for a slave
116         * remove mandatory_warnings in config.py
117         * add force_permissive in mandatory_warnings
118
119 Sat Oct 25 22:48:08 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
120         * cannot add unvalaible consistency for an option
121         * allow number as first letter of a domainname with netbios type
122
123 Fri Jun 20 16:27:55 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
124
125         * add TIRAMISU_STORAGE for personalise default storage in
126         environnement
127
128 Thu Jun 19 23:20:29 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
129
130         * add DynOptionDescription:
131         DynOptionDescription are OptionDescription that generate auto
132         OptionDescription with a callback function
133
134 Sun Apr 27 10:32:40 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
135
136         * behavior change in ChoiceOption:
137         remove open_values, that no sens (we cannot validate type) if
138         you want something like open_values, please use a typed option and
139         add impl_(s|g)et_information to add proposed values and use it in your
140         code
141         * add dynamic ChoiceOption:
142         we can have dynamic ChoiceOption. Parameter values can be a function
143         and, as callback, we can add values_params
144
145 Fri Apr 25 22:57:08 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
146
147         * add SubMulti:
148         a SubMulti is a multi in a multi variable
149
150 Sat Apr 12 11:37:27 2014 +0200 Emmanuel Garette <egarette@cadoles.com>
151
152         * behavior change in master/slave part of code:
153         if slave has a default value greater than master's one, it's raise
154         SlaveError, didn't try to reduce the slave's length
155         * tiramisu/config.py (in cfgimpl_get_home_by_path and getattr) and
156         tiramisu/value.py (in getitem): arity change, remove force_properties
157         * tiramisu/option.py: split into tiramisu/option directory
158         * tiramisu/option/masterslave.py: add special object MasterSlaves for
159         all code related to master/slaves options
160         * tiramisu/option/masterslave.py: check every time master and slaves
161         values (length, consistency, ...)
162         * change None to undefined when needed