Blog

The Griffon team is happy to announce the release of Griffon 2.0.0.RC1!

This is the first release candidate of Griffon 2.0.0. If all goes according to plan the next release will be 2.0.0 final in a few weeks time.

The following list summarizes the changes brought by this release:

* Groovy support upgraded to Groovy 2.3.5.
* Several build plugins updated to their latest versions.
* Addition of a master pom file for application projects.
* Enable mavenLocal() on gradle-griffon plugins by default.
* Lots of updates applied to Lazybones application templates.
* More content added to the Griffon Guide.


A new website can be temporary found at http://new.griffon-framework.org. That URL will change to http://griffon-framework.org once Griffon 2.0.0 final is released.


We look forward to your feedback. Please report any problems you find to the Griffon User list, or better yet, file a bug at http://jira.codehaus.org/browse/griffon

Remember you can also contact the team on Twitter: @theaviary.

Many thanks to all who contributed to this release!

The Griffon Team

The Griffon team is happy to announce the release of Griffon 2.0.0.BETA3!

This release marks Griffon 2.0 as feature complete. Remaining efforts will be concentrated in getting the Guide up to date and getting base plugins out of the door (miglayout, glazedlists, datasource, etc).
The following list summarizes the changes brought by this release:

 - Build has been upgraded to Gradle 2.0. This is the new baseline.
 - Lazybones templates allow creation of artifacts (leveraging Lazybones new subtemplate feature).
 - Spock is added as default testCompile dependency on project templates (those configured with Gradle).
 - There's a second gradle plugin (gradle-griffon-build-plugin) used in plugin projects
 - more content added to the Griffon Guide http://griffon.github.io/griffon/guide/

We look forward to your feedback. Please report any problems you find to the Griffon User list, or better yet, file a bug at http://jira.codehaus.org/browse/griffon
Remember you can also contact the team on Twitter: @theaviary

Many thanks to all who contributed to this release!

-- The Griffon Team

The Griffon team is happy to announce the release of Griffon 2.0.0.BETA2!

This release continues the work of the first beta release by strengthening the build options available to Griffon application developers.

The following list summarizes the changes brought by this release:

 - The specialized JavaFXGriffonView failed to locate a suitable FXML file by convention. This is now fixed.
 - Lazybones templates produce a pom.xml besides build.gradle. You can now build Griffon projects with either Maven or Gradle.
 - a Gradle plugin that applies the Griffon project conventions is also available. The Lazybones templates are aware of this plugin.
 - more content added to the Griffon Guide http://griffon.github.io/griffon/guide/
 - API javadoc available online at http://griffon.github.io/griffon/guide/api/
 - beautified API sources available online at http://griffon.github.io/griffon/guide/api-src/

We look forward to your feedback. Please report any problems you find to the Griffon User list, or better yet, file a bug at http://jira.codehaus.org/browse/griffon
Remember you can also contact the team on Twitter: @theaviary

Many thanks to all who contributed to this release!

-- The Griffon Team

The Griffon team is happy to announce the release of Griffon 2.0.0.BETA, hot on the heels of Gr8conf EU!

This release marks an important milestone in the framework's history as it lets go of the last remaining legacy bits inherit from the Grails codebase (the build system) while embracing the latest tools available in the Groovy Ecosystem.

The griffon command line tool is no more. Long live Gradle!
From now on, every Griffon project is a valid Gradle project. There's no longer a need for custom IDE plugins as Gradle is well supported by all IDEs. An often brought subject, that of dependency resolution, is now rendered moot as Gradle is much better at handling this particular topic than the griffon command ever was.

The following list summarizes the changes brought by this release

 - the new JDK baseline is JDK7.
 - the Griffon 2.0 API is JDK8 friendly, which means you may use lambda expressions where a functional interface is expected
 - Groovy support has been moved to its own plugin, thus enabling developers to write applications with just Java, drastically reducing the deployment size of an application.
 - JSR 330 is used in core, enabling better module reusability
 - the runtime API is mostly binary compatible though classes have been moved to other packages
 - archetype support is now provided by Lazybones
The latest version of the Griffon Guide is available at http://griffon.github.io/griffon/guide/index.html
New binaries are posted at Bintray https://bintray.com/griffon

The Griffon Guide includes a section about migration

    http://griffon.github.io/griffon/guide/index.html#_appendix_migration

