Releases

Qt 5.1 Beta Released

I am happy to announce that we have today released Qt 5.1 Beta. We are now a major step closer to release Qt 5.1.0, which is expected before the summer. With the Beta release, binary installers for Qt 5.1 are available making it easier for you to get started with Qt. Let’s take a quick look at what is in the package.

Key functionality

The main driver for Qt 5.1 has been to increase the maturity of the new features introduced with Qt 5.0. We have improved the functionality and performance based on the feedback received from real-world use cases of Qt 5.0 and porting applications from Qt 4.x. We are able to meet your needs with Qt 5 because of the feedback and contributions from our growing ecosystem of about 500,000 developers in over 70 industries using Qt on numerous platforms and configurations.

The key new features of Qt 5.1 Beta include:

  • Qt Quick Controls module providing a set of reusable UI components especially for desktop applications created with Qt Quick
  • Qt Quick Layouts module bringing an easier, more intuitive, way to manage scalable UIs by ensuring that items are consistently arranged, and that the UI as a whole remains usable across different screen sizes.
  • Qt Serial Port module providing a cross-platform interface for using hardware and virtual serial ports in Qt applications
  • Possibility to use Qt Quick and Widgets together in the same application window
  • Qt Creator 2.7.1 bundled into the package, providing, for example, Qt Quick Designer for rapid prototyping, as well as improved C++11 code editing
  • Support for static Qt builds making it possible to address those use cases that cannot use dynamic linking
  • Introducing Qt Sensors as an officially supported module

For a more detailed look, please take a look to the Wiki article listing the new features of Qt 5.1 Beta, refer to the Qt 5.1 Documentation Snapshot as well as the Known Issues page in the wiki.

Binary installers

For most users the big thing with Qt 5.1 Beta compared to Qt 5.1 Alpha is binary installers that provide a convenient way of installing all you need to start developing with Qt without needing to build Qt yourself. With Qt 5.1 we are introducing some new configurations such as 64bit VS2012 with OpenGL, which is already available with the Beta. Soon after the Beta we are upgrading MinGW to version 4.8 and aim to bring also 32bit VS2012 with ANGLE configuration by the time we are releasing Qt 5.1.0.

Qt 5.1 Beta comes as an offline installer, but we will also be providing online installers before the release of Qt 5.1.0 final. The offline installer contains all you need to get started with Qt – tools, documentation, examples and pre-built Qt libraries. Source packages are available for those who wish to build Qt (or need to use a configuration that is not available as a pre-built binary). In addition to the desktop binaries, Qt 5.1 Beta comes with pre-built binaries for Android that can be bundled in with your application.

New platforms

Qt 5.1 Beta provides technology-preview level implementation of the new Android and iOS ports. In addition, Qt 5.1.0 final is planned to re-introduce Windows Embedded Compact 7 support that has earlier been available with Qt 4.8. We have added all these new platforms into the CI system so that each change that goes into Qt is verified to work on these as well as the other platforms and configurations already in the CI. At the moment, the CI for Android and iOS only tests for building, but we are gradually also adding the automated tests to be run on these new platforms, to decrease the possibility of regressions.

There is quite a lot of buzz around the new mobile ports and many are interested in knowing what is possible already with the Qt 5.1 Beta. In general, it can be stated that you can create stunning applications that run smoothly on both of the new platforms, but with limitations in supported functionality and the developer experience of getting your masterpiece into these devices.

With Android the following functionality works quite well in the Qt 5.1 Beta:

  • Widgets, Graphics View, Qt Quick 1 and Qt Quick 2 applications
  • OpenGL, networking and other core functionalities of Qt
  • Some parts of Qt Multimedia, for example QML media player
  • A set of commonly used sensors with Qt Sensors
  • Deploying your application to a device from Qt Creator
  • Debugging your application from Qt Creator
  • Qt 5.1 Beta comes with pre-built binaries for Android that can be bundled in with your application

With iOS the main issue is Qt Quick 2 not being available, as it needs a new QML engine, but the following functionality works quite well in the Qt 5.1 Beta:

  • Widgets, Graphics View and Qt Quick 1 applications
  • OpenGL, networking and other core functionalities of Qt
  • A set of commonly used sensors with Qt Sensors
  • Deploying your application to a device from Xcode / iTunes

Next steps

