File: Changelog.md

package info (click to toggle)
ruby-virtus 1.0.2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 616 kB
  • ctags: 396
  • sloc: ruby: 3,953; makefile: 2
file content (224 lines) | stat: -rw-r--r-- 11,015 bytes parent folder | download
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
# v1.0.2 2014-12-03

* [improvement] Don’t override already-defined default values when freezing (amarshall)
* [improvement] Improved performance of `AttributeSet#each` (Antti)
* updated axiom-types dependency to ~> 0.1 (solnic)

[Compare v1.0.1..v1.0.2](https://github.com/solnic/virtus/compare/v1.0.1...v1.0.2)

# v1.0.1 2013-12-10

* [feature] re-introduce `ValueObject#with`, which was removed in the past (senny)
* [fixed] strict mode for Boolean type (solnic)

[Compare v1.0.0..v1.0.1](https://github.com/solnic/virtus/compare/v1.0.0...v1.0.1)

# v1.0.0 2013-10-16

This release no longer works with Ruby 1.8.7.

* [BREAKING CHANGE] Integrated with axiom-types, most of the attribute sub-classes are gone (solnic)
* [feature] Configurable coercion via coercible integration (solnic)
* [feature] Strict mode for coercions via `:strict` option (solnic)
* [feature] Lazy-loaded default values via `:lazy` option (solnic)
* [feature] Finalizing models solving circular-dependency issue (see #81) (solnic)
* [feature] Ability to cherry-pick which extension should be included (solnic)
* [feature] Ability to inject a custom coercer object via `:coercer` option (solnic)
* [feature] Extension module builder with pre-defined configuration for attributes (elskwid & solnic)
* [feature] `Virtus::Attribute` exposes a public API - you can easily build, rename and clone attribute instances and use their coercion power (solnic)
* [feature] Ability to reset attributes to their default values (pewniak747)
* [changed] A meaningful error will be raised if a reserved name is used as an attribute name (solnic)
* [changed] Default value can be set via private and protected methods now (solnic)
* [changed] New syntax for value objects (solnic)
* [changed] Default values are now set in the constructor for non-lazy attributes (solnic)
* [deprecated] `Virtus::Attribute.coerce` in favor of `Virtus.coerce` or a customized configured module (solnic)
* [deprecated] `include Virtus` in favor of `include Virtus.model` (for classes) or `Virtus.module` (for modules) (solnic)
* [deprecated] `include Virtus::ValueObject` in favor of `include Virtus.value_object` (solnic)
* [deprecated] `Virtus#attributes` in favor of `Virtus#attribute_set` (solnic)
* [fixed] const missing hook now works correctly in modules too (cored)
* [fixed] value object with Hash type works correctly (solnic)
* [fixed] issues with value-object subclasses and `#==` method (solnic)

[Compare v0.5.4..v1.0.0](https://github.com/solnic/virtus/compare/v0.5.4...v1.0.0)

# v0.5.4 2012-12-20

* [feature] Allow *any* enumerable to be a collection attribute (aptinio)
* [feature] Add Integer.to_datetime and Float.to_datetime coercion (brutuscat)
* [fixed] Fixed a regression with Hash attribute introduced by key/member coercion (shingara)
* [fixed] Change leading non-significant digit type coercion to be coerced (maskact)

[Compare v0.5.3..v0.5.4](https://github.com/solnic/virtus/compare/v0.5.3...v0.5.4)

# v0.5.3 2012-12-13

* [feature] Added Hash member type coercion [example](https://github.com/solnic/virtus#hash-attributes-coercion) (greyblake)
* [fixed] Fixed issues with String=>Integer coercion and e-notation (greyblake)
* [changed] Replaced internal DescendantsTracker with the extracted gem (solnic)
* [internal] Switched to rspec 2 and mutant for mutation testing (mbj)

[Compare v0.5.2..v0.5.3](https://github.com/solnic/virtus/compare/v0.5.2...v0.5.3)

# v0.5.2 2012-09-01

* [feature] Object is now the default attribute type (dkubb)
* [fixed] Fix module inclusion problems (dkubb)
* [fixed] Evaluate default values when freezing an object (mbj)
* [fixed] String representation of a big integer is now properly coerced to an integer (greyblake)
* [changed] AttributeSet is now a module responsible for defining attribute methods (emmanuel)

[Compare v0.5.1..v0.5.2](https://github.com/solnic/virtus/compare/v0.5.1...v0.5.2)

# v0.5.1 2012-06-11

* [fixed] EV properly handle nil as the value (solnic)

[Compare v0.5.0..v0.5.1](https://github.com/solnic/virtus/compare/v0.5.0...v0.5.1)

# v0.5.0 2012-06-08

* [feature] Support for extending objects (solnic)
* [feature] Support for defining attributes in modules (solnic)
* [feature] Support for Struct as an EmbeddedValue or ValueObject attribute (solnic)
* [changed] Allow any input for EmbeddedValue and ValueObject constructors (solnic)
* [changed] ValueObject instances cannot be duped or cloned (senny)

[Compare v0.4.2..v0.5.0](https://github.com/solnic/virtus/compare/v0.4.2...v0.5.0)

# v0.4.2 2012-05-08

* [updated] Bump backports dep to ~> 2.5.3 (solnic)

[Compare v0.4.1..v0.4.2](https://github.com/solnic/virtus/compare/v0.4.1...v0.4.2)

# v0.4.1 2012-05-06

* [changed] backports gem is now a runtime dependency (solnic)
* [BREAKING CHANGE] Renamed Virtus::DefaultValue#evaluate => Virtus::DefaultValue#call (solnic)
* [BREAKING CHANGE] Renamed Virtus::ValueObject::Equalizer to Virtus::Equalizer (dkubb)

[Compare v0.4.0..v0.4.1](https://github.com/solnic/virtus/compare/v0.4.0...v0.4.1)

# v0.4.0 2012-03-22

* [improvement] Add a caching mechanism for type lookups (solnic)
* [fixed] Fix attributes mass-assignment when nil is passed (fgrehm)
* [changed] Replace usage of #to_hash with Hash.try_convert (dkubb)

[Compare v0.3.0..v0.4.0](https://github.com/solnic/virtus/compare/v0.3.0...v0.4.0)

# v0.3.0 2012-02-25

* [feature] Support for default values from a symbol (which can be a method name) (solnic)
* [feature] Support for mass-assignment via custom setters not generated with attribute (fgrehm)
* [feature] Virtus::Coercion::String.to_constant handles namespaced names (dkubb)
* [feature] New coercion: Virtus::Coercion::Object.to_array (dkubb)
* [feature] New coercion: Virtus::Coercion::Object.to_hash (dkubb)
* [feature] New coercion: Virtus::Coercion::Object.to_string (dkubb)
* [feature] New coercion: Virtus::Coercion::Object.to_integer (dkubb)
* [changed] EmbeddedValue relies on @primitive setting rather than @model (mbj)
* [BREAKING CHANGE] Removed Attribute#writer_visibility in favor of Attribute#public_writer? (solnic)
* [BREAKING CHANGE] Removed Attribute#reader_visibility in favor of Attribute#public_reader? (solnic)
* [BREAKING CHANGE] Removed Attribute#instance_variable_name - this is a private ivar (solnic)
* [BREAKING CHANGE] Removed Equalizer#host_name and Equalizer#keys (solnic)

[Compare v0.2.0..v0.3.0](https://github.com/solnic/virtus/compare/v0.2.0...v0.3.0)

# v0.2.0 2012-02-08

* [feature] Support for Value Objects (emmanuel)
* [feature] New Symbol attribute (solnic)
* [feature] Time => Integer coercion (solnic)

[Compare v0.1.0..v0.2.0](https://github.com/solnic/virtus/compare/v0.1.0...v0.2.0)

# v0.1.0 2012-02-05

* [feature] New EmbeddedValue attribute (solnic)
* [feature] Array and Set attributes support member coercions (emmanuel)
* [feature] Support for scientific notation handling in string => integer coercion (dkubb)
* [feature] Handling of string => numeric coercion with a leading + sign (dkubb)
* [changed] Update Boolean coercion to handle "on", "off", "y", "n", "yes", "no" (dkubb)

[Compare v0.0.10..v0.1.0](https://github.com/solnic/virtus/compare/v0.0.10...v0.1.0)

# v0.0.10 2011-11-21

* [fixed] Default values are now duped on evaluate (rclosner)
* [fixed] Allow to override attribute mutator methods (senny)

[Compare v0.0.9..v0.0.10](https://github.com/solnic/virtus/compare/v0.0.9...v0.0.10)

# v0.0.9 2011-10-11

* [fixed] Fix in type lookup for anonymous classes (dkubb)

[Compare v0.0.8..v0.0.9](https://github.com/solnic/virtus/compare/v0.0.8...v0.0.9)

# v0.0.8 2011-08-25

* [fixed] Fixed conflict with ActiveModel (RichGuk)
* [changed] Renamed Coercion::String.to_class => Coercion::String.to_constant (emmanuel)

[Compare v0.0.7..v0.0.8](https://github.com/solnic/virtus/compare/v0.0.7...v0.0.8)

# v0.0.7 2011-07-31

* [BREAKING CHANGE] Attribute.primitive? has been removed (solnic)
* [fixed] Added missing coercion_method setting to Virtus::Attribute::Object (solnic)
* [general] Default value logic has been extracted into Attribute::DefaultValue class (solnic)
* [added] Virtus::Attribute::Class (solnic)

[Compare v0.0.6..v0.0.7](https://github.com/solnic/virtus/compare/v0.0.6...v0.0.7)

# v0.0.6 2011-07-30

* [BREAKING CHANGE] Moved Virtus.determine_type to a shared module Virtus::TypeLookup (dkubb)
* [BREAKING CHANGE] Attribute#typecast_to_primitive has been replaced by Attribute#coerce (solnic)
* [BREAKING CHANGE] Attribute#typecast logic was moved to Attribute#set which is now a public method (solnic)
* [feature] Added support for default values (solnic)
* [general] Added custom inspect for Attribute classes (solnic)
* [general] Added backports as a development dependency (dkubb)
* [changed] Options API has been extracted from Attribute to a support module Virtus::Options (solnic)
* [changed] Typecast classes have been replaced by a new hierarchy of Coercion classes like Coercion::String, Coercion::Integer etc. (solnic)
* [changed] Attribute#get, #get!, #set, #set! & #coerce are now part of the public API (solnic)

[Compare v0.0.5..v0.0.6](https://github.com/solnic/virtus/compare/v0.0.5...v0.0.6)

# v0.0.5 2011-07-10

* [bugfix] Fixed DescendantsTracker + ActiveSupport collision (dkubb)

[Compare v0.0.4..v0.0.5](https://github.com/solnic/virtus/compare/v0.0.4...v0.0.5)

# v0.0.4 2011-07-08

* [BREAKING CHANGE] attributes hash has been replaced by a specialized class AttributeSet (dkubb)
* [BREAKING CHANGE] Virtus::ClassMethods.attribute returns self instead of a created attribute (solnic)
* [changed] descendants tracking has been extracted into DescendantsTracker module (dkubb)
* [changed] Instance #primitive? method has been replaced by class utility method Virtus::Attribute.primitive? (solnic)
* [changed] Virtus::Attribute::String#typecast_to_primitive delegates to Virtus::Typecast::String.call (solnic)

[Compare v0.0.3..v0.0.4](https://github.com/solnic/virtus/compare/v0.0.3...v0.0.4)

# v0.0.3 2011-06-09

* [BREAKING CHANGE] Attribute classes were moved to Virtus::Attribute namespace (solnic)
* [BREAKING CHANGE] Attribute instance no longer holds the reference to a model (solnic)
* [BREAKING CHANGE] #typecast no longer receives an instance of a model (override #set which calls #typecast if you need that) (solnic)
* [changed] Adding reader/writer methods was moved from the attribute constructor to Virtus::ClassMethods.attribute (solnic)
* [changed] Typecast logic has been moved into separate classes (see Virtus::Typecast) (solnic)
* [added] Virtus::Attribute::DateTime#typecast supports objects which implement #to_datetime (solnic)
* [general] Internals have been cleaned up, simplified and properly documented (solnic)

[Compare v0.0.2..v0.0.3](https://github.com/solnic/virtus/compare/v0.0.2...v0.0.3)

# v0.0.2 2011-06-06

* [bugfix] Fixed #typecast in custom attribute classes (solnic)

[Compare v0.0.1..v0.0.2](https://github.com/solnic/virtus/compare/v0.0.1...v0.0.2)

# v0.0.1 2011-06-04

First public release :)