Please take special note about migrating existing Griffon projects from 1.X to 2.X: all plugins from the 1.X series do not work with Griffon 2.X. Update versions of popular plugins will begin to appear in the coming days. Keep an eye on

    https://bintray.com/griffon/griffon-plugins
Despite this, we look forward to your feedback. Please report any problems you find to the Griffon User list, or better yet file a bug at http://jira.codehaus.org/browse/griffon

Remember you can also contact the team on Twitter: @theaviary

Many thanks to all who contributed to this release!

--The Griffon Team
Griffon 1.5.0 released!
The Griffon team is happy to announce Griffon 1.5.0, the latest release of the 1.x series.

Griffon is an application framework for developing desktop applications in the JVM, with Groovy as the primary language of choice.
This release is perhaps the last release in the 1.x line and as such you'll find there are some small changes and features. On the buildtime side you can now specify resources that should be packaged with an application distribution but should not be included in the application's jar, that is, you'd like to change these resources without unzipping the application's jar. Just place these external resources under `griffon-app/external-resources`, the griffon command will take care of the rest.

If you have the habit of creating applications with an archetype that's different from the default one you'll find yourself specifying it at the command prompt on every occasion. You may now specify a flag "griffon.default.archetype" in $USER_HOME/.griffon/settings.groovy to keep this value on record. Any value set on the command line overrides the one found on file.

Lastly there's an improvement in the test support. Taking a hint from Grails once more, Griffon adds a new annotation (@TestFor) that can be used to automatically setup an artifact for unit testing. Here's an example for a simple controller

 

Full listing of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=19593]
Full release notes are located here.
You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!

Griffon 1.4.0 released!
The Griffon team is happy to announce Griffon 1.4.0, the latest release of the 1.x series.

Griffon is an application framework for developing desktop applications in the JVM, with Groovy as the primary language of choice.

This release adds a new command: license-report. As the name implies, this command creates a report of all licenses applicable to a project, based on the metadata that each dependency exposes. Speaking of dependencies, the dependency DSL added support for Bintray repositories, either via JCenter or a custom repository.

Looking at runtime changes we got the ability for @InjectedResource to be specified on a propertie's setter method, useful for Java based Models for example. Griffon 1.4.0 also enables a new way to send events via the application's event bus; you can specify a custom event class (descendant from griffon.core.Event) that defines the information required, such as timestamp, name and arguments.


Full listing of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=19158]
Full release notes are located here.
You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Finally, I'd like to make another announcement; as some of you may know the first release of Griffon (version 0.0, you can read Danno's original post here) was published back in September 10 2008. It's been a long and fun journey. The framework has grown from being a Grails clone (sans servlet & HTML) to be a beast (pun intended) of its own. Not only did Griffon grow from the Grails codebase, in time it also contributed back to it, in form of small patches targeting the build system and cross-pollinating plugins.

To be honest we didn't have any idea of what was to become of Griffon when Danno, James, Guillaume and myself came up with the idea back in May '08, yet here we are, stronger than ever and with continued growth. Griffon has been put to good use in 87 countries around the world; the central plugin repository holds 217 plugins by my last reckoning; Griffon grew out of Swing and embraced other UI toolkits (JavaFX and SWT at first, then Qt and Pivot) and let me tell you there are 2 other more in pipeline; Groovy and Java are not the only languages that can be used to build applications (Scala, Clojure, Kotlin and more, take your pick). All in all it has been a good 5 years, and the response from the community has been great! We couldn't have done it without your feedback. Here's to the next 5 years, because as long as there's the need to write desktop applications on the JVM, Griffon will be there to see that the job get's done :-)


Keep on Groovying!

Griffon 1.3.0 released!

The Griffon team is happy to announce Griffon 1.3.0, the latest release of the 1.x series.

Griffon is an application framework for developing desktop applications in the JVM, with Groovy as the primary language of choice.

To begin with, some of the buildtime dependencies have been upgraded (including the latest Groovy 2.1.3 release). There are some enhancements to the plugin uninstall sequence. you can also obtain a fine grained dependencies/plugins graph reports (a la Gradle). On the runtime side of things you'll find more PropertyEditors available by default, better support for Groovy based i18n bundles and a totally new feature: action interceptors.

Full listing of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=19049]
Full release notes are located here.
You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!

Griffon 1.2.0 released!

The Griffon team is happy to announce Griffon 1.2.0, the latest release of the 1.x series.

