Releases: codenameone/CodenameOne
Codename One 4.3 - New Cloud Servers
Codename One 4.2 - Live CSS Support
Version 4.2 is a minor bug fix release whose main feature is the new "live CSS" support. With this release we've integrated CSS support into the distribution. It can be activated via Codename One Settings & provides live update support.
When you edit and save a CSS file in this new system the changes are instantly reflected within the running simulator. No restart necessary!
Codename One 4.1 - Minor Update for Taxi
Version 4.1 is a minor bug fix release, since switching to major version updates this isn't as significant as regular scheduled releases.
We've updated the GUI builder/designer & skins with multiple bug fixes and changes some of which are listed in this blog post: https://www.codenameone.com/blog/ios-back-command-behavior.html
Codename One 4.0 - Taxi
We are thrilled to announce the release of Codename One 4.0 - Taxi. Codename One is an open source "Write Once Run Anywhere" mobile solution for Java & Kotlin developers!
This new release overhauled the way Codename One is updated, added support for Progressive Web Apps (PWA’s), overhauled device skins & updated the backend iOS build tools. A major focus of this release is better support for peer (native) components, stability, unit testing and continuous integration.
Codename One is the only platform that…
-
Has Write Once Run Anywhere with no special hardware requirements and 100% code reuse
-
Compiles Java or Kotlin into native code for iOS, UWP (Universal Windows Platform), Android & even JavaScript
-
Is Open Source & Free for commercial use with an enterprise grade commercial support
-
Is Easy to use with 100% portable Drag & Drop GUI builder
-
Has Full access to underlying native OS capabilities using the native OS programming language (e.g. Objective-C) without compromising portability
-
Has full control over every pixel on the screen! Just override paint and draw or use a glass pane to draw anywhere…
-
Lets you use native widgets (views) and mix them with Codename One components within the same hierarchy (heavyweight/lightweight mixing)
-
Supports seamless Continuous Integration out of the box
To learn more about Codename One check out the about page you can download it for free right now.
Version 4.0 is nicknamed Taxi because of the Uber Clone application that was developed with it for the online course in the Codename One Academy.
Uber sidemenu next to the clone
The Uber login form next to the clone
Highlights of this Release
The top 5 features of this release are covered in this short video, check out further details below…
-
Progressive Web App Support (PWA) - Progressive Web Apps allow us to try an application on the web and seamlessly transition to a native app. This makes user acquisition easier and installation frictionless. Codename One is the only tool in the world that supports PWA’s seamlessly
-
New Device Skins - We updated the look of Codename One by releasing 33 new device skins including iPhone X & Pixel 2 XL. We included support for non-rectangular device skins and better device fidelity. We also added the ability to grab a screenshot that includes the skin frame around it
-
Xcode 9.2 - Codename One apps are built using xcode 9.2. This change is seamless for most developers as the update happened on the build servers. Xcode 9.2 requires additional permission messages which are added automatically by the simulator
-
Update Framework - Updates to Codename One libraries are now delivered using a unified framework instead of separate adhoc tools
-
Continuous Integration Support - We now support Travis CI out of the box seamlessly. Adding support for additional CI tools should be just as easy
-
New Async JavaScript Interop API - The Java → JavaScript bridge with the embeddable browser component was completely replaced. The new implementation should be faster than the old system
-
Builtin Unit Tests - Unit tests to Codename One are integrated into the core repository and are executed with every commit
-
Improved Peer Components - Multiple bugs and minor issues were fixed in the peer component layer this effectively enabled the Uber clone to work properly with the native map
-
Better Hello World - The new Codename One projects generate better code that handles things such as network errors more effectively
-
GUI Builder Refinements - There were many refinements to the new GUI builder most notably:
-
Improved support for layout nesting in auto-layout mode - you can use all the existing layout managers within an autolayout parent
-
New Window Manager allows you to customize the positioning of the windows & palettes
-
Tabs component is supported again
-
-
Test Push In the Simulator - The simulator now supports testing push notification
There are many other features both big and small. Check out our blog and the github project history.
Lowlights
As we always do with a release we’d like to shine a spotlight on the things this version could do better and the things the next version can improve. Overall we are thrilled with this release but here are a few things we can do better:
-
On device debugging - I wasn’t optimistic about getting this out for 4.0 and I’m still not optimistic about 5.0. We already have a lot on our plate for 5.0 and this is a huge feature
-
Improved default themes & material design - we did a lot of work on the skins but didn’t move the native theme or make a separate material design theme. We need to do a lot of work on the default hello world applications to make them look great out of the door.
Overall while we implemented a lot of features in 4.0 we didn’t really address most of the problems we highlighted in this section when 3.8 was released. I’m not sure if we have enough time in the 5.0 cycle to improve that but hopefully we can at least move theming more aggressively again.
Onwards to 5.0 - Social
The 5.0 release cycle is relatively short & we already have a lot of things planned for it.
We should have the new social app tutorial in the Codename One Academy which will cover cloning Facebook.
Check out our survey results to see the future apps we'll release into the academy. Even if you never plan to signup to the academy this should be interesting as it gives you a good notion of what can be built with Codename One.
Other than that we’ll try to launch better docs and designs. We’ve put a lot of effort into improving our design capabilities and one of the big things we’d like to pick up again is app templates. In the past we released a few free themes as Codename One stubs. We’d like to do that again so developers can start from "something".
We Need your Help
If you think we are doing a good job and appreciate our help please help us by:
-
Or just sign up for enterprise accounts which literally keep the lights on here… If your company can afford it please take the time and upgrade to enterprise, this will allow us to work on the things that are important for your company!
Thanks for reading this far and if you have any thoughts/suggestions of any kind please let us know!
Codename One 3.8.3 Bug Fix Release
Codename One 3.8.3 Bug Fix Release
This is an interim release before the big 4.0 release in March. We are testing the waters with the new update process that should make releases and updates significantly easier.
There are multiple GUI builder, skin and API improvements in this release. They will be detailed in the 4.0 release coming out in 3-4 weeks.
Codename One 3.8 is Live
We are thrilled to announce the release of Codename One 3.8. Codename One is an open source "Write Once Run Anywhere" mobile solution for Java developers!
This new release significantly refines the native look and feel of Codename One, it brings the GUI builder to a new level with styling support. It finally adds Mac OS appstore distribution support which means all the major appstores are now supported targets for Codename One applications.
Codename One is the only platform that...
- Has Write Once Run Anywhere with no special hardware requirements and 100% code reuse
- Compiles Java or Kotlin into native code for iOS, UWP (Universal Windows Platform), Android & even JavaScript
- Is Open Source & Free for commercial use with an enterprise grade commercial support
- Is Easy to use with 100% portable Drag & Drop GUI builder
- Has Full access to underlying native OS capabilities using the native OS programming language (e.g. Objective-C) without compromising portability
- Has full control over every pixel on the screen! Just override paint and draw or use a glass pane to draw anywhere...
- Lets you use native widgets (views) and mix them with Codename One components within the same hierarchy (heavyweight/lightweight mixing)
To learn more about Codename One check out the about page you can download it for free right now.
As part of the release we significantly refined our developer guide which is now also available in print form on Amazon. Notice that this guide is available for free here & in pdf format. This developer guide is a community effort which you can contribute to as explained here.
Highlights of this Release
The top 5 features of this release are covered in this short video, check out further details below...
- Improved Native Look & Feel - We changed the core look of buttons, labels, text components, ripple effect and more. The goal is to make Codename One applications indistinguishable from native OS apps out of the box
Before: Codename One 3.7 on Android
After: Codename One 3.8 on Android
-
Kotlin Support - Kotlin is now officially supported by Codename One and works out of the box
-
On Top Side Menu - The on top side menu adapts the side menu UI to render on-top of the application instead of below but it's really a complete rewrite of the old
SideMenuBar
which was implemented in a problematic way. The new on-top mode works better with native peers such as maps and can be extended more easily -
GUI Builder Styling Support - There are a lot of enhancements and refinements in the new GUI builder one of the big ticket features is the new style UI which allows you to style an element without leaving the GUI builder
-
Mac OS Appstore Support - We now support building signed Mac OS apps which means we now support all the major vendor appstores. We already support iOS/Android stores and Windows/Microsoft's store (via the UWP port). The Mac appstore was the last major vendor whose store we didn't support out of the box
-
Signal Handling & Fast UTF in ParparVM - ParparVM is our open source iOS VM. It now handles low level OS signals to catch illegal access and convert it to Java exceptions. This means performance is slightly better but more importantly: you can catch errors even when they originate from native code. We also made significant improvements to the UTF-8 decoding logic which should make apps that rely on localized data faster and more memory efficient
-
Theme Enhancements - We added many new capabilities into the Codename One themes specifically: Fractional padding/margin, Rounded border, Underline borders & more
-
Table Sorting - You can now sort a table by clicking on the column header
There are many other features both big and small. Check out our blog and the github project history.
Lowlights
As we always do with a release we'd like to shine a spotlight on the things this version could do better and the things the next version can improve. Overall we are thrilled with this release but here are a few things we can do better:
-
On device debugging - this was planned before for 3.7 but didn't make it. We have a running proof of concept but that also highlights the amount of work needed to bring this to production grade. We didn't think it will make it for 3.8 and I'm not optimistic about 4.0 with our current workload. We think this will be a great enhancement but right now we think theming is more important
-
Improved default themes & material design - we made huge strides in this area but we are still way behind and our demos still don't reflect the progress we made. Hopefully by the time 4.0 rolls around we'll be in a different place entirely
-
Theme & Localization - Steve added some better theming to the new GUI builder. We think we can improve on this further and generally improve theming. Localization is something that regressed a bit from the old GUI builder which allowed for great automatic localization. We need something more "seamless" in this department
Onwards to 4.0
We have way more time for the 4.0 release so we can probably fit in more things than we did in 3.8. One of the difficulties in 3.8 is that a lot of the time between 3.7 and 3.8 was spent in summer months that are less productive. We fully expect 4.0 to be far richer in terms of features.
By the time 4.0 rolls around we should have two new major demos/tutorials in the Codename One Academy.
- The Uber style application
- A social network style application
We've already laid some ground work for the Uber style app and we plan to push it out before the end of the year. This continues the 3 major trends we are trying to drive:
- Better design
- Better docs
- More "ready made templates"
Another big focus which we'll see in 4.0 is quality and continuous integration. Our QA process is now open as part of our continuous integration support. We are now running automated tests of all our commits on device farms which should make future versions of Codename One far more stable.
We Need your Help
We got a record number of community pull requests during the 3.8 timeline, that is fantastic!
If you think we are doing a good job and appreciate our help please help us by:
-
Or just sign up for enterprise accounts which literally keep the lights on here... If your company can afford it please take the time and upgrade to enterprise, this will allow us to work on the things that are important for your company!
Thanks for reading this far and if you have any thoughts/suggestions of any kind please let us know!
Notice that this is a copy of the release announcement here: https://www.codenameone.com/blog/codename-one-3-8-live.html
Minor Bug fix release 3.7.3
Up until now we only tagged major releases, this release focuses on stability and bug fixes. It includes many enhancements but basically builds on the 3.7 release.
Codename One 3.7 is Live
Codename One 3.7, the "Write Once Run Anywhere" mobile solution for Java developers is now live!
This exciting new release brings with it a surprising new overhaul of the Codename One GUI builder which now includes support to "auto-layout" allowing developers to place components with the ease/power of Photoshop or Illustrator..
Codename One is the only platform that...
- Has Write Once Run Anywhere support with no special hardware requirements and 100% code reuse
- Compiles Java into native code for iOS, UWP (Universal Windows Platform), Android & even JavaScript
- Is Open Source & Free with an enterprise grade commercial offering
- Is Easy to use with 100% portable Drag & Drop GUI builder
- Has Full access to underlying native OS capabilities using the native OS programming language (e.g. Objective-C) without compromising portability
- Lets you use native widgets (views) and mix them with Codename One components within the same hierarchy (heavyweight/lightweight mixing)
To learn more about Codename One check out the about page you can download it for free right now.
Highlights of this Release
Here are the top 5 features of this release illustrated in this short video, check out further details below.
-
GUI Builder Auto Layout - We now support an inset based GUI builder mode that allows positioning components in a far more fluid way. We are still working on tutorials for this new mode and it's highly experimental but you can start using it right now!
In addition to that we made numerous enhancements to the UX of the GUI builder further refining it -
Live Style Customization - The UI design of the application can be customized directly from the simulator
-
Z-Ordering on All OS's - You can mix native components e.g. maps, video. With Codename One components and draw on top of them
-
Properties SQL & UI Binding - Support for database mapping (ORM), parsing & UI binding/generation seamlessly using the properties API
-
Rest API for Terse Networking - New builder style REST API that abstracts some of the verbosity of
ConnectionRequest
-
VM API Enhancements - Added some core VM classes and API's such as java.lang.Number,
CharSequence
, exception chaining etc. -
Terse Syntax - New CN API allows developers to write more concise code, new helper API's such as
addAll
& a jquery style component selector -
Security Oriented API's - New API's for detecting certificates on https servers as well as API's for touch ID, jailbreak detection and more
-
Thread Helper & Threadsafe SQLite API's - A new API for communicating with threads & a new threadsafe wrapper for sqlite
-
Better Desktop/Web API's - We now support API's such as mouse cursor customization, split pane, mouse hover events etc. which allow more elaborate desktop apps. We also include an experimental new "desktop skin" to debug desktop apps
-
Experimental "On Top" Sidemenu & Form Layered Pane - Side menu can now be on top of the UI and potentially on top of the entire form with a new layered pane mode
-
ParparVM Performance Improvements - Some of the code such as method invocations will now compile to the C equivalent of that code in terms of performance, many basic numeric operations are much faster thanks to VM optimizations and code is up to 40% smaller over 3.6
-
Two Factor Authentication in Certificate Wizard - The certificate wizard now supports 2 factor authentication in your apple account
-
Faster iOS Builds - Build times in the Apple servers are up to x3 faster for some users with exceptionally long build times.
-
Test Recorder & Toolbar - The test recorder now works correctly with the toolbar
Lowlights
As we always do with a release we'd like to shine a spotlight on the things 3.7 can do better and the things 3.8 can improve on. Overall we are thrilled with this release but here are a few things we can do better:
-
On device debugging - this was planned for 3.7 but didn't make it. We have a running proof of concept but that also highlights the amount of work needed to bring this to production grade. Since 3.8 is relatively close by it's hard for us to say if it will be a feature of 3.8.
-
Improved default themes & material design - this is an area we need to spend more time on. We are attacking it one component at a time but that is often challenging. We can use your help in filing issues and pull requests to improve the situation. If you see something that doesn't look good or doesn't look native go to the issue tracker & create a new issue in it include a screenshot of how it looks now and a screenshot of how it should look. This helps us focus on the things that are important to our users. Even if we know about the problem an issue helps us focus!
-
Theme & Localization - The new GUI builder is starting to take shape and it's time to turn our attention to the other rolls that the old designer tool handles. We already made some improvements to styling but we can go further.
Onwards to 3.8
We completed almost everything we wanted to do for 3.7, to be fair that's not to hard as we delayed the release due to the bootcamp and that gave us extra time.
The next version will be out in mid November which already feels darn close by now so I'm not sure which ones of the lowlights above we'll be able to address by then but those are our biggest priorities not necessarily in that order.
The one feature that we did announce for 3.8 is Kotlin support. We ran a survey whose results included a bit of a surprise to us, it's something we'll discuss later.
We Need your Help
Spread the word, please let people know about us.
Sign up for enterprise accounts, besides the huge benefits of an enterprise account these are the guys that keep the lights on here and allow us to build Codename One. If your company can afford it please take the time and upgrade to enterprise, this will allow us to work on the things that are important for your company!
Thanks for reading this far and if you have any thoughts/suggestions of any kind please feel free to post to the announcement page on Codename One's site!
Codename One 3.6
Codename One, the "industry defining" Write Once Run Anywhere native mobile app platform for Java developers has just published version 3.6.
We're thrilled with this release whose key features are offline build support and official support for UWP (Universal Windows Platform). Starting with this release we are changing the scope for Codename One: Instead of trying to be "as good as native" we'd like to aim to be "better than native".
You can check out our press release here.
We already offer many advantages over native platform development:
- Faster builds and build cycles
- Portability
- Easier customization of the UI with ability to control every pixel
With 3.6 we hammered down all of these to a fine tuned machine and moving forward we'd like to build the Codename One that is better than native.
You can see the full release announcement on the Codename One website where you can download the IDE plugins and related material.
Highlights of this Release
- Offline Build Support - Building thru the cloud is one of the "defining features" of Codename One, but some government level customers need the ability to build offline due to regulatory concerns.
- Production grade UWP (Universal Windows Platform) Port - UWP allows seamless native support for Windows 10 on Intel/ARM devices & PC's such as the very popular Surface line
- New GUI Builder Release - We released the new GUI builder. It still has rough edges but is improving at a rapid pace
- Round Borders - Round style borders are available now both in the designer and code
- Floating Action Button - New FloatingActionButton component that allows badging as well
- In App Purchase Subscriptions & Receipts - We completely rewrote the IAP documentation and added support for subscriptions
- Security Enhancements - We introduced seamless storage encryption & certificate pinning (SSL Pinning)
- New & Remastered Demos - Demos were overhauled and new demos were added based on PSD design showing the level of creativity that you can integrate into your applications
- URL & File API's - Easier porting for existing Java code thru File & URL API's
- Properties - Properties allow us to build terse/type safe efficient mapping to storage/database/XML/JSON etc.
- Newer Defaults - Java 8 & Android API 23 are now on by default as well as xcode 7.3 with xcode 8 coming soon. Android's peer component is also on by default
- Easy Caching - Caching HTTP has never been easier...
Lowlights
Overall we are very happy with this release aaawe think we dotted the i's and crossed the t's. This is to a large part due to the delay of the release from December. We still had to push back some issues to 3.7 but that's always unavoidable.
The one thing we really didn't get out in this release is a new Codename One course which we've been working on for a while. We hope we'll get it done during the 3.7 era but video production is always a big effort and we just don't have enough hours in the day...
Onwards to 3.7
Version 3.7 work is already underway. We hope to get the z-ordering in native peers to work on all major platforms in this version. We think it will open up Codename One to a whole new type of application (e.g. Augmented Reality).
Our biggest wish for 3.7 is on-device-debugging but it's a big feature so it's unclear if it's something that we'll be able to deliver soon.
We Need your Help
Spread the word, please let people know about us.
Sign up for enterprise accounts, besides the huge benefits of an enterprise account these are the guys that keep the lights on here and allow us to build Codename One. If your company can afford it please take the time and upgrade to enterprise, this will allow us to work on the things that are important for your company!
Codename One 3.5
We are thrilled to announce the immediate availability of Codename One 3.5!
Version 3.5 is a huge release that includes the long awaited Windows Universal Platform (UWP) support and brings the new GUI builder out of beta.
Highlights of this Release
- Beta version of the UWP (Universal Windows Platform) Port - Codename One supports native Windows 10 universal apps that you can sell thru the Windows Store
- New GUI Builder Release - We released the new GUI builder. It still has rough edges but is improving at a rapid pace
- New Settings UI featuring the Extensions Library - This is a complete redesign of the core settings/preferences within Codename One. It started as the settings UI for IntelliJ/IDEA and we liked it so much we decided to make it the default for all IDE's. This tool makes the process of installing/discovering cn1libs (libraries/extensions/plugins) trivial!
- Experimental New Peer Component Mode - We now allow more elaborate lightweight heavyweight mixing mode on the Android port and soon on other ports
- Seamless support for Android Marshmallow permissions - This requires no code changes for most applications. We also support this in the simulator & native code.
- Removed Skins from Simulator - We moved skins to the more menu where you can be download them dynamically. We also added new skins and a skin designer tool...
This reduced the size of our distribution by almost 30MB! - Added Background Fetch Support - This allows downloading in the background in iOS/Android
- New Accordion Component - Allows folding/expanding UI elements
- New ComponentAnimation methods for Compound Animations - allow more elaborate animation effects
- Material Icons Enhancements - used thru the code and map to different component selection states seamlessly
- Search Command in the Toolbar - It's now trivial to add search into the title area
- Proxy Support - for simulator & build process
- Demos Rewritten - we rewrote/revisited the following demos: Property Cross, Charts, Social Boo, Dr. Sbaitso, Chrome, Clock & Camera. They are now all Java 8 based, they use the newer API's such
Toolbar
and proper fonts. - Simplified ToastBar - Added simple error message handling, regular messages and download progress indication
- Finished migration to the new push servers - the last few users are leaving and soon the old servers will be retired
Lowlights
- Xcode 7 migration - this is something we tried to do and had to walk back. It's more challenging to get this right but we hope to do this in the 3.6 cycle.
- Demos - we didn't finish all the demos and didn't finish the most important one (Kitchen Sink). There isn't much left there though...
- Peer Component Support - we didn't switch this on by default. We weren't able to do this for other OS's either in time for the release.
- While we produced videos we didn't produce more of them. The production of higher quality videos is more intense and hard to fit into our schedules
Onwards to 3.6
With 3.6 we are aiming to introduce an offline build option for enterprise developers. We also have some other plans but they might stretch to 3.7.
The lowlight issues above are important to us for the 3.6 release and we'd like to improve on them.
Schedule
Version 3.6 is scheduled for December of 2016. 3.7 is scheduled for April 4th 2017.