dragonfly 1.2.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +14 -6
  3. data/History.md +331 -319
  4. data/README.md +1 -1
  5. data/dev/rails_template.rb +35 -33
  6. data/dragonfly.gemspec +10 -16
  7. data/lib/dragonfly/content.rb +17 -18
  8. data/lib/dragonfly/image_magick/commands.rb +35 -0
  9. data/lib/dragonfly/image_magick/generators/plain.rb +13 -7
  10. data/lib/dragonfly/image_magick/generators/plasma.rb +10 -6
  11. data/lib/dragonfly/image_magick/generators/text.rb +67 -58
  12. data/lib/dragonfly/image_magick/plugin.rb +26 -25
  13. data/lib/dragonfly/image_magick/processors/encode.rb +16 -5
  14. data/lib/dragonfly/image_magick/processors/thumb.rb +37 -31
  15. data/lib/dragonfly/job/fetch_url.rb +1 -1
  16. data/lib/dragonfly/model/class_methods.rb +6 -1
  17. data/lib/dragonfly/param_validators.rb +37 -0
  18. data/lib/dragonfly/response.rb +2 -2
  19. data/lib/dragonfly/utils.rb +1 -1
  20. data/lib/dragonfly/version.rb +1 -1
  21. data/lib/dragonfly.rb +3 -1
  22. data/spec/dragonfly/cookie_monster_spec.rb +2 -2
  23. data/spec/dragonfly/image_magick/commands_spec.rb +98 -0
  24. data/spec/dragonfly/image_magick/generators/plain_spec.rb +39 -13
  25. data/spec/dragonfly/image_magick/generators/plasma_spec.rb +28 -9
  26. data/spec/dragonfly/image_magick/generators/text_spec.rb +51 -20
  27. data/spec/dragonfly/image_magick/plugin_spec.rb +45 -28
  28. data/spec/dragonfly/image_magick/processors/encode_spec.rb +30 -0
  29. data/spec/dragonfly/image_magick/processors/thumb_spec.rb +46 -45
  30. data/spec/dragonfly/model/active_record_spec.rb +62 -0
  31. data/spec/dragonfly/param_validators_spec.rb +89 -0
  32. data/spec/dragonfly_spec.rb +37 -13
  33. data/spec/functional/shell_commands_spec.rb +6 -9
  34. data/spec/spec_helper.rb +12 -14
  35. metadata +44 -13
  36. data/lib/dragonfly/image_magick/generators/convert.rb +0 -19
  37. data/lib/dragonfly/image_magick/processors/convert.rb +0 -33
  38. data/spec/dragonfly/image_magick/generators/convert_spec.rb +0 -19
  39. data/spec/dragonfly/image_magick/processors/convert_spec.rb +0 -88
data/History.md CHANGED
@@ -1,168 +1,200 @@
1
- 1.2.0 (2018-11-13)
2
- ===================
3
- Fixes
4
- -----
1
+ # 1.4.0 (2021-05-19)
2
+
3
+ ## Changes
4
+
5
+ - Removed `convert` processor and generator (which were quite insecure), in favour of utility commands in `Dragonfly::ImageMagick::Commands`
6
+
7
+ ## Fixes
8
+
9
+ - Better security for all job steps with parameter validations
10
+
11
+ # 1.3.0 (2021-01-09)
12
+
13
+ ## Changes
14
+
15
+ - Dropped official support for ruby < 2.2 - too annoying to maintain
16
+
17
+ ## Fixes
18
+
19
+ - Fixed losing attachment when transaction rolled back on destroy (dlibanori)
20
+ - Fixed fetch_url edge case when redirect url includes special chars (thedanbob)
21
+
22
+ # 1.2.1 (2020-07-24)
23
+
24
+ ## Features
25
+
26
+ - Allow having no logger (setting to `nil`) (kaimou1357)
27
+
28
+ ## Fixes
29
+
30
+ - Fix URI.unescape deprecation warning (alberto-mota)
31
+
32
+ # 1.2.0 (2018-11-13)
33
+
34
+ ## Fixes
35
+
5
36
  - Replaced `quote` with `escape` for escaping shell commands - works with paths with apostrophes
6
- Changes
7
- -----
37
+
38
+ ## Changes
39
+
8
40
  - Replaced Open3.popen3 with now recommended Open3.capture3 (tomasc)
9
41
 
10
- 1.1.5 (2018-03-23)
11
- ===================
12
- Fixes
13
- -----
42
+ # 1.1.5 (2018-03-23)
43
+
44
+ ## Fixes
45
+
14
46
  - Moved `destroy_dragonfly_attachments` into an `after_destroy` - issue #477 (eldotz)
