Shoes 4.0.0.pre3 released!

Hello JRuby friends!

A new pre-release version (4.0.0.pre3) of Shoes is up on
Rubygems! (shoes | RubyGems.org | your community gem host)

Install with this simple command:

gem install shoes --pre

You need to run JRuby - of course :wink: Majority of this mail was written
by my
friend Jason R. Clark - so hat tip there, read on if interested and
enjoy Shoes!

Last time around we split the shoes gem into a couple different
pieces. Well,
that work has continued and we think weā€™ve got the structure
finalized!
There were a few big motivations in doing this.

First off, the name shoes-dsl was a bit restrictive to the purpose of
the
gem, so we renamed it shoes-core. This gem represents all the primary
shared
functionality of shoesā€“the DSL, the backend selection, anything a new
backend
implementation would need to get running.

The Shoes manual has been extracted to shoes-manual for use in
contexts (like
our website) which donā€™t need all of Shoes. It has all the content and
the
Shoes code for optionally running the manual. Along those lines the
syntax
highlighter weā€™ve inherited from Hackety-Hack is in shoes-highlighter
now to
ease the way for upgrading or replacing in the future.

A new shoes-package gem has been spun up to hold, you guessed it,
packaging
logic. This lets us easily exclude unneeded packaging code and
dependencies
from packaged apps, keeping them as trim as possible.

Last but certainly not least, the shoes gem has had a change in
purposeā€“it
is now a ā€œmeta-gemā€ that has no code of its own. This gem simply
represents
the default installation of Shoes and nothing else. Any code that would
be
sharable belongs in shoes-core instead.

Huge thanks to everyone who helped out with this release. \o/ <3

For the detail-oriented, hereā€™s the changelog!

4.0.0.pre3 (199 commits)

New features (1)

  • In pre2 we updated our gem layout and found a few things we didnā€™t
    like.
    pre3 is now shaped how we expect to hold through 4.0!

    • shoes ā€“ Now a meta-gem with the default installation as
      dependencies. It
      contains no code of its own (any shared code goes in shoes-core).
    • shoes-core ā€“ The DSL and supporting code to share between Shoes
      backends
    • shoes-swt ā€“ The first Shoes backend, based on SWT + JRuby
    • shoes-package ā€“ Shoes packaging logic, separated to avoid pulling
      unneeded gems along in packaged apps
    • shoes-highlighter ā€“ Extracted syntax highlighting from Hackety-Hack
    • shoes-manual ā€“ Extracted content and display for Shoes manual

Breaking Changes (1)

  • Star interprets left/top as upper left corner, like all elements
    [d2fd202]

Improvements (7)

  • Tetris sample game [1ac24ac]
  • Implement shape(left, top) [2e8048c]
  • Handle relative and missing image paths [9502dd7]
  • Better input sizing on ask dialog [3df50d5]
  • Capture slot context for timer, download and animation [5f1bdc1]
  • TextBlocks have #parent not #parent_text [52fab93]
  • shoes.gemspec at top of project [369f7d3]

Bug Fixes (10)

  • Links with empty text crash [a8fb745]
  • Fix copying to/from system clipboard [e965e59]
  • Position a slotā€™s elements correctly when the slot has a margin
    [d72d7ef]
  • Fix overlapping text with differing text heights [4db98b0]
  • Use app click listener to only send click to one element [2a7fb92]
  • Limit parent-dimensioned elements to their parentā€™s bounds [6b9d760]
  • Fix for background and border placement [4ddbbda]
  • Fix crash when using click on star element [cdf9dc4]
  • Do not count scroll bar into app width [7736b2d]
  • Fix a typo in the adjusted minesweeper sample [93f5ed3]

Contributors (8)