With the release of Qt 5.1 Beta we are one step closer to the Qt 5.1.0 final release, which we aim to have out before summer. Based on the feedback we receive from the Beta, there will be a Release Candidate created in a few weeks time, or alternatively a second Beta.

Please test out Qt 5.1 Beta and send us feedback:

  • File a bug report to bugreports.qt-project.org in case you find a new bug
  • Send e-mail to Qt Project mailing lists or contact us via IRC
  • If you have a commercial license, please contact Digia Qt Support via the Customer Portal

Qt 5.1 Beta release can be downloaded from the Digia Qt Customer Portal or from download.qt-project.org for open-source users.

 

Qt 5.0.2 Released

Today we are releasing Qt 5.0.2 – the second patch release of Qt 5.0 series. I am extremely happy about the interest towards Qt 5 as well as the amount of improvements we have been able to add into the Qt 5.0.2 release. 

Qt 5.0.2 brings over 600 improvements compared to Qt 5.0.1, most of these in order to address the issues Qt users have noted when bringing their applications to Qt 5. As a patch release Qt 5.0.2 does not introduce new functionality, but we have again been able to add some new binary installers, as well as enable some use cases that have been problematic in the earlier Qt 5 releases.

Highlights of Qt 5.0.2 include:

  • New binary installers for VS2012 with ANGLE and for VS2010 with OpenGL (for those who do not wish to use ANGLE)
  • Creator 2.7.0 included in the release package (Qt 5.0.1 was shipped with Creator 2.6.2)
  • Possibility to easily skip modules in configure when building Qt yourself
  • Static linking now works correctly for the Qt libraries
  • Overall more than 600 improvements in 17 different modules of Qt

For detailed list of changes in Qt 5.0.2, please have a look into the changes file included to each module – or check the most important ones: qtbaseqtdeclarative, qtwebkit and qtmultimedia, as well as Creator 2.7.0 release announcement.

As always, Qt 5.0.2 maintains both forward and backward source compatibility with Qt 5.0. We are continuously ironing out the glitches and improving quality with every new release. If you encounter a problem, please check the known issues page first, where you can find solutions and workarounds for common problems. If you find a previously unknown bug in Qt 5, please help us to improve the product in future releases by reporting it to bugreports.qt-project.org, or contact us via our Customer Portal if you have a commercial license.

Qt 5.0.2 is now tagged in the Qt Project repository. The source packages and installers for Qt 5.0.2 are available for download at qt-project.org/downloads for open-source users, as well as via the Customer Portal for commercial licensees.

First Ten Mirrors Active for Qt Project Downloads

I am very pleased that we have already ten mirrors from three continents active for the new download service of the Qt Project, and more are on their way. With the new MirrorBrain based setup is it very easy to become a mirror for Qt – and even more importantly it is seamless for the user to benefit from the nearby mirrors.

We plan to use the new download.qt-project.org service starting from next week for the upcoming releases of Qt 5.0.2, Qt 5.1 Alpha and others. The old CDN service will be available as backup. When a release is made you can see it appear to qt-project.org/download page, so everything stays quite similar as before.

If needed, it is easy to see if the file you are planning to download has already been mirrored by viewing the details in conjunction of each file. The mirrors synchronize content with different schedule, so it takes a while for file to become available in all mirrors after it has been released. We are also looking into leveraging torrents as an additional way of downloading files.

For the commercial Qt licensees there are no changes, as the Customer Portal and distribution systems are separate from the open-source downloads.

I hope we continue to receive more mirrors for Qt Project in the coming weeks. If you are interested in mirroring Qt, see instructions how to become a mirror from the Qt Project wiki. Also, feel free to ask you local mirror providers to start mirroring Qt.

 

Qt Project Needs Mirrors for the New Download Service

The Qt Project is currently using a content delivery network based solution for distribution of releases. We have been working to improve distribution of Qt open-source packages and now have the setup available for mirroring. Now we need to get more mirrors before going to production.

The idea is to switch to MirrorBrain based system and away from the current content delivery network based service. The work was started a while ago by Daniel Molkentin and now we have the setup available for mirroring. It is very much similar to what KDE is already using, so for many it is quite familiar. At this point I would like to thank Danimo and others from KDE for all the help provided to enable this.

