UNPKG

28 kBMarkdownView Raw
1# Changelog
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](http://keepachangelog.com/) and this
6project adheres to [Semantic Versioning](http://semver.org/).
7
8(Unreleased)
9==================
10### Changed
11### Added
12### Fixed
13
142.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
222.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
382.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
462.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
532.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
632.3.1
64==================
65### Fixed
66* Fix `canvas.toBuffer()` for JPEGs (#1350)
67
682.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
792.2.0
80==================
81### Added
82* BMP support
83
84### Fixed
85* Reset context on resurface (#1292)
86* Support Jest test framework (#1311)
87
882.1.0
89==================
90### Added
91* Warn when building with old, unsupported versions of cairo or libjpeg.
92
932.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: */
100const Canvas = require('canvas')
101const mycanvas = new Canvas(width, height)
102/* new: */
103const { createCanvas, Canvas } = require('canvas')
104const mycanvas = createCanvas(width, height)
105mycanvas instanceof Canvas // true
106
107/* old: */
108const Canvas = require('canvas')
109const myimg = new Canvas.Image()
110/* new: */
111const { Image } = require('canvas')
112const 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:
116canvas.createJPEGStream({ quality: 50 }) // old
117canvas.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:
121canvas.toBuffer(undefined, 3, canvas.PNG_FILTER_NONE) // old
122canvas.toBuffer(undefined, { compressionLevel: 3, filters: canvas.PNG_FILTER_NONE }) // new
123// or specify the mime type explicitly:
124canvas.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:
128canvas.pngStream(3, canvas.PNG_FILTER_NONE) // old
129canvas.pngStream({ compressionLevel: 3, filters: canvas.PNG_FILTER_NONE }) // new
130
131// (5) canvas.syncPNGStream() and canvas.syncJPEGStream() have been removed:
132canvas.syncPNGStream() // old
133canvas.createSyncPNGStream() // old
134canvas.createPNGStream() // new
135
136canvas.syncJPEGStream() // old
137canvas.createSyncJPEGStream() // old
138canvas.createJPEGStream() // new
139
140// (6) Context2d.filter has been renamed to context2d.quality to avoid a
141// conflict with the new standard 'filter' property.
142context.filter = 'best' // old
143context.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
2321.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
2421.6.9 / 2017-12-20
243==================
244### Fixed
245 * Fix some instances of crashes (7c9ec58, 8b792c3)
246 * Fix node 0.x compatibility (dca33f7)
247
2481.6.8 / 2017-12-12
249==================
250### Fixed
251 * Faster, more compliant parseFont (4625efa, 37cd969)
252
2531.6.7 / 2017-09-08
254==================
255### Fixed
256 * Minimal backport of #985 (rotated text baselines) (c19edb8)
257
2581.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
2641.6.5 / 2017-03-18
265==================
266### Changed
267 * Parse font using parse-css-font and units-css (d316416)
268
2691.6.4 / 2017-02-26
270==================
271### Fixed
272 * Make sure Canvas#toDataURL is always async if callback is passed (8586d72)
273
2741.6.3 / 2017-02-14
275==================
276### Fixed
277 * Fix isnan() and isinf() on clang (5941e13)
278
2791.6.2 / 2016-10-30
280==================
281### Fixed
282 * Fix deprecation warnings (c264879)
283 * Bump nan (e4aea20)
284
2851.6.1 / 2016-10-23
286==================
287
288### Fixed
289 * Make has_lib.sh work on BSD OSes (1727d66)
290
2911.6.0 / 2016-10-16
292==================
293
294 * Support canvas.getBuffer('raw') (#819)
295
2961.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
3051.4.0 / 2016-06-03
306==================
307
308 * Add support for evenodd fill rule (#762)
309
3101.3.17 / 2016-06-03
311===================
312
313 * Removing redundant duplicate calls (#769)
314 * Cleanup examples (#776)
315 * Fix CanvasRenderingContext2D class name (#777)
316
3171.3.16 / 2016-05-29
318===================
319
320 * Fix leak of data when streaming JPEG (#774)
321
3221.3.15 / 2016-05-09
323===================
324
325 * Fix segfault in putImageData (#750)
326
3271.3.14 / 2016-05-05
328===================
329
330 * Clamp JPEG buffer size (#739)
331
3321.3.13 / 2016-05-01
333===================
334
335 * Bumb NAN version (#759)
336
3371.3.12 / 2016-03-01
338===================
339
340 * Expose freetype version (#718)
341 * Require new in constructor (#717)
342
3431.3.11 / 2016-03-01
344===================
345
346 * Properly clamp quality in toDataURL (#728)
347 * Strict mode (#719)
348
3491.3.10 / 2016-02-07
350===================
351
352 * Fix segfault on node 0.10.x (#712)
353
3541.3.9 / 2016-01-27
355==================
356
357 * Allow to unbind onload/onerror callback handlers (#706)
358
3591.3.8 / 2016-01-22
360==================
361
362 * Cleanup build scripts and fix pangocairo detection (#701)
363
3641.3.7 / 2016-01-13
365==================
366
367 * Don't unbind onload/onerror callbacks after invoking them (#615)
368
3691.3.6 / 2016-01-06
370==================
371
372 * Allow optional arguments in `toDataURL` to be `undefined` and improve `toDataURL`'s spec compliance (#690)
373
3741.3.5 / 2015-12-07
375==================
376
377 * Add image/jpeg support to `toDataUrl` (#685)
378
3791.3.4 / 2015-11-21
380==================
381
382 * Upgrade nan to 2.1.0 (#671)
383
3841.3.3 / 2015-11-21
385==================
386
387 * Fix compilation on Visual Studio 2015 (#670)
388
3891.3.2 / 2015-11-18
390==================
391
392 * Fix incorrect Y offset and scaling for shadows (#669)
393
3941.3.1 / 2015-11-09
395==================
396
397 * Wrap std::min calls in paranthesis to prevent macro expansion on windows (#660)
398
3991.3.0 / 2015-10-26
400==================
401
402 * Expose ImageData constructor and make it more spec-compliant (#569)
403
4041.2.11 / 2015-10-20
405===================
406
407 * Implement blur on images (#648)
408
4091.2.10 / 2015-10-12
410===================
411
412 * Fix segfault in Canvas#jpegStream (#629)
413
4141.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
4191.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
4261.2.7 / 2015-07-29
427==================
428
429 * Avoid future reserved keyword (#592)
430
4311.2.6 / 2015-07-29
432==================
433
434 * Fix the build on windows (#589)
435
4361.2.5 / 2015-07-28
437==================
438
439 * Another npm release, since 1.2.4 was botched (see #596)
440
4411.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
4471.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
4571.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
4641.2.1 / 2015-02-10
465==================
466
467 * Use non-cairo 1.12 API for shadow blur
468
4691.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
5071.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
5211.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
5341.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
5451.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
5531.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
5611.1.1 / 2013-10-09
562==================
563
564 * add better support for outdated versions of Cairo
565
5661.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
5731.0.4 / 2013-07-23
574==================
575
576 * 0.11.4+ compatibility using NAN
577 * fix typo in context2d for imageSmoothingEnabled
578
5791.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
5861.0.2 / 2013-03-22
587==================
588
589 * add Context2d#imageSmoothingEnabled=
590
5911.0.1 / 2013-02-25
592==================
593
594 * travis: test modern node versions
595 * change the node-gyp build to use pkg-config
596
5971.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
6080.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
6150.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
6260.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
6360.12.0 / 2012-05-02
637==================
638
639 * Added `textDrawingMode` context property [c-spencer]
640 * Added additional TextMetrics properties [c-spencer]
641
6420.11.3 / 2012-04-25
643==================
644
645 * Fixed `Image` memory leak. Closes #150
646 * Fixed Context2d::hasShadow()
647
6480.11.2 / 2012-04-12
649==================
650
651 * Fixed: pdf memory leak, free closure and surface in ~Canvas
652
6530.11.1 / 2012-04-10
654==================
655
656 * Changed: renamed .nextPage() to .addPage()
657
6580.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
6670.10.3 / 2012-02-27
668==================
669
670 * Fixed quadratic curve starting point for undefined path. Closes #155
671
6720.10.2 / 2012-02-06
673==================
674
675 * Fixed: Context2d setters with invalid values ignored
676 * Changed: replaced seek with `fstat()`
677
6780.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
6860.10.0 / 2012-01-18
687==================
688
689 * Added `ctx.createPattern()` [slaskis]
690
6910.9.0 / 2012-01-13
692==================
693
694 * Added `createJPEGStream()` [Elijah Hamovitz]
695
6960.8.3 / 2012-01-04
697==================
698
699 * Added support for libjpeg62-dev or libjpeg8-dev [wwlinx]
700
7010.8.2 / 2011-12-14
702==================
703
704 * Fixed two memory leaks in context2d [Tharit]
705 * Fixed `make test-server`
706
7070.8.1 / 2011-10-31
708==================
709
710 * Added 0.5.x support [TooTallNate]
711 * Fixed `measureText().width`. Closes #126
712
7130.8.0 / 2011-10-28
714==================
715
716 * Added data uri support. Closes #49
717
7180.7.3 / 2011-09-14
719==================
720
721 * Added better lineTo() / moveTo() exception messages
722
7230.7.2 / 2011-08-30
724==================
725
726 * Changed: prefix some private methods with _
727
7280.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
7340.7.0 / 2011-07-12
735==================
736
737 * Added GIF support [Brian McKinney]
738
7390.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
7490.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
7570.5.3 / 2011-04-11
758==================
759
760 * Clamp image bounds in `PixelArray::PixelArray()` [Marcello Bastea-Forte]
761
7620.5.2 / 2011-04-09
763==================
764
765 * Changed; make `PNGStream` a real `Stream` [Marcello Bastea-Forte]
766
7670.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
7730.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
7840.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
7920.4.2 / 2010-12-28
793==================
794
795 * Fixed font size growing issue after successive calls. Closes #70
796
7970.4.1 / 2010-12-18
798==================
799
800 * Fixed; toString() first argument of `{fill,stroke}Text()`. Closes #68
801
8020.4.0 / 2010-12-12
803==================
804
805 * Added `drawImage()` with `Canvas` instance support. Closes #67
806
8070.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
8140.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
8250.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
8310.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
8380.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
8460.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
8520.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
8660.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
8740.0.7 / 2010-11-12
875==================
876
877 * Fixed _lighter_ for older versions of cairo
878
8790.0.6 / 2010-11-12
880==================
881
882 * Added `Image`
883 * Added conditional support for cairo 1.10.0 operators
884
8850.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
8990.0.4 / 2010-11-09
900==================
901
902 * Bump to fix npm engine cache bug...
903
9040.0.3 / 2010-11-09
905==================
906
907 * Added async `toDataURL()` support
908 * Added async `toBuffer()` support
909 * Removed buffer utils
910
9110.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
9190.0.1 / 2010-11-04
920==================
921
922 * Initial release
923
924[repo]: https://github.com/Automattic/node-canvas