Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 350 lines (198 sloc) 12.28 kb
3005f58 @rafaelfranca Add release data to Rails 3.2.3
rafaelfranca authored
1 ## Rails 3.2.3 (March 30, 2012) ##
263d842 @vijaydev update changelogs for gems without changes too [ci skip]
vijaydev authored
2
3 * No changes.
4
db743ff @rafaelfranca Fix my name in the CHANGELOG to follow the convention
rafaelfranca authored
5
263d842 @vijaydev update changelogs for gems without changes too [ci skip]
vijaydev authored
6 ## Rails 3.2.2 (March 1, 2012) ##
7
8 * No changes.
9
db743ff @rafaelfranca Fix my name in the CHANGELOG to follow the convention
rafaelfranca authored
10
97e8d1d @fxn CHANGELOG revision for v3.2.1
fxn authored
11 ## Rails 3.2.1 (January 26, 2012) ##
12
8e6ef37 @fxn fixes whitespace in CHANGELOG entries
fxn authored
13 * Documentation fixes.
97e8d1d @fxn CHANGELOG revision for v3.2.1
fxn authored
14
15
f36dcaf @dhh Preparing for 3.2.0 release
dhh authored
16 ## Rails 3.2.0 (January 20, 2012) ##
281272a @jonleighton Convert CHANGELOGs to Markdown format.
jonleighton authored
17
18 * Redirect responses: 303 See Other and 307 Temporary Redirect now behave like
19 301 Moved Permanently and 302 Found. GH #3302.
20
21 *Jim Herz*
22
23
24 ## Rails 3.1.1 (October 7, 2011) ##
25
26 * No changes.
27
28
29 ## Rails 3.1.0 (August 30, 2011) ##
30
31 * The default format has been changed to JSON for all requests. If you want to continue to use XML you will need to set `self.format = :xml` in the class. eg.
32
33 class User < ActiveResource::Base self.format = :xml
34 end
35
36 ## Rails 3.0.7 (April 18, 2011) ##
37
38 * No changes.
39
40
41 * Rails 3.0.6 (April 5, 2011)
42
43 * No changes.
44
45
46 ## Rails 3.0.5 (February 26, 2011) ##
47
48 * No changes.
49
50
51 ## Rails 3.0.4 (February 8, 2011) ##
52
53 * No changes.
54
55
56 ## Rails 3.0.3 (November 16, 2010) ##
57
58 * No changes.
59
60
61 ## Rails 3.0.2 (November 15, 2010) ##
62
63 * No changes
64
65
66 ## Rails 3.0.1 (October 15, 2010) ##
67
68 * No Changes, just a version bump.
69
70
71 ## Rails 3.0.0 (August 29, 2010) ##
72
73 * JSON: set Base.include_root_in_json = true to include a root value in the JSON: {"post": {"title": ...}}. Mirrors the Active Record option. *Santiago Pastorino*
74
75 * Add support for errors in JSON format. #1956 *Fabien Jakimowicz*
76
77 * Recognizes 410 as Resource Gone. #2316 *Jordan Brough, Jatinder Singh*
78
79 * More thorough SSL support. #2370 *Roy Nicholson*
80
81 * HTTP proxy support. #2133 *Marshall Huss, Sébastien Dabet*
82
83
84 ## 2.3.2 Final (March 15, 2009) ##
85
86 * Nothing new, just included in 2.3.2
87
88
89 ## 2.2.1 RC2 (November 14th, 2008) ##
90
91 * Fixed that ActiveResource#post would post an empty string when it shouldn't be posting anything #525 *Paolo Angelini*
92
93
94 ## 2.2.0 RC1 (October 24th, 2008) ##
95
96 * Add ActiveResource::Base#to_xml and ActiveResource::Base#to_json. #1011 *Rasik Pandey, Cody Fauser*
97
98 * Add ActiveResource::Base.find(:last). [#754 state:resolved] (Adrian Mugnolo)
99
100 * Fixed problems with the logger used if the logging string included %'s [#840 state:resolved] (Jamis Buck)
101
102 * Fixed Base#exists? to check status code as integer [#299 state:resolved] (Wes Oldenbeuving)
103
104
105 ## 2.1.0 (May 31st, 2008) ##
106
107 * Fixed response logging to use length instead of the entire thing (seangeo) *#27*
108
109 * Fixed that to_param should be used and honored instead of hardcoding the id #11406 *gspiers*
110
111 * Improve documentation. *Ryan Bigg, Jan De Poorter, Cheah Chu Yeow, Xavier Shay, Jack Danger Canty, Emilio Tagua, Xavier Noria, Sunny Ripert*
112
113 * Use HEAD instead of GET in exists? *bscofield*
114
115 * Fix small documentation typo. Closes #10670 *Luca Guidi*
116
117 * find_or_create_resource_for handles module nesting. #10646 *xavier*
118
119 * Allow setting ActiveResource::Base#format before #site. *Rick Olson*
120
121 * Support agnostic formats when calling custom methods. Closes #10635 *joerichsen*
122
123 * Document custom methods. #10589 *Cheah Chu Yeow*
124
125 * Ruby 1.9 compatibility. *Jeremy Kemper*
126
127
128 ## 2.0.2 (December 16th, 2007) ##
129
130 * Added more specific exceptions for 400, 401, and 403 (all descending from ClientError so existing rescues will work) #10326 *trek*
131
132 * Correct empty response handling. #10445 *seangeo*
133
134
135 ## 2.0.1 (December 7th, 2007) ##
136
137 * Don't cache net/http object so that ActiveResource is more thread-safe. Closes #10142 *kou*
138
139 * Update XML documentation examples to include explicit type attributes. Closes #9754 *Josh Susser*
140
141 * Added one-off declarations of mock behavior [David Heinemeier Hansson]. Example:
142
143 Before:
144 ActiveResource::HttpMock.respond_to do |mock|
145 mock.get "/people/1.xml", {}, "<person><name>David</name></person>"
146 end
147
148 Now:
149 ActiveResource::HttpMock.respond_to.get "/people/1.xml", {}, "<person><name>David</name></person>"
150
151 * Added ActiveResource.format= which defaults to :xml but can also be set to :json [David Heinemeier Hansson]. Example:
152
153 class Person < ActiveResource::Base
154 self.site = "http://app/"
155 self.format = :json
156 end
157
158 person = Person.find(1) # => GET http://app/people/1.json
159 person.name = "David"
160 person.save # => PUT http://app/people/1.json {name: "David"}
161
162 Person.format = :xml
163 person.name = "Mary"
164 person.save # => PUT http://app/people/1.json <person><name>Mary</name></person>
165
166 * Fix reload error when path prefix is used. #8727 *Ian Warshak*
167
168 * Remove ActiveResource::Struct because it hasn't proven very useful. Creating a new ActiveResource::Base subclass is often less code and always clearer. #8612 *Josh Peek*
169
170 * Fix query methods on resources. *Cody Fauser*
171
172 * pass the prefix_options to the instantiated record when using find without a specific id. Closes #8544 *Eloy Duran*
173
174 * Recognize and raise an exception on 405 Method Not Allowed responses. #7692 *Josh Peek*
175
176 * Handle string and symbol param keys when splitting params into prefix params and query params.
177
178 Comment.find(:all, :params => { :article_id => 5, :page => 2 }) or Comment.find(:all, :params => { 'article_id' => 5, :page => 2 })
179
180 * Added find-one with symbol [David Heinemeier Hansson]. Example: Person.find(:one, :from => :leader) # => GET /people/leader.xml
181
182 * BACKWARDS INCOMPATIBLE: Changed the finder API to be more extensible with :params and more strict usage of scopes [David Heinemeier Hansson]. Changes:
183
184 Person.find(:all, :title => "CEO") ...becomes: Person.find(:all, :params => { :title => "CEO" })
185 Person.find(:managers) ...becomes: Person.find(:all, :from => :managers)
186 Person.find("/companies/1/manager.xml") ...becomes: Person.find(:one, :from => "/companies/1/manager.xml")
187
188 * Add support for setting custom headers per Active Resource model *Rick Olson*
189
190 class Project
191 headers['X-Token'] = 'foo'
192 end
193
194 \# makes the GET request with the custom X-Token header
195 Project.find(:all)
196
197 * Added find-by-path options to ActiveResource::Base.find [David Heinemeier Hansson]. Examples:
198
199 employees = Person.find(:all, :from => "/companies/1/people.xml") # => GET /companies/1/people.xml
200 manager = Person.find("/companies/1/manager.xml") # => GET /companies/1/manager.xml
201
202
203 * Added support for using classes from within a single nested module [David Heinemeier Hansson]. Example:
204
205 module Highrise
206 class Note < ActiveResource::Base
207 self.site = "http://37s.sunrise.i:3000"
208 end
209
210 class Comment < ActiveResource::Base
211 self.site = "http://37s.sunrise.i:3000"
212 end
213 end
214
215 assert_kind_of Highrise::Comment, Note.find(1).comments.first
216
217
218 * Added load_attributes_from_response as a way of loading attributes from other responses than just create *David Heinemeier Hansson*
219
220 class Highrise::Task < ActiveResource::Base
221 def complete
222 load_attributes_from_response(post(:complete))
223 end
224 end
225
226 ...will set "done_at" when complete is called.
227
228
229 * Added support for calling custom methods #6979 *rwdaigle*
230
231 Person.find(:managers) # => GET /people/managers.xml
232 Kase.find(1).post(:close) # => POST /kases/1/close.xml
233
234 * Remove explicit prefix_options parameter for ActiveResource::Base#initialize. *Rick Olson*
235 ActiveResource splits the prefix_options from it automatically.
236
237 * Allow ActiveResource::Base.delete with custom prefix. *Rick Olson*
238
239 * Add ActiveResource::Base#dup *Rick Olson*
240
241 * Fixed constant warning when fetching the same object multiple times *David Heinemeier Hansson*
242
243 * Added that saves which get a body response (and not just a 201) will use that response to update themselves *David Heinemeier Hansson*
244
245 * Disregard namespaces from the default element name, so Highrise::Person will just try to fetch from "/people", not "/highrise/people" *David Heinemeier Hansson*
246
247 * Allow array and hash query parameters. #7756 *Greg Spurrier*
248
249 * Loading a resource preserves its prefix_options. #7353 *Ryan Daigle*
250
251 * Carry over the convenience of #create from ActiveRecord. Closes #7340. *Ryan Daigle*
252
253 * Increase ActiveResource::Base test coverage. Closes #7173, #7174 *Rich Collins*
254
255 * Interpret 422 Unprocessable Entity as ResourceInvalid. #7097 *dkubb*
256
257 * Mega documentation patches. #7025, #7069 *rwdaigle*
258
259 * Base.exists?(id, options) and Base#exists? check whether the resource is found. #6970 *rwdaigle*
260
261 * Query string support. *untext, Jeremy Kemper*
262 # GET /forums/1/topics.xml?sort=created_at
263 Topic.find(:all, :forum_id => 1, :sort => 'created_at')
264
265 * Base#==, eql?, and hash methods. == returns true if its argument is identical to self or if it's an instance of the same class, is not new?, and has the same id. eql? is an alias for ==. hash delegates to id. *Jeremy Kemper*
266
267 * Allow subclassed resources to share the site info *Rick Olson, Jeremy Kemper*
268 d class BeastResource < ActiveResource::Base
269 self.site = 'http://beast.caboo.se'
270 end
271
272 class Forum < BeastResource
273 # taken from BeastResource
274 # self.site = 'http://beast.caboo.se'
275 end
276
277 class Topic < BeastResource
278 self.site += '/forums/:forum_id'
279 end
280
281 * Fix issues with ActiveResource collection handling. Closes #6291. *bmilekic*
282
283 * Use attr_accessor_with_default to dry up attribute initialization. References #6538. *Stuart Halloway*
284
285 * Add basic logging support for logging outgoing requests. *Jamis Buck*
286
287 * Add Base.delete for deleting resources without having to instantiate them first. *Jamis Buck*
288
289 * Make #save behavior mimic AR::Base#save (true on success, false on failure). *Jamis Buck*
290
291 * Add Basic HTTP Authentication to ActiveResource (closes #6305). *jonathan*
292
293 * Extracted #id_from_response as an entry point for customizing how a created resource gets its own ID.
294 By default, it extracts from the Location response header.
295
296 * Optimistic locking: raise ActiveResource::ResourceConflict on 409 Conflict response. *Jeremy Kemper*
297
298 # Example controller action
299 def update
300 @person.save!
301 rescue ActiveRecord::StaleObjectError
302 render :xml => @person.reload.to_xml, :status => '409 Conflict'
303 end
304
305 * Basic validation support *Rick Olson*
306
307 Parses the xml response of ActiveRecord::Errors#to_xml with a similar interface to ActiveRecord::Errors.
308
309 render :xml => @person.errors.to_xml, :status => '400 Validation Error'
310
311 * Deep hashes are converted into collections of resources. *Jeremy Kemper*
312 Person.new :name => 'Bob',
313 :address => { :id => 1, :city => 'Portland' },
314 :contacts => [{ :id => 1 }, { :id => 2 }]
315 Looks for Address and Contact resources and creates them if unavailable.
316 So clients can fetch a complex resource in a single request if you e.g.
317 render :xml => @person.to_xml(:include => [:address, :contacts])
318 in your controller action.
319
320 * Major updates *Rick Olson*
321
322 * Add full support for find/create/update/destroy
323 * Add support for specifying prefixes.
324 * Allow overriding of element_name, collection_name, and primary key
325 * Provide simpler HTTP mock interface for testing
326
327 # rails routing code
328 map.resources :posts do |post|
329 post.resources :comments
330 end
331
332 # ActiveResources
333 class Post < ActiveResource::Base
334 self.site = "http://37s.sunrise.i:3000/"
335 end
336
337 class Comment < ActiveResource::Base
338 self.site = "http://37s.sunrise.i:3000/posts/:post_id/"
339 end
340
341 @post = Post.find 5
342 @comments = Comment.find :all, :post_id => @post.id
343
344 @comment = Comment.new({:body => 'hello world'}, {:post_id => @post.id})
345 @comment.save
346
347 * Base.site= accepts URIs. 200...400 are valid response codes. PUT and POST request bodies default to ''. *Jeremy Kemper*
348
349 * Initial checkin: object-oriented client for restful HTTP resources which follow the Rails convention. *David Heinemeier Hansson*
Something went wrong with that request. Please try again.