The system is not yet taken into production use, we need to first have enough mirrors in place. Downloads from the new service work, but the system is not yet up to handle the needed load. Currently we have two mirrors in place, and need more before the new download service can be taken into production use.

The new service is for open-source content only. All the commercial Qt licensees are using a separate system. So it is completely ok for non-profit organizations to become a mirror for Qt Project.

If your organization is willing to become a mirror, please follow the steps in the wiki. Or if you know some organization who already provides mirrors, please ask them to become a mirror for the Qt Project.

We are keenly waiting to get the new download service active as it allows much more flexibility than the current setup. Getting the new system into production is also a prerequisite for providing the new online SDK for the Qt Project.

New maintenance tool for the commercial Qt 4.8 SDK available

We have today released an update of the Qt 4.8 SDK maintenance tool for commercial licensees.

The new maintenance tool, version 1.0.3, provides minor maintenance updates with two notable improvements:

  • Default installation path for Windows is no longer under user’s home folder
  • License key handling has been improved for evaluation use

There is no immediate need to update the maintenance tool, but it is mandatory to do so before installing new software components through the SDK.

The Qt 4.8 SDK is the primary tool for installing updates and new add-on functionality, as well as maintaining the configuration of your own Qt toolset. It connects to the online repository with all the commercially licensed Qt 4.8 offering including many additional components such as the Charts add-on and ready-made images of Qt for embedded.

We are working to make similar online SDK available also for Qt 5 – most likely available at the end of March or early April. For Qt 5 we aim to provide an SDK also for the LGPL licensed version of Qt in addition to the one available for the commercial licensees.

Those who already have the commercial Qt 4.8 SDK installed can update to the new maintenance tool 1.0.3 directly via the SDK. If you are a commercial licensee and do not yet use the SDK, you can download the maintenance tool from the Customer Portal. If you are not a commercial licensee, you can download our free 30-day evaluation, try it out and see how you like it.

Qt 5.0.1 Released

It’s been six weeks since we published the Qt 5.0.0 release and we are now introducing Qt 5.0.1 – the first patch release. Qt 5.0.0 release has been well received and we have seen a great amount of interest towards it.

With over 400 improvements compared to Qt 5.0.0 the Qt 5.0.1 is a great next step for the Qt 5 series. As a patch release it does not introduce new functionality, just error corrections and improvements. In addition to these, it also adds MinGW 4.7 pre-built binary installer, which has been highly requested. MinGW is the first but not the last new pre-built binary installer which we are going to bring along on later Qt 5.0.x releases.

For detailed list of changes in Qt 5.0.1, please have a look into the changes file included to each module – or check the three most important ones: qtbaseqtdeclarative and qtmultimedia.

As always, Qt 5.0.1 maintains both forward and backward source compatibility with Qt 5.0.0. However, to fix a bug we detected after the Qt 5.0.0 release, this release has a limited binary compatibility break related to multimedia functionality (please see details from here). We therefore recommend all users to recompile their applications that provided QtMultimedia plugins or dealt with them directly. This is an exceptional case: binary compatibility will be kept for further releases.

As with every release, also this one has a few issues left that we know about. We are continuously ironing out the glitches and improving quality with every new release. If you encounter a problem, please check the known issues page first, where you can find solutions and workarounds for common problems. If you find any other bug in Qt 5, please help us to improve the product in future releases by reporting it to bugreports.qt-project.org, or contact us via our Customer Portal if you have a commercial license.

Qt 5.0.1 is now tagged in the Qt Project repository. The source packages and installers for Qt 5.0.1 are available for download at qt-project.org/downloads for open-source users, as well as via the Customer Portal for commercial licensees.

Qt Creator 2.6.2 released

Qt Creator 2.6.2 has just been released. A quick count yields 55 patches on top of 2.6.1, the majority of them of the Mostly Harmless kind, fixing usability and UI issues. Some serious issues got fixed, too, most notably the code editor freeze some people encountered on certain constructs in the C++ editor (see QTCREATORBUG-8472 and QTCREATORBUG-8532). The full change log is here.

Binary packages of stand-alone Qt Creator 2.6.2 are available the download site, sources are as usual accessible from gitorious, and last but not least it is part of the Qt 5.0.1 release.

Qt 4.8.4 Released