Griffon is an application framework for developing desktop applications in the JVM, with Groovy as the primary language of choice.

To begin with, some of the buildtime dependencies have been upgraded, most notable Groovy 2.0! That's right, you can now take advantage of static type checking and static compilation in Griffon applications; however don't apply static type checking nor static compilation AST transformations to View scripts, as they are highly dynamic.

There are some new commands now: list-templates, upload-release, wrapper and usage-stats. The last one receives special attention as it enables the Griffon team to tweak future releases and make informed decisions based on your help. This command sends a small set of data based on how Griffon is being used in projects. We value your feedback and privacy, that's why this feature is disabled by default. Rest assured that all information is anonymized and will be used with care. More information about the data collected by this feature can be found in the Griffon Guide.

DSL support for both Intellij IDEA and Eclipse has been greatly improved on the core and swing packages.

Turning our attention to runtime aspects, services have received a huge lift with the addition of a pair of life-cycle hooks. Services are treated like singletons by the Griffon runtime, which means you needn't instantiate them, however that limits the configuration that can be applied to them during their instantiation. No more, with the addition of serviceInit() and serviceDestroy() you're in full control of what happens when a Service gets instantiated or destroyed.

Services may also have some of their properties be configured in external configuration files (like Config.groovy) by means of a DSL, for example the host and port properties of the following service


may be configured in Config.groovy like so


Additionally, a new event will be triggered when managed instances (such as MVC members and services) get destroyed. This event is named DestroyInstance, it's the counterpart of NewInstance.

Developers are highly encouraged to update to latest versions of the Spock, Spring and Eclipse-support plugins are there were some changes in core that affect them directly.

However the news don't end here, this release finally enables the usage of the Griffon plugin for Gradle. With this plugin you'll be able to adapt a Griffon project as a Gradle project, making it trivial for it to participate in a multi-project build for example.

Full listing of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=18431]
Full release notes are located here.
You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!

Griffon 1.1.0 released!

The Griffon team is happy to announce Griffon 1.1.0, the latest release of the 1.x series.

Griffon is an application framework for developing desktop applications in the JVM, with Groovy as the primary language of choice.

This release brings new functionality that should make working with i18n content and resources a much pleasant experience. To begin with, the i18n plugin has been reworked and incorporated into core inside the griffon.core.i18n package. Every Griffon application is now i18n aware, messages by a (configurable) MessageSource. The Griffon Guide includes a new chapter on the subject.

Paired with i18n we get another set of APIs: resource management and injection. It's now possible to define resources such as images, icons, colors that should become available on a Model class, but instead of putting them on code you define them on external external resource files. These resource files happen to be Locale aware, exactly like their messages (i18n) counterparts. Resources may be injected programmatically or automatically by annotating properties/fields with @InjectedResource. The Griffon Guide also includes a brand new chapter explaining all options and formats.

Then there's the ActionManager incubated by the actions plugin. This component is capable of harvesting controller actions (whether they are closures or methods, doesn't matter) and create toolkit specific Actions that are added to builders using a naming convention. All aspects of an action (name, description, icon, etc) are handled by externalized resources (leveraging the new i18n features). Both Swing and JavaFX plugins provided custom support for their respective ActionManagers.

Be aware that some plugins should not be used anymore (i18n, i18n-support, actions) as they are no longer compatible with Griffon. The spring and the dialogs have changed to reflect the new i18n APIs, it's important that you upgrade to their latest releases when moving to Griffon 1.1.0.

Finally the Griffon Guide has been migrated to grails-doc 2.x, resulting in a more interactive experience.

Full listing of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=18430]
Full release notes are located here.
You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!

Griffon 1.0.1 released!

The Griffon team is happy to announce Griffon 1.0.1, the first maintenance release of the 1.0.x series.

Griffon is an application framework for developing desktop applications in the JVM, with Groovy as the primary language of choice.

The team did it best to get 1.0.0 out of the door on time, unfortunately some bugs managed to scape the last sweep before closing the release. This is a bug-fix only release, no new features have been added. Particularly applet and webstart modes did not work correctly when launching applications. Griffonsh also had trouble running applications though all other commands ran fine.
Dependencies for all sample applications have been upgraded too. If you encounter a problem running any of the sample applications caused by an incompatible plugin version the please read the following entry to find out how to overcome the situation: http://www.jroller.com/aalmiray/entry/the_griffon_trove_troubleshooting_plugin

