diff --git a/.ruby-version b/.ruby-version
index 4b56eecb..57fc792f 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-jruby-9.3.8.0
+jruby-9.3.10.0
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9b20040c..020b6ce6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
# Change Log
+## 4.27.0.0
+
+- Upgrade to SWT 4.27
+- Upgrade to jruby-9.3.10.0
+
## 4.26.0.1
- Fix an issue that prevented data-binding the `image` widget property using Shine syntax (e.g. `image <= [model, :attr]` inside `tool_item`)
diff --git a/README.md b/README.md
index 40699889..f7afa99e 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# [](https://github.com/AndyObtiva/glimmer) Glimmer DSL for SWT 4.26.0.1
+# [](https://github.com/AndyObtiva/glimmer) Glimmer DSL for SWT 4.27.0.0
## JRuby Desktop Development GUI Framework
### The Quickest Way From Zero To GUI
[![Gem Version](https://badge.fury.io/rb/glimmer-dsl-swt.svg)](http://badge.fury.io/rb/glimmer-dsl-swt)
@@ -9,7 +9,11 @@
**(The Original Glimmer Library Handling the World’s Ruby GUI Needs Since 2007. Beware of Imitators!)**
-(**[Presenting ***"Building Native GUI Apps in Ruby"*** at RubyConf 2022](https://andymaleh.blogspot.com/2022/09/rubyconf-2022-building-native-gui-apps.html)**)
+(**[***RubyConf 2022 Talk - Building Native GUI Apps in Ruby***](https://andymaleh.blogspot.com/2023/02/rubyconf-2022-talk-video-for-building.html)**)
+
+(**[***Montreal.rb Talk - Glimmer DSL for SWT - Ruby Desktop Development GUI Framework***](https://andymaleh.blogspot.com/2022/10/montrealrb-talk-slides-for-glimmer-dsl.html)**)
+
+[**(Ruby Rogues Podcast Interview - Desktop Apps in Ruby ft. Andy)**](https://andymaleh.blogspot.com/2022/05/ruby-rogues-podcast-interview-desktop.html)
[GLIMMER VIDEO TUTORIAL CHANNEL](https://www.youtube.com/channel/UC5hzDE23HZXsZLAxYk2UJEw)
@@ -24,7 +28,7 @@ Featured in JRuby Cookbook](http://shop.oreilly.com/product/9780596519650.do) an
![Eclipse SWT RCP NASA Mars Rover](/images/glimmer-eclipse-swt-rcp-nasa-mars-rover.png)
-[Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) 4.26.0.1 includes [SWT 4.26](https://download.eclipse.org/eclipse/downloads/drops4/R-4.26-202211231800/), which was released on 23 Nov 2022. Gem version numbers are in sync with the SWT library versions. The first two digits represent the SWT version number. The last two digits represent the minor and patch versions of Glimmer DSL for SWT.
+[Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) 4.27.0.0 includes [SWT 4.27](https://download.eclipse.org/eclipse/downloads/drops4/R-4.27-202303020300/), which was released on Mar 2, 2023. Gem version numbers are in sync with the SWT library versions. The first two digits represent the SWT version number. The last two digits represent the minor and patch versions of Glimmer DSL for SWT.
**Starting in version 4.20.0.0, [Glimmer DSL for SWT](https://rubygems.org/gems/glimmer-dsl-swt) comes with the new [***Shine***](/docs/reference/GLIMMER_GUI_DSL_SYNTAX.md#shine) syntax** for highly intuitive and visually expressive View/Model Attribute Mapping, relying on `<=>` for bidirectional (two-way) data-binding and `<=` for unidirectional (one-way) data-binding, providing an alternative to the `bind` keyword. That was [originally conceived back in 2007](https://andymaleh.blogspot.com/2007/12/data-shining-in-glimmer.html).
@@ -341,7 +345,7 @@ jgem install glimmer-dsl-swt
Or this command if you want a specific version:
```
-jgem install glimmer-dsl-swt -v 4.26.0.1
+jgem install glimmer-dsl-swt -v 4.27.0.0
```
`jgem` is JRuby's version of `gem` command.
@@ -369,7 +373,7 @@ Note: if you're using activerecord or activesupport, keep in mind that Glimmer u
Add the following to `Gemfile`:
```
-gem 'glimmer-dsl-swt', '~> 4.26.0.1'
+gem 'glimmer-dsl-swt', '~> 4.27.0.0'
```
And, then run:
@@ -392,7 +396,7 @@ glimmer
```
```
-Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.26.0.1
+Glimmer (JRuby Desktop Development GUI Framework) - JRuby Gem: glimmer-dsl-swt v4.27.0.0
Usage: glimmer [--bundler] [--pd] [--quiet] [--debug] [--log-level=VALUE] [[ENV_VAR=VALUE]...] [[-jruby-option]...] (application.rb or task[task_args]) [[application2.rb]...]
diff --git a/RUBY_VERSION b/RUBY_VERSION
index 4b56eecb..57fc792f 100644
--- a/RUBY_VERSION
+++ b/RUBY_VERSION
@@ -1 +1 @@
-jruby-9.3.8.0
+jruby-9.3.10.0
diff --git a/TODO.md b/TODO.md
index 28cd3590..422e0ad7 100644
--- a/TODO.md
+++ b/TODO.md
@@ -4,6 +4,8 @@ Here is a list of tasks to do (moved to [CHANGELOG.md](CHANGELOG.md) once done).
## Next
+- Provide a method on any custom widget to instantly access its parent custom widget without using `get_data` or `data` because it is obscure
+- Remove extra line after `body {}` in scaffolded custom widgets/shells/shapes
- Refactor Meta-Sample to pull in remote video tutorial data in a separate thread
- Fix `moveable`/`resizable` attributes for `table_column` (they don't work as they should)
- Support `-s`/`-S` `glimmer` command switch to enable running a glimmer script with `glimmer-dsl-swt` required and `Glimmer` module mixed into main object already.
@@ -113,6 +115,7 @@ composite {
- Fix intermittent slowdown issue with closing Mandelbrot Fractal sample (only happens after keeping it open for a while, complains about threads)
- Support `square` and `circle` shapes (as well as any other missing shapes like polybezier/polyquad)
- Support setting both background and foreground on shapes causing a fill/draw of two shapes (one with background and one with foreground) (remove support of gradients via specifying both background/foreground in rectangles)
+- Support background_pattern gradiant data-binding
- Improve Contact Manager elaborate sample to add/remove/clear contacts, add phone and address, and store contacts permanently on hard drive.
- Auto-derive column properties from column names (by convention through dehumanize of each column name)
- Support data-binding `_options` method items on list and combo (not just main value), thus making options update if `notify_observers(:some_attr_options)` is called)
diff --git a/VERSION b/VERSION
index f63d09c4..433f185b 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.26.0.1
+4.27.0.0
diff --git a/glimmer-dsl-swt.gemspec b/glimmer-dsl-swt.gemspec
index a34ebff8..d8cbbb12 100644
Binary files a/glimmer-dsl-swt.gemspec and b/glimmer-dsl-swt.gemspec differ
diff --git a/vendor/swt/linux/swt.jar b/vendor/swt/linux/swt.jar
index ddd34aab..adb5b1cd 100644
Binary files a/vendor/swt/linux/swt.jar and b/vendor/swt/linux/swt.jar differ
diff --git a/vendor/swt/linux_aarch64/swt.jar b/vendor/swt/linux_aarch64/swt.jar
index 1cc7a64f..633dc90c 100644
Binary files a/vendor/swt/linux_aarch64/swt.jar and b/vendor/swt/linux_aarch64/swt.jar differ
diff --git a/vendor/swt/mac/swt.jar b/vendor/swt/mac/swt.jar
index d9bdcab6..bcefde46 100644
Binary files a/vendor/swt/mac/swt.jar and b/vendor/swt/mac/swt.jar differ
diff --git a/vendor/swt/mac_aarch64/swt.jar b/vendor/swt/mac_aarch64/swt.jar
index 7f5426a4..da432040 100644
Binary files a/vendor/swt/mac_aarch64/swt.jar and b/vendor/swt/mac_aarch64/swt.jar differ
diff --git a/vendor/swt/windows/swt.jar b/vendor/swt/windows/swt.jar
index ea7b93f3..330a9bd5 100644
Binary files a/vendor/swt/windows/swt.jar and b/vendor/swt/windows/swt.jar differ