Today we have released Qt 4.8.4. Created together with the Qt Project, Qt 4.8.4 contains over 170 fixes and improvements compared to Qt 4.8.3. With important security fixes for Qt Network and Declarative modules the Qt 4.8.4 is a solid release we recommend all active projects to take into use. This release also contains the correct Digia copyrights as already reflected in the Qt repositories.

As a patch release Qt 4.8.4 does not add new functionality and keeps full source and binary compatibility with the Qt 4.8 series. Looking a bit into where these 170+ improvements have landed there are, for example:

  • 41 fixes to Qt Gui module
  • 13 Mac OS X specific fixes
  • 8 Windows specific fixes
  • 5 Linux/X11 specific fixes
  • 36 QNX/Blackberry specific fixes
  • 22 fixes for the tools

A detailed list of the fixes and improvements showing differences from Qt 4.8.3 can be found here.

Additionally I have good news for those who have been waiting for Windows 8 and VS2012 support. We have taken Qt 4.8.4 to a spin with Windows 8 and it runs quite well in the classic (desktop) mode on Intel hardware. Qt 4.8.4 can be built with Microsoft’s new VS2012 compiler, except for building WebKit. You can use the same pre-built VS2010 binaries with Windows 8 in addition to Windows 7.

Qt 4.8.4 is now tagged in the Qt Project repository. The source packages and stand-alone installers for Qt 4.8.4 are available for download at qt-project.org/downloads for open-source users, as well as via the Customer Portal for commercial licensees.

For commercial licensees there is also an online SDK update available for Qt 4.8.4. We are working to provide an open source SDK through the Qt Project after Qt 5.0.0 is out.

Qt SDK 1.2 Released

We are happy to announce that a new important update for Qt SDK is published.
This Qt SDK 1.2 update sets a new baseline for the developers for a longer perspective. Some of the features have already been available as online updates, but Qt SDK 1.2 now integrates the very latest tools, most recent mobile build targets for Symbian and Nokia N9, and the still fresh Qt 4.8 for desktops. We have also introduced some improvements to the SDK and its maintenance tool.

As a summary, this is what is new in the Qt SDK:

  •     Fixes for Qt Creator 2.4 in a new 2.4.1 patch update
  •     Qt 4.8 for desktops delivering Qt Quick 1.1, Qt platform abstraction, Qt WebKit 2.2, and threaded OpenGL. See Sinan’s blog post for more details.
  •     More Qt Mobility examples for Nokia N9 and Symbian devices
  •     Ability to specify network proxy setting in the SDK Maintenance Tool
  •     Update to the Symbian Complementary Package introducing Analyze Tool plugin and new CODA 1.0.6 installation package
  •     An update to Notifications API improving the end user experience and fixing issues in the Nokia N9 implementation of the API.

If you already have Qt SDK installed, you can update to the latest version by running Update Qt SDK from the Qt SDK application folder on your computer. If you first time are getting started with Qt SDK, you can download 1.2 from our download page.

If you encounter problems, please file a bug report at http://bugreports.qt-project.org.

Qt 4.7.4 Release Bundle for Symbian News

Today we are making available the Qt 4.7.4 release bundle for all Symbian^3, Symbian Anna, and Symbian Belle devices. The Qt SDK 1.1.4 update has the necessary Symbian Anna and Belle build targets available allowing application development for Qt 4.7.4. Nokia Store deployments are also possible.

This is a big release for Qt developers. In this blog post I’d like to present an overview of the current Qt deployment situation on Symbian devices. The later part highlights the most important changes we have in the Qt 4.7.4 release bundle from the Symbian perspective. Those of you who know the Qt Symbian deployment history can skip directly to Qt 4.7.4 section.

Qt deployment on Symbian devices

The first officially supported Qt release for Symbian devices was Qt 4.6.3. It was released together with Qt SDK in June 2010. Following this, applications created with this SDK could be deployed to Nokia Store (or Ovi Store as it was known then). Then this year in May 2011 Qt 4.7.3 for Symbian with Qt Quick was made available in the Qt SDK 1.1, and Qt Quick applications could be deployed to Nokia Store.

Qt was not available right away as pre-installed in any Symbian devices when Qt 4.6 was made available for Symbian. In fall 2010 the Nokia N8 was released and it was the first Symbian device with pre-installed Qt. Then in the middle of 2011 Symbian Anna was made available with the Qt 4.7 -based bundle with Qt Mobility 1.1. Now the latest Symbian Anna devices have out-of-the-box support for Qt Quick.