Full listing of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=18574]
Full release notes are located here.
You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!

Griffon 1.0.0 released!

The Griffon team is happy to announce the final release of Griffon 1.0.0!

Griffon is an application framework for developing desktop applications in the JVM, with Groovy as the primary language of choice.

It took some time but the team has finally taken the required steps to make Griffon go the distance.

This release adds support for framework plugins. These are plugins that can be installed at the framework level. A good example is the Git plugin which lets you submit & tag plugin/archetype projects to Git repositories. There are also two new sample applications that show Griffon and JavaFX working together. The first one is GroovyFXPad, an exploratory tool for JavaFX in the same way as SwingPad is for Swing. The second one is FxBrowser which is a trivial webbrowser based on JavaFX's WebView component.

A list of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=17846]
Full release notes are located here.
You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!

Griffon 0.9.5 released

The Griffon team is happy to announce the release of Griffon 0.9.5!

Griffon is a Grails inspired framework for writing RIAs on the JVM using Groovy.
A list of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=18365]

Full release notes located here.

This release fixes all bugs reported for 0.9.5-rc2, there are no new features others than those introduced by 0.9.5-rc1 and 0.9.5-rc2.
Additionally, there are more than 120 plugins already published at http://artifacts.griffon-framework.org with more to come as we continue migrating plugins from the old legacy repository.

You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!

PS: Can't wait for an issue to be fixed? Have an idea for a cool feature? Fork us at github and send us a pull request :-)

The Griffon team is happy to announce the release of Griffon 0.9.5-rc2!

Griffon is a Grails inspired framework for writing RIAs on the JVM using Groovy.
A list of bugs fixed in this release can be found at [http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=18330].

Full release notes located here.

This release fixes some issues found in the build system after the big overhaul we did in the last release. Offline mode is finally available. When engaged all dependencies will be resolved against the local caches, also no remote nor legacy artifacts repositories will be reachable, only local ones.

Speaking of artifact repositories, we'd like to announce the immediate availability of the new Griffon Artifact Portal located at http://artifacts.griffon-framework.org. The code that runs this portal is Open Source and can be obtained from https://github.com/griffon/griffon-artifact-portal; and as a matter of fact is the only way for now to setup a remote artifact repository. This portal contains a minimum set of features that we wanted to expose for the first release. Rest assured we'll update it as time goes along.

The Griffon runtime has a few new features too. It's now possible to disable the application's event bus for a while, useful to avoid an event storm for example. Also, MVC groups have the capabilities to skip firing MVC lifecycle events, as well as instantiation events.

Finally, all threading methods have been renamed. this is an important step into providing better threading options as the previous method names were confusing for many. The old method names are still available but have been marked as deprecated; they will be removed by the time Griffon 1.0 is released so take note and update your code as soon as possible.

You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

Keep on Groovying!

PS: Can't wait for an issue to be fixed? Have an idea for a cool feature? Fork us at github and send us a pull request :-)
Griffon 0.9.3 released

The Griffon team is happy to announce the release of Griffon 0.9.3!

Griffon is a Grails inspired framework for writing RIAs on the JVM using Groovy.
A list of bugs fixed in this release can be found at http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=11833&version=17427.
Full release notes located here.

This release is the culmination of the 0.9.3 series (we had two betas released in the past months). In particular Java support has been vastly improved.
It's now possible to write a Griffon application in 98% Java. All artifacts, lifecycle handlers and event handlers can be written in Java (even another alternative JVM language like Scala, Mirah and Clojure for that matter). Configuration files remain in Groovy source form. Additionally, the jumpstart archetype introduced in the betas is fully aware of Java source code now.

IDE support has improved as well. Griffon includes GDSL and DSLD descriptors for both IDEA and Eclipse.

In the runtime aspect, the size of the core library has been reduced by roughly 25% while new features were added. Giving you more bang for your bandwidth. Plugin authors will benefit from automatic registration of artifact handlers should they decide to create a new artifact definition. Specific platform customizations, like the handling of the unified menubar in OSX, are now easier to make.

There's a new set of AST transformations too. These transformations will inject the required code for making a class an MVC group handler or a threading handlers, like if it were a Griffon artifact.

Lastly, there's a number of breaking changes explained in the release notes.

You can download the Griffon distribution from the download page.

Thanks to all who contributed to this release!

--The Griffon Team