dragonfly 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|