For older S60 3rd and 5th Edition devices Qt is an add-on component requiring initial download of Qt libraries on the first Qt application installation. A special deployment mechanism called Smart Installer is used to deploy Qt to devices such as these that do not have Qt as pre-installed or in the firmware.

When the user downloads and installs a Qt application, Smart Installer checks package dependencies and installs Qt and other support modules when needed. Modules are also upgraded to newer versions when necessary. Normally this happens when the user downloads an application from Nokia Store.

Smart Installer is the main deployment channel for the Qt release bundle to S60 3rd and 5th Edition devices. Smart Installer also updates Symbian^3 devices’ pre-installed Qt 4.6.3-based bundle (that resides on the C: drive), to the Qt 4.7.3-based bundle. Furthermore, an important reason for Smart Installer deployments is the fact that Symbian^3 devices do not have the pre-installed Qt Mobility module. Hence, before the application is installed on Symbian^3, often at least the Qt Mobility module is deployed unless it is already deployed by earlier application installations. Developers have always been advised to take into account this additional download need because it increases the application’s delivery size.

In July 2011 Qt Quick Components 1.0 for Symbian was released with Smart Installer deployments for Symbian Anna devices.

Today’s Qt 4.7.4 bundle is the next big Qt release with many improvements for Symbian OS. This release is shipping already in the new Symbian Belle devices, like Nokia 700 and Nokia 701, as part of the device firmware. Now we are making it available also to devices with Symbian Anna (and Symbian^3) through Smart Installer deployments and we are also bringing finalized Qt SDK support.

Qt 4.7.4 release bundle for Symbian

The Qt 4.7.4 release bundle contains

It is supported in Symbian Anna (and Symbian^3) devices onwards. Most benefits mentioned in the Qt 4.7.4 release post by Jarmo are valid for Symbian, too. In general, this release has a huge amount of stability, performance and functionality improvements for Symbian. Many of the changes also make Qt better integrated to the Symbian operating system services.

In Qt graphics system for Symbian there are big changes in how graphics resources are managed in the default OpenVG graphics system used by Qt applications. We are also introducing the opt-in OpenGL ES based graphics system to wider use with better resource management as part of Qt 4.7.4. Both of these changes improve the use of scarce GPU memory and have better graphics memory releasing schemes when applications are moved to background. We have also better integration to Symbian OS transition animations. This means that when stopping and starting Qt applications there are smoother animations that are also better aligned with the same effects presented with Symbian OS Avkon applications.

Regarding the user interface, Qt Quick Components 1.1 and Qt Quick 1.1 modules provide the biggest improvements. There’s another post by Sami detailing changes available for components. For both we have also changes explained in the Qt Quick – What’s New and Qt Quick Components – What’s New documents. The use of Qt Quick Components allows application to achieve the new Symbian UI Design Guidelines. This means that Qt applications match and are consistent with the native applications on Symbian Belle devices.

In the “core” of Qt there are plenty of minor improvements and bug fixes to UI features. Often these fixes will improve all style of Qt applications regardless of the UI technology: QWidgets and graphics view based and QML UIs too. For example, on physical keyboard devices Nokia E7 and Nokia E6, text editing key accelerometers (ctrl+c/ctrl+v) work now out-of-the-box in editors without any need for an application to implement such copy/paste functionality.

Split-view keyboard on the bottom, editor using it on the top.

Perhaps the most welcomed UI feature of Qt 4.7.4 is the integration of Qt text input system to the Symbian partial screen text input component also known as split-view input. The split-view input is a new virtual keyboard in Symbian Anna where it is used in many native Avkon applications. It allows application content to be visible above the split-view keyboard. This is in contrast to the earlier full screen input that didn’t allow application content to be visible during text input. In Qt 4.7.4, the split-view is now integrated into all editor widgets in graphics-viewbased UIs including Qt Quick/QML editors. By default this feature is disabled because the split-view input needs application awareness due to layout change in the visual area of the application when the new keyboard is opened. It is enabled by setting the application attribute Qt::AA_S60DisablePartialScreenInputMode to false. Qt Quick Components 1.1 uses this split-view feature too and it will be available when application starts to use the new import com.nokia.symbian 1.1of the components. The import 1.0 still uses the full screen input. So in other words, Qt Quick 1.1 or plain-Qt applications turn it on with the application attribute but Qt Quick Components 1.1 using applications with the new 1.1 components import.