15
47
 
16
- 1.1.4 (2017-12-31)
17
- ===================
18
- Fixes
19
- -----
48
+ # 1.1.4 (2017-12-31)
49
+
50
+ ## Fixes
51
+
20
52
  - Fixed data uris not working for long strings (reported dlibanori)
21
53
  - Removed syntax warnings (swamp09)
22
54
  - Correct ActiveRecord hook with `ActiveSupport.on_load` (efatsi)
23
55
 
24
- 1.1.3 (2017-06-02)
25
- ===================
26
- Fixes
27
- -----
56
+ # 1.1.3 (2017-06-02)
57
+
58
+ ## Fixes
59
+
28
60
  - Make sure imagemagick convert processor updates mime_type correctly when format is changed
29
61
 
30
- 1.1.2 (2017-05-06)
31
- ===================
32
- Fixes
33
- -----
62
+ # 1.1.2 (2017-05-06)
63
+
64
+ ## Fixes
65
+
34
66
  - Allow relative redirect urls in `fetch_url` (zorec)
35
67
  - Fixed Forwardable deprecation warnings (neodude)
36
68
  - Fixed incorrect detection of empty directories in ruby 2.4 (yuszuv)
37
69
  - Store content type in meta if it's available so we don't lose information (Lukas Svoboda)
38
70
 
39
- 1.1.1 (2016-10-26)
40
- ===================
41
- Features
42
- --------
71
+ # 1.1.1 (2016-10-26)
72
+
73
+ ## Features
74
+
43
75
  - Added delegate option for imagemagick (Will Fisher)
44
76
 
45
- Fixes
46
- -----
77
+ ## Fixes
78
+
47
79
  - Use `Base64.urlsafe_encode64` (Jan Raasch)
48
80
  Note that this changes b64 encodings from '/' to `'_'` and '+' to '-' in URLs, which will change a very
