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
|
## Rails 4.0.0 (unreleased) ##
* Added ActiveModel::Model, a mixin to make Ruby objects work with AP out of box *Guillermo Iguaran*
* `AM::Errors#to_json`: support `:full_messages` parameter *Bogdan Gusiev*
* Trim down Active Model API by removing `valid?` and `errors.full_messages` *José Valim*
## Rails 3.2.2 (March 1, 2012) ##
* No changes.
## Rails 3.2.1 (January 26, 2012) ##
* No changes.
## Rails 3.2.0 (January 20, 2012) ##
* Deprecated `define_attr_method` in `ActiveModel::AttributeMethods`, because this only existed to
support methods like `set_table_name` in Active Record, which are themselves being deprecated.
*Jon Leighton*
* Add ActiveModel::Errors#added? to check if a specific error has been added *Martin Svalin*
* Add ability to define strict validation(with :strict => true option) that always raises exception when fails *Bogdan Gusiev*
* Deprecate "Model.model_name.partial_path" in favor of "model.to_partial_path" *Grant Hutchins, Peter Jaros*
* Provide mass_assignment_sanitizer as an easy API to replace the sanitizer behavior. Also support both :logger (default) and :strict sanitizer behavior *Bogdan Gusiev*
## Rails 3.1.3 (November 20, 2011) ##
* No changes
## Rails 3.1.2 (November 18, 2011) ##
* No changes
## Rails 3.1.1 (October 7, 2011) ##
* Remove hard dependency on bcrypt-ruby to avoid make ActiveModel dependent on a binary library.
You must add the gem explicitly to your Gemfile if you want use ActiveModel::SecurePassword:
gem 'bcrypt-ruby', '~> 3.0.0'
See GH #2687. *Guillermo Iguaran*
## Rails 3.1.0 (August 30, 2011) ##
* Alternate I18n namespace lookup is no longer supported.
Instead of "activerecord.models.admins.post", do "activerecord.models.admins/post" instead *José Valim*
* attr_accessible and friends now accepts :as as option to specify a role *Josh Kalderimis*
* Add support for proc or lambda as an option for InclusionValidator,
ExclusionValidator, and FormatValidator *Prem Sichanugrist*
You can now supply Proc, lambda, or anything that respond to #call in those
validations, and it will be called with current record as an argument.
That given proc or lambda must returns an object which respond to #include? for
InclusionValidator and ExclusionValidator, and returns a regular expression
object for FormatValidator.
* Added ActiveModel::SecurePassword to encapsulate dead-simple password usage with BCrypt encryption and salting *DHH*
* ActiveModel::AttributeMethods allows attributes to be defined on demand *Alexander Uvarov*
* Add support for selectively enabling/disabling observers *Myron Marston*
## Rails 3.0.12 (March 1, 2012) ##
* No changes.
## Rails 3.0.11 (November 18, 2011) ##
* No changes.
## Rails 3.0.10 (August 16, 2011) ##
* No changes.
## Rails 3.0.9 (June 16, 2011) ##
* No changes.
## Rails 3.0.8 (June 7, 2011) ##
* No changes.
## Rails 3.0.7 (April 18, 2011) ##
* No changes.
## Rails 3.0.6 (April 5, 2011) ##
* Fix when database column name has some symbolic characters (e.g. Oracle CASE# VARCHAR2(20)) #5818 #6850 *Robert Pankowecki, Santiago Pastorino*
* Fix length validation for fixnums #6556 *Andriy Tyurnikov*
* Fix i18n key collision with namespaced models #6448 *yves.senn*
## Rails 3.0.5 (February 26, 2011) ##
* No changes.
## Rails 3.0.4 (February 8, 2011) ##
* No changes.
## Rails 3.0.3 (November 16, 2010) ##
* No changes.
## Rails 3.0.2 (November 15, 2010) ##
* No changes
## Rails 3.0.1 (October 15, 2010) ##
* No Changes, just a version bump.
## Rails 3.0.0 (August 29, 2010) ##
* Added ActiveModel::MassAssignmentSecurity *Eric Chapweske, Josh Kalderimis*
* JSON supports a custom root option: to_json(:root => 'custom') #4515 *Jatinder Singh*
* #new_record? and #destroyed? were removed from ActiveModel::Lint. Use
persisted? instead. A model is persisted if it's not a new_record? and it was
not destroyed? *MG*
* Added validations reflection in ActiveModel::Validations *JV*
Model.validators
Model.validators_on(:field)
* #to_key was added to ActiveModel::Lint so we can generate DOM IDs for
AMo objects with composite keys *MG*
* ActiveModel::Observer#add_observer!
It has a custom hook to define after_find that should really be in a
ActiveRecord::Observer subclass:
def add_observer!(klass)
klass.add_observer(self)
klass.class_eval 'def after_find() end' unless klass.respond_to?(:after_find)
end
* Change the ActiveModel::Base.include_root_in_json default to true for Rails 3 *DHH*
* Add validates_format_of :without => /regexp/ option. #430 *Elliot Winkler, Peer Allan*
Example :
validates_format_of :subdomain, :without => /www|admin|mail/
* Introduce validates_with to encapsulate attribute validations in a class. #2630 *Jeff Dean*
* Extracted from Active Record and Active Resource.
|