Belle Status Panel

Symbian Belle UI: new iconic softkeys on the bottom, status bar on the top and status panel half open on screen.

Qt 4.7.4 also enables the new Symbian Belle features like the new iconic toolbar support: QActions can have SVG images and the new Symbian OS toolbar icon set can be accessed via QStyle API. As mentioned, Qt Quick Components is provided as an easy way to align the application UI to the new UI style. For example, using StatusBar from the Qt Quick Components allows an application to automatically provide access to the new Belle UI’s status panel feature that is opened by doing touch swipe down gesture on top of the status bar.

Qt Quick with Qt Quick Components is the recommended UI solution for Symbian applications. In fact we have documented that old QtGui module widgets on Symbian are deprecated and developers should use Qt Quick Components instead in new application projects. In that document we also have a list of widgets that should never be used from QtGui module on Symbian because they have never been supported or worked properly.

The last new UI feature worth mentioning is the TV-out support in Qt 4.7.4. When using TV-out, this feature makes possible to use TV display as an independent screen rather than just clone of the device screen. Applications can provide different control view on device screen and a presentation mode with larger resolution on the TV-out display. It works with devices with either analog 3.5mm composite video output or HDMI output. 
By default, in Symbian devices the content shown in TV-out is a clone of the device screen. From now on, however, parenting a widget to QDesktopWidget::screen(1) and calling show() will turn off cloning and have different content shown instead. The screenCount member function and the screenCountChanged signal can be used 
to detect the availability of the secondary display, just like on other platforms.

NFC in Nokia 603

The new Nokia 603 is NFC enabled

Together with Qt 4.7.4, the Qt Mobility module is updated to version 1.2. The main new features are the two new local communications APIs: NFC (Near Field Communication) and Bluetooth. Bluetooth is a basic feature in all Symbian devices but NFC is a new hardware feature only in latest device models. The NFC hardware support is however becoming rapidly available. All new Symbian devices – Nokia 603, Nokia 700 and Nokia 701 – are NFC-enabled. From the earlier Symbian devices only Nokia C7 is NFC enabled. To find out more on the NFC development check the Introduction to NFC guide from Nokia Developer and the general NFC page.

There are other minor improvements and lots of bug fixes in Qt Mobility as well. For example, QAudioOutput class has now a proper support for pausing in Symbian. Earlier, calling suspend via API was emulated by using stop underneath the implementation that caused delays on doing resume later. Video outputs are rendered now with black when nothing is rendered. This improves UIs when QML video and camera elements are used.

The QML ShaderEffectItem is also available in this bundle. Kim showcased it very nicely in his earlier post.

There has been lot of effort made in Qt 4.7.4 to improve the memory management. Applications using Qt 4.7.4 libraries normally consume less RAM than using earlier Qt libraries. Symbian platform uses predefined sizes for stacks and heaps. However, application developers need to be very careful on memory usage. If an application exceeds stack or heap limits, it may crash or fail to complete its task. Crashes that seem to have no reason can often be traced back to insufficient stack and/or heap sizes. Application developers should use reasonable values for maximum heap size. Either too small or too big value could cause the application’s failure. Other than RAM, there is very limited video/graphic memory of 32 MB especially in Symbian^3 and Symbian Anna devices (the new devices that shipped with Symbian Belle have four times larger GPU memory of 128 MB). It’s important that applications using large graphics resources follow graphic memory handling guidelines.

See also our Qt 4.7.4 release application compatibility notes from Qt Developer Network.

The rest of this post talks of non-feature aspects of this release: what kind of build targets we have in Qt SDK and how the Symbian support is aligned with Qt found in Nokia N9. But first, I’ll explain one internal change that is good to know.
Continue reading

The Qt Blog

Welcome to the new Qt blog! We have consolidated all the blog posts from the Qt Labs Blog with the posts from the Digia Qt Commercial blog. Our intention is to provide you with one area for all Qt development posts from our Qt experts.

As Qt enters a new era, we are working diligently to provide you with an ever-growing Qt Blog that includes projects, awesome ideas, tips and tricks and product info from our pool of very clever Qt developers.

This blog will be transforming as we move forward, so keep your eyes peeled for new developments.

Archives

Categories