49
81
  small number of generated URLs (but shouldn't be enough to cause big recaching problems)
50
82
  URLs are encoded now according to the URL safe base64 specification in RFC 4648.
51
83
  Old URLs are still recognized so won't break.
52
84
 
85
+ # 1.1.0 (2016-10-24)
86
+
87
+ ## Fixes
53
88
 
54
- 1.1.0 (2016-10-24)
55
- ===================
56
- Fixes
57
- -----
58
89
  - Fetch a URL with basic auth if it's present in the URI (Ben Pickles)
59
90
  - Fix rack version problem for older rubies (rack 2.0 only works for ruby &gt;= 2.2.2)
60
91
  - Updated deprecated syntax in tests for WebMock, RSpec
61
92
 
62
- Changes
63
- --------
93
+ ## Changes
94
+
64
95
  - Dropped official support for Ruby &lt;= 1.9.2 and Rubinius
65
96
 
66
- 1.0.12 (2015-09-16)
67
- ===================
68
- Features
69
- --------
97
+ # 1.0.12 (2015-09-16)
98
+
99
+ ## Features
100
+
70
101
  - Made thumb processor args for a specific geometry publicly accesible
71
102
 
72
- 1.0.11 (2015-09-04)
73
- ===================
74
- Fixes
75
- -----
103
+ # 1.0.11 (2015-09-04)
104
+
105
+ ## Fixes
106
+
76
107
  - Make sure tempfiles are created with paths matching the meta name
77
108
 
78
- 1.0.10 (2015-05-14)
79
- ===================
80
- Features
81
- --------
109
+ # 1.0.10 (2015-05-14)
110
+
111
+ ## Features
112
+
82
113
  - Allow method signified by symbol in storage_options to take an attachment object
83
114
  - Allow passing in "input_args" to convert processor
84
- Fixes
85
- -----
115
+
116
+ ## Fixes
117
+
86
118
  - correct Rack version
87
119
 
88
- 1.0.9 (2015-04-29)
89
- ===================
90
- Fixes
91
- --------
120
+ # 1.0.9 (2015-04-29)
121
+
122
+ ## Fixes
123
+
92
124
  - Remove sha parameter being echoed back on error for better security
93
125
 
94
- 1.0.8 (2015-04-23)
95
- ===================
96
- Fixes
97
- --------
126
+ # 1.0.8 (2015-04-23)
127
+
128
+ ## Fixes
129
+
98
130
  - Job#close re-added, so that tempfiles are immediately removed after each request
99
131
  - Specs passing for 1.8.7, 1.9.2 (i18n gem version specified)
100
132
 
101
- 1.0.7 (2014-08-26)
102
- ===================
103
- Changes
104
- --------
133
+ # 1.0.7 (2014-08-26)
134
+
135
+ ## Changes
136
+
105
137
  - Job#sha uses better algorithm
106
138
  - renamed `protect_from_dos_attacks` -> `verify_urls` and turn on by default
107
139
 
108
- 1.0.6 (2014-08-22)
109
- ===================
110
- Features
111
- --------
140
+ # 1.0.6 (2014-08-22)
141
+
142
+ ## Features
143
+
112
144
  - env can be accessed by routed endpoint blocks
113
145
 
114
- Fixes
115
- -----
146
+ ## Fixes
147
+
116
148
  - analyser cache doesn't get stored in meta for a given piece of meta - can mess with stringifying analyser return values
117
149
  - removed default secret, forcing user to specify one explicitly
118
150
  - deal with "[" character problems in urls https://github.com/markevans/dragonfly/pull/337
119
151
 
120
- 1.0.5 (2014-05-15)
121
- ===================
122
- Fixes
123
- -----
152
+ # 1.0.5 (2014-05-15)
153
+
154
+ ## Fixes
155
+
124
156
  - fetch_url wasn't correctly getting https endpoints on Ruby approx < 2
125
157
 
126
- 1.0.4 (2014-04-11)
127
- ===================
128
- Fixes
129
- -----
158
+ # 1.0.4 (2014-04-11)
159
+
160
+ ## Fixes
161
+
130
162
  - fetch_url is more forgiving - assume escaped, if not escape
131
163
 
132
- 1.0.3 (2014-01-28)
133
- ===================
134
- Fixes
135
- -----
164
+ # 1.0.3 (2014-01-28)
165
+
166
+ ## Fixes
167
+
136
168
  - changing meta on a job (e.g. `fetch('blah').encode('jpg')`) was interfering with meta on its parent job (e.g. `fetch('blah')`)
137
169
 
138
- 1.0.2 (2013-12-20)
139
- ===================
140
- Fixes
141
- -----
170
+ # 1.0.2 (2013-12-20)
171
+
172
+ ## Fixes
173
+
142
174
  - more secure generation of secret in rails generator
143
175
  - ensure popen3 doesn't hang
144
176
 
145
- 1.0.1 (2013-11-28)
146
- ===================
147
- Changes
148
- -------
177
+ # 1.0.1 (2013-11-28)
178
+
179
+ ## Changes
180
+
149
181
  - FileDataStore doesn't use hours_minutes_seconds in its path - it uses a random string instead (12_15_59_saf4fs_file.png -> sdf4c2G_file.png)
150
182
 
151
- Features
152
- --------
183
+ ## Features
184
+
153
185
  - model attribute `xxx_changed?` method (useful e.g. in validations)
154
186
 
155
- Fixes
156
- -----
187
+ ## Fixes
188
+
157
189
  - proper support for Ruby 1.8.7 and JRuby (version 1.7.8)
158
190
  - routed endpoints can deal with returned `Attachment` objects (rather than returned `Job` objects) and return 404 if the endpoint proc returns nil
159
191
  - default Content-Disposition header doesn't url-encode filename unless the request is from IE
160
192
  - `fetch_url` deals with urls that redirect to https (previously was blowing up)
161
193
 
162
- 1.0.0 (2013-11-24)
163
- ===================
164
- Changes
165
- -------
194
+ # 1.0.0 (2013-11-24)
195
+
196
+ ## Changes
197
+
166
198
  - configuration
167
199
  - `Dragonfly[:images]` -> `Dragonfly.app` and `Dragonfly.app(:named_app)`
168
200
  - configuration block DSL overhaul
@@ -187,8 +219,8 @@ Changes
187
219
  - proper requires throughout the code instead of autoloading
188
220
  - simple 500 response for unknown errors
189
221
 
190
- Features
191
- --------
222
+ ## Features
223
+
192
224
  - model attachment default (by specifying a path to a e.g. a default image)
193
225
  - `convert` and `thumb` processors take a `'frame'` option
194
226
  - `thumb` takes a `'format'` option
@@ -201,82 +233,82 @@ Features
201
233
  - for each response
202
234
  - for shell commands
203
235
 
204
- Fixes
205
- -----
236
+ ## Fixes
237
+
206
238
  - inserting CookieMonster doesn't depend on existence of `ActionDispatch::Cookies`
207
239
  - `image?` returns false for pdfs
208
240
  - `fetch_url` raises more useful `ErrorResponse` on error
209
241
  - shell commands don't print warnings to stderr
210
242
  - ability to assign attachment/job from other app
211
243
 
212
- 0.9.15 (2013-05-04)
213
- ===================
214
- Features
215
- --------
244
+ # 0.9.15 (2013-05-04)
245
+
246
+ ## Features
247
+
216
248
  - Allow turning off support of legacy urls
217
249
 
218
- Fixes
219
- -----
250
+ ## Fixes
251
+
220
252
  - More conservative URL escaping - back to Rack::Utils.escape_path
221
253
  - Don't check for malicious strings when deserializing from datastores (they're to be trusted)
