rmagick 2.16.0 → 5.1.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rmagick might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/.codeclimate.yml +63 -0
- 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 +79 -0
- data/.gitignore +5 -1
- data/.rspec +1 -0
- data/.rubocop.yml +37 -340
- data/.rubocop_todo.yml +448 -0
- data/.yardopts +5 -0
- data/CHANGELOG.md +435 -0
- data/CODE_OF_CONDUCT.md +122 -7
- data/CONTRIBUTING.md +37 -6
- data/Gemfile +0 -6
- data/README.md +317 -0
- data/Rakefile +37 -35
- data/before_install_linux.sh +65 -28
- data/before_install_osx.sh +58 -2
- data/ext/RMagick/extconf.rb +286 -393
- data/ext/RMagick/rmagick.c +106 -111
- data/ext/RMagick/rmagick.h +235 -331
- data/ext/RMagick/rmagick_gvl.h +224 -0
- data/ext/RMagick/rmdraw.c +484 -842
- data/ext/RMagick/rmenum.c +316 -755
- data/ext/RMagick/rmfill.c +281 -191
- data/ext/RMagick/rmilist.c +450 -455
- data/ext/RMagick/rmimage.c +6247 -5289
- data/ext/RMagick/rminfo.c +721 -894
- data/ext/RMagick/rmkinfo.c +228 -0
- data/ext/RMagick/rmmain.c +727 -519
- data/ext/RMagick/rmmontage.c +127 -172
- data/ext/RMagick/rmpixel.c +638 -431
- data/ext/RMagick/rmstruct.c +102 -282
- data/ext/RMagick/rmutil.c +450 -363
- data/lib/rmagick/version.rb +5 -4
- data/lib/rmagick.rb +2 -0
- data/lib/rmagick_internal.rb +349 -413
- 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 +63 -68
- data/lib/rvg/misc.rb +136 -139
- data/lib/rvg/paint.rb +2 -1
- data/lib/rvg/pathdata.rb +7 -8
- data/lib/rvg/rvg.rb +47 -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 +16 -39
- metadata +118 -395
- 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/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,441 @@
|
|
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.1.0
|
7
|
+
|
8
|
+
Improvements
|
9
|
+
- Improve multi-thread performance by releasing GVL (#1352)
|
10
|
+
- Add Ractor support (#1349)
|
11
|
+
- Avoid overriding compilation variables (#1365)
|
12
|
+
- Remove pkg-config command dependency (#1366)
|
13
|
+
|
14
|
+
## RMagick 5.0.0
|
15
|
+
|
16
|
+
Improvements
|
17
|
+
|
18
|
+
- Improve installer in order to avoid SEGV within pkg-config command (#1359)
|
19
|
+
- Clean up the documents and comment in source code referring to something that no longer exist (#1363)
|
20
|
+
- Remove deprecated 'tile' attribute in Draw#marshal_dump (#1364)
|
21
|
+
- Remove deprecated #instance_eval calling when block was given with Magick::ImageList#montage, Magick::Image::Info.new and more (#1362)
|
22
|
+
- Remove deprecated RMagick.rb file (#1361)
|
23
|
+
- Remove deprecated Magick.trace_proc= (#1351)
|
24
|
+
- Remove deprecated Magick::{Image, Image::Info}#monitor= (#1356)
|
25
|
+
|
26
|
+
## RMagick 4.3.0
|
27
|
+
|
28
|
+
Deprecates
|
29
|
+
|
30
|
+
- Mark Magick.trace_proc= as deprecated (#1354)
|
31
|
+
- Mark Magick::{Image, Image::Info}#monitor= as deprecated (#1353)
|
32
|
+
|
33
|
+
These methods will be removed in RMagick 5.0 and no alternative.
|
34
|
+
|
35
|
+
## RMagick 4.2.6
|
36
|
+
|
37
|
+
Improvements
|
38
|
+
|
39
|
+
- Remove test_files to reduce gem package size (#1338)
|
40
|
+
|
41
|
+
Bug Fixes
|
42
|
+
|
43
|
+
- Guard against an empty rpath (#1333)
|
44
|
+
- Call GetImageDistortion instead of IsImagesEqual to fix the issue reported in #1342 (#1343)
|
45
|
+
|
46
|
+
## RMagick 4.2.5
|
47
|
+
|
48
|
+
Bug Fixes
|
49
|
+
|
50
|
+
- Specify rpath linker option to fix dynamic lib lookup failure on Linux (#1325)
|
51
|
+
- Fix Image#profile! that can't delete exif data (#1326)
|
52
|
+
|
53
|
+
## RMagick 4.2.4
|
54
|
+
|
55
|
+
Improvements
|
56
|
+
|
57
|
+
- spec_helper: drop require_relative to lib directory (#1306)
|
58
|
+
- Fix build error with Ruby 3.1 on macOS (#1313)
|
59
|
+
|
60
|
+
Bug Fixes
|
61
|
+
|
62
|
+
- remove Mutex in trace_proc= (#1303)
|
63
|
+
- channel_mean_spec: fix floating point comparison (#1307)
|
64
|
+
- changed_predicate_spec: ensure target directory exists (#1305)
|
65
|
+
- Doc: Fix documentation of Magick::Image#crop (#1311)
|
66
|
+
- Magick::UndefinedKernel should also not be used when creating a new KernelInfo. (#1312)
|
67
|
+
|
68
|
+
## RMagick 4.2.3
|
69
|
+
|
70
|
+
Bug Fixes
|
71
|
+
|
72
|
+
- Re-add block syntax deprecation warning and fix in RMagick source (#1279) (#1280)
|
73
|
+
- Doc: Replace Magick::Montage with Magick::ImageList::Montage (#1281)
|
74
|
+
- Update shadow example (#1297)
|
75
|
+
- Escape the backslashes in windows error message (#1298)
|
76
|
+
- Also set the alpha value of the target pixel (#1299)
|
77
|
+
- Set alpha_trait to BlendPixelTrait when the alpha value of the pixel is not opaque. (#1300)
|
78
|
+
|
79
|
+
## RMagick 4.2.2
|
80
|
+
|
81
|
+
Bug Fixes:
|
82
|
+
|
83
|
+
- Remove deprecation warning about block syntax (#1272)
|
84
|
+
|
85
|
+
You are still recommended to use the block parameter instead of `self.` but
|
86
|
+
we're silencing the deprecation warning until we can get RMagick's code up to
|
87
|
+
that standard.
|
88
|
+
|
89
|
+
## RMagick 4.2.1
|
90
|
+
|
91
|
+
Bug Fixes:
|
92
|
+
|
93
|
+
- Fix compilation with optimization on glibc (#1263)
|
94
|
+
|
95
|
+
## RMagick 4.2.0
|
96
|
+
|
97
|
+
This adds a deprecation warning when using a block for image operations.
|
98
|
+
Instead of setting properties on `self`, you should accept a block argument and
|
99
|
+
modify that instead. In a future version we we no longer be binding the block
|
100
|
+
to the image.
|
101
|
+
|
102
|
+
```diff
|
103
|
+
- img.to_blob { self.quality = 75 }
|
104
|
+
+ img.to_blob { |image| image.quality = 75 }
|
105
|
+
```
|
106
|
+
|
107
|
+
Improvements:
|
108
|
+
|
109
|
+
- Updated error messages if runtime ImageMagick version was not matched with when installed rmagick (#1213)
|
110
|
+
- Improve Image#resize performance with ImageMagick 7 (#1240)
|
111
|
+
- Added new colorspaces (#1252)
|
112
|
+
|
113
|
+
Bug Fixes:
|
114
|
+
|
115
|
+
- Fix assertion failed in Magick::TextureFill.new with with unexpected argument (#1216)
|
116
|
+
- Call with yield when there is a block arguments (#701)
|
117
|
+
- Avoid crash with monitor feature on Ruby 3.0 (#1253)
|
118
|
+
|
119
|
+
## RMagick 4.1.2
|
120
|
+
|
121
|
+
Bug Fixes:
|
122
|
+
|
123
|
+
- Fix build error on Freebsd (#1199)
|
124
|
+
- Add workaround for FreeBSD that it isn't able to process PDF (#1203)
|
125
|
+
|
126
|
+
## RMagick 4.1.1
|
127
|
+
|
128
|
+
Bug Fixes:
|
129
|
+
|
130
|
+
- Fix bug of signal handling internally (#1189)
|
131
|
+
|
132
|
+
## RMagick 4.1.0
|
133
|
+
|
134
|
+
Improvements:
|
135
|
+
|
136
|
+
- reduce package size by more than 1.5mb (#849)
|
137
|
+
- improve memory usage (#836)
|
138
|
+
- add support for Ruby 2.7 (#853)
|
139
|
+
- *many* documentation fixes and cleanups
|
140
|
+
- *many* testing fixes and cleanups
|
141
|
+
- Support CMYK color in Image#get_pixels (#871)
|
142
|
+
- Support to get CMYK color in Image#pixel_color (#875)
|
143
|
+
- Support to set CMYK color in Image#pixel_color (#908)
|
144
|
+
- Add ImageList#map (#1154)
|
145
|
+
|
146
|
+
Bug Fixes:
|
147
|
+
|
148
|
+
- fixed memory leaks (#809, #815, #816, #960, #1024)
|
149
|
+
- eliminate compiler warnings (#855, #864, #878, #917, #969, #981, #996, #1000, #1044)
|
150
|
+
- Recognize invert option in Image#opaque_channel with ImageMagick 7 (#882)
|
151
|
+
- Fix heap-buffer-overflow in Image#wet_floor with ImageMagick 7 (#883)
|
152
|
+
- Handle channel value with new image in Image#opaque_channel with ImageMagick 7 (#886)
|
153
|
+
- Pass caption value into ImageMagick 7 API in Image#polaroid (#898)
|
154
|
+
- Example: Fix “uninitialized constant Magick::TransparentOpacity” error (#899)
|
155
|
+
- Example: Fix error of constant usage (#900)
|
156
|
+
- Example: Fix error in doc/ex/composite.rb (#901)
|
157
|
+
- Example: Fix error in doc/ex/crop_with_gravity.rb (#902)
|
158
|
+
- Revert removed RemapImages() calling in ImageList#remap for ImageMagick 6 (#904)
|
159
|
+
- Example: Fix alpha channel in examples/vignette.rb (#918)
|
160
|
+
- Example: Fix alpha channel in doc/ex/coalesce.rb (#920)
|
161
|
+
- Handle alpha value in Pixel#to_color (#922)
|
162
|
+
- Detect the proper ARCHFLAGS on macOS (#923)
|
163
|
+
- Handle boolean value as dither option in ImageList#quantize (#926)
|
164
|
+
- Use strlcpy instead of strncpy to ensure null terminating. (#933)
|
165
|
+
- Remove memalign() (#939)
|
166
|
+
- Add safe strlen() to ensure avoiding buffer overrun (#940)
|
167
|
+
- Use strlcpy() instead of strcpy() to ensure avoiding buffer overflow (#941)
|
168
|
+
- Use snprintf() instead of sprintf() to ensure avoiding buffer overflow (#945)
|
169
|
+
- Example: Remove unnecessary alpha setting (#950)
|
170
|
+
- Replace to correct format specifiers for size_t/ssize_t value (#978)
|
171
|
+
- Use proper format specifiers within MinGW (#997)
|
172
|
+
- Fix snprintf() format specifiers for unsigned value (#1006)
|
173
|
+
- Fix warning of “Variable is reassigned a value before the old one has been use” (#1008)
|
174
|
+
- Fix warning of “warning: explicitly assigning value of variable of type 'int' to itself” (#1013)
|
175
|
+
- Fix Image#resample to use blur option properly with ImageMagick 7 (#1023)
|
176
|
+
- Fix Image#resize to use blur option properly with ImageMagick 7 (#1032)
|
177
|
+
- Fix that Color#compliance returns nil with undefined bit (#1049)
|
178
|
+
- Check memory API properly on Windows (#1050)
|
179
|
+
- Example: Fix “undefined method `opacity’” (#1051)
|
180
|
+
- Add workaround to pdf problem (#1072)
|
181
|
+
- Fix exception message because #export_pixels accept 0 argument (#1121)
|
182
|
+
- Fix default value of `fill` argument in Image#initialize (#1122)
|
183
|
+
- Call rm_ensure_result() in creating Image object (#1144)
|
184
|
+
- Use StringValueCStr() instead of StringValuePtr() (#1156)
|
185
|
+
- Use RSTRING_PTR() to retrieve a pointer of String object for buffer (#1157)
|
186
|
+
- Use StringValueCStr() to get null-terminated C-lang string (#1158)
|
187
|
+
- Fix SEGV in Magick::Draw#marshal_load (#1162)
|
188
|
+
- Fix SEGV in rm_check_ary_len() with unexpected argument value (#1168)
|
189
|
+
- Fix SEGV in Image#marshal_load (#1169)
|
190
|
+
|
191
|
+
Breaking Changes:
|
192
|
+
|
193
|
+
- remove `tainted?` logic (#854)
|
194
|
+
|
195
|
+
## RMagick 4.1.0.rc2
|
196
|
+
|
197
|
+
- fix a couple of compilation bugs (#796, #797)
|
198
|
+
|
199
|
+
## RMagick 4.1.0.rc1
|
200
|
+
|
201
|
+
The ImageMagick 7 release is here! This adds beta support for ImageMagick 7.
|
202
|
+
Much thanks to **@Watson1978** for getting the ball rolling on this and to
|
203
|
+
**@dlemstra** for the extraordinary amount of work and patience that went into
|
204
|
+
seeing it through. RMagick should currently behave the same way under IM7 as it
|
205
|
+
did under IM6, so please open an issue if you find anything that seems out of
|
206
|
+
the ordinary.
|
207
|
+
|
208
|
+
## RMagick 4.0.0
|
209
|
+
|
210
|
+
This release removes a *lot* of deprecated functionality, so first upgrade to
|
211
|
+
3.2 and handle any deprecation warnings you see there before upgrading to 4.0.
|
212
|
+
There are a handful of removals that we could not, or forgot to deprecate, so
|
213
|
+
pay special attention to those below. This clears the road for ImageMagick 7
|
214
|
+
support in the very near future.
|
215
|
+
|
216
|
+
Breaking Changes:
|
217
|
+
|
218
|
+
- Removed deprecated Image#matte and Image#matte= (#731)
|
219
|
+
- Removed deprecated Draw#matte. (#736)
|
220
|
+
- Removed deprecated ImageList#fx. (#732)
|
221
|
+
- Removed deprecated Info#group and Info#group=. (#733)
|
222
|
+
- Removed deprecated KernelInfo#show. (#734)
|
223
|
+
- Removed deprecated Pixel#opacity and Pixel#opacity=. (#735)
|
224
|
+
- Removed deprecated KernelInfo#zero_nans. (#741)
|
225
|
+
- Removed deprecated ImageList#map (#740)
|
226
|
+
- Removed deprecated Pixel#from_HSL. (#742)
|
227
|
+
- Removed deprecated Image#alpha=. (#739)
|
228
|
+
- Removed deprecated Pixel#to_HSL. (#745)
|
229
|
+
- Removed deprecated Image#blur and Image#blur=. (#746)
|
230
|
+
- Removed deprecated Image#sync_profiles. (#754)
|
231
|
+
- Removed deprecated Image#opacity=. (#753)
|
232
|
+
- Removed deprecated Image#combine. (#752)
|
233
|
+
- Removed deprecated Image#map. (#751)
|
234
|
+
- Removed deprecated Image#mask=. (#750)
|
235
|
+
- Removed deprecated opacity arguments. (#757)
|
236
|
+
- Removed deprecated `OpaqueOpacity` and `TransparentOpacity`. (#765)
|
237
|
+
- Removed obsolete enumerations. (#766)
|
238
|
+
|
239
|
+
The following changes *did not have deprecation warnings* in 3.2, so you'll
|
240
|
+
want to double check that you update your code if you were relying on the
|
241
|
+
existing behavior:
|
242
|
+
|
243
|
+
- Changed Color#to_s to return an string that contains alpha instead of opacity. (#760)
|
244
|
+
- Changed Pixel#to_s to return a string that contains alpha instead of opacity. (#762)
|
245
|
+
- Changed Pixel#hash to use alpha instead of opacity. (#763)
|
246
|
+
- Changed Pixel#<=> to use alpha instead of opacity. (#764)
|
247
|
+
- Removed `BicubicInterpolatePixel` (use `CatromInterpolatePixel` instead) (#768)
|
248
|
+
- Removed `FilterInterpolatePixel` (no replacement) (#768)
|
249
|
+
- Renamed `NearestNeighborInterpolatePixel` to `NearestInterpolatePixel` (#768)
|
250
|
+
|
251
|
+
Enhancements:
|
252
|
+
|
253
|
+
- Add SetQuantumOperator (#755)
|
254
|
+
|
255
|
+
Bug Fixes:
|
256
|
+
|
257
|
+
- Fix SEGV in Image#each_profile (#737)
|
258
|
+
|
259
|
+
## RMagick 3.2.0
|
260
|
+
|
261
|
+
This is expected to be the final deprecation release before RMagick 4.0. We
|
262
|
+
have added loads of deprecation warnings to clear the pathway for ImageMagick 7
|
263
|
+
support. Once you've fixed all of them you should be fine to upgrade to version
|
264
|
+
4.0 without any pain. There are a small handful of edge cases which we could
|
265
|
+
not cleanly deprecate, though they should be extremely rare. These will be
|
266
|
+
documented in the 4.0 release. Thanks to @dlemstra for the hard work making
|
267
|
+
this release possible.
|
268
|
+
|
269
|
+
The biggest change in moving towards RMagick 4.0 will be the fact that
|
270
|
+
`opacity` is deprecated in favor of `alpha`.
|
271
|
+
|
272
|
+
**NOTE: `opacity` is the opposite of `alpha`!!!**
|
273
|
+
|
274
|
+
If you are currently passing opacity into methods, you will need to invert the
|
275
|
+
value and use the new `alpha:` keyword argument. If you are passing an integer,
|
276
|
+
`alpha = 255 - opacity`. An integer `opacity` of 0 is an `alpha` of 255.
|
277
|
+
|
278
|
+
Also, **major kudos to @Watson1978** for enabling Ruby's memory management in
|
279
|
+
(#697). This should go a long way towards improving RMagick's reputation for
|
280
|
+
memory usage.
|
281
|
+
|
282
|
+
Deprecations: (To be removed in RMagick 4.0)
|
283
|
+
|
284
|
+
- `Info#group` (#578) (no replacement)
|
285
|
+
- `Image#blur` (#579) (no replacement)
|
286
|
+
- Renamed `AlphaChannelType` to `AlphaChannelOption` (#596)
|
287
|
+
- Renamed `DistortImageMethod` to `DistortMethod` (#605)
|
288
|
+
- Renamed `FilterTypes` to `FilterType` (#611)
|
289
|
+
- Renamed `InterpolatePixelMethod` to `PixelInterpolateMethod` (#613)
|
290
|
+
- Renamed `ImageLayerMethod` to `LayerMethod` (#618)
|
291
|
+
- Deprecate the `opacity` property of the Pixel class. (use `alpha` instead) (#619)
|
292
|
+
- Deprecate old enum names. (use IM7 names instead) (#627)
|
293
|
+
- `StaticGravity` (use `CenterGravity` instead) (#638)
|
294
|
+
- `Image#sync_profiles` (no replacement) (#640)
|
295
|
+
- Deprecate old metric type values (use IM7 names instead) (#647)
|
296
|
+
- Deprecate `ResetAlphaChannel` (no replacement) (#644)
|
297
|
+
- Deprecate `FlattenAlphaChannel` (no replacement) (#645)
|
298
|
+
- Deprecate `MatteChannel` (no replacement) (#646)
|
299
|
+
- Deprecate `ConstantVirtualPixelMethod` (no replacement) (#649)
|
300
|
+
- Deprecate `IntegerPixel` (no replacement) (#650)
|
301
|
+
- Deprecate `Image.combine` (use `ImageList#combine` instead) (#690)
|
302
|
+
- Deprecate `Image#opacity` (use `Image#alpha` instead) (#669)
|
303
|
+
- Deprecate unnamed argument for opacity in `Image#transparent` (use keyword `alpha:` instead) (#695)
|
304
|
+
- Deprecate unnamed argument for opacity in `Image#black_threshold` and `Image#white_threshold.` (use keyword `alpha:` instead) (#709)
|
305
|
+
- Deprecate unnamed argument for opacity in `Image#matte_flood_fill` (use keyword `alpha:` instead) (#711)
|
306
|
+
- Deprecate unnamed argument for opacity in `Image#paint_transparent` (use keyword `alpha:` instead) (#717)
|
307
|
+
- Deprecate unnamed argument for opacity in `Image#transparent_chroma.` (use keyword `alpha:` instead) (#722)
|
308
|
+
- Deprecate `Draw#matte` (use `Draw#alpha` instead) (#724)
|
309
|
+
|
310
|
+
Enhancements:
|
311
|
+
|
312
|
+
- Many internal adjustments to prepare for ImageMagick 7 support.
|
313
|
+
- Added alpha property to the pixel class. (#617)
|
314
|
+
- Add combine to the ImageList class. (#589)
|
315
|
+
- Add new alpha constants (#651)
|
316
|
+
- Add `Image#mask=` (#660)
|
317
|
+
- Add `Draw#alpha` to replace `Draw#matte` (#726)
|
318
|
+
- Add Draw#image (#720)
|
319
|
+
- Add ArchLinux support (#727)
|
320
|
+
|
321
|
+
Bug Fixes:
|
322
|
+
|
323
|
+
- Fix `Font#to_s` to not raise error (#569)
|
324
|
+
- Fix a SEGV in `Image#reduce_noise` (#576)
|
325
|
+
- Fix infinite loop in `Image#compose` (#587)
|
326
|
+
- Fix enumeration memory leaks (#592) (#594) (#606) (#610) (#626)
|
327
|
+
- Don't allow `Image#class_type` to be set to undefined (#599)
|
328
|
+
- Fixed setting the name of the clip path. (#608)
|
329
|
+
- Fix memory leak in `Info#view=` (#642)
|
330
|
+
- Fix memory leak in `Image.constitute` (#665)
|
331
|
+
- Raise error on invalid arguments in `Draw#bezier` (#674)
|
332
|
+
- Fix memory leak in `Image#sparse_color` (#683)
|
333
|
+
- Prevent negative values for `Image#convolve` (#679)
|
334
|
+
- Several cleanups and fixes in the examples
|
335
|
+
- Raise error on invalid arguments in `Draw#color` (#691)
|
336
|
+
- Raise error on invalid arguments in `Draw#opacity` (#692)
|
337
|
+
- Raise error on invalid arguments in `Draw#fill_opacity` (#693)
|
338
|
+
- Raise error on invalid arguments in `Draw#stroke_opacity` (#694)
|
339
|
+
- Raise error on invalid arguments in `Draw#font_weight` (#696)
|
340
|
+
- Raise error on invalid arguments in `Draw#pattern` (#702)
|
341
|
+
- Raise error on invalid arguments in `Draw#point` (#703)
|
342
|
+
- Raise error on invalid arguments in `Draw#font_size` (#704)
|
343
|
+
- Raise error on invalid arguments in `Draw#polygon` (#705)
|
344
|
+
- Raise error on invalid arguments in `Draw#polyline` (#706)
|
345
|
+
- Raise error on invalid arguments in `Draw#rotate` (#707)
|
346
|
+
- Raise error on invalid arguments in `Draw#scale` (#708)
|
347
|
+
- Raise error on invalid arguments in `Draw#stroke_dashoffset` (#710)
|
348
|
+
- Raise error on invalid arguments in `Draw#translate` (#713)
|
349
|
+
- Raise error on invalid arguments in `Draw#text` (#714)
|
350
|
+
- Raise error on invalid arguments in `Draw#stroke` (#715)
|
351
|
+
- Raise error on invalid arguments in `Draw#matte` (#716)
|
352
|
+
- Raise error on invalid arguments in `Draw#skewx`, `Draw#skewy` (#719)
|
353
|
+
- Fix `Image#thumbnail` to keep image aspect ratio like ImageMagick (#718)
|
354
|
+
- Fix bug where `ImageList#montage` doesn't apply `border_color` & `matte_color` (#601)
|
355
|
+
- Fix stack-buffer-overflow in `Draw#annotate` (#725)
|
356
|
+
- Enable managed memory feature (#697)
|
357
|
+
|
358
|
+
Code Quality:
|
359
|
+
|
360
|
+
- Many tests written
|
361
|
+
- Several fixes to reduce compiler warnings.
|
362
|
+
|
363
|
+
## RMagick 3.1.0
|
364
|
+
|
365
|
+
Deprecations: (To be removed in RMagick 4.0)
|
366
|
+
|
367
|
+
- Support for Ruby 2.3
|
368
|
+
- `KernelInfo#zero_nans` (#531) (no replacement)
|
369
|
+
- `KernelInfo#show` (#532) (no replacement)
|
370
|
+
- `ImageList#fx` (#529) (use `Image#fx` instead)
|
371
|
+
- `Image#alpha=` (#530) (use `Image#alpha` instead)
|
372
|
+
- `Image#mask=` (#530) (use `Image#mask` instead)
|
373
|
+
- `Image#matte` (#530) (use `Image#alpha` instead)
|
374
|
+
- `Image#matte=` (#530) (use `Image#alpha` instead)
|
375
|
+
|
376
|
+
Enhancements:
|
377
|
+
|
378
|
+
- Support ruby-mswin environment on Windows (#425)
|
379
|
+
- Add test for supporting webp format (#406)
|
380
|
+
- Add explicit Ruby 2.5 support (#339)
|
381
|
+
- Add explicit Ruby 2.6 support (#467)
|
382
|
+
- Restore support for ImageMagick 6.7 (#475)
|
383
|
+
- Add explicit ImageMagick 6.9 support (#340)
|
384
|
+
- Work towards ImageMagick 7.0 support (#470) (#487) (#489) (#492) (#494)
|
385
|
+
- Improve error messaging (#480) (#517)
|
386
|
+
- Add TimeResource support (#402)
|
387
|
+
- Add Image#fx method (#529)
|
388
|
+
|
389
|
+
Bug Fixes:
|
390
|
+
|
391
|
+
- Many, many memory leaks fixed
|
392
|
+
(#362) (#361) (#360) (#359) (#358) (#357) (#367) (#370) (#364) (#372) (#373)
|
393
|
+
(#374) (#375) (#376) (#385) (#384) (#383) (#382) (#381) (#380) (#379) (#378)
|
394
|
+
(#377) (#391) (#390) (#389) (#396) (#401) (#409) (#419) (#417) (#416) (#415)
|
395
|
+
(#414) (#413) (#412) (#411) (#410) (#418) (#454) (#453) (#452) (#451) (#450)
|
396
|
+
(#461) (#460) (#459) (#563)
|
397
|
+
- Fix SEGV in ImageList methods with invalid image list (#356)
|
398
|
+
- Fix SEGV in Image#recolor (#387)
|
399
|
+
- Fix SEGV in Image#profile! (#400)
|
400
|
+
- Fix build error on Homebrew environment (#426)
|
401
|
+
- Fix Image#quantize and ImageList#quantize could not make dither false (#458)
|
402
|
+
- Replace obsoleted $defout to $stdout (#463)
|
403
|
+
- Avoid SEGV in monitor feature for Ruby 2.5+ (#462)
|
404
|
+
- Fix SEGV in Image#write with CMYKColorspace (#465)
|
405
|
+
- Avoid problems related to GC in monitor feature (#468)
|
406
|
+
- Get rid of compiler warnings (#484) (#491) (#500)
|
407
|
+
- Fix rmfill leaks (#528)
|
408
|
+
- Removed automatic allocation of the ImageInfo that is broken. (#547)
|
409
|
+
- Fix color histogram (#540)
|
410
|
+
- Fix Image#iptc_profile does not work with ImageMagick 6.7 (#558)
|
411
|
+
|
412
|
+
Code Quality:
|
413
|
+
|
414
|
+
- Many tests written
|
415
|
+
- CI improvements
|
416
|
+
- Other refactors
|
417
|
+
|
418
|
+
## RMagick 3.0.0
|
419
|
+
|
420
|
+
Breaking Changes:
|
421
|
+
|
422
|
+
- Drop support for Ruby < 2.3.
|
423
|
+
- Drop support for ImageMagick < 6.8.
|
424
|
+
- Raise error when `nil` or empty string are passed to `Image.read`. (#351)
|
425
|
+
- Monitor feature disabled on Windows. (#344)
|
426
|
+
- Note: ruby versions > 2.4 and ImageMagick versions > 6.8 are not *explicitly*
|
427
|
+
supported, yet, but if you are using them already, they should continue to
|
428
|
+
work in the same fashion.
|
429
|
+
|
430
|
+
Enhancements:
|
431
|
+
|
432
|
+
- Add feature `Image#channel_entropy` (#300)
|
433
|
+
- Many quality of life improvements in the codebase.
|
434
|
+
|
435
|
+
Bug Fixes:
|
436
|
+
|
437
|
+
- Many memory leaks fixed!
|
438
|
+
- Fix `LoadError` on Windows. (#315)
|
439
|
+
- fix argument count in `Image#morphology_channel` (#306)
|
440
|
+
|
6
441
|
## RMagick 2.16.0
|
7
442
|
|
8
443
|
- 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.
|
data/CONTRIBUTING.md
CHANGED
@@ -20,8 +20,13 @@ RMagick is a Ruby gem with a C extension. The extension wraps the ImageMagick C
|
|
20
20
|
Priorities
|
21
21
|
----------
|
22
22
|
|
23
|
-
1.
|
24
|
-
|
23
|
+
1. [Open issues][open-issues]. You are welcome to reproduce them, report
|
24
|
+
current state, suggest solutions, open pull requests with fixes. If you
|
25
|
+
don't know where to start, sort issues by least recently updated. You can
|
26
|
+
also [subscribe to receive random issues by email][codetriage].
|
27
|
+
|
28
|
+
2. [CodeClimate Issues][codeclimate-issues]. You can install [CodeClimate
|
29
|
+
Browser Extension][codeclimate-extension] to see them right on GitHub.
|
25
30
|
|
26
31
|
|
27
32
|
Testing
|
@@ -33,18 +38,44 @@ If you write new tests, please do it in RSpec.
|
|
33
38
|
|
34
39
|
You are also welcome to convert existing Test/Unit tests to RSpec.
|
35
40
|
|
41
|
+
Run all tests:
|
42
|
+
|
43
|
+
bundle exec rake
|
44
|
+
|
45
|
+
It will run RSpec and Minitest tests.
|
46
|
+
|
47
|
+
Useful information about RSpec:
|
48
|
+
* [Better Specs](http://www.betterspecs.org/) — how to write RSpec tests better
|
49
|
+
* [RSpec matchers cheat sheet](http://cheatrags.com/rspec-matchers) - how to use RSpec matchers to test different things
|
50
|
+
|
36
51
|
|
37
52
|
Committing
|
38
53
|
----------
|
39
54
|
|
40
|
-
All work for a next release is done in the `develop` branch. Please create your branch off of it.
|
41
|
-
|
42
55
|
It is better if you follow [Git Style Guide](https://github.com/agis-/git-style-guide).
|
43
56
|
|
44
57
|
|
45
58
|
Pull Requests
|
46
59
|
-------------
|
47
60
|
|
48
|
-
Please choose the `rmagick/rmagick` repo
|
61
|
+
Please choose the `rmagick/rmagick` repo as the destination for your pull
|
62
|
+
request. GitHub may suggest `rmagick-temp/rmagick` repo by default. **This is
|
63
|
+
incorrect.** Please switch to `rmagick/rmagick`. It should be the next repo in
|
64
|
+
the drop-down list.
|
65
|
+
|
66
|
+
Every pull request is tested on GitHub Actions to cover Linux builds and Windows builds.
|
67
|
+
It runs all tests on several Ruby and ImageMagick versions.
|
68
|
+
|
69
|
+
A quick way to fix formatting errors is to run `bundle exec rubocop --autocorrect path/to/file.rb`.
|
70
|
+
|
71
|
+
If you add new classes or methods, please add tests for them as well.
|
72
|
+
RSpec is preferred (see above).
|
73
|
+
Tests should test all possible branches of code execution (all conditions in `if`/`case` statements, etc.) to avoid errors later.
|
74
|
+
|
75
|
+
Thanks
|
76
|
+
------
|
49
77
|
|
50
|
-
|
78
|
+
[open-issues]: https://github.com/rmagick/rmagick/issues
|
79
|
+
[codetriage]: http://www.codetriage.com/rmagick/rmagick
|
80
|
+
[codeclimate-issues]: https://codeclimate.com/github/rmagick/rmagick/issues
|
81
|
+
[codeclimate-extension]: https://docs.codeclimate.com/docs/browser-extension
|