## v0.16.0 / 2020-11-24
Features:
* Special custom unit: cells. A "cell" defaults to 37.5px, or 1/8in,
e.g. `x: '1 cell'` means `x: 37.5`. See the docs for details.
* Shorthands for `x`, `y`, `width`, and `height`! The words `x: 'middle'`
and `x: 'middle + 1in'` will get interpreted. See the docs for details.
* Autoscaling text! `ellipsize: :autoscale` will now downscale your
`font_size` if the text ellipsized. Thanks @Qgel! (#288, #111).
* Option checking!! Completely reworked the way we handle arguments in
Squib internally (no external behavioral differences). Now, when you
give an option to Squib that is not expected. Since every DSL method
"knows" what options it takes, that also means we have EVERY option
properly documented (missed a few...) AND we have an automated test that
will tell us if we forget to document it.
* `save_png` and `save_sheet` now have a `suffix` option which defaults to
`''`. So now you can customize the filenames with `prefix`,
`count_format`, and `suffix`.
Compatibility:
* When saving PNGs with sprues, outputs start counting at zero - which is
more consistent with the rest of Squib.
* Minimum Ruby is now 2.5. NOTE: Ruby 3.0 is coming Christmas 2020!! Check
it out.
Bugs:
* Extra page/no page issue with sprues (#320)
* Fix Ruby 2.7+ deprecations with CSV arguments (#303)
Chores:
* Reorganized the code internally. (#298) Every DSL method now has its own file.
* Moved to Github Actions
* Bump pango et al
Update ruby-squib to 0.15.3.
## v0.15.3 / 2019-10-17
Chores:
* Bump pango et al to `~> 3.4`, cairo to `~ 1.16`. Fixes Ruby 2.6 Windows install issues (#287)
## v0.15.2 / 2019-09-26
Chores:
* Bump nokogiri to 1.10.4
## v0.15.1 / 2019-08-27
Chores:
* Bumped Pango et al. to 3.3.7 (#286)
## v0.15.0 / Unreleased
Features:
* Added check for malformed PNG files (#250, #218)
* Sprues: you can now flip individual cards (#251)
Bugs
* `trim_radius` now defaults to 0 on `save_pdf`, not 38. (#270)
* `explode` on `xlsx` and `csv` now defaults to `qty`, not `Qty` (#262)
Docs:
* Documented the n-sided-ness of polygons and stars
* svg: document rasterization on mask (#192)
* Document how to run the code (#186)
* Document some ways of using `prefix` in `save_png` (#268)
* `showcase` option `trim_radius` defaults to 38, not 0
* Add sample for color switch in colors docs (#274)
Chores:
* Bumped deps: Pango et al. to 3.3.6, Cairo to 1.16.4, Nokogiri to 1.10.3, Highline to 2.0.2
Compatibility:
* A LOT more pre-defined colors built into Cairo. Some of the named colors got redefined with the upgrade to the latest Cairo. This means that named colors like `:gray` and `:green` may look slightly different.
* Dropped support for EOL'd Rubies. Minimum support is 2.4
Special thanks to @lcarlsen, @Karneades
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
## v0.14.2 / Unreleased
Features:
* Sprues for DriveThruCards and printandplaygames!! (#247, from @blinks)
Bugs:
* Fixed bug on circle and other shapes that had an extra stroke from a
previous text call (#248)
* Fixed extra page on all sprue saves (#246)
* Fixed layout parsing issue with multiple inheritance (#244)
Chores:
* Bumped deps: Pango et al. to 3.2.7, Cairo to 1.15.13.
Special thanks to @blinks
## v0.14.0 / 2017-11-06
Features:
* `save_pdf/save_sheet` method now supports `sprue`, which allows you to define templated layouts and position your cards freely (#217) by @felixleong. See docs for how to use this _very_ powerful feature!
* `circle` method now supports various `arc` options, so you can draw partial circles (#211) by @sparr
* `save_sheet` method now supports `rtl` or "right-to-left", for easier duplex printing of backs (#204, #208) by @sparr
* `yaml` method for reading in data, much like `csv` and `xlsx` by @blinks
* Layouts now support `*=` and `/=` operators in addition to `+=` and `-=` (#200).
* `save_pdf` method also supports `rtl` by @vador
* New DSL methods `safe_zone` and `cut_zone` will draw a rectangle inset from the margins for quick proof checking
* New "advanced" option for creating new projects, if you do `squib new --advanced yourgame` (@andymeneely).
* New built-in layout: `party.yml`. (@andymeneely)
Compatibility:
* DPI is correctly respected with font sizes now. To convert to Squib v0.14+, divide your old font sizes by 3 (precisely, 300/96=3.125). By @felixleong
Docs:
* Command-line is better documented now
* Some more examples included in various places
Bugs:
* fix save_sheet to calculate rows correctly based on range (#207) by @sparr
Chores:
* Going back to our policy of locking in our dependencies so that we don't have new gems breaking things.
* Bumped deps, Cairo to 1.15.10 and Pango et al. to 3.1.9
Special thanks to @sparr, @felixleong, @blinks, @vador for all of their work!!
## v0.13.3 / 2017-07-15
Bugs:
* Fix `undefined method [] for nil:NilClass` error on `svg` (was a regression error in librsvg that we worked around.)
* Bump dependencies to latest stable versions. Pango et al. to 3.1.7 and Cairo to 1.15.9. This fixes some compatibility issues.
## v0.13.2 / 2017-01-27
Bugs:
* Bump dependencies to latest stable versions. Pango et al. to 3.1.1 and Cairo to 1.15.5. This fixes some compatibility issues we noticed on Linux and Macs.
## v0.13.1 / 2017-01-06
Bugs:
* New Windows installations break because Rubygems looks for 1.15.4 and it's not there (yet). Locking into Cairo 1.15.3 and being more conservative from now on.
## v0.13.0 / 2017-01-04
Features:
* `save_pdf`'s `crop marks` have a `:full` option that draw lines across the entire page.
Bugs
* Fix `Squib::DataFrame#to_pretty_text` modification issue (#191)
* Downgraded Pango et al. back to 3.0.9 from 3.1.0 because there are bugs in the new gobject-introspection library.
Chores:
* Shrank the gem itself by ignoring test data. From about 5mb to 64kb - yay!
* Bump roo to newest version (2.7.0).
* Bumped Nokogiri to latest version (1.7.0).
* Re-organized the samples folder for better regression and sanity testing prior to release.
Features:
save_pdf now supports crop marks! These are lines drawn in the margins of a PDF file to help you cut. These can be enabled by setting crop_marks: true in your save_pdf call. Can be further customized with crop_margin_bottom, crop_margin_left, crop_margin_right, crop_margin_top, crop_marks, crop_stroke_color, crop_stroke_dash, and crop_stroke_width (#123)
Squib.configure allows you to set options programmatically, overriding your config.yml. This is useful for Rakefiles, and will be documented in my upcoming tutorial on workflows.
Squib.enable_build_globally and Squib.disable_build_globally are new convenience methods for working with the SQUIB_BUILD environment variable. Handy for Rakefiles and Guard sessions for turning certain builds on an off. Also will be documented in upcoming workflow tutorial.
The import methods csv and xlsx now return Squib::DataFrame, which behaves exactly as before - but has more cool features like being able to do data.name instead of data['name']. Also: check out data.to_pretty_text. Check out the docs. (#156)
Bugs:
showcase works as expected when using backend: svg (#179)
Graphics will get flushed upon exit, so working under Guard with backend: svg is more reliable (#180)
Docs:
Wrote out documentation for Squib and GameIcons
Wrote out documentation for Hello World! Dissected
Un-submoduled our samples and simply embedded them into the docs (e.g. Squib Thinks in Arrays). Lots of cleanup there
Wrote up Squib in Action, which documents other Squib projects. Ask for yours to be put there!!
Chores:
Bumped dependency roo to 2.5.1. Nothing that affects Squib users (probably).
Bumped graphics and text dependencies (cairo to 1.15.3, pango+rsvg et al. to 3.1.0). No new features for us, but some stability improvements.
Squib is a Ruby DSL for prototyping card and board games. Write a
little bit of Ruby, define your deck's stats, then compile your
game into a series of images ready for print-and-play or even
print-on-demand. Squib is very data-driven and built on the principle
of Don't Repeat Yourself. Think of it like nanDeck done "the Ruby
way".