rmagick 2.16.0 → 5.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.devcontainer/Dockerfile +14 -0
- data/.devcontainer/ImageMagick6/devcontainer.json +11 -0
- data/.devcontainer/devcontainer.json +11 -0
- data/.devcontainer/setup-repo.sh +10 -0
- data/.devcontainer/setup-user.sh +45 -0
- data/.editorconfig +3 -0
- data/.github/ISSUE_TEMPLATE.md +17 -0
- data/.github/workflows/ci.yml +157 -0
- data/.gitignore +9 -1
- data/.rspec +1 -0
- data/.rubocop.yml +37 -340
- data/.rubocop_todo.yml +456 -0
- data/.yardopts +5 -0
- data/CHANGELOG.md +536 -0
- data/CODE_OF_CONDUCT.md +122 -7
- data/CONTRIBUTING.md +37 -6
- data/Gemfile +18 -4
- data/README.md +319 -0
- data/Rakefile +83 -98
- data/before_install_linux.sh +65 -28
- data/before_install_osx.sh +58 -2
- data/ext/RMagick/extconf.rb +310 -393
- data/ext/RMagick/{rmagick.c → rmagick.cpp} +119 -127
- data/ext/RMagick/rmagick.h +290 -363
- data/ext/RMagick/rmagick_gvl.h +224 -0
- data/ext/RMagick/rmdraw.cpp +1696 -0
- data/ext/RMagick/rmenum.cpp +796 -0
- data/ext/RMagick/{rmfill.c → rmfill.cpp} +287 -197
- data/ext/RMagick/rmilist.cpp +1275 -0
- data/ext/RMagick/rmimage.cpp +16459 -0
- data/ext/RMagick/{rminfo.c → rminfo.cpp} +738 -910
- data/ext/RMagick/rmkinfo.cpp +210 -0
- data/ext/RMagick/rmmain.cpp +1923 -0
- data/ext/RMagick/rmmontage.cpp +474 -0
- data/ext/RMagick/rmpixel.cpp +1322 -0
- data/ext/RMagick/{rmstruct.c → rmstruct.cpp} +104 -284
- data/ext/RMagick/{rmutil.c → rmutil.cpp} +500 -433
- data/lib/rmagick/version.rb +5 -4
- data/lib/rmagick.rb +2 -0
- data/lib/rmagick_internal.rb +397 -459
- data/lib/rvg/clippath.rb +3 -4
- data/lib/rvg/container.rb +30 -22
- data/lib/rvg/deep_equal.rb +11 -11
- data/lib/rvg/describable.rb +2 -2
- data/lib/rvg/embellishable.rb +67 -68
- data/lib/rvg/misc.rb +139 -142
- data/lib/rvg/paint.rb +2 -1
- data/lib/rvg/pathdata.rb +7 -8
- data/lib/rvg/rvg.rb +49 -46
- data/lib/rvg/stretchable.rb +22 -28
- data/lib/rvg/stylable.rb +12 -10
- data/lib/rvg/text.rb +169 -165
- data/lib/rvg/transformable.rb +17 -16
- data/lib/rvg/units.rb +5 -5
- data/rmagick.gemspec +7 -41
- data/sig/rmagick/_draw_common_methods.rbs +64 -0
- data/sig/rmagick/_image_common_methods.rbs +389 -0
- data/sig/rmagick/draw.rbs +38 -0
- data/sig/rmagick/draw_attribute.rbs +28 -0
- data/sig/rmagick/enum.rbs +814 -0
- data/sig/rmagick/error.rbs +11 -0
- data/sig/rmagick/fill.rbs +21 -0
- data/sig/rmagick/geometry.rbs +14 -0
- data/sig/rmagick/image.rbs +194 -0
- data/sig/rmagick/image_list.rbs +181 -0
- data/sig/rmagick/iptc.rbs +101 -0
- data/sig/rmagick/kernel_info.rbs +12 -0
- data/sig/rmagick/optional_method_arguments.rbs +10 -0
- data/sig/rmagick/pixel.rbs +46 -0
- data/sig/rmagick/struct.rbs +90 -0
- data/sig/rmagick.rbs +43 -0
- data/sig/rvg/clippath.rbs +34 -0
- data/sig/rvg/container.rbs +78 -0
- data/sig/rvg/deep_equal.rbs +48 -0
- data/sig/rvg/describable.rbs +30 -0
- data/sig/rvg/embellishable.rbs +226 -0
- data/sig/rvg/misc.rbs +145 -0
- data/sig/rvg/paint.rbs +55 -0
- data/sig/rvg/pathdata.rbs +77 -0
- data/sig/rvg/rvg.rbs +125 -0
- data/sig/rvg/stretchable.rbs +56 -0
- data/sig/rvg/stylable.rbs +66 -0
- data/sig/rvg/text.rbs +118 -0
- data/sig/rvg/transformable.rbs +59 -0
- data/sig/rvg/units.rbs +33 -0
- metadata +68 -428
- data/.hound.yml +0 -2
- data/.simplecov +0 -27
- data/.travis.yml +0 -74
- data/Doxyfile +0 -1514
- data/README.textile +0 -251
- data/deprecated/RMagick.rb +0 -6
- data/doc/.cvsignore +0 -1
- data/doc/comtasks.html +0 -287
- data/doc/constants.html +0 -1581
- data/doc/css/doc.css +0 -299
- data/doc/css/popup.css +0 -34
- data/doc/css/ref.css +0 -67
- data/doc/draw.html +0 -3272
- data/doc/ex/InitialCoords.rb +0 -22
- data/doc/ex/NewCoordSys.rb +0 -30
- data/doc/ex/OrigCoordSys.rb +0 -16
- data/doc/ex/PreserveAspectRatio.rb +0 -204
- data/doc/ex/RotateScale.rb +0 -36
- data/doc/ex/Skew.rb +0 -38
- data/doc/ex/Use01.rb +0 -15
- data/doc/ex/Use02.rb +0 -20
- data/doc/ex/Use03.rb +0 -16
- data/doc/ex/ViewBox.rb +0 -31
- data/doc/ex/adaptive_threshold.rb +0 -9
- data/doc/ex/add_noise.rb +0 -16
- data/doc/ex/affine.rb +0 -48
- data/doc/ex/affine_transform.rb +0 -20
- data/doc/ex/arc.rb +0 -49
- data/doc/ex/arcpath.rb +0 -32
- data/doc/ex/arcs01.rb +0 -28
- data/doc/ex/arcs02.rb +0 -59
- data/doc/ex/average.rb +0 -15
- data/doc/ex/axes.rb +0 -64
- data/doc/ex/baseline_shift01.rb +0 -17
- data/doc/ex/bilevel_channel.rb +0 -8
- data/doc/ex/blur_image.rb +0 -12
- data/doc/ex/border.rb +0 -10
- data/doc/ex/bounding_box.rb +0 -42
- data/doc/ex/cbezier1.rb +0 -41
- data/doc/ex/cbezier2.rb +0 -41
- data/doc/ex/cbezier3.rb +0 -41
- data/doc/ex/cbezier4.rb +0 -42
- data/doc/ex/cbezier5.rb +0 -42
- data/doc/ex/cbezier6.rb +0 -53
- data/doc/ex/channel.rb +0 -25
- data/doc/ex/charcoal.rb +0 -12
- data/doc/ex/chop.rb +0 -29
- data/doc/ex/circle.rb +0 -33
- data/doc/ex/circle01.rb +0 -16
- data/doc/ex/clip_path.rb +0 -60
- data/doc/ex/coalesce.rb +0 -57
- data/doc/ex/color_fill_to_border.rb +0 -29
- data/doc/ex/color_floodfill.rb +0 -28
- data/doc/ex/color_histogram.rb +0 -47
- data/doc/ex/color_reset.rb +0 -11
- data/doc/ex/colorize.rb +0 -16
- data/doc/ex/colors.rb +0 -64
- data/doc/ex/compose_mask.rb +0 -22
- data/doc/ex/composite.rb +0 -133
- data/doc/ex/composite_layers.rb +0 -53
- data/doc/ex/composite_tiled.rb +0 -21
- data/doc/ex/contrast.rb +0 -36
- data/doc/ex/crop.rb +0 -31
- data/doc/ex/crop_with_gravity.rb +0 -42
- data/doc/ex/cubic01.rb +0 -43
- data/doc/ex/cubic02.rb +0 -91
- data/doc/ex/cycle_colormap.rb +0 -21
- data/doc/ex/dissolve.rb +0 -12
- data/doc/ex/drawcomp.rb +0 -42
- data/doc/ex/drop_shadow.rb +0 -60
- data/doc/ex/edge.rb +0 -11
- data/doc/ex/ellipse.rb +0 -45
- data/doc/ex/ellipse01.rb +0 -21
- data/doc/ex/emboss.rb +0 -11
- data/doc/ex/enhance.rb +0 -28
- data/doc/ex/equalize.rb +0 -11
- data/doc/ex/evenodd.rb +0 -42
- data/doc/ex/fill_pattern.rb +0 -23
- data/doc/ex/flatten_images.rb +0 -36
- data/doc/ex/flip.rb +0 -11
- data/doc/ex/flop.rb +0 -11
- data/doc/ex/font_styles.rb +0 -32
- data/doc/ex/fonts.rb +0 -20
- data/doc/ex/frame.rb +0 -12
- data/doc/ex/gaussian_blur.rb +0 -11
- data/doc/ex/get_multiline_type_metrics.rb +0 -41
- data/doc/ex/get_pixels.rb +0 -47
- data/doc/ex/get_type_metrics.rb +0 -141
- data/doc/ex/gradientfill.rb +0 -27
- data/doc/ex/grav.rb +0 -45
- data/doc/ex/gravity.rb +0 -80
- data/doc/ex/group.rb +0 -26
- data/doc/ex/hatchfill.rb +0 -27
- data/doc/ex/image.rb +0 -44
- data/doc/ex/images/Apple.miff +0 -0
- data/doc/ex/images/Ballerina.jpg +0 -0
- data/doc/ex/images/Ballerina3.jpg +0 -0
- data/doc/ex/images/Button_0.gif +0 -0
- data/doc/ex/images/Button_1.gif +0 -0
- data/doc/ex/images/Button_2.gif +0 -0
- data/doc/ex/images/Button_3.gif +0 -0
- data/doc/ex/images/Button_4.gif +0 -0
- data/doc/ex/images/Button_5.gif +0 -0
- data/doc/ex/images/Button_6.gif +0 -0
- data/doc/ex/images/Button_7.gif +0 -0
- data/doc/ex/images/Button_8.gif +0 -0
- data/doc/ex/images/Button_9.gif +0 -0
- data/doc/ex/images/Button_A.gif +0 -0
- data/doc/ex/images/Button_B.gif +0 -0
- data/doc/ex/images/Button_C.gif +0 -0
- data/doc/ex/images/Button_D.gif +0 -0
- data/doc/ex/images/Button_E.gif +0 -0
- data/doc/ex/images/Button_F.gif +0 -0
- data/doc/ex/images/Button_G.gif +0 -0
- data/doc/ex/images/Button_H.gif +0 -0
- data/doc/ex/images/Button_I.gif +0 -0
- data/doc/ex/images/Button_J.gif +0 -0
- data/doc/ex/images/Button_K.gif +0 -0
- data/doc/ex/images/Button_L.gif +0 -0
- data/doc/ex/images/Button_M.gif +0 -0
- data/doc/ex/images/Button_N.gif +0 -0
- data/doc/ex/images/Button_O.gif +0 -0
- data/doc/ex/images/Button_P.gif +0 -0
- data/doc/ex/images/Button_Q.gif +0 -0
- data/doc/ex/images/Button_R.gif +0 -0
- data/doc/ex/images/Button_S.gif +0 -0
- data/doc/ex/images/Button_T.gif +0 -0
- data/doc/ex/images/Button_U.gif +0 -0
- data/doc/ex/images/Button_V.gif +0 -0
- data/doc/ex/images/Button_W.gif +0 -0
- data/doc/ex/images/Button_X.gif +0 -0
- data/doc/ex/images/Button_Y.gif +0 -0
- data/doc/ex/images/Button_Z.gif +0 -0
- data/doc/ex/images/Cheetah.jpg +0 -0
- data/doc/ex/images/Coffee.wmf +0 -0
- data/doc/ex/images/Flower_Hat.jpg +0 -0
- data/doc/ex/images/Gold_Statue.jpg +0 -0
- data/doc/ex/images/Hot_Air_Balloons.jpg +0 -0
- data/doc/ex/images/Hot_Air_Balloons_H.jpg +0 -0
- data/doc/ex/images/Leaf.miff +0 -0
- data/doc/ex/images/No.wmf +0 -0
- data/doc/ex/images/Polynesia.jpg +0 -0
- data/doc/ex/images/Red_Rocks.jpg +0 -0
- data/doc/ex/images/Rocks_On_Beach.miff +0 -0
- data/doc/ex/images/Shorts.jpg +0 -0
- data/doc/ex/images/Snake.wmf +0 -0
- data/doc/ex/images/Violin.jpg +0 -0
- data/doc/ex/images/Yellow_Rose.miff +0 -0
- data/doc/ex/images/big-duck.gif +0 -0
- data/doc/ex/images/duck.gif +0 -0
- data/doc/ex/images/duck0.gif +0 -0
- data/doc/ex/images/duck1.gif +0 -0
- data/doc/ex/images/duck10.gif +0 -0
- data/doc/ex/images/duck11.gif +0 -0
- data/doc/ex/images/duck12.gif +0 -0
- data/doc/ex/images/duck13.gif +0 -0
- data/doc/ex/images/duck14.gif +0 -0
- data/doc/ex/images/duck15.gif +0 -0
- data/doc/ex/images/duck2.gif +0 -0
- data/doc/ex/images/duck3.gif +0 -0
- data/doc/ex/images/duck4.gif +0 -0
- data/doc/ex/images/duck5.gif +0 -0
- data/doc/ex/images/duck6.gif +0 -0
- data/doc/ex/images/duck7.gif +0 -0
- data/doc/ex/images/duck8.gif +0 -0
- data/doc/ex/images/duck9.gif +0 -0
- data/doc/ex/images/graydient230x6.gif +0 -0
- data/doc/ex/images/image_with_profile.jpg +0 -0
- data/doc/ex/images/logo400x83.gif +0 -0
- data/doc/ex/images/model.miff +0 -0
- data/doc/ex/images/notimplemented.gif +0 -0
- data/doc/ex/images/smile.miff +0 -0
- data/doc/ex/images/spin.gif +0 -0
- data/doc/ex/implode.rb +0 -34
- data/doc/ex/level.rb +0 -11
- data/doc/ex/level_colors.rb +0 -11
- data/doc/ex/line.rb +0 -41
- data/doc/ex/line01.rb +0 -21
- data/doc/ex/mask.rb +0 -35
- data/doc/ex/matte_fill_to_border.rb +0 -39
- data/doc/ex/matte_floodfill.rb +0 -32
- data/doc/ex/matte_replace.rb +0 -39
- data/doc/ex/median_filter.rb +0 -28
- data/doc/ex/modulate.rb +0 -11
- data/doc/ex/mono.rb +0 -23
- data/doc/ex/morph.rb +0 -25
- data/doc/ex/mosaic.rb +0 -35
- data/doc/ex/motion_blur.rb +0 -11
- data/doc/ex/negate.rb +0 -11
- data/doc/ex/negate_channel.rb +0 -9
- data/doc/ex/nested_rvg.rb +0 -21
- data/doc/ex/nonzero.rb +0 -42
- data/doc/ex/normalize.rb +0 -11
- data/doc/ex/oil_paint.rb +0 -11
- data/doc/ex/opacity.rb +0 -37
- data/doc/ex/ordered_dither.rb +0 -11
- data/doc/ex/path.rb +0 -63
- data/doc/ex/pattern1.rb +0 -25
- data/doc/ex/pattern2.rb +0 -26
- data/doc/ex/polaroid.rb +0 -27
- data/doc/ex/polygon.rb +0 -23
- data/doc/ex/polygon01.rb +0 -21
- data/doc/ex/polyline.rb +0 -22
- data/doc/ex/polyline01.rb +0 -21
- data/doc/ex/posterize.rb +0 -8
- data/doc/ex/preview.rb +0 -8
- data/doc/ex/qbezierpath.rb +0 -52
- data/doc/ex/quad01.rb +0 -34
- data/doc/ex/quantize-m.rb +0 -25
- data/doc/ex/radial_blur.rb +0 -9
- data/doc/ex/raise.rb +0 -8
- data/doc/ex/random_threshold_channel.rb +0 -13
- data/doc/ex/rect01.rb +0 -14
- data/doc/ex/rect02.rb +0 -20
- data/doc/ex/rectangle.rb +0 -34
- data/doc/ex/reduce_noise.rb +0 -28
- data/doc/ex/remap.rb +0 -11
- data/doc/ex/remap_images.rb +0 -19
- data/doc/ex/resize_to_fill.rb +0 -8
- data/doc/ex/resize_to_fit.rb +0 -8
- data/doc/ex/roll.rb +0 -9
- data/doc/ex/rotate.rb +0 -44
- data/doc/ex/rotate_f.rb +0 -14
- data/doc/ex/roundrect.rb +0 -33
- data/doc/ex/rubyname.rb +0 -30
- data/doc/ex/rvg_clippath.rb +0 -12
- data/doc/ex/rvg_linecap.rb +0 -42
- data/doc/ex/rvg_linejoin.rb +0 -40
- data/doc/ex/rvg_opacity.rb +0 -18
- data/doc/ex/rvg_pattern.rb +0 -26
- data/doc/ex/rvg_stroke_dasharray.rb +0 -11
- data/doc/ex/segment.rb +0 -11
- data/doc/ex/sepiatone.rb +0 -7
- data/doc/ex/shade.rb +0 -11
- data/doc/ex/shadow.rb +0 -30
- data/doc/ex/shave.rb +0 -15
- data/doc/ex/shear.rb +0 -10
- data/doc/ex/sketch.rb +0 -17
- data/doc/ex/skewx.rb +0 -51
- data/doc/ex/skewy.rb +0 -47
- data/doc/ex/smile.rb +0 -125
- data/doc/ex/solarize.rb +0 -11
- data/doc/ex/sparse_color.rb +0 -54
- data/doc/ex/splice.rb +0 -8
- data/doc/ex/spread.rb +0 -11
- data/doc/ex/stegano.rb +0 -55
- data/doc/ex/stroke_dasharray.rb +0 -42
- data/doc/ex/stroke_fill.rb +0 -10
- data/doc/ex/stroke_linecap.rb +0 -44
- data/doc/ex/stroke_linejoin.rb +0 -48
- data/doc/ex/stroke_width.rb +0 -49
- data/doc/ex/swirl.rb +0 -17
- data/doc/ex/text.rb +0 -37
- data/doc/ex/text01.rb +0 -16
- data/doc/ex/text_align.rb +0 -36
- data/doc/ex/text_antialias.rb +0 -37
- data/doc/ex/text_styles.rb +0 -19
- data/doc/ex/text_undercolor.rb +0 -28
- data/doc/ex/texture_fill_to_border.rb +0 -34
- data/doc/ex/texture_floodfill.rb +0 -32
- data/doc/ex/texturefill.rb +0 -24
- data/doc/ex/threshold.rb +0 -13
- data/doc/ex/to_blob.rb +0 -13
- data/doc/ex/translate.rb +0 -39
- data/doc/ex/transparent.rb +0 -38
- data/doc/ex/transpose.rb +0 -9
- data/doc/ex/transverse.rb +0 -9
- data/doc/ex/tref01.rb +0 -24
- data/doc/ex/triangle01.rb +0 -15
- data/doc/ex/trim.rb +0 -23
- data/doc/ex/tspan01.rb +0 -17
- data/doc/ex/tspan02.rb +0 -17
- data/doc/ex/tspan03.rb +0 -19
- data/doc/ex/unsharp_mask.rb +0 -28
- data/doc/ex/viewex.rb +0 -33
- data/doc/ex/vignette.rb +0 -12
- data/doc/ex/watermark.rb +0 -27
- data/doc/ex/wave.rb +0 -9
- data/doc/ex/wet_floor.rb +0 -58
- data/doc/ex/writing_mode01.rb +0 -26
- data/doc/ex/writing_mode02.rb +0 -26
- data/doc/ilist.html +0 -2056
- data/doc/image1.html +0 -4680
- data/doc/image2.html +0 -3665
- data/doc/image3.html +0 -4522
- data/doc/imageattrs.html +0 -1638
- data/doc/imusage.html +0 -514
- data/doc/index.html +0 -416
- data/doc/info.html +0 -1499
- data/doc/magick.html +0 -565
- data/doc/optequiv.html +0 -2435
- data/doc/rvg.html +0 -975
- data/doc/rvgclip.html +0 -248
- data/doc/rvggroup.html +0 -305
- data/doc/rvgimage.html +0 -289
- data/doc/rvgpattern.html +0 -475
- data/doc/rvgshape.html +0 -406
- data/doc/rvgstyle.html +0 -270
- data/doc/rvgtext.html +0 -465
- data/doc/rvgtspan.html +0 -238
- data/doc/rvgtut.html +0 -530
- data/doc/rvguse.html +0 -145
- data/doc/rvgxform.html +0 -294
- data/doc/scripts/doc.js +0 -22
- data/doc/scripts/stripeTables.js +0 -23
- data/doc/struct.html +0 -1339
- data/doc/usage.html +0 -1621
- data/examples/constitute.rb +0 -7
- data/examples/crop_with_gravity.rb +0 -42
- data/examples/demo.rb +0 -324
- data/examples/describe.rb +0 -43
- data/examples/find_similar_region.rb +0 -34
- data/examples/histogram.rb +0 -321
- data/examples/identify.rb +0 -185
- data/examples/image_opacity.rb +0 -29
- data/examples/import_export.rb +0 -31
- data/examples/pattern_fill.rb +0 -38
- data/examples/rotating_text.rb +0 -44
- data/examples/spinner.rb +0 -49
- data/examples/thumbnail.rb +0 -64
- data/examples/vignette.rb +0 -78
- data/ext/RMagick/rmdraw.c +0 -2022
- data/ext/RMagick/rmenum.c +0 -1235
- data/ext/RMagick/rmilist.c +0 -1270
- data/ext/RMagick/rmimage.c +0 -15427
- data/ext/RMagick/rmmain.c +0 -1741
- data/ext/RMagick/rmmontage.c +0 -519
- data/ext/RMagick/rmpixel.c +0 -1114
- data/spec/rmagick/ImageList1_spec.rb +0 -24
- data/spec/rmagick/draw_spec.rb +0 -156
- data/spec/rmagick/image/blue_shift_spec.rb +0 -16
- data/spec/rmagick/image/composite_spec.rb +0 -140
- data/spec/rmagick/image/constitute_spec.rb +0 -15
- data/spec/rmagick/image/dispatch_spec.rb +0 -18
- data/spec/rmagick/image/from_blob_spec.rb +0 -14
- data/spec/rmagick/image/ping_spec.rb +0 -14
- data/spec/rmagick/image/properties_spec.rb +0 -29
- data/spec/spec_helper.rb +0 -4
- data/test/Image1.rb +0 -565
- data/test/Image2.rb +0 -1304
- data/test/Image3.rb +0 -1030
- data/test/ImageList1.rb +0 -806
- data/test/ImageList2.rb +0 -385
- data/test/Image_attributes.rb +0 -697
- data/test/Import_Export.rb +0 -121
- data/test/Info.rb +0 -345
- data/test/Magick.rb +0 -321
- data/test/Pixel.rb +0 -116
- data/test/Preview.rb +0 -57
- data/test/cmyk.icm +0 -0
- data/test/srgb.icm +0 -0
- data/test/test_all_basic.rb +0 -38
- data/test/tmpnam_test.rb +0 -50
- data/wercker.yml +0 -10
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,542 @@
|
|
3
3
|
All notable changes to this project are documented in this file.
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
5
5
|
|
6
|
+
## RMagick 5.5.0
|
7
|
+
|
8
|
+
Improvements
|
9
|
+
|
10
|
+
- Add RBS signatures (#1458)
|
11
|
+
- Remove unnecessary type check in KernelInfo#{unity_add, scale} (#1514)
|
12
|
+
- Remove unnecessary type check in Image#{morphology, morphology_channel} (#1513)
|
13
|
+
- Improve HatchFill.new to accept Pixel object as color (#1512)
|
14
|
+
- Fix GraphicContext#font_weight to accept Numeric object (#1510)
|
15
|
+
- Improve GraphicContext#font_weight to accept Symbol object (#1509)
|
16
|
+
- Improve Stretchable#viewbox to use implicitly conversioned value (#1507)
|
17
|
+
- Improve RVG::Transformable#rotate to convert to Float implicitly (#1506)
|
18
|
+
- Fix Image#modulate in order to accept negative number (#1505)
|
19
|
+
- Improve Image#modulate to accept "NN%" form string (#1504)
|
20
|
+
- Implicit conversion to string with methods that expect a string (#1496)
|
21
|
+
- Coerce to string instead of using #to_s (#1495)
|
22
|
+
- Coerce to string where pass object into string interpolation (#1494)
|
23
|
+
- Fix Draw#{fill_opacity, opacity, stroke_opacity} to correctly handle arguments (#1492)
|
24
|
+
- Fix Draw#{interline_spacing, interword_spacing, kerning} to correctly handle arguments that can be converted to Float (#1491)
|
25
|
+
- Remove unnecessary type check in KernelInfo methods (#1489)
|
26
|
+
- Generate compile_flags.txt for clangd for development (#1488)
|
27
|
+
- Fix Draw#{stroke_dasharray, stroke_miterlimit} to accept object which has #to_f method (#1486)
|
28
|
+
- Fix Image#composite_affine to accept ImageList object (#1484)
|
29
|
+
- Fix Image#add_compose_mask to accept ImageList object (#1483)
|
30
|
+
- Fix incorrect number of required arguments in ArgumentError (#1482)
|
31
|
+
- Fix ImageList#sort! that should return self (#1481)
|
32
|
+
- Fix ImageList#eql? that should not raise exception if can't compare (#1479)
|
33
|
+
- Fix ImageList#<=> that should return nil if can't compare (#1478)
|
34
|
+
- Add DrawAttribute module to simplify Draw, DrawOptions and PolaroidOptions (#1477)
|
35
|
+
- Add missing attribute writer methods in Image::{DrawOptions, PolaroidOptions} (#1476)
|
36
|
+
- Add Image::PolaroidOptions#affine= (#1475)
|
37
|
+
- Add Image::PolaroidOptions#tile= (#1474)
|
38
|
+
- Attribute writer methods should return passed value (#1473)
|
39
|
+
- Return self with ImageList if Image's method return self (#1472)
|
40
|
+
- Fix Image#clut_channel to accept ImageList object (#1471)
|
41
|
+
- Fix Magick::GradientFill#fill and Magick::TextureFill#fill to accept ImageList object (#1467)
|
42
|
+
|
43
|
+
Bug Fixes
|
44
|
+
|
45
|
+
- Fix typo in order to fix NoMethodError (#1515)
|
46
|
+
- Sync compression value in order fix the problem of compression being ignored by ImageMagick 7 (#1503)
|
47
|
+
- Add PKG_CONFIG_PATH for ImageMagick 7 in order to fix installation error on macOS (#1501)
|
48
|
+
|
49
|
+
## RMagick 5.4.4
|
50
|
+
|
51
|
+
Bug Fixes
|
52
|
+
|
53
|
+
- Fix installation error again in some environment at creatint Makefile (#1465)
|
54
|
+
- Fix Pixel#<=> which should accept other class instance (#1463)
|
55
|
+
|
56
|
+
## RMagick 5.4.3
|
57
|
+
|
58
|
+
Bug Fixes
|
59
|
+
|
60
|
+
- Fix installation error in some environment by using x flag to use C++ compiler in order to create Makefile (#1460)
|
61
|
+
|
62
|
+
## RMagick 5.4.2
|
63
|
+
|
64
|
+
Improvements
|
65
|
+
|
66
|
+
- Check C++ compiler exists (#1453)
|
67
|
+
|
68
|
+
## RMagick 5.4.1
|
69
|
+
|
70
|
+
Bug Fixes
|
71
|
+
|
72
|
+
- Fix invalid cast between different size variables (#1448)
|
73
|
+
|
74
|
+
## RMagick 5.4.0
|
75
|
+
|
76
|
+
Improvements
|
77
|
+
|
78
|
+
- Use rb_io_path() if exist because pathv attr was marked as deprecated at Ruby 3.3 (#1409)
|
79
|
+
- Add observer gem as dependency (#1411)
|
80
|
+
- Add aliases of filter type (#1439)
|
81
|
+
- Release GVL in Image#contrast (#1440)
|
82
|
+
|
83
|
+
Bug Fixes
|
84
|
+
|
85
|
+
- Use C++ compiler in order to fix installation error with latest ImageMagick 7 on Windows (#1433)
|
86
|
+
|
87
|
+
## RMagick 5.3.0
|
88
|
+
|
89
|
+
Improvements
|
90
|
+
|
91
|
+
- Support GC compaction (#1388)
|
92
|
+
|
93
|
+
Bug Fixes
|
94
|
+
|
95
|
+
- Fix memory leak in `Magick::Draw` for recentry ImageMagick 6 by removing unnecessary `GetDrawInfo()` calling (#1406)
|
96
|
+
- Fix crash on ImageList#write with animation gif (#1379)
|
97
|
+
- Windows: Fix RubyInstaller::Runtime::DllDirectory::WinApiError (#1381)
|
98
|
+
|
99
|
+
## RMagick 5.2.0
|
100
|
+
|
101
|
+
Improvements
|
102
|
+
|
103
|
+
- Add OnAlphaChannel and OffAlphaChannel to the AlphaChannelOption enumeration. (#1377)
|
104
|
+
- Add Ruby 3.2 support (#1370)
|
105
|
+
|
106
|
+
## RMagick 5.1.0
|
107
|
+
|
108
|
+
Improvements
|
109
|
+
|
110
|
+
- Improve multi-thread performance by releasing GVL (#1352)
|
111
|
+
- Add Ractor support (#1349)
|
112
|
+
- Avoid overriding compilation variables (#1365)
|
113
|
+
- Remove pkg-config command dependency (#1366)
|
114
|
+
|
115
|
+
## RMagick 5.0.0
|
116
|
+
|
117
|
+
Improvements
|
118
|
+
|
119
|
+
- Improve installer in order to avoid SEGV within pkg-config command (#1359)
|
120
|
+
- Clean up the documents and comment in source code referring to something that no longer exist (#1363)
|
121
|
+
- Remove deprecated 'tile' attribute in Draw#marshal_dump (#1364)
|
122
|
+
- Remove deprecated #instance_eval calling when block was given with Magick::ImageList#montage, Magick::Image::Info.new and more (#1362)
|
123
|
+
- Remove deprecated RMagick.rb file (#1361)
|
124
|
+
- Remove deprecated Magick.trace_proc= (#1351)
|
125
|
+
- Remove deprecated Magick::{Image, Image::Info}#monitor= (#1356)
|
126
|
+
|
127
|
+
## RMagick 4.3.0
|
128
|
+
|
129
|
+
Deprecates
|
130
|
+
|
131
|
+
- Mark Magick.trace_proc= as deprecated (#1354)
|
132
|
+
- Mark Magick::{Image, Image::Info}#monitor= as deprecated (#1353)
|
133
|
+
|
134
|
+
These methods will be removed in RMagick 5.0 and no alternative.
|
135
|
+
|
136
|
+
## RMagick 4.2.6
|
137
|
+
|
138
|
+
Improvements
|
139
|
+
|
140
|
+
- Remove test_files to reduce gem package size (#1338)
|
141
|
+
|
142
|
+
Bug Fixes
|
143
|
+
|
144
|
+
- Guard against an empty rpath (#1333)
|
145
|
+
- Call GetImageDistortion instead of IsImagesEqual to fix the issue reported in #1342 (#1343)
|
146
|
+
|
147
|
+
## RMagick 4.2.5
|
148
|
+
|
149
|
+
Bug Fixes
|
150
|
+
|
151
|
+
- Specify rpath linker option to fix dynamic lib lookup failure on Linux (#1325)
|
152
|
+
- Fix Image#profile! that can't delete exif data (#1326)
|
153
|
+
|
154
|
+
## RMagick 4.2.4
|
155
|
+
|
156
|
+
Improvements
|
157
|
+
|
158
|
+
- spec_helper: drop require_relative to lib directory (#1306)
|
159
|
+
- Fix build error with Ruby 3.1 on macOS (#1313)
|
160
|
+
|
161
|
+
Bug Fixes
|
162
|
+
|
163
|
+
- remove Mutex in trace_proc= (#1303)
|
164
|
+
- channel_mean_spec: fix floating point comparison (#1307)
|
165
|
+
- changed_predicate_spec: ensure target directory exists (#1305)
|
166
|
+
- Doc: Fix documentation of Magick::Image#crop (#1311)
|
167
|
+
- Magick::UndefinedKernel should also not be used when creating a new KernelInfo. (#1312)
|
168
|
+
|
169
|
+
## RMagick 4.2.3
|
170
|
+
|
171
|
+
Bug Fixes
|
172
|
+
|
173
|
+
- Re-add block syntax deprecation warning and fix in RMagick source (#1279) (#1280)
|
174
|
+
- Doc: Replace Magick::Montage with Magick::ImageList::Montage (#1281)
|
175
|
+
- Update shadow example (#1297)
|
176
|
+
- Escape the backslashes in windows error message (#1298)
|
177
|
+
- Also set the alpha value of the target pixel (#1299)
|
178
|
+
- Set alpha_trait to BlendPixelTrait when the alpha value of the pixel is not opaque. (#1300)
|
179
|
+
|
180
|
+
## RMagick 4.2.2
|
181
|
+
|
182
|
+
Bug Fixes:
|
183
|
+
|
184
|
+
- Remove deprecation warning about block syntax (#1272)
|
185
|
+
|
186
|
+
You are still recommended to use the block parameter instead of `self.` but
|
187
|
+
we're silencing the deprecation warning until we can get RMagick's code up to
|
188
|
+
that standard.
|
189
|
+
|
190
|
+
## RMagick 4.2.1
|
191
|
+
|
192
|
+
Bug Fixes:
|
193
|
+
|
194
|
+
- Fix compilation with optimization on glibc (#1263)
|
195
|
+
|
196
|
+
## RMagick 4.2.0
|
197
|
+
|
198
|
+
This adds a deprecation warning when using a block for image operations.
|
199
|
+
Instead of setting properties on `self`, you should accept a block argument and
|
200
|
+
modify that instead. In a future version we we no longer be binding the block
|
201
|
+
to the image.
|
202
|
+
|
203
|
+
```diff
|
204
|
+
- img.to_blob { self.quality = 75 }
|
205
|
+
+ img.to_blob { |image| image.quality = 75 }
|
206
|
+
```
|
207
|
+
|
208
|
+
Improvements:
|
209
|
+
|
210
|
+
- Updated error messages if runtime ImageMagick version was not matched with when installed rmagick (#1213)
|
211
|
+
- Improve Image#resize performance with ImageMagick 7 (#1240)
|
212
|
+
- Added new colorspaces (#1252)
|
213
|
+
|
214
|
+
Bug Fixes:
|
215
|
+
|
216
|
+
- Fix assertion failed in Magick::TextureFill.new with with unexpected argument (#1216)
|
217
|
+
- Call with yield when there is a block arguments (#701)
|
218
|
+
- Avoid crash with monitor feature on Ruby 3.0 (#1253)
|
219
|
+
|
220
|
+
## RMagick 4.1.2
|
221
|
+
|
222
|
+
Bug Fixes:
|
223
|
+
|
224
|
+
- Fix build error on Freebsd (#1199)
|
225
|
+
- Add workaround for FreeBSD that it isn't able to process PDF (#1203)
|
226
|
+
|
227
|
+
## RMagick 4.1.1
|
228
|
+
|
229
|
+
Bug Fixes:
|
230
|
+
|
231
|
+
- Fix bug of signal handling internally (#1189)
|
232
|
+
|
233
|
+
## RMagick 4.1.0
|
234
|
+
|
235
|
+
Improvements:
|
236
|
+
|
237
|
+
- reduce package size by more than 1.5mb (#849)
|
238
|
+
- improve memory usage (#836)
|
239
|
+
- add support for Ruby 2.7 (#853)
|
240
|
+
- *many* documentation fixes and cleanups
|
241
|
+
- *many* testing fixes and cleanups
|
242
|
+
- Support CMYK color in Image#get_pixels (#871)
|
243
|
+
- Support to get CMYK color in Image#pixel_color (#875)
|
244
|
+
- Support to set CMYK color in Image#pixel_color (#908)
|
245
|
+
- Add ImageList#map (#1154)
|
246
|
+
|
247
|
+
Bug Fixes:
|
248
|
+
|
249
|
+
- fixed memory leaks (#809, #815, #816, #960, #1024)
|
250
|
+
- eliminate compiler warnings (#855, #864, #878, #917, #969, #981, #996, #1000, #1044)
|
251
|
+
- Recognize invert option in Image#opaque_channel with ImageMagick 7 (#882)
|
252
|
+
- Fix heap-buffer-overflow in Image#wet_floor with ImageMagick 7 (#883)
|
253
|
+
- Handle channel value with new image in Image#opaque_channel with ImageMagick 7 (#886)
|
254
|
+
- Pass caption value into ImageMagick 7 API in Image#polaroid (#898)
|
255
|
+
- Example: Fix “uninitialized constant Magick::TransparentOpacity” error (#899)
|
256
|
+
- Example: Fix error of constant usage (#900)
|
257
|
+
- Example: Fix error in doc/ex/composite.rb (#901)
|
258
|
+
- Example: Fix error in doc/ex/crop_with_gravity.rb (#902)
|
259
|
+
- Revert removed RemapImages() calling in ImageList#remap for ImageMagick 6 (#904)
|
260
|
+
- Example: Fix alpha channel in examples/vignette.rb (#918)
|
261
|
+
- Example: Fix alpha channel in doc/ex/coalesce.rb (#920)
|
262
|
+
- Handle alpha value in Pixel#to_color (#922)
|
263
|
+
- Detect the proper ARCHFLAGS on macOS (#923)
|
264
|
+
- Handle boolean value as dither option in ImageList#quantize (#926)
|
265
|
+
- Use strlcpy instead of strncpy to ensure null terminating. (#933)
|
266
|
+
- Remove memalign() (#939)
|
267
|
+
- Add safe strlen() to ensure avoiding buffer overrun (#940)
|
268
|
+
- Use strlcpy() instead of strcpy() to ensure avoiding buffer overflow (#941)
|
269
|
+
- Use snprintf() instead of sprintf() to ensure avoiding buffer overflow (#945)
|
270
|
+
- Example: Remove unnecessary alpha setting (#950)
|
271
|
+
- Replace to correct format specifiers for size_t/ssize_t value (#978)
|
272
|
+
- Use proper format specifiers within MinGW (#997)
|
273
|
+
- Fix snprintf() format specifiers for unsigned value (#1006)
|
274
|
+
- Fix warning of “Variable is reassigned a value before the old one has been use” (#1008)
|
275
|
+
- Fix warning of “warning: explicitly assigning value of variable of type 'int' to itself” (#1013)
|
276
|
+
- Fix Image#resample to use blur option properly with ImageMagick 7 (#1023)
|
277
|
+
- Fix Image#resize to use blur option properly with ImageMagick 7 (#1032)
|
278
|
+
- Fix that Color#compliance returns nil with undefined bit (#1049)
|
279
|
+
- Check memory API properly on Windows (#1050)
|
280
|
+
- Example: Fix “undefined method `opacity’” (#1051)
|
281
|
+
- Add workaround to pdf problem (#1072)
|
282
|
+
- Fix exception message because #export_pixels accept 0 argument (#1121)
|
283
|
+
- Fix default value of `fill` argument in Image#initialize (#1122)
|
284
|
+
- Call rm_ensure_result() in creating Image object (#1144)
|
285
|
+
- Use StringValueCStr() instead of StringValuePtr() (#1156)
|
286
|
+
- Use RSTRING_PTR() to retrieve a pointer of String object for buffer (#1157)
|
287
|
+
- Use StringValueCStr() to get null-terminated C-lang string (#1158)
|
288
|
+
- Fix SEGV in Magick::Draw#marshal_load (#1162)
|
289
|
+
- Fix SEGV in rm_check_ary_len() with unexpected argument value (#1168)
|
290
|
+
- Fix SEGV in Image#marshal_load (#1169)
|
291
|
+
|
292
|
+
Breaking Changes:
|
293
|
+
|
294
|
+
- remove `tainted?` logic (#854)
|
295
|
+
|
296
|
+
## RMagick 4.1.0.rc2
|
297
|
+
|
298
|
+
- fix a couple of compilation bugs (#796, #797)
|
299
|
+
|
300
|
+
## RMagick 4.1.0.rc1
|
301
|
+
|
302
|
+
The ImageMagick 7 release is here! This adds beta support for ImageMagick 7.
|
303
|
+
Much thanks to **@Watson1978** for getting the ball rolling on this and to
|
304
|
+
**@dlemstra** for the extraordinary amount of work and patience that went into
|
305
|
+
seeing it through. RMagick should currently behave the same way under IM7 as it
|
306
|
+
did under IM6, so please open an issue if you find anything that seems out of
|
307
|
+
the ordinary.
|
308
|
+
|
309
|
+
## RMagick 4.0.0
|
310
|
+
|
311
|
+
This release removes a *lot* of deprecated functionality, so first upgrade to
|
312
|
+
3.2 and handle any deprecation warnings you see there before upgrading to 4.0.
|
313
|
+
There are a handful of removals that we could not, or forgot to deprecate, so
|
314
|
+
pay special attention to those below. This clears the road for ImageMagick 7
|
315
|
+
support in the very near future.
|
316
|
+
|
317
|
+
Breaking Changes:
|
318
|
+
|
319
|
+
- Removed deprecated Image#matte and Image#matte= (#731)
|
320
|
+
- Removed deprecated Draw#matte. (#736)
|
321
|
+
- Removed deprecated ImageList#fx. (#732)
|
322
|
+
- Removed deprecated Info#group and Info#group=. (#733)
|
323
|
+
- Removed deprecated KernelInfo#show. (#734)
|
324
|
+
- Removed deprecated Pixel#opacity and Pixel#opacity=. (#735)
|
325
|
+
- Removed deprecated KernelInfo#zero_nans. (#741)
|
326
|
+
- Removed deprecated ImageList#map (#740)
|
327
|
+
- Removed deprecated Pixel#from_HSL. (#742)
|
328
|
+
- Removed deprecated Image#alpha=. (#739)
|
329
|
+
- Removed deprecated Pixel#to_HSL. (#745)
|
330
|
+
- Removed deprecated Image#blur and Image#blur=. (#746)
|
331
|
+
- Removed deprecated Image#sync_profiles. (#754)
|
332
|
+
- Removed deprecated Image#opacity=. (#753)
|
333
|
+
- Removed deprecated Image#combine. (#752)
|
334
|
+
- Removed deprecated Image#map. (#751)
|
335
|
+
- Removed deprecated Image#mask=. (#750)
|
336
|
+
- Removed deprecated opacity arguments. (#757)
|
337
|
+
- Removed deprecated `OpaqueOpacity` and `TransparentOpacity`. (#765)
|
338
|
+
- Removed obsolete enumerations. (#766)
|
339
|
+
|
340
|
+
The following changes *did not have deprecation warnings* in 3.2, so you'll
|
341
|
+
want to double check that you update your code if you were relying on the
|
342
|
+
existing behavior:
|
343
|
+
|
344
|
+
- Changed Color#to_s to return an string that contains alpha instead of opacity. (#760)
|
345
|
+
- Changed Pixel#to_s to return a string that contains alpha instead of opacity. (#762)
|
346
|
+
- Changed Pixel#hash to use alpha instead of opacity. (#763)
|
347
|
+
- Changed Pixel#<=> to use alpha instead of opacity. (#764)
|
348
|
+
- Removed `BicubicInterpolatePixel` (use `CatromInterpolatePixel` instead) (#768)
|
349
|
+
- Removed `FilterInterpolatePixel` (no replacement) (#768)
|
350
|
+
- Renamed `NearestNeighborInterpolatePixel` to `NearestInterpolatePixel` (#768)
|
351
|
+
|
352
|
+
Enhancements:
|
353
|
+
|
354
|
+
- Add SetQuantumOperator (#755)
|
355
|
+
|
356
|
+
Bug Fixes:
|
357
|
+
|
358
|
+
- Fix SEGV in Image#each_profile (#737)
|
359
|
+
|
360
|
+
## RMagick 3.2.0
|
361
|
+
|
362
|
+
This is expected to be the final deprecation release before RMagick 4.0. We
|
363
|
+
have added loads of deprecation warnings to clear the pathway for ImageMagick 7
|
364
|
+
support. Once you've fixed all of them you should be fine to upgrade to version
|
365
|
+
4.0 without any pain. There are a small handful of edge cases which we could
|
366
|
+
not cleanly deprecate, though they should be extremely rare. These will be
|
367
|
+
documented in the 4.0 release. Thanks to @dlemstra for the hard work making
|
368
|
+
this release possible.
|
369
|
+
|
370
|
+
The biggest change in moving towards RMagick 4.0 will be the fact that
|
371
|
+
`opacity` is deprecated in favor of `alpha`.
|
372
|
+
|
373
|
+
**NOTE: `opacity` is the opposite of `alpha`!!!**
|
374
|
+
|
375
|
+
If you are currently passing opacity into methods, you will need to invert the
|
376
|
+
value and use the new `alpha:` keyword argument. If you are passing an integer,
|
377
|
+
`alpha = 255 - opacity`. An integer `opacity` of 0 is an `alpha` of 255.
|
378
|
+
|
379
|
+
Also, **major kudos to @Watson1978** for enabling Ruby's memory management in
|
380
|
+
(#697). This should go a long way towards improving RMagick's reputation for
|
381
|
+
memory usage.
|
382
|
+
|
383
|
+
Deprecations: (To be removed in RMagick 4.0)
|
384
|
+
|
385
|
+
- `Info#group` (#578) (no replacement)
|
386
|
+
- `Image#blur` (#579) (no replacement)
|
387
|
+
- Renamed `AlphaChannelType` to `AlphaChannelOption` (#596)
|
388
|
+
- Renamed `DistortImageMethod` to `DistortMethod` (#605)
|
389
|
+
- Renamed `FilterTypes` to `FilterType` (#611)
|
390
|
+
- Renamed `InterpolatePixelMethod` to `PixelInterpolateMethod` (#613)
|
391
|
+
- Renamed `ImageLayerMethod` to `LayerMethod` (#618)
|
392
|
+
- Deprecate the `opacity` property of the Pixel class. (use `alpha` instead) (#619)
|
393
|
+
- Deprecate old enum names. (use IM7 names instead) (#627)
|
394
|
+
- `StaticGravity` (use `CenterGravity` instead) (#638)
|
395
|
+
- `Image#sync_profiles` (no replacement) (#640)
|
396
|
+
- Deprecate old metric type values (use IM7 names instead) (#647)
|
397
|
+
- Deprecate `ResetAlphaChannel` (no replacement) (#644)
|
398
|
+
- Deprecate `FlattenAlphaChannel` (no replacement) (#645)
|
399
|
+
- Deprecate `MatteChannel` (no replacement) (#646)
|
400
|
+
- Deprecate `ConstantVirtualPixelMethod` (no replacement) (#649)
|
401
|
+
- Deprecate `IntegerPixel` (no replacement) (#650)
|
402
|
+
- Deprecate `Image.combine` (use `ImageList#combine` instead) (#690)
|
403
|
+
- Deprecate `Image#opacity` (use `Image#alpha` instead) (#669)
|
404
|
+
- Deprecate unnamed argument for opacity in `Image#transparent` (use keyword `alpha:` instead) (#695)
|
405
|
+
- Deprecate unnamed argument for opacity in `Image#black_threshold` and `Image#white_threshold.` (use keyword `alpha:` instead) (#709)
|
406
|
+
- Deprecate unnamed argument for opacity in `Image#matte_flood_fill` (use keyword `alpha:` instead) (#711)
|
407
|
+
- Deprecate unnamed argument for opacity in `Image#paint_transparent` (use keyword `alpha:` instead) (#717)
|
408
|
+
- Deprecate unnamed argument for opacity in `Image#transparent_chroma.` (use keyword `alpha:` instead) (#722)
|
409
|
+
- Deprecate `Draw#matte` (use `Draw#alpha` instead) (#724)
|
410
|
+
|
411
|
+
Enhancements:
|
412
|
+
|
413
|
+
- Many internal adjustments to prepare for ImageMagick 7 support.
|
414
|
+
- Added alpha property to the pixel class. (#617)
|
415
|
+
- Add combine to the ImageList class. (#589)
|
416
|
+
- Add new alpha constants (#651)
|
417
|
+
- Add `Image#mask=` (#660)
|
418
|
+
- Add `Draw#alpha` to replace `Draw#matte` (#726)
|
419
|
+
- Add Draw#image (#720)
|
420
|
+
- Add ArchLinux support (#727)
|
421
|
+
|
422
|
+
Bug Fixes:
|
423
|
+
|
424
|
+
- Fix `Font#to_s` to not raise error (#569)
|
425
|
+
- Fix a SEGV in `Image#reduce_noise` (#576)
|
426
|
+
- Fix infinite loop in `Image#compose` (#587)
|
427
|
+
- Fix enumeration memory leaks (#592) (#594) (#606) (#610) (#626)
|
428
|
+
- Don't allow `Image#class_type` to be set to undefined (#599)
|
429
|
+
- Fixed setting the name of the clip path. (#608)
|
430
|
+
- Fix memory leak in `Info#view=` (#642)
|
431
|
+
- Fix memory leak in `Image.constitute` (#665)
|
432
|
+
- Raise error on invalid arguments in `Draw#bezier` (#674)
|
433
|
+
- Fix memory leak in `Image#sparse_color` (#683)
|
434
|
+
- Prevent negative values for `Image#convolve` (#679)
|
435
|
+
- Several cleanups and fixes in the examples
|
436
|
+
- Raise error on invalid arguments in `Draw#color` (#691)
|
437
|
+
- Raise error on invalid arguments in `Draw#opacity` (#692)
|
438
|
+
- Raise error on invalid arguments in `Draw#fill_opacity` (#693)
|
439
|
+
- Raise error on invalid arguments in `Draw#stroke_opacity` (#694)
|
440
|
+
- Raise error on invalid arguments in `Draw#font_weight` (#696)
|
441
|
+
- Raise error on invalid arguments in `Draw#pattern` (#702)
|
442
|
+
- Raise error on invalid arguments in `Draw#point` (#703)
|
443
|
+
- Raise error on invalid arguments in `Draw#font_size` (#704)
|
444
|
+
- Raise error on invalid arguments in `Draw#polygon` (#705)
|
445
|
+
- Raise error on invalid arguments in `Draw#polyline` (#706)
|
446
|
+
- Raise error on invalid arguments in `Draw#rotate` (#707)
|
447
|
+
- Raise error on invalid arguments in `Draw#scale` (#708)
|
448
|
+
- Raise error on invalid arguments in `Draw#stroke_dashoffset` (#710)
|
449
|
+
- Raise error on invalid arguments in `Draw#translate` (#713)
|
450
|
+
- Raise error on invalid arguments in `Draw#text` (#714)
|
451
|
+
- Raise error on invalid arguments in `Draw#stroke` (#715)
|
452
|
+
- Raise error on invalid arguments in `Draw#matte` (#716)
|
453
|
+
- Raise error on invalid arguments in `Draw#skewx`, `Draw#skewy` (#719)
|
454
|
+
- Fix `Image#thumbnail` to keep image aspect ratio like ImageMagick (#718)
|
455
|
+
- Fix bug where `ImageList#montage` doesn't apply `border_color` & `matte_color` (#601)
|
456
|
+
- Fix stack-buffer-overflow in `Draw#annotate` (#725)
|
457
|
+
- Enable managed memory feature (#697)
|
458
|
+
|
459
|
+
Code Quality:
|
460
|
+
|
461
|
+
- Many tests written
|
462
|
+
- Several fixes to reduce compiler warnings.
|
463
|
+
|
464
|
+
## RMagick 3.1.0
|
465
|
+
|
466
|
+
Deprecations: (To be removed in RMagick 4.0)
|
467
|
+
|
468
|
+
- Support for Ruby 2.3
|
469
|
+
- `KernelInfo#zero_nans` (#531) (no replacement)
|
470
|
+
- `KernelInfo#show` (#532) (no replacement)
|
471
|
+
- `ImageList#fx` (#529) (use `Image#fx` instead)
|
472
|
+
- `Image#alpha=` (#530) (use `Image#alpha` instead)
|
473
|
+
- `Image#mask=` (#530) (use `Image#mask` instead)
|
474
|
+
- `Image#matte` (#530) (use `Image#alpha` instead)
|
475
|
+
- `Image#matte=` (#530) (use `Image#alpha` instead)
|
476
|
+
|
477
|
+
Enhancements:
|
478
|
+
|
479
|
+
- Support ruby-mswin environment on Windows (#425)
|
480
|
+
- Add test for supporting webp format (#406)
|
481
|
+
- Add explicit Ruby 2.5 support (#339)
|
482
|
+
- Add explicit Ruby 2.6 support (#467)
|
483
|
+
- Restore support for ImageMagick 6.7 (#475)
|
484
|
+
- Add explicit ImageMagick 6.9 support (#340)
|
485
|
+
- Work towards ImageMagick 7.0 support (#470) (#487) (#489) (#492) (#494)
|
486
|
+
- Improve error messaging (#480) (#517)
|
487
|
+
- Add TimeResource support (#402)
|
488
|
+
- Add Image#fx method (#529)
|
489
|
+
|
490
|
+
Bug Fixes:
|
491
|
+
|
492
|
+
- Many, many memory leaks fixed
|
493
|
+
(#362) (#361) (#360) (#359) (#358) (#357) (#367) (#370) (#364) (#372) (#373)
|
494
|
+
(#374) (#375) (#376) (#385) (#384) (#383) (#382) (#381) (#380) (#379) (#378)
|
495
|
+
(#377) (#391) (#390) (#389) (#396) (#401) (#409) (#419) (#417) (#416) (#415)
|
496
|
+
(#414) (#413) (#412) (#411) (#410) (#418) (#454) (#453) (#452) (#451) (#450)
|
497
|
+
(#461) (#460) (#459) (#563)
|
498
|
+
- Fix SEGV in ImageList methods with invalid image list (#356)
|
499
|
+
- Fix SEGV in Image#recolor (#387)
|
500
|
+
- Fix SEGV in Image#profile! (#400)
|
501
|
+
- Fix build error on Homebrew environment (#426)
|
502
|
+
- Fix Image#quantize and ImageList#quantize could not make dither false (#458)
|
503
|
+
- Replace obsoleted $defout to $stdout (#463)
|
504
|
+
- Avoid SEGV in monitor feature for Ruby 2.5+ (#462)
|
505
|
+
- Fix SEGV in Image#write with CMYKColorspace (#465)
|
506
|
+
- Avoid problems related to GC in monitor feature (#468)
|
507
|
+
- Get rid of compiler warnings (#484) (#491) (#500)
|
508
|
+
- Fix rmfill leaks (#528)
|
509
|
+
- Removed automatic allocation of the ImageInfo that is broken. (#547)
|
510
|
+
- Fix color histogram (#540)
|
511
|
+
- Fix Image#iptc_profile does not work with ImageMagick 6.7 (#558)
|
512
|
+
|
513
|
+
Code Quality:
|
514
|
+
|
515
|
+
- Many tests written
|
516
|
+
- CI improvements
|
517
|
+
- Other refactors
|
518
|
+
|
519
|
+
## RMagick 3.0.0
|
520
|
+
|
521
|
+
Breaking Changes:
|
522
|
+
|
523
|
+
- Drop support for Ruby < 2.3.
|
524
|
+
- Drop support for ImageMagick < 6.8.
|
525
|
+
- Raise error when `nil` or empty string are passed to `Image.read`. (#351)
|
526
|
+
- Monitor feature disabled on Windows. (#344)
|
527
|
+
- Note: ruby versions > 2.4 and ImageMagick versions > 6.8 are not *explicitly*
|
528
|
+
supported, yet, but if you are using them already, they should continue to
|
529
|
+
work in the same fashion.
|
530
|
+
|
531
|
+
Enhancements:
|
532
|
+
|
533
|
+
- Add feature `Image#channel_entropy` (#300)
|
534
|
+
- Many quality of life improvements in the codebase.
|
535
|
+
|
536
|
+
Bug Fixes:
|
537
|
+
|
538
|
+
- Many memory leaks fixed!
|
539
|
+
- Fix `LoadError` on Windows. (#315)
|
540
|
+
- fix argument count in `Image#morphology_channel` (#306)
|
541
|
+
|
6
542
|
## RMagick 2.16.0
|
7
543
|
|
8
544
|
- Support ImageMagick 6.9+ - @ZipoKing
|
data/CODE_OF_CONDUCT.md
CHANGED
@@ -1,13 +1,128 @@
|
|
1
|
-
# Contributor Code of Conduct
|
1
|
+
# Contributor Covenant Code of Conduct
|
2
2
|
|
3
|
-
|
3
|
+
## Our Pledge
|
4
4
|
|
5
|
-
We
|
5
|
+
We as members, contributors, and leaders pledge to make participation in our
|
6
|
+
community a harassment-free experience for everyone, regardless of age, body
|
7
|
+
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
8
|
+
identity and expression, level of experience, education, socio-economic status,
|
9
|
+
nationality, personal appearance, race, religion, or sexual identity
|
10
|
+
and orientation.
|
6
11
|
|
7
|
-
|
12
|
+
We pledge to act and interact in ways that contribute to an open, welcoming,
|
13
|
+
diverse, inclusive, and healthy community.
|
8
14
|
|
9
|
-
|
15
|
+
## Our Standards
|
10
16
|
|
11
|
-
|
17
|
+
Examples of behavior that contributes to a positive environment for our
|
18
|
+
community include:
|
12
19
|
|
13
|
-
*
|
20
|
+
* Demonstrating empathy and kindness toward other people
|
21
|
+
* Being respectful of differing opinions, viewpoints, and experiences
|
22
|
+
* Giving and gracefully accepting constructive feedback
|
23
|
+
* Accepting responsibility and apologizing to those affected by our mistakes,
|
24
|
+
and learning from the experience
|
25
|
+
* Focusing on what is best not just for us as individuals, but for the
|
26
|
+
overall community
|
27
|
+
|
28
|
+
Examples of unacceptable behavior include:
|
29
|
+
|
30
|
+
* The use of sexualized language or imagery, and sexual attention or
|
31
|
+
advances of any kind
|
32
|
+
* Trolling, insulting or derogatory comments, and personal or political attacks
|
33
|
+
* Public or private harassment
|
34
|
+
* Publishing others' private information, such as a physical or email
|
35
|
+
address, without their explicit permission
|
36
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
37
|
+
professional setting
|
38
|
+
|
39
|
+
## Enforcement Responsibilities
|
40
|
+
|
41
|
+
Community leaders are responsible for clarifying and enforcing our standards of
|
42
|
+
acceptable behavior and will take appropriate and fair corrective action in
|
43
|
+
response to any behavior that they deem inappropriate, threatening, offensive,
|
44
|
+
or harmful.
|
45
|
+
|
46
|
+
Community leaders have the right and responsibility to remove, edit, or reject
|
47
|
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
48
|
+
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
49
|
+
decisions when appropriate.
|
50
|
+
|
51
|
+
## Scope
|
52
|
+
|
53
|
+
This Code of Conduct applies within all community spaces, and also applies when
|
54
|
+
an individual is officially representing the community in public spaces.
|
55
|
+
Examples of representing our community include using an official e-mail address,
|
56
|
+
posting via an official social media account, or acting as an appointed
|
57
|
+
representative at an online or offline event.
|
58
|
+
|
59
|
+
## Enforcement
|
60
|
+
|
61
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
62
|
+
reported to the community leaders responsible for enforcement at
|
63
|
+
robert@boon.gl. All complaints will be reviewed and investigated promptly and
|
64
|
+
fairly.
|
65
|
+
|
66
|
+
All community leaders are obligated to respect the privacy and security of the
|
67
|
+
reporter of any incident.
|
68
|
+
|
69
|
+
## Enforcement Guidelines
|
70
|
+
|
71
|
+
Community leaders will follow these Community Impact Guidelines in determining
|
72
|
+
the consequences for any action they deem in violation of this Code of Conduct:
|
73
|
+
|
74
|
+
### 1. Correction
|
75
|
+
|
76
|
+
**Community Impact**: Use of inappropriate language or other behavior deemed
|
77
|
+
unprofessional or unwelcome in the community.
|
78
|
+
|
79
|
+
**Consequence**: A private, written warning from community leaders, providing
|
80
|
+
clarity around the nature of the violation and an explanation of why the
|
81
|
+
behavior was inappropriate. A public apology may be requested.
|
82
|
+
|
83
|
+
### 2. Warning
|
84
|
+
|
85
|
+
**Community Impact**: A violation through a single incident or series
|
86
|
+
of actions.
|
87
|
+
|
88
|
+
**Consequence**: A warning with consequences for continued behavior. No
|
89
|
+
interaction with the people involved, including unsolicited interaction with
|
90
|
+
those enforcing the Code of Conduct, for a specified period of time. This
|
91
|
+
includes avoiding interactions in community spaces as well as external channels
|
92
|
+
like social media. Violating these terms may lead to a temporary or
|
93
|
+
permanent ban.
|
94
|
+
|
95
|
+
### 3. Temporary Ban
|
96
|
+
|
97
|
+
**Community Impact**: A serious violation of community standards, including
|
98
|
+
sustained inappropriate behavior.
|
99
|
+
|
100
|
+
**Consequence**: A temporary ban from any sort of interaction or public
|
101
|
+
communication with the community for a specified period of time. No public or
|
102
|
+
private interaction with the people involved, including unsolicited interaction
|
103
|
+
with those enforcing the Code of Conduct, is allowed during this period.
|
104
|
+
Violating these terms may lead to a permanent ban.
|
105
|
+
|
106
|
+
### 4. Permanent Ban
|
107
|
+
|
108
|
+
**Community Impact**: Demonstrating a pattern of violation of community
|
109
|
+
standards, including sustained inappropriate behavior, harassment of an
|
110
|
+
individual, or aggression toward or disparagement of classes of individuals.
|
111
|
+
|
112
|
+
**Consequence**: A permanent ban from any sort of public interaction within
|
113
|
+
the community.
|
114
|
+
|
115
|
+
## Attribution
|
116
|
+
|
117
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
118
|
+
version 2.0, available at
|
119
|
+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
120
|
+
|
121
|
+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
122
|
+
enforcement ladder](https://github.com/mozilla/diversity).
|
123
|
+
|
124
|
+
[homepage]: https://www.contributor-covenant.org
|
125
|
+
|
126
|
+
For answers to common questions about this code of conduct, see the FAQ at
|
127
|
+
https://www.contributor-covenant.org/faq. Translations are available at
|
128
|
+
https://www.contributor-covenant.org/translations.
|