dragonfly 1.2.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.travis.yml +14 -6
- data/History.md +331 -319
- data/README.md +1 -1
- data/dev/rails_template.rb +35 -33
- data/dragonfly.gemspec +10 -16
- data/lib/dragonfly/content.rb +17 -18
- data/lib/dragonfly/image_magick/commands.rb +35 -0
- data/lib/dragonfly/image_magick/generators/plain.rb +13 -7
- data/lib/dragonfly/image_magick/generators/plasma.rb +10 -6
- data/lib/dragonfly/image_magick/generators/text.rb +67 -58
- data/lib/dragonfly/image_magick/plugin.rb +26 -25
- data/lib/dragonfly/image_magick/processors/encode.rb +16 -5
- data/lib/dragonfly/image_magick/processors/thumb.rb +37 -31
- data/lib/dragonfly/job/fetch_url.rb +1 -1
- data/lib/dragonfly/model/class_methods.rb +6 -1
- data/lib/dragonfly/param_validators.rb +37 -0
- data/lib/dragonfly/response.rb +2 -2
- data/lib/dragonfly/utils.rb +1 -1
- data/lib/dragonfly/version.rb +1 -1
- data/lib/dragonfly.rb +3 -1
- data/spec/dragonfly/cookie_monster_spec.rb +2 -2
- data/spec/dragonfly/image_magick/commands_spec.rb +98 -0
- data/spec/dragonfly/image_magick/generators/plain_spec.rb +39 -13
- data/spec/dragonfly/image_magick/generators/plasma_spec.rb +28 -9
- data/spec/dragonfly/image_magick/generators/text_spec.rb +51 -20
- data/spec/dragonfly/image_magick/plugin_spec.rb +45 -28
- data/spec/dragonfly/image_magick/processors/encode_spec.rb +30 -0
- data/spec/dragonfly/image_magick/processors/thumb_spec.rb +46 -45
- data/spec/dragonfly/model/active_record_spec.rb +62 -0
- data/spec/dragonfly/param_validators_spec.rb +89 -0
- data/spec/dragonfly_spec.rb +37 -13
- data/spec/functional/shell_commands_spec.rb +6 -9
- data/spec/spec_helper.rb +12 -14
- metadata +44 -13
- data/lib/dragonfly/image_magick/generators/convert.rb +0 -19
- data/lib/dragonfly/image_magick/processors/convert.rb +0 -33
- data/spec/dragonfly/image_magick/generators/convert_spec.rb +0 -19
- data/spec/dragonfly/image_magick/processors/convert_spec.rb +0 -88
data/History.md
CHANGED
@@ -1,168 +1,200 @@
|
|
1
|
-
1.
|
2
|
-
|
3
|
-
|
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
|
-
|
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 >= 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 <= 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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|