1 | # Changelog
|
2 |
|
3 | All notable changes to this project will be documented in this file.
|
4 |
|
5 | The format is based on [Keep a Changelog](http://keepachangelog.com/) and this
|
6 | project adheres to [Semantic Versioning](http://semver.org/).
|
7 |
|
8 | (Unreleased)
|
9 | ==================
|
10 | ### Changed
|
11 | ### Added
|
12 | ### Fixed
|
13 |
|
14 | 2.6.1
|
15 | ==================
|
16 | ### Fixed
|
17 | * Ignore `maxWidth` in `fillText` and `strokeText` if it is undefined
|
18 | * Fix crash (assertion failure) in Node.js 12.x when patterns or gradients are used
|
19 | * Fix crash (check failure) in Node.js 12.x when using RGB16_565 format. (The
|
20 | underlying arraybuffer was incorrectly sized.)
|
21 |
|
22 | 2.6.0
|
23 | ==================
|
24 | ### Changed
|
25 | * Allow larger buffers to be returned from `toBuffer('raw')`.
|
26 | ### Added
|
27 | * Support for various BMP headers and color depths (#1435)
|
28 | ### Fixed
|
29 | * Fix crash when changing canvas width/height while `fillStyle` or `strokeStyle`
|
30 | was set to a `CanvasPattern` or `CanvasGradient` (#1357).
|
31 | * Fix crash when changing width/height of SVG canvases (#1380).
|
32 | * Fix crash when using `toBuffer('raw')` with large canvases (#1158).
|
33 | * Clarified meaning of byte ordering for `toBuffer('raw')` in readme. (#1416)
|
34 | * Fix package.json Typings field to point to Declaration file (#1432)
|
35 | * Properly check return value from `Set` and `Call`. (#1415)
|
36 | * Use `Get` version from `Nan` instead of `v8`. (#1415)
|
37 |
|
38 | 2.5.0
|
39 | ==================
|
40 | ### Added
|
41 | * Support redirects when fetching images (using [simple-get](https://github.com/feross/simple-get)) (#1398)
|
42 | * Support Node.js v12
|
43 | ### Fixed
|
44 | * Fix object literal & arrow function syntax usage for IE.
|
45 |
|
46 | 2.4.1
|
47 | ==================
|
48 | ### Fixed
|
49 | * Guard JPEG width/height against maximum supported (#1385)
|
50 | * Fix electron 5 and node 12 compatibility
|
51 | * Fix encoding options (quality) parameter in `canvas.toDataURL()`
|
52 |
|
53 | 2.4.0
|
54 | ==================
|
55 | ### Added
|
56 | * (Actually) added `resolution` option for `canvas.toBuffer("image/png")` and
|
57 | `canvas.createPNGStream()`. This was documented since 2.0.0 but not working.
|
58 | * Add typescript definitions.
|
59 | ### Fixed
|
60 | * PDF metadata (added in 2.3.0) wasn't being set with `canvas.createPDFStream()`
|
61 | * Fix custom "inspect" function deprecation warnings (#1326)
|
62 |
|
63 | 2.3.1
|
64 | ==================
|
65 | ### Fixed
|
66 | * Fix `canvas.toBuffer()` for JPEGs (#1350)
|
67 |
|
68 | 2.3.0
|
69 | ==================
|
70 | ### Added
|
71 | * Add support for multiple PDF page sizes
|
72 | * Add support for embedding document metadata in PDFs
|
73 |
|
74 | ### Fixed
|
75 | * Don't crash when font string is invalid (bug since 2.2.0) (#1328)
|
76 | * Fix memory leak in `canvas.toBuffer()` (#1202, #1296)
|
77 | * Fix memory leak in `ctx.font=` (#1202)
|
78 |
|
79 | 2.2.0
|
80 | ==================
|
81 | ### Added
|
82 | * BMP support
|
83 |
|
84 | ### Fixed
|
85 | * Reset context on resurface (#1292)
|
86 | * Support Jest test framework (#1311)
|
87 |
|
88 | 2.1.0
|
89 | ==================
|
90 | ### Added
|
91 | * Warn when building with old, unsupported versions of cairo or libjpeg.
|
92 |
|
93 | 2.0.0
|
94 | ==================
|
95 |
|
96 | **Upgrading from 1.x**
|
97 | ```js
|
98 | // (1) The Canvas constructor is no longer the default export from the module.
|
99 | /* old: */
|
100 | const Canvas = require('canvas')
|
101 | const mycanvas = new Canvas(width, height)
|
102 | /* new: */
|
103 | const { createCanvas, Canvas } = require('canvas')
|
104 | const mycanvas = createCanvas(width, height)
|
105 | mycanvas instanceof Canvas // true
|
106 |
|
107 | /* old: */
|
108 | const Canvas = require('canvas')
|
109 | const myimg = new Canvas.Image()
|
110 | /* new: */
|
111 | const { Image } = require('canvas')
|
112 | const myimg = new Image()
|
113 |
|
114 | // (2) The quality argument for canvas.createJPEGStream/canvas.jpegStream now
|
115 | // goes from 0 to 1 instead of from 0 to 100:
|
116 | canvas.createJPEGStream({ quality: 50 }) // old
|
117 | canvas.createJPEGStream({ quality: 0.5 }) // new
|
118 |
|
119 | // (3) The ZLIB compression level and PNG filter options for canvas.toBuffer are
|
120 | // now named instead of positional arguments:
|
121 | canvas.toBuffer(undefined, 3, canvas.PNG_FILTER_NONE) // old
|
122 | canvas.toBuffer(undefined, { compressionLevel: 3, filters: canvas.PNG_FILTER_NONE }) // new
|
123 | // or specify the mime type explicitly:
|
124 | canvas.toBuffer('image/png', { compressionLevel: 3, filters: canvas.PNG_FILTER_NONE }) // new
|
125 |
|
126 | // (4) #2 also applies for canvas.pngStream, although these arguments were not
|
127 | // documented:
|
128 | canvas.pngStream(3, canvas.PNG_FILTER_NONE) // old
|
129 | canvas.pngStream({ compressionLevel: 3, filters: canvas.PNG_FILTER_NONE }) // new
|
130 |
|
131 | // (5) canvas.syncPNGStream() and canvas.syncJPEGStream() have been removed:
|
132 | canvas.syncPNGStream() // old
|
133 | canvas.createSyncPNGStream() // old
|
134 | canvas.createPNGStream() // new
|
135 |
|
136 | canvas.syncJPEGStream() // old
|
137 | canvas.createSyncJPEGStream() // old
|
138 | canvas.createJPEGStream() // new
|
139 |
|
140 | // (6) Context2d.filter has been renamed to context2d.quality to avoid a
|
141 | // conflict with the new standard 'filter' property.
|
142 | context.filter = 'best' // old
|
143 | context.quality = 'best' // new
|
144 | ```
|
145 |
|
146 | ### Breaking
|
147 | * Drop support for Node.js <6.x
|
148 | * Remove sync stream functions (bc53059). Note that most streams are still
|
149 | synchronous (run in the main thread); this change just removed `syncPNGStream`
|
150 | and `syncJPEGStream`.
|
151 | * Pango is now *required* on all platforms (7716ae4).
|
152 | * Make the `quality` argument for JPEG output go from 0 to 1 to match HTML spec.
|
153 | * Make the `compressionLevel` and `filters` arguments for `canvas.toBuffer()`
|
154 | named instead of positional. Same for `canvas.pngStream()`, although these
|
155 | arguments were not documented.
|
156 | * See also: *Correct some of the `globalCompositeOperator` types* under
|
157 | **Fixed**. These changes were bug-fixes, but will break existing code relying
|
158 | on the incorrect types.
|
159 | * Rename `context2d.filter` to `context2d.quality` to avoid a conflict with the
|
160 | new standard 'filter' property. Note that the standard 'filter' property is
|
161 | not yet implemented.
|
162 |
|
163 | ### Fixed
|
164 | * Fix build with SVG support enabled (#1123)
|
165 | * Prevent segfaults caused by loading invalid fonts (#1105)
|
166 | * Fix memory leak in font loading
|
167 | * Port has_lib.sh to javascript (#872)
|
168 | * Correctly sample the edge of images when scaling (#1084)
|
169 | * Detect CentOS libjpeg path (b180ea5)
|
170 | * Improve measureText accuracy (2bbfec5)
|
171 | * Fix memory leak when image callbacks reference the image (1f4b646)
|
172 | * Fix putImageData(data, negative, negative) (2102e25)
|
173 | * Fix SVG recognition when loading from buffer (77749e6)
|
174 | * Re-rasterize SVG when drawing to a context and dimensions changed (79bf232)
|
175 | * Prevent JPEG errors from crashing process (#1124)
|
176 | * Improve handling of invalid arguments (#1129)
|
177 | * Fix repeating patterns when drawing a canvas to itself (#1136)
|
178 | * Prevent segfaults caused by creating a too large canvas
|
179 | * Fix parse-font regex to allow for whitespaces.
|
180 | * Allow assigning non-string values to fillStyle and strokeStyle
|
181 | * Fix drawing zero-width and zero-height images.
|
182 | * Fix DEP0005 deprecation warning
|
183 | * Don't assume `data:` URIs assigned to `img.src` are always base64-encoded
|
184 | * Fix formatting of color strings (e.g. `ctx.fillStyle`) on 32-bit platforms
|
185 | * Explicitly export symbols for the C++ API
|
186 | * Named CSS colors should match case-insensitive
|
187 | * Correct some of the `globalCompositeOperator` types to match the spec:
|
188 | * "hsl-hue" is now "hue"
|
189 | * "hsl-saturation" is now "saturation"
|
190 | * "hsl-color" is now "color"
|
191 | * "hsl-luminosity" is now "luminosity"
|
192 | * "darker" is now "darken"
|
193 | * "dest" is now "destination"
|
194 | * "add" is removed (but is the same as "lighter")
|
195 | * "source" is now "copy"
|
196 | * Provide better, Node.js core-style coded errors for failed sys calls. (For
|
197 | example, provide an error with code 'ENOENT' if setting `img.src` to a path
|
198 | that does not exist.)
|
199 | * Support reading CMYK, YCCK JPEGs.
|
200 | * Hide `Image.prototype.source`
|
201 | * Fix behavior of maxWidth (#1088)
|
202 | * Fix behavior of textAlignment with maxWidth (#1253)
|
203 |
|
204 | ### Added
|
205 | * Prebuilds (#992) with different libc versions to the prebuilt binary (#1140)
|
206 | * Support `canvas.getContext("2d", {alpha: boolean})` and
|
207 | `canvas.getContext("2d", {pixelFormat: "..."})`
|
208 | * Support indexed PNG encoding.
|
209 | * Support `currentTransform` (d6714ee)
|
210 | * Export `CanvasGradient` (6a4c0ab)
|
211 | * Support #RGBA , #RRGGBBAA hex colors (10a82ec)
|
212 | * Support maxWidth arg for fill/strokeText (175b40d)
|
213 | * Support image.naturalWidth/Height (a5915f8)
|
214 | * Render SVG img elements when librsvg is available (1baf00e)
|
215 | * Support ellipse method (4d4a726)
|
216 | * Browser-compatible API (6a29a23)
|
217 | * Support for jpeg on Windows (42e9a74)
|
218 | * Support for backends (1a6dffe)
|
219 | * Support for `canvas.toBuffer("image/jpeg")`
|
220 | * Unified configuration options for `canvas.toBuffer()`, `canvas.pngStream()`
|
221 | and `canvas.jpegStream()`
|
222 | * ~~Added `resolution` option for `canvas.toBuffer("image/png")` and
|
223 | `canvas.createPNGStream()`~~ this was not working
|
224 | * Support for `canvas.toDataURI("image/jpeg")` (sync)
|
225 | * Support for `img.src = <url>` to match browsers
|
226 | * Support reading data URL on `img.src`
|
227 | * Readme: add dependencies command for OpenBSD
|
228 | * Throw error if calling jpegStream when canvas was not built with JPEG support
|
229 | * Emit error if trying to load GIF, SVG or JPEG image when canvas was not built
|
230 | with support for that format
|
231 |
|
232 | 1.6.x (unreleased)
|
233 | ==================
|
234 | ### Fixed
|
235 | * Make setLineDash able to handle full zeroed dashes (b8cf1d7)
|
236 | * Fix reading fillStyle after setting it from gradient to color (a84b2bc)
|
237 |
|
238 | ### Added
|
239 | * Support for pattern repeat and no-repeat (#1066)
|
240 | * Support for context globalAlpha for gradients and patterns (#1064)
|
241 |
|
242 | 1.6.9 / 2017-12-20
|
243 | ==================
|
244 | ### Fixed
|
245 | * Fix some instances of crashes (7c9ec58, 8b792c3)
|
246 | * Fix node 0.x compatibility (dca33f7)
|
247 |
|
248 | 1.6.8 / 2017-12-12
|
249 | ==================
|
250 | ### Fixed
|
251 | * Faster, more compliant parseFont (4625efa, 37cd969)
|
252 |
|
253 | 1.6.7 / 2017-09-08
|
254 | ==================
|
255 | ### Fixed
|
256 | * Minimal backport of #985 (rotated text baselines) (c19edb8)
|
257 |
|
258 | 1.6.6 / 2017-05-03
|
259 | ==================
|
260 | ### Fixed
|
261 | * Use .node extension for requiring native module so webpack works (1b05599)
|
262 | * Correct text baseline calculation (#1037)
|
263 |
|
264 | 1.6.5 / 2017-03-18
|
265 | ==================
|
266 | ### Changed
|
267 | * Parse font using parse-css-font and units-css (d316416)
|
268 |
|
269 | 1.6.4 / 2017-02-26
|
270 | ==================
|
271 | ### Fixed
|
272 | * Make sure Canvas#toDataURL is always async if callback is passed (8586d72)
|
273 |
|
274 | 1.6.3 / 2017-02-14
|
275 | ==================
|
276 | ### Fixed
|
277 | * Fix isnan() and isinf() on clang (5941e13)
|
278 |
|
279 | 1.6.2 / 2016-10-30
|
280 | ==================
|
281 | ### Fixed
|
282 | * Fix deprecation warnings (c264879)
|
283 | * Bump nan (e4aea20)
|
284 |
|
285 | 1.6.1 / 2016-10-23
|
286 | ==================
|
287 |
|
288 | ### Fixed
|
289 | * Make has_lib.sh work on BSD OSes (1727d66)
|
290 |
|
291 | 1.6.0 / 2016-10-16
|
292 | ==================
|
293 |
|
294 | * Support canvas.getBuffer('raw') (#819)
|
295 |
|
296 | 1.5.0 / 2016-09-11
|
297 | ==================
|
298 |
|
299 | * Crude PDF stream implementation (#781)
|
300 | * Update CI settings (#797)
|
301 | * Reduce some of the install warnings (#794)
|
302 | * Fix lineDash browser tests never finishing (#793)
|
303 | * Add issue template (#791)
|
304 |
|
305 | 1.4.0 / 2016-06-03
|
306 | ==================
|
307 |
|
308 | * Add support for evenodd fill rule (#762)
|
309 |
|
310 | 1.3.17 / 2016-06-03
|
311 | ===================
|
312 |
|
313 | * Removing redundant duplicate calls (#769)
|
314 | * Cleanup examples (#776)
|
315 | * Fix CanvasRenderingContext2D class name (#777)
|
316 |
|
317 | 1.3.16 / 2016-05-29
|
318 | ===================
|
319 |
|
320 | * Fix leak of data when streaming JPEG (#774)
|
321 |
|
322 | 1.3.15 / 2016-05-09
|
323 | ===================
|
324 |
|
325 | * Fix segfault in putImageData (#750)
|
326 |
|
327 | 1.3.14 / 2016-05-05
|
328 | ===================
|
329 |
|
330 | * Clamp JPEG buffer size (#739)
|
331 |
|
332 | 1.3.13 / 2016-05-01
|
333 | ===================
|
334 |
|
335 | * Bumb NAN version (#759)
|
336 |
|
337 | 1.3.12 / 2016-03-01
|
338 | ===================
|
339 |
|
340 | * Expose freetype version (#718)
|
341 | * Require new in constructor (#717)
|
342 |
|
343 | 1.3.11 / 2016-03-01
|
344 | ===================
|
345 |
|
346 | * Properly clamp quality in toDataURL (#728)
|
347 | * Strict mode (#719)
|
348 |
|
349 | 1.3.10 / 2016-02-07
|
350 | ===================
|
351 |
|
352 | * Fix segfault on node 0.10.x (#712)
|
353 |
|
354 | 1.3.9 / 2016-01-27
|
355 | ==================
|
356 |
|
357 | * Allow to unbind onload/onerror callback handlers (#706)
|
358 |
|
359 | 1.3.8 / 2016-01-22
|
360 | ==================
|
361 |
|
362 | * Cleanup build scripts and fix pangocairo detection (#701)
|
363 |
|
364 | 1.3.7 / 2016-01-13
|
365 | ==================
|
366 |
|
367 | * Don't unbind onload/onerror callbacks after invoking them (#615)
|
368 |
|
369 | 1.3.6 / 2016-01-06
|
370 | ==================
|
371 |
|
372 | * Allow optional arguments in `toDataURL` to be `undefined` and improve `toDataURL`'s spec compliance (#690)
|
373 |
|
374 | 1.3.5 / 2015-12-07
|
375 | ==================
|
376 |
|
377 | * Add image/jpeg support to `toDataUrl` (#685)
|
378 |
|
379 | 1.3.4 / 2015-11-21
|
380 | ==================
|
381 |
|
382 | * Upgrade nan to 2.1.0 (#671)
|
383 |
|
384 | 1.3.3 / 2015-11-21
|
385 | ==================
|
386 |
|
387 | * Fix compilation on Visual Studio 2015 (#670)
|
388 |
|
389 | 1.3.2 / 2015-11-18
|
390 | ==================
|
391 |
|
392 | * Fix incorrect Y offset and scaling for shadows (#669)
|
393 |
|
394 | 1.3.1 / 2015-11-09
|
395 | ==================
|
396 |
|
397 | * Wrap std::min calls in paranthesis to prevent macro expansion on windows (#660)
|
398 |
|
399 | 1.3.0 / 2015-10-26
|
400 | ==================
|
401 |
|
402 | * Expose ImageData constructor and make it more spec-compliant (#569)
|
403 |
|
404 | 1.2.11 / 2015-10-20
|
405 | ===================
|
406 |
|
407 | * Implement blur on images (#648)
|
408 |
|
409 | 1.2.10 / 2015-10-12
|
410 | ===================
|
411 |
|
412 | * Fix segfault in Canvas#jpegStream (#629)
|
413 |
|
414 | 1.2.9 / 2015-09-14
|
415 | ==================
|
416 |
|
417 | * Upgrade to Nan 2.x with support for iojs 3.x and Node.js 4.x (#622)
|
418 |
|
419 | 1.2.8 / 2015-08-30
|
420 | ==================
|
421 |
|
422 | * Clean up the tests (#612)
|
423 | * Replace CanvasPixelArray with Uint8ClampedArray to be API-compliant (#604)
|
424 | * Specify travis iojs versions (#611)
|
425 |
|
426 | 1.2.7 / 2015-07-29
|
427 | ==================
|
428 |
|
429 | * Avoid future reserved keyword (#592)
|
430 |
|
431 | 1.2.6 / 2015-07-29
|
432 | ==================
|
433 |
|
434 | * Fix the build on windows (#589)
|
435 |
|
436 | 1.2.5 / 2015-07-28
|
437 | ==================
|
438 |
|
439 | * Another npm release, since 1.2.4 was botched (see #596)
|
440 |
|
441 | 1.2.4 / 2015-07-23
|
442 | ==================
|
443 |
|
444 | * Point `homepage` and `repository` links to [`github.com/Automattic/node-canvas`][repo]
|
445 | * Fix Travis builds and Cairo include paths (thanks, Linus Unnebäck!)
|
446 |
|
447 | 1.2.3 / 2015-05-21
|
448 | ==================
|
449 |
|
450 | * Update TJ Holowaychuk's username in the readme
|
451 | * Fix segmentation fault in `Image::loadFromBuffer` when buffer is empty
|
452 | * Optimize getImageData()
|
453 | * package: add "license" attribute
|
454 | * package: update "nan" to v1.8.4
|
455 | * package: append `.git` to "repository" URL
|
456 |
|
457 | 1.2.2 / 2015-04-18
|
458 | ==================
|
459 |
|
460 | * Now works on io.js
|
461 | * Fix 'drawImage' scaling (the dimensions of the region that gets clipped also needs to be scaled).
|
462 | * Fix bug in StreamPNGSync
|
463 |
|
464 | 1.2.1 / 2015-02-10
|
465 | ==================
|
466 |
|
467 | * Use non-cairo 1.12 API for shadow blur
|
468 |
|
469 | 1.2.0 / 2015-01-31
|
470 | ==================
|
471 |
|
472 | * travis: drop support for node v0.6
|
473 | * Merge pull request #507 from salzhrani/iojs
|
474 | * io.js compatibility
|
475 | * Merge pull request #505 from woodcoder/shadow-blur
|
476 | * Fix issue with line width not being correct in stroked shadows.
|
477 | * Add another shadow/transform test.
|
478 | * Refactor setSourceRGBA to allow the context to be supplied.
|
479 | * Simple image shadow (no blurring or handling current transforms) based on image's alpha channel.
|
480 | * Test showing issue #133, that images don't have shadows.
|
481 | * The +1 on the offset seems to match the browser's output better, but I can't work out why it would be needed (unless it's pixel alignment related).
|
482 | * Make the shadow radius more accurately match the browser's, making use of sigma scale as used in SKIA: https://github.com/google/skia/blob/master/src/effects/SkBlurMask.cpp#L26.
|
483 | * Create a new image surface to render blurred shadows to, this means that vector formats like PDF will now render blurs.
|
484 | * Add recommended calls to flush and dirty buffer, as per http://www.cairographics.org/manual/cairo-Image-Surfaces.html#cairo-image-surface-get-data.
|
485 | * Add PDF button to test page to easily generate PDF version of the test image.
|
486 | * Fix to ensure shadowOffset is unaffected by the current transform.
|
487 | * New test illustrating that canvas implementation doesn't translate the shadowOffset.
|
488 | * Merge pull request #490 from AllYearbooks/master
|
489 | * Merge pull request #501 from motiz88/hsl-color
|
490 | * Code style + attribution. Also removed parseClipped() and commented out wrapInt (now wrap_int).
|
491 | * Added visual tests for hsl() and hsla() color parsing.
|
492 | * Fixed <number> handling in hsl/hsla color parser. parseNumber() was erroring out on numbers with long fractional parts.
|
493 | * hsl/hsla color parsing + rebeccapurple hsl() and hsla() color values are now supported, with corresponding unit tests. Also added rebeccapurple (from CSS Color Level 4) to the named color list.
|
494 | * float rather than int for drawImage arguments
|
495 | * with_pango to true and use fontconfig to load fonts
|
496 | * Merge pull request #399 from nulltask/fix/lighten
|
497 | * Merge pull request #465 from espadrine/master
|
498 | * Merge pull request #470 from tonylukasavage/patch-1
|
499 | * Add one-liner MacPorts install to docs
|
500 | * Offer SVG output.
|
501 | * Readme update: node-gyp.
|
502 | * Readme: fix subheading size
|
503 | * Readme: remove Gemnasium badge, use SVG for npm badge
|
504 | * Readme: add Travis-CI badge
|
505 | * change operator lighter to lighten
|
506 |
|
507 | 1.1.6 / 2014-08-01
|
508 | ==================
|
509 |
|
510 | * export canvas.CanvasPixelArray instead of canvas.PixelArray which is undefined
|
511 | * Glib version test into giflib exists test
|
512 | * Giflib 5.1
|
513 | * install: use an even older version of giflib (v4.1.6)
|
514 | * install: use an older version of giflib (v4.2.3)
|
515 | * install: install `giflib`
|
516 | * install: use more compatible sh syntax
|
517 | * travis: attempt to run the ./install script before testintg
|
518 | * travis: test node v0.6, v0.8, v0.10, and v0.11
|
519 | * Distinguish between 'add' and 'lighter'
|
520 |
|
521 | 1.1.5 / 2014-06-26
|
522 | ==================
|
523 |
|
524 | * Readme: remove Contributors section
|
525 | * Readme: update copyright
|
526 | * On Windows, copy required DLLs next to ".node" file (#442 @pandell)
|
527 | * Duplicate "msvc_settings" for "Debug" configuration
|
528 | * Remove unneeded #include <nan.h>
|
529 | * Use float constants to prevent double->float conversion warning
|
530 | * Ignore Visual C++ 2013 warnings (#441 @pandell)
|
531 | * Add algorithm include to CanvasRenderingContext2d.cc for std::min (#435 @kkoopa)
|
532 | * Updated NAN to 1.2.0 (#434 @kkoopa)
|
533 |
|
534 | 1.1.4 / 2014-06-08
|
535 | ==================
|
536 |
|
537 | * Fix compile error with Visual C++
|
538 | * Add support for the lineDash API
|
539 | * Update NAN
|
540 | * New V8 compatibility
|
541 | * Correctly limit bounds in PutImageData to prevent segment fault
|
542 | * Fix segfault when onload and onerror are not function
|
543 | * Add support for Node 0.11.9
|
544 |
|
545 | 1.1.3 / 2014-01-08
|
546 | ==================
|
547 |
|
548 | * Add CAIRO_FORMAT_INVALID
|
549 | * Readjust the amount of allocated memory
|
550 | * Fix argument index for filter parameter
|
551 | * Make has_lib.sh work properly on Debian 64bit
|
552 |
|
553 | 1.1.2 / 2013-10-31
|
554 | ==================
|
555 |
|
556 | * NAN dep upgrade, full node@<=0.11.8 compatibility
|
557 | * Use node::MakeCallback() instead of v8::Function::Call()
|
558 | * Improve nan location discovery
|
559 | * Fix enabling gif/jpeg options on Ubuntu 13.04
|
560 |
|
561 | 1.1.1 / 2013-10-09
|
562 | ==================
|
563 |
|
564 | * add better support for outdated versions of Cairo
|
565 |
|
566 | 1.1.0 / 2013-08-01
|
567 | ==================
|
568 |
|
569 | * add png compression options
|
570 | * add jpeg stream progressive mode option
|
571 | * fix resource leaks on read errors
|
572 |
|
573 | 1.0.4 / 2013-07-23
|
574 | ==================
|
575 |
|
576 | * 0.11.4+ compatibility using NAN
|
577 | * fix typo in context2d for imageSmoothingEnabled
|
578 |
|
579 | 1.0.3 / 2013-06-04
|
580 | ==================
|
581 |
|
582 | * add "nearest" and "bilinear" to patternQuality
|
583 | * fix fread() retval check (items not bytes)
|
584 | * removed unneeded private fields
|
585 |
|
586 | 1.0.2 / 2013-03-22
|
587 | ==================
|
588 |
|
589 | * add Context2d#imageSmoothingEnabled=
|
590 |
|
591 | 1.0.1 / 2013-02-25
|
592 | ==================
|
593 |
|
594 | * travis: test modern node versions
|
595 | * change the node-gyp build to use pkg-config
|
596 |
|
597 | 1.0.0 / 2013-01-16
|
598 | ==================
|
599 |
|
600 | * add conditional pango font support [Julian Viereck]
|
601 | * add `Canvas#{png,jpeg}Stream()` alias of create* legacy methods
|
602 | * add support for grayscale JPEGs
|
603 | * fix: explicitly cast the after work callback function to "uv_after_work_cb"
|
604 | * fix test server for express 3.x
|
605 | * fix: call cairo_surface_finish in ~Canvas when pdf
|
606 | * remove old 0.4.x binding support. Closes #197
|
607 |
|
608 | 0.13.1 / 2012-08-20
|
609 | ==================
|
610 |
|
611 | * fix cases where GIF_LIB_VERSION is not defined
|
612 | * fix auto-detection of optional libraries for OS X
|
613 | * fix Context2d::SetFont for pango when setting normal weight/style
|
614 |
|
615 | 0.13.0 / 2012-08-12
|
616 | ==================
|
617 |
|
618 | * add pango support [c-spencer]
|
619 | * add pango / png / jpeg gyp auto-detection [c-spencer]
|
620 | * add `.gifVersion` [tootallnate]
|
621 | * add `.jpegVersion` [tootallnate]
|
622 | * add moar gyp stuff [tootallnate]
|
623 | * remove wscript
|
624 | * fix `closure_destroy()` with cast for `AdjustAmountOfExternalAllocatedMemory()`
|
625 |
|
626 | 0.12.1 / 2012-06-29
|
627 | ==================
|
628 |
|
629 | * fix jpeg malloc Image issue. Closes #160 [c-spencer]
|
630 | * Improve Image mode API
|
631 | * Add clearData method to handle reassignment of src, and clean up mime data memory handling.
|
632 | * Improve how _data_len is managed and use to adjust memory, hide more of mime API behind cairo version conditional.
|
633 | * Add optional mime-data tracking to Image.
|
634 | * Refactor JPEG decoding into decodeJPEGIntoSurface
|
635 |
|
636 | 0.12.0 / 2012-05-02
|
637 | ==================
|
638 |
|
639 | * Added `textDrawingMode` context property [c-spencer]
|
640 | * Added additional TextMetrics properties [c-spencer]
|
641 |
|
642 | 0.11.3 / 2012-04-25
|
643 | ==================
|
644 |
|
645 | * Fixed `Image` memory leak. Closes #150
|
646 | * Fixed Context2d::hasShadow()
|
647 |
|
648 | 0.11.2 / 2012-04-12
|
649 | ==================
|
650 |
|
651 | * Fixed: pdf memory leak, free closure and surface in ~Canvas
|
652 |
|
653 | 0.11.1 / 2012-04-10
|
654 | ==================
|
655 |
|
656 | * Changed: renamed .nextPage() to .addPage()
|
657 |
|
658 | 0.11.0 / 2012-04-10
|
659 | ==================
|
660 |
|
661 | * Added quick PDF support
|
662 | * Added `Canvas#type` getter
|
663 | * Added ./examples/pdf-images.js
|
664 | * Added ./examples/multiple-page-pdf.js
|
665 | * Added ./examples/small-pdf.js
|
666 |
|
667 | 0.10.3 / 2012-02-27
|
668 | ==================
|
669 |
|
670 | * Fixed quadratic curve starting point for undefined path. Closes #155
|
671 |
|
672 | 0.10.2 / 2012-02-06
|
673 | ==================
|
674 |
|
675 | * Fixed: Context2d setters with invalid values ignored
|
676 | * Changed: replaced seek with `fstat()`
|
677 |
|
678 | 0.10.1 / 2012-01-31
|
679 | ==================
|
680 |
|
681 | * Added _/opt/local/lib_ to wscript [obarthel]
|
682 | * Added bounds checking to `rgba_to_string()` [obarthel]
|
683 | * Fixed cleanup in JPEG Image loading [obarthel]
|
684 | * Fixed missing CSS color table values [obarthel]
|
685 |
|
686 | 0.10.0 / 2012-01-18
|
687 | ==================
|
688 |
|
689 | * Added `ctx.createPattern()` [slaskis]
|
690 |
|
691 | 0.9.0 / 2012-01-13
|
692 | ==================
|
693 |
|
694 | * Added `createJPEGStream()` [Elijah Hamovitz]
|
695 |
|
696 | 0.8.3 / 2012-01-04
|
697 | ==================
|
698 |
|
699 | * Added support for libjpeg62-dev or libjpeg8-dev [wwlinx]
|
700 |
|
701 | 0.8.2 / 2011-12-14
|
702 | ==================
|
703 |
|
704 | * Fixed two memory leaks in context2d [Tharit]
|
705 | * Fixed `make test-server`
|
706 |
|
707 | 0.8.1 / 2011-10-31
|
708 | ==================
|
709 |
|
710 | * Added 0.5.x support [TooTallNate]
|
711 | * Fixed `measureText().width`. Closes #126
|
712 |
|
713 | 0.8.0 / 2011-10-28
|
714 | ==================
|
715 |
|
716 | * Added data uri support. Closes #49
|
717 |
|
718 | 0.7.3 / 2011-09-14
|
719 | ==================
|
720 |
|
721 | * Added better lineTo() / moveTo() exception messages
|
722 |
|
723 | 0.7.2 / 2011-08-30
|
724 | ==================
|
725 |
|
726 | * Changed: prefix some private methods with _
|
727 |
|
728 | 0.7.1 / 2011-08-25
|
729 | ==================
|
730 |
|
731 | * Added better image format detection
|
732 | * Added libpath options to waf configuration; this was necessary to correctly detect gif and jpeg support on FreeBSD
|
733 |
|
734 | 0.7.0 / 2011-07-12
|
735 | ==================
|
736 |
|
737 | * Added GIF support [Brian McKinney]
|
738 |
|
739 | 0.6.0 / 2011-06-04
|
740 | ==================
|
741 |
|
742 | * Added `Image#src=Buffer` support. Closes #91
|
743 | * Added `devDependencies`
|
744 | * Added `source-atop` test
|
745 | * Added _image-src.js_ example
|
746 | * Removed `V8::AdjustAmountOfExternalAllocatedMemory()` call from `toBuffer()`
|
747 | * Fixed v8 memory hint when resizing canvas [atomizer]
|
748 |
|
749 | 0.5.4 / 2011-04-20
|
750 | ==================
|
751 |
|
752 | * Added; special case of zero-width rectangle [atomizer]
|
753 | * Fixed; do not clamp arguments to integer values [atomizer]
|
754 | * Fixed; preserve current path during `fillRect()` and `strokeRect()` [atomizer]
|
755 | * Fixed; `restorePath()`: clear current path before appending [atomizer]
|
756 |
|
757 | 0.5.3 / 2011-04-11
|
758 | ==================
|
759 |
|
760 | * Clamp image bounds in `PixelArray::PixelArray()` [Marcello Bastea-Forte]
|
761 |
|
762 | 0.5.2 / 2011-04-09
|
763 | ==================
|
764 |
|
765 | * Changed; make `PNGStream` a real `Stream` [Marcello Bastea-Forte]
|
766 |
|
767 | 0.5.1 / 2011-03-16
|
768 | ==================
|
769 |
|
770 | * Fixed (kinda) `img.src=` error handling
|
771 | * Fixed; move closure.h down for malloc ref. Closes #80
|
772 |
|
773 | 0.5.0 / 2011-03-14
|
774 | ==================
|
775 |
|
776 | * Added several more operators (color-dodge, color-burn, difference, etc)
|
777 | * Performance; no longer re-allocating `closure->data` for each png write
|
778 | * Fixed freeing of `Context2d` states
|
779 | * Fixed text alignment / baseline [Olaf]
|
780 | * Fixed HandleScopes [Olaf]
|
781 | * Fixed small misc memory leaks
|
782 | * Fixed `Buffer` usage for node 0.4.x
|
783 |
|
784 | 0.4.3 / 2011-01-11
|
785 | ==================
|
786 |
|
787 | * Fixed font family dereferencing. Closes #72
|
788 | * Fixed; stripping of quotes from font-family before applying
|
789 | * Fixed duplicate textAlign getter
|
790 | * Removed sans-serif default of _Arial_
|
791 |
|
792 | 0.4.2 / 2010-12-28
|
793 | ==================
|
794 |
|
795 | * Fixed font size growing issue after successive calls. Closes #70
|
796 |
|
797 | 0.4.1 / 2010-12-18
|
798 | ==================
|
799 |
|
800 | * Fixed; toString() first argument of `{fill,stroke}Text()`. Closes #68
|
801 |
|
802 | 0.4.0 / 2010-12-12
|
803 | ==================
|
804 |
|
805 | * Added `drawImage()` with `Canvas` instance support. Closes #67
|
806 |
|
807 | 0.3.3 / 2010-11-30
|
808 | ==================
|
809 |
|
810 | * Added `CanvasRenderingContext2d#patternQuality` accessor, accepting _fast_, _good_, and _best_
|
811 | * Fixed; pre-multiply `putImageData()` components
|
812 | * Fixed; `PixelArray` data is not premultiplied
|
813 |
|
814 | 0.3.2 / 2010-11-26
|
815 | ==================
|
816 |
|
817 | * Added --profile option to config
|
818 | * Fixed `eio_custom` segfault(s). Closes #46
|
819 | * Fixed two named colors. Closes #62 [thanks noonat]
|
820 | * Fixed a few warnings
|
821 | * Fixed; freeing data in `Image::loadJPEG()` on failure
|
822 | * Fixed; include _jpeglib_ only when __HAVE_JPEG__
|
823 | * Fixed; using `strstr()` instead of `strnstr()`
|
824 |
|
825 | 0.3.1 / 2010-11-24
|
826 | ==================
|
827 |
|
828 | * Fixed; `Image` loading is sync until race-condition is resolved
|
829 | * Fixed; `Image::loadJPEG()` return status based on errno
|
830 |
|
831 | 0.3.0 / 2010-11-24
|
832 | ==================
|
833 |
|
834 | * Added arcTo(). Closes #11
|
835 | * Added c color parser, _./examples/ray.js_ is now twice as fast
|
836 | * Fixed `putImageData()` bug messing up rgba channels
|
837 |
|
838 | 0.2.1 / 2010-11-19
|
839 | ==================
|
840 |
|
841 | * Added image _resize_ example
|
842 | * Fixed canvas resizing via `{width,height}=`. Closes #57
|
843 | * Fixed `Canvas#getContext()`, caching the CanvasRenderingContext
|
844 | * Fixed async image loading (test server still messed)
|
845 |
|
846 | 0.2.0 / 2010-11-18
|
847 | ==================
|
848 |
|
849 | * Added jpeg `Image` support (when libjpeg is available)
|
850 | * Added _hsl_ / _hsla_ color support. [Tom Carden]
|
851 |
|
852 | 0.1.0 / 2010-11-17
|
853 | ==================
|
854 |
|
855 | * Added `Image`
|
856 | * Added `ImageData`
|
857 | * Added `PixelArray`
|
858 | * Added `CanvasRenderingContext2d#drawImage()`
|
859 | * Added `CanvasRenderingContext2d#getImageData()`
|
860 | * Added `CanvasRenderingContext2d#createImageData()`
|
861 | * Added kraken blur benchmark example
|
862 | * Added several new tests
|
863 | * Fixed instanceof checks for many c++ methods
|
864 | * Fixed test runner in firefox [Don Park]
|
865 |
|
866 | 0.0.8 / 2010-11-12
|
867 | ==================
|
868 |
|
869 | * Added `CanvasRenderingContext2d#drawImage()`
|
870 | * Fixed `free()` call missing stdlib
|
871 | * Fixed Image#{width,height} initialization to 0
|
872 | * Fixed; load image on non-LOADING state
|
873 |
|
874 | 0.0.7 / 2010-11-12
|
875 | ==================
|
876 |
|
877 | * Fixed _lighter_ for older versions of cairo
|
878 |
|
879 | 0.0.6 / 2010-11-12
|
880 | ==================
|
881 |
|
882 | * Added `Image`
|
883 | * Added conditional support for cairo 1.10.0 operators
|
884 |
|
885 | 0.0.5 / 2010-11-10
|
886 | ==================
|
887 |
|
888 | * Added custom port support to _test/server.js_
|
889 | * Added more global composite operator support
|
890 | * Added `Context2d#antialias=`
|
891 | * Added _voronoi_ example
|
892 | * Added -D__NDEBUG__ to default build
|
893 | * Added __BUFFER_DATA__ macro for backwards compat buffer data access [Don Park]
|
894 | * Fixed getter bug preventing patterns from being returned via `fillStyle` etc
|
895 |
|
896 | * Fixed; __CAIRO_STATUS_NO_MEMORY___ on failed {re,m}alloc()
|
897 | * Fixed; free `Canvas::ToBuffer()` closure data
|
898 |
|
899 | 0.0.4 / 2010-11-09
|
900 | ==================
|
901 |
|
902 | * Bump to fix npm engine cache bug...
|
903 |
|
904 | 0.0.3 / 2010-11-09
|
905 | ==================
|
906 |
|
907 | * Added async `toDataURL()` support
|
908 | * Added async `toBuffer()` support
|
909 | * Removed buffer utils
|
910 |
|
911 | 0.0.2 / 2010-11-08
|
912 | ==================
|
913 |
|
914 | * Added shadow support (faster/better gaussian blur to come)
|
915 | * Added node v0.3 support [Don Park]
|
916 | * Added -O3 to build
|
917 | * Removed `Canvas#savePNG()` use `Canvas#createPNGStream()`
|
918 |
|
919 | 0.0.1 / 2010-11-04
|
920 | ==================
|
921 |
|
922 | * Initial release
|
923 |
|
924 | [repo]: https://github.com/Automattic/node-canvas
|