222
254
 
223
- 0.9.14 (2013-02-13)
224
- ===================
225
- Features
226
- --------
255
+ # 0.9.14 (2013-02-13)
256
+
257
+ ## Features
258
+
227
259
  - Attachment#b64_data
228
260
 
229
- Fixes
230
- -----
261
+ ## Fixes
262
+
231
263
  - Fix '+' character being converted to ' ' (revert to URI.escape instead of Rack::Utils.escape)
232
264
  - Support old-style deprecated urls (with a check for malicious ones)
233
265
  - Handle case where uid is an empty string
234
266
 
235
- 0.9.13 (2013-01-30)
236
- ===================
237
- Changes
238
- -------
267
+ # 0.9.13 (2013-01-30)
268
+
269
+ ## Changes
270
+
239
271
  - URLS are encoded/decoded with JSON, not with Marshal
240
272
 
241
- 0.9.12 (2012-04-08)
242
- ===================
243
- Features
244
- -------
273
+ # 0.9.12 (2012-04-08)
274
+
275
+ ## Features
276
+
245
277
  - Allow using a mongo replica set with mongo datastore
246
278
 
247
- Fixes
248
- -----
279
+ ## Fixes
280
+
249
281
  - `define_macro_on_include` was giving a stack error with multiple accessors on same app
250
282
 
251
- 0.9.11 (2012-03-12)
252
- ===================
253
- Features
254
- -------
283
+ # 0.9.11 (2012-03-12)
284
+
285
+ ## Features
286
+
255
287
  - Allow the S3 base URL to be customised with `url_host` (or per-request)
256
288
  - Added App#name (name as per `Dragonfly[:app_name]`)
257
289
 
258
- Changes
259
- -------
290
+ ## Changes
291
+
260
292
  - Better inspect for App, Processor, Analyser, Encoder, Generator, Job, TempObject, RoutedEndpoint, JobEndpoint
261
293
 
