Today was a very busy day. A smaller number of commits from developers (20 today vs. 40 yesterday) was compensated by active discussions:
the future of the fTools plugin (GDALTools in trouble too)
new release preparation policy
adding plugins support to QGIS Server
updating QgsGeometry class (support for Z/M values and curves)
docker capabilities for QGIS developers and users
trademark registration and protection
Work on updating the documentation and the website also continued. We decided to skip the documentation update for QGIS 2.4 and focus on writing documentation for the upcoming QGIS 2.6 instead.
The second day of the QGIS hackfest is coming to an end.
The documentation team has continued to update the documentation and website, with over 30 commits today. The developers have not lagged behind — the number of commits is approaching 40. As always, Martin is a delight: thanks to his efforts, the rendering speed of a simple symbol renderer has increased significantly. Depending on the data, the speed increase ranges from 19 to 31%.
The first day of the 12th QGIS Developer Meeting in Essen has passed. Actually, it’s not really correct to consider it a full-featured day of the meeting, because most of the attendees were just arriving today. Moreover, today Linuxhotel was hosting an event and we were not able to fully use its infrastructure.
But all this did not prevent us from getting to know each other, communicating and even (there were such maniacs) doing something. For example, Otto, Richard, and Yves started documentation update. The day ended with a joint dinner at Haus Großjung.
I have finished translating the PyQGIS Developer Cookbook into Ukrainian. It will be available on the QGIS documentation portal soon.
Comments and constructive criticism are welcome. Or even better, create an account and edit directly in Transifex
(although I personally don’t like it much and translate locally: git + Qt Linguist are the best).
The 11th QGIS developers meeting, held in Vienna (Austria), has finished. This time, the hackfest took place under the umbrella of a larger developer meeting — OSGeo Code Sprint 2014.
The activity of the participants was at a traditionally high level, and there is no sense or possibility to describe everything. Among the most notable things from an end-user prospective are:
bug hunting in Processing (Anita Graser and myself)
updated plugins repository (Alessandro Pasotti)
Paolo Cavallini was busy with checking and approving piles of submitted plugins
updated user manual (Larissa Junek and Otto Dassau)
There were also discussions about:
procedures for creating regional QGIS user groups
another stage of refactoring (this time it was about the layer tree or ToC, Table of Contents)
user interface improvements
translation process for documentation and user interface (Transifex vs. Qt Linguist/GitHub)
integration of the MetaSearch plugin into the core
At last! QGIS has finally got support for multithreaded rendering, the corresponding changes were merged into master by Martin Dobias just an hour ago. This is basically a revival of the 2010 GSoC project “QGIS on steroids” (successfully completed, but never merged into master), taking into account the latest changes to the QGIS codebase.
By default, multithreaded rendering is disabled, one can enable it in the QGIS settings “Settings → Options → Rendering → Render layers in parallel using all available CPU cores”. It is also possible to set canvas refresh interval during rendering (0 means real-time updates).
The work was done with the financial support from Lutra Consulting and Swiss QGIS User group.
As previously announced, QGIS has moved to a fixed 4-month release cycle. And now the first release on the new schedule has taken place.
This release focuses on bug fixes and performance improvements. Much effort has been put into developing and improving the Print Composer, making it even easier to create printed maps.
The full changelog can be found here. A visual changelog is also available. The most interesting and important changes are listed below:
support for pasting WKT from the clipboard as a new feature in the existing vector layer or as a new memory layer
UI improvements in the expression builder widget. It is now possible to resize various areas, advanced users can hide operator buttons to free up some screen space
The 10th QGIS developer meeting in Brighton (UK) has come to an end. This meeting was the most attended ever. This can be explained by the growing popularity of QGIS and the fact that the hackfest was held just before the FOSS4G conference.
The first day was almost unremarkable, with participants gradually arriving at the University of Sussex, newcomers getting to know each other — in short, an ordinary day before the hackfest itself. Among the notable changes to the code during the day:
copy/paste support for rendering rules
ELSE branch support in rule-based renderer
improvements in the print composer menus
Meanwhile, at Gatwick Airport, Victor Olaya is starting a complete refactoring of the Processing framework…
The QGIS developers are not superstitious people, and Friday the 13th did not affect their work in any way. The list of commits is impressive:
the Plugin Manager got the ability to optionally hide deprecated plugins, as well as highlight them in the plugin list
implemented visualisation of topological information in GRASS layers
Processing framework got a new, more convenient, configuration dialogue
10 new algorithms were added to Processing
and others improvements and bug fixes
There were also several discussions, starting with Richard talking about the new website. This was followed by discussions about refactoring the vector API, support for attribute domains, the possibility of using QML (especially in QGIS Android), the architecture and further development of the Processing framework.
On Saturday, Victor pushed to master the first set of refactoring commits
It’s starting to get fun… now nothing works :-)
Despite the refactoring, the framework continues to grow in functionality: 5 new algorithms have been added, and a few old ones have been improved. The Python console gets support for custom colour schemes (aesthetes will be pleased). There were also several discussions: a unified configuration dialogue, 3D support (Globe plugin, PostGIS, etc.), plugin manager and repository, further development of the WMS client, QGIS Server, QGIS WebClient.
Sunday, the penultimate full day of the hackfest. Another series of discussions, this time on documentation, the abstraction layer for databases, and attribute/geometry indexing. Quite a few commits were also made:
new script editor for Processing
reduced number of data conversions when running SAGA algorithms in QGIS
obsolete settings and related code were removed from Processing
added the ability to save models created in the Graphical Modeler as an image
expressions support in “Graduated” and “Unique values” symbology
More than a year has passed since the release of QGIS 1.8.0. And now, after many months of waiting and several postponements of the release date, QGIS 2.0 “Dufour” is officially announced. This release can be seen as the beginning of a new phase in the life of the project.
So the project is now officially called QGIS. The word “Quantum” in the name never had much meaning, and having two names (Quantum GIS and QGIS) sometimes caused unnecessary confusion. Also, using a shorter and more generic name allows for consistent naming of all components: QGIS Desktop, QGIS Server, QGIS Browser, etc.
Along with the release of version 2.0, the official website has undergone a major overhaul. We hope that the new design will be more convenient and functional, making it easier to find the information you need.
Long-awaited news for Windows users - QGIS is now available in a 64-bit version (both as a standalone installer and via OSGeo4W). Note that *NIX and MacOS users have long been able to use 64-bit packages.
The full list of changes in this release is quite impressive, you can check it out here. The so-called visual changelog is also available. In this post I will only list the most interesting and/or noticeable changes, but there are quite a few of them.
We have made a lot of changes to the QGIS GUI to make it cleaner and easier to use:
the icon theme has been updated to use the “GIS” theme, which is more consistent and professional
the layout of the various dialogues has been standardised with extensive use of vertical tabs and collapsible group boxes
to replace annoying modal message boxes, we have implemented a new non-blocking pop-up notification system with a corresponding API for plugin developers
QGIS 2.0 adds support for even more data sources and many data handling improvements, including:
added Oracle Spatial data provider
new OpenStreetMap data provider that works in read-only mode and uses the Overpass API to load data, downloaded data is stored in the SpatiaLite database
complete overhaul of the raster data provider subsystem. We moved to a “raster pipes” architecture — chains of independent operations (data reading, reprojection, resampling, rendering filters, etc.) that can be combined. One of the results is the ability to export open images in any supported format, while changing image resolution, cropping and reprojecting. In addition, it is now possible to save the raster as it is rendered in the GIS, e.g., if a colour palette has been applied to a singleband raster, it can be saved as a georeferenced RGB raster
Among other changes:
Heatmap plugin optimisations and improvements
SEXTANTE integrated into QGIS as a core plugin and renamed to Processing
unified Plugin Manager that allows you to download, install and manage plug-ins in a single window
new Python console with syntax highlighting, autocompletion, customisable fonts and other improvements
support for custom expression functions
support for project macros
new Python API. QGIS has been migrated to use SIP API v2, Qt types are automatically converted to the corresponding Python types
improved layer tree
many symbology and labelling enhancements: support for blending modes, mode data-defined properties, colour ramp support, etc.
The 9th QGIS developer meeting in Valmiera (Latvia) has come to an end.
Since the QGIS code is already frozen (with some caveats), almost all of the commits were aimed at fixing bugs, improving stability, and shaping the new API.
It’s a thankless task to list everyone by name, there are no idlers at hackfests. I’ll just go through the things that interest me personally (and that affect me to a greater or lesser extent):
Radim continued to improve the raster subsystem (in particular, he fixed a number of problems with the handling of NODATA values)
Jürgen, as always, fixed bug after bug, and also worked on support for different encodings (yes, yes, Frank’s commit to GDAL will have long-lasting consequences)
Borys worked on the new plugin installer
Victor and I worked on SEXTANTE: fixing bugs, writing new tests, updating documentation and help files
Werner, Paolo, Otto, Larissa, Raymond worked on the user manual, cleaning up the wiki and migrating the website
In addition, all hackfest participants were very active in discussing a range of issues:
implementation of GRASS raster algorithms
the documentation creation and translation process
SEXTANTE’s new features and architecture
PSC structure and role
new plugin installer
new website
and other issues
The next developer meeting is scheduled for September (earlier than usual) and will be held in Brighton, UK.