262
- Fixes
263
- -----
294
+ ## Fixes
295
+
264
296
  - Rescue from Excon::Errors::Conflict which apparently gets raised sometimes (don't know why - see https://github.com/markevans/dragonfly/issues/167)
265
297
  - Alias portrait and landscape without question marks, so magic_attributes can be used with them
266
298
  - Fixed stack error when using `define_macro_on_include` twice
267
299
  - Use fog's `sync_clock` to overcome potential S3 time skew problems
268
300
  - Using :name in urls was causing problems when filenames had dashes in them
269
301
 
270
- 0.9.10 (2012-01-11)
271
- ===================
272
- Fixes
273
- -----
302
+ # 0.9.10 (2012-01-11)
303
+
304
+ ## Fixes
305
+
274
306
  - FileDataStore was causing errors when the storage path was flat (not in a directory structure)
275
307
 
276
- 0.9.9 (2011-12-30)
277
- ==================
278
- Features
279
- --------
308
+ # 0.9.9 (2011-12-30)
309
+
310
+ ## Features
311
+
280
312
  - Created tempfiles use the original file extension if known
281
313
  - Added `:case_sensitive` option to `validates_property` for dealing with upper-case extensions and mime-types.
282
314
  - Github Markup syntax on readme for code highlighting
@@ -285,16 +317,16 @@ Features
285
317
  - `to_file` creates intermediate subdirs by default, can be turned off with `:mkdirs => false` option
286
318
  - Added some more S3 regions
287
319
 
288
- Changes
289
- -------
320
+ ## Changes
321
+
290
322
  - Datastores now use `temp_object.meta`, not the second arg passed in to `store`
291
323
  - `meta`, `name`, etc. now lazily load the job on an attachment - previously you'd have to call `apply` to get the meta from the datastore
292
324
  - When assigning an image via the activemodel extensions, mark that uid attribute will change
293
325
  - `validates_property` uses Rails 3 validators
294
326
  - Deprecated saved 'heroku' config, in favour of configuring S3 explicitly
295
327
 
296
- Fixes
297
- -----
328
+ ## Fixes
329
+
298
330
  - Model attachment urls are consistent now - the name is appended to the url (with format "/:job/:name") ONLY if it has the "name" magic attribute
299
331
  - `identify` wasn't working properly for files with capital letter extensions
300
332
  - S3 datastore sets content mime_type by default
@@ -305,89 +337,89 @@ Fixes
305
337
  - S3DataStore was breaking on bucket_exists? when using AWS IAM
306
338
  - Put CookieMonster before ActionDispatch::Cookies in rack middleware stack - that way Rack::Cache won't come between them and mess things up
307
339
 
308
- 0.9.8 (2011-09-08)
309
- ==================
310
- Fixes
311
- -----
340
+ # 0.9.8 (2011-09-08)
341
+
342
+ ## Fixes
343
+
312
344
  - Regenerated gemspec again with ruby 1.8.7 - didn't seem to be fixed
313
345
 
314
- 0.9.7 (2011-09-08)
315
- ==================
316
- Fixes
317
- -----
346
+ # 0.9.7 (2011-09-08)
347
+
348
+ ## Fixes
349
+
318
350
  - Regenerated gemspec to overcome annoying yaml issue (http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yacc.html)
319
351
 
320
- 0.9.6 (2011-09-06)
321
- ==================
322
- Features
323
- --------
352
+ # 0.9.6 (2011-09-06)
353
+
354
+ ## Features
355
+
324
356
  - Allow setting `content_type` when storing in Mongo GridFS
325
357
 
326
- Changes
327
- -------
358
+ ## Changes
359
+
328
360
  - Tests use Rails 3.1
329
361
 
330
- Fixes
331
- -----
362
+ ## Fixes
363
+
332
364
  - Moved from fog's deprecated `get_object_url` to `get_object_https_url`
333
365
  - Allow initializing a TempObject with Rack::Test::UploadedFile
334
366
  - Tests working in Windows (except feature that uses FileCommandAnalyser)
335
367
  - Better shell quoting
336
368
 
337
- 0.9.5 (2011-07-27)
338
- ==================
339
- Features
340
- --------
369
+ # 0.9.5 (2011-07-27)
370
+
371
+ ## Features
372
+
341
373
  - Added reflection method `app.analyser_methods`
342
374
 
343
- Fixes
344
- -----
375
+ ## Fixes
376
+
345
377
  - Fixed `convert` and `identify` for files with spaces
346
378
  - Fixed size validations for Rails 3.0.7
347
379
 
348
- 0.9.4 (2011-06-10)
349
- ==================
350
- Fixes
351
- -----
380
+ # 0.9.4 (2011-06-10)
381
+
382
+ ## Fixes
383
+
352
384
  - Made use of Rack calling `close` on the response body to clean up tempfiles.
353
385
  The response body is now the job, which delegates `each` to the temp_object.
354
386
 
355
- 0.9.3 (2011-06-03)
356
- ==================
357
- Fixes
358
- -----
387
+ # 0.9.3 (2011-06-03)
388
+
389
+ ## Fixes
390
+
359
391
  - TempObject#to_file sets file permissions 644 - copying wasn't previously guaranteeing this
360
392
  - Added TempObject#close and closed?, which Rack uses to clean up tempfiles
361
393
  - replaced '/' characters with '~' in base64 encoded urls (they were confusing url recognition)
362
394
 
363
- 0.9.2 (2011-05-19)
364
- ==================
365
- Features
366
- --------
395
+ # 0.9.2 (2011-05-19)
396
+
397
+ ## Features
398
+
367
399
  - Added env['dragonfly.job'] for use in other Rack middlewares
368
400
  - Added CookieMonster middleware for removing 'Set-Cookie' headers
369
401
 
370
- Fixes
371
- -----
402
+ ## Fixes
403
+
372
404
  - Remove 'Set-Cookie' header from any requests coming from a rails route
373
405
 
374
- 0.9.1 (2011-05-11)
375
- ==================
376
- Features
377
- --------
406
+ # 0.9.1 (2011-05-11)
407
+
408
+ ## Features
409
+
378
410
  - Added reflection methods `app.processor_methods`, `app.generator_methods` and `app.job_methods`
379
411
 
380
- Fixes
381
- -----
412
+ ## Fixes
413
+
382
414
  - Improved performance of `resize_and_crop` method, using imagemagick built-in '^' operator
383
415
  - Improved server security validations
384
416
  - Deal with Excon::Errors::SocketError: EOFError errors which get thrown sometimes from S3 connection
385
417
  - Allow files with '..' (but not '../') in the middle of their name in file data store
386
418
 
387
- 0.9.0 (2011-04-27)
388
- ==================
389
- Features
390
- --------
419
+ # 0.9.0 (2011-04-27)
420
+
421
+ ## Features
422
+
391
423
  - Model accessors are configurable
392
424
  - added `after_assign` callback
393
425
  - added `after_unassign` callback
@@ -418,8 +450,8 @@ Features
418
450
  - Mongo datastore can reuse an existing connection/db
419
451
  - FileDataStore can be configured not to store meta (save on extra file)
420
452
 
421
- Changes
422
- -------
453
+ ## Changes
454
+
423
455
  - Removed `url_path_prefix` and `url_suffix` in favour of `url_format`
424
456
  - Middleware doesn't need mount point argument now
425
457
  - Removed support for rails 2.3
@@ -431,131 +463,127 @@ Changes
431
463
  - FileDataStore stores metadata in xxx.meta now, not xxx.extra
432
464
  - removed Job methods `uid_basename`, `uid_extname`, `encoded_format` and `encoded_extname` as they are now unnecessary
433
465
 
434
- Fixes
435
- -----
466
+ ## Fixes
467
+
436
468
  - Performance tweaks regarding temp_objects model accessors and job objects
437
469
 
438
- 0.8.5 (2011-05-11)
439
- ==================
440
- Fixes
441
- -----
470
+ # 0.8.5 (2011-05-11)
471
+
472
+ ## Fixes
473
+
442
474
  - Allow filenames that have '..' in them (but not '../') in the filedatastore
443
475
  - Better security for server
444
476
 
445
- 0.8.4 (2011-04-27)
446
- ==================
447
- Fixes
448
- -----
477
+ # 0.8.4 (2011-04-27)
478
+
479
+ ## Fixes
480
+
449
481
  - Security fix for file data store
450
482
 
451
- 0.8.2 (2011-01-11)
452
- ==================
453
- Fixes
454
- -----
483
+ # 0.8.2 (2011-01-11)
484
+
485
+ ## Fixes
486
+
455
487
  - Renamed ActiveModel methods like 'attachments' to avoid name clashes
456
488
  - Respond properly to HEAD, POST, PUT and DELETE requests
457
489
  - Got it working with jRuby and Rubinius
458
490
  - Made DOS protection SHA (and ETag) consistent
459
491
 
460
- 0.8.1 (2010-11-22)
461
- ==================
462
- Fixes
463
- -----
492
+ # 0.8.1 (2010-11-22)
493
+
494
+ ## Fixes
495
+
464
496
  Removed runtime dependencies that Jeweler automatically takes from the Gemfile
465
497
 
466
- 0.8.0 (2010-11-21)
467
- ==================
468
- Features
469
- --------
498
+ # 0.8.0 (2010-11-21)
499
+
500
+ ## Features
501
+
470
502
  - New ImageMagick generator, processor, encoder and analyser, which are now defaults
471
503
  (thanks to Henry Phan for work on this)
472
504
 
473
- Fixes
474
- -----
505
+ ## Fixes
506
+
475
507
  - Works with Rails 3.0.2 uploaded files (which has a changed API)
476
508
 
509
+ # 0.7.7 (2010-10-31)
510
+
511
+ ## Features
477
512
 
478
- 0.7.7 (2010-10-31)
479
- ==================
480
- Features
481
- --------
482
513
  - Added username/password authentication to mongo data store
483
514
 
484
- Fixes
485
- -----
515
+ ## Fixes
516
+
486
517
  - Fixes for Windows, inc. tempfile binmode and closing files
487
518
  - "IOError: closed stream" fix (hopefully!)
488
519
 
520
+ # 0.7.6 (2010-09-12)
521
+
522
+ ## Features
489
523
 
490
- 0.7.6 (2010-09-12)
491
- ==================
492
- Features
493
- --------
494
524
  - Added methods for querying job steps, and Job#uid, Job#uid_basename, etc.
495
525
  - Added Job#b64_data
496
526
  - Added configurable url_suffix
497
527
  - Added configurable content_disposition and content_filename
498
528
  - Can pass extra GET params to url_for
499
529
  - Can manually set uid on FileDataStore and S3DataStore
500
- (not yet documented because attachments have no way to pass it on yet)
530
+ (not yet documented because attachments have no way to pass it on yet)
501
531
  - Model attachments store meta info about themselves
502
532
 
503
- Changes
504
- -------
533
+ ## Changes
534
+
505
535
  - Configurable module doesn't implicitly call 'call' if attribute set as proc
506
536
  - Refactored Endpoint module -> Response object
507
537
 
508
- Fixes
509
- -----
538
+ ## Fixes
539
+
510
540
  - Ruby 1.9.2-p0 was raising encoding errors due to Tempfiles not being in binmode
511
541
 
542
+ # 0.7.5 (2010-09-01)
543
+
544
+ ## Changes
512
545
 
513
- 0.7.5 (2010-09-01)
514
- ==================
515
- Changes
516
- --------
517
546
  - RMagick processor, encoder, analyser and generator all use the filesystem now
518
547
  They can be configured to use in-memory strings with the use_filesystem config option.
519
548
  - Upgraded support from Rails 3.0.0.rc -> Rails.3.0.0
520
549
 
521
- 0.7.4 (2010-08-28)
522
- ==================
523
- Features
524
- --------
550
+ # 0.7.4 (2010-08-28)
551
+
552
+ ## Features
553
+
525
554
  - Gave model accessors bang methods process! and encode!
526
555
 
527
- 0.7.3 (2010-08-27)
528
- ==================
529
- Fixes
530
- -----
556
+ # 0.7.3 (2010-08-27)
557
+
558
+ ## Fixes
559
+
531
560
  - Seems as though inserting after Rails' Rack::Lock was worth it after all
532
561
 
533
- 0.7.2 (2010-08-27)
534
- ==================
535
- Fixes
536
- -----
562
+ # 0.7.2 (2010-08-27)
563
+
564
+ ## Fixes
565
+
537
566
  - S3DataStore was breaking if previous data hadn't stored meta
538
567
 
539
- 0.7.1 (2010-08-26)
540
- ==================
541
- Fixes
542
- -----
568
+ # 0.7.1 (2010-08-26)
569
+
570
+ ## Fixes
571
+
543
572
  - SimpleEndpoint was modifying env path_info so wasn't creating proper cache keys
544
573
  - to_response accepts env, so can use if-not-modified, etc.
545
574
 
546
- Features
547
- --------
575
+ ## Features
576
+
548
577
  - Doc tweaks: Added mongo page, notes about Capistrano
549
578
 
550
- Changes
551
- -------
579
+ ## Changes
580
+
552
581
  - ETags generated by hash of job.serialize - was getting a bit long
553
582
 
554
- 0.7.0 (2010-08-25)
555
- ==================
583
+ # 0.7.0 (2010-08-25)
584
+
585
+ ## Features
556
586
 
557
- Features
558
- --------
559
587
  - Ability to chain processing, encoding
560
588
  - Added Generators for arbitrary content generation
561
589
  - 'fetch_file' method for easily getting local files
@@ -576,16 +604,16 @@ Features
576
604
  - simple endpoints
577
605
  - more intelligent working out of Content-Type to send back
578
606
 
579
- Fixes
580
- -----
607
+ ## Fixes
608
+
581
609
  - proper use of ETags
582
610
  - remove whitespace from file/s3 datastore uids
583
611
  - dragonfly/rails/images url-encodes rack-cache config for windows users
584
612
  - Ruby 1.9.2 support
585
613
  - Better RMagick memory management using image.destroy!
586
614
 
587
- Changes
588
- -------
615
+ ## Changes
616
+
589
617
  - Dragonfly::App[:images] -> Dragonfly[:images]
590
618
  - Moved text/plasma generation into Generator
591
619
  - Use of lazy 'Job' objects
@@ -600,25 +628,22 @@ Changes
600
628
  - encoded urls
601
629
  - got rid of unnecessary configurable sha_length
602
630
 
631
+ # 0.6.2 (2010-06-24)
603
632
 
633
+ ## Features
604
634
 
605
- 0.6.2 (2010-06-24)
606
- ==================
607
- Features
608
- -----
609
635
  - Added ability for custom error messages in validations
610
636
 
611
- 0.6.1 (2010-05-16)
612
- ==================
613
- Fixes
614
- -----
637
+ # 0.6.1 (2010-05-16)
638
+
639
+ ## Fixes
640
+
615
641
  - STI was breaking when the model had a mixin too
616
642
 
617
- 0.6.0 (2010-05-11)
618
- ==================
643
+ # 0.6.0 (2010-05-11)
644
+
645
+ ## Features
619
646
 
620
- Features
621
- --------
622
647
  - Added 'scale factor' for text generation, which gives better quality font rendering for smaller fonts
623
648
  - Configurable objects allow for passing args, and passing a block for extra config
624
649
  - Added more 'saved configurations', for easier setting up on e.g. Heroku
@@ -626,100 +651,87 @@ Features
626
651
  - Added greyscale to RMagickProcessor
627
652
  - S3DataStore is configurable as to whether it uses the filesystem or not (to save a tempfile)
628
653
 
629
- Fixes
630
- -----
654
+ ## Fixes
655
+
631
656
  - Some specs refactoring, including making text processing specs less brittle
632
657
  - RMagickEncoder::SUPPORTED_FORMATS was proving problematic - now we use a configurable list instead
633
658
  - Got Rails 3 beta3 cucumber features working
634
659
  - Added check to see if bucket already exists in S3DataStore - apparently this was problematic in EU
635
660
 
636
- Changes
637
- -------
661
+ ## Changes
662
+
638
663
  - temp_object.tempfile now returns a closed tempfile, which temp_object.file returns an open file.
639
- Can also pass a block to temp_object.file which closes the file automatically
664
+ Can also pass a block to temp_object.file which closes the file automatically
640
665
  - Processors/Analysers/Encoders know about app now so can log to app's log
641
666
  - Imagemagick errors in RMagick processor/analyser/encoder now throw unable_to_handle and log a warning
642
667
  - Removed Rails generators - better being more explicit with saved configurations which are more concise now
643
668
 
644
- 0.5.7 (2010-04-18)
645
- ==================
669
+ # 0.5.7 (2010-04-18)
670
+
671
+ ## Fixes
646
672
 
647
- Fixes
648
- --------
649
673
  - Strip file command mime_type value because some versions of file command were appending a line-break
650
674
 
651
- 0.5.6 (2010-04-13)
652
- ==================
675
+ # 0.5.6 (2010-04-13)
676
+
677
+ ## Fixes
653
678
 
654
- Fixes
655
- --------
656
679
  - Wasn't working properly with Single-Table Inheritance
657
680
 
658
- 0.5.5 (2010-04-13)
659
- ==================
681
+ # 0.5.5 (2010-04-13)
682
+
683
+ ## Fixes
660
684
 
661
- Fixes
662
- --------
663
685
  - Rails 3 has changed 'metaclass' -> 'singleton_class' so adapt accordingly
664
686
 
665
- 0.5.4 (2010-04-12)
666
- ==================
687
+ # 0.5.4 (2010-04-12)
688
+
689
+ ## Features
667
690
 
668
- Features
669
- --------
670
691
  - Allow setting the uid manually
671
692
 
672
- Fixes
673
- -----
693
+ ## Fixes
694
+
674
695
  - Assigning an accessor to nil wasn't working properly
675
696
 
697
+ # 0.5.3 (2010-03-27)
676
698
 
677
- 0.5.3 (2010-03-27)
678
- ==================
699
+ ## Fixes
679
700
 
680
- Fixes
681
- -----
682
701
  - Assigning an accessor to nil wasn't working properly
683
702
 
703
+ # 0.5.2 (2010-03-04)
684
704
 
685
- 0.5.2 (2010-03-04)
686
- ==================
705
+ ## Features
687
706
 
688
- Features
689
- --------
690
707
  - Added 'registered mime-types'
691
708
  - Enhanced docs
692
709
 
693
- Fixes
694
- -----
710
+ ## Fixes
711
+
695
712
  - RMagickEncoder only encodes if not already in that format
696
713
 
714
+ # 0.5.1 (2010-02-20)
697
715
 
698
- 0.5.1 (2010-02-20)
699
- ==================
716
+ ## Fixes
700
717
 
701
- Fixes
702
- -----
703
718
  - Fixed 'broken pipe' errors in FileCommandAnalyser due to outputting loads of stuff to the command line stdin
704
719
 
705
- 0.5.0 (2010-02-20)
706
- ==================
720
+ # 0.5.0 (2010-02-20)
707
721
 
708
- Added support
709
- -------------
710
- - support for Rails 3
722
+ ## Added support
711
723
 
724
+ - support for Rails 3
712
725
 
713
- 0.4.4 (2010-02-16)
714
- ==================
726
+ # 0.4.4 (2010-02-16)
715
727
 
716
728
  Better late than never to start logging change history...
717
729
 
718
- New features
719
- ------------
730
+ ## New features
731
+
720
732
  - added aspect_ratio to rmagick_analyser
721
733
 
722
- Added support
723
- -------------
734
+ ## Added support
735
+
724
736
  - support for ruby 1.9
725
737
  - added development dependencies to gemspec for easier setting up