diff --git a/config.toml b/config.toml index ac7e85537..c9a10de96 100644 --- a/config.toml +++ b/config.toml @@ -369,6 +369,18 @@ sectionPagesMenu = 'main' url = "/resources/releases/" weight = 30 +[[menu.main]] + parent = "Releases" + name = "List of releases" + url = "/resources/releases/" + weight = 30 + +[[menu.main]] + parent = "Releases" + name = "Tests" + url = "/resources/releases/#tests" + weight = 30 + [[menu.main]] parent = "Resources" name = "Roadmap" @@ -384,7 +396,7 @@ sectionPagesMenu = 'main' [[menu.main]] parent = "Reports" name = "OGC Certification" - url = "/resources/ogc-certification/" + url = "/resources/reports/#ogc-certification" weight = 60 [[menu.main]] @@ -414,7 +426,7 @@ sectionPagesMenu = 'main' [[menu.main]] parent = "Support" name = "FAQ" - url = "/resources/support/#faq" + url = "/resources/support/faq" weight = 110 [[menu.main]] diff --git a/content/download/index.md b/content/download/index.md index 31f18900f..d6d01ad18 100644 --- a/content/download/index.md +++ b/content/download/index.md @@ -88,4 +88,6 @@ For testing and learning purposes, [a sample dataset is available](https://docs. {{< /download-platforms >}} +{{< script src="js/spoiler.js" >}} + {{< content-end >}} diff --git a/content/resources/installation-guide/index.md b/content/resources/installation-guide/index.md index ad2b673d2..ab33af864 100644 --- a/content/resources/installation-guide/index.md +++ b/content/resources/installation-guide/index.md @@ -161,7 +161,7 @@ Our main repository contains multiple lines of packages for several versions of For Ubuntu we also used to have extra packages in a separate repository that are based on [ubuntugis](https://launchpad.net/~ubuntugis), which held more uptodate versions of other GIS packages than Ubuntu itself for LTS versions. If you want those you also need to include ubuntugis-unstable ppa in your /etc/apt/sources.list.d/qgis.list file (see [ubuntugis documentation](https://trac.osgeo.org/ubuntugis/wiki/UbuntuGISRepository)). -{{< rich-box icon="đ" layoutClass="tips">}} +{{< rich-box icon="đ" layoutClass="tips" mode="html" >}} {{< rich-content themeClass="coloring-1" >}} ##### Note The release packages are only produced once shortly after a new version has been released. As unstable, not yet released debian versions (testing) and ubuntugis-unstable can have library changes the packages might sooner or later be broken for these targets, when the development in debian, ubuntu or ubuntugis-unstable moves on and their packages used as dependencies in qgis change. In that event you can either diff --git a/content/resources/releases.md b/content/resources/releases.md new file mode 100644 index 000000000..a4f16e026 --- /dev/null +++ b/content/resources/releases.md @@ -0,0 +1,42 @@ +--- +type: "page" +title: "Releases" +subtitle: "" +draft: false +sidebar: true +--- + +{{< content-start >}} + +# List of Releases + +Previous releases of QGIS are still available [here](https://qgis.org/downloads) - including older releases for OS X [here](https://qgis.org/downloads/macOS/). + +More older releases are available [here](https://download.osgeo.org/qgis/) and for OS X [here](https://www.kyngchaos.com/software/archive/). + +Plugins for QGIS are also available [here](https://plugins.qgis.org/plugins/). + +# Tests + +Both QGIS and QGIS server are being tested via all kind of ways. + +From build tests (github workflows) and code unit tests to OGC conformance testing. + + + + + + + + + + + +See [Unit testing](https://docs.qgis.org/testing/en/docs/developers_guide/unittesting.html) + + +See [OGC conformance testing](https://docs.qgis.org/testing/en/docs/developers_guide/ogcconformancetesting.html) for more information and how to run these tests yourself. + +Recent tests output can be found here: http://test.qgis.org/ogc_cite. For latest WMS 1.3.0 test see http://test.qgis.org/ogc_cite/wms_130/latest/report.html and for WFS 1.1.0 see http://test.qgis.org/ogc_cite/wfs_110/latest/report.html. + +{{< content-end >}} diff --git a/content/resources/reports/index.md b/content/resources/reports/index.md index 4a774d609..82b8211c9 100644 --- a/content/resources/reports/index.md +++ b/content/resources/reports/index.md @@ -12,7 +12,29 @@ sidebar: true Some reports are generated on a daily basis to monitor the status of QGIS Server. -- [OGC Certification](https://qgis.org/en/site/getinvolved/daily_reports/ogc.html) -- [Performance](https://qgis.org/en/site/getinvolved/daily_reports/performance.html) +## OGC Certification + +QGIS Server 3.28 is currently certified for WMS 1.3.0 (see [OGC Reference Implementation](http://www.opengeospatial.org/resource/products)). + +![](qgis_server_wms_ogc_badge.png) + +In order to keep an eye on regressions, OGC tests are run on a daily basis on the **master** branch. Corresponding reports are generated for several OGC testsuites: + +- WMS 1.3.0 : http://test.qgis.org/ogc_cite/wms_130/ + +- OGC API Features (aka WFS 3) : http://test.qgis.org/ogc_cite/ogcapif/ + +- WFS 1.1.0 : http://test.qgis.org/ogc_cite/wfs_110/ + + +Latest reports are [WMS 1.3.0](http://test.qgis.org/ogc_cite/wms_130/latest/report.html) and [WFS 1.1.0](http://test.qgis.org/ogc_cite/wfs_110/latest/report.html). + +## Performance + +At the moment, two tools are living together to test and generate performance reports. + +The first one is [MS-Perfs](https://github.com/camptocamp/ms_perfs) which allows to compare QGIS Server with other map servers (like GeoServer or MapServer). Reports are generated weekly and available [here](http://test.qgis.org/perf_test/ms_perf/). + +The second one is [Graffiti](https://github.com/pblottiere/graffiti), allowing to generate a performance report between several versions of QGIS Server and/or specific project options (parallel rendering effect, trust option, and so on). Reports are also generated daily and available [in](http://test.qgis.org/perf_test/graffiti/). Note that [QGIS-Server-PerfSuite](https://github.com/Oslandia/QGIS-Server-PerfSuite) project is the deployment infrastructure to run Graffiti in continuous integration. {{< content-end >}} diff --git a/content/resources/reports/qgis_server_wms_ogc_badge.png b/content/resources/reports/qgis_server_wms_ogc_badge.png new file mode 100644 index 000000000..006631800 Binary files /dev/null and b/content/resources/reports/qgis_server_wms_ogc_badge.png differ diff --git a/content/resources/roadmap.md b/content/resources/roadmap.md index 8948d7fc1..d037db6ad 100644 --- a/content/resources/roadmap.md +++ b/content/resources/roadmap.md @@ -28,7 +28,7 @@ In the development phase, developers work on adding new features for the next re In the feature freeze phase, new features are not allowed in anymore and the focus of everyone moves from enhancing QGIS to stabilizing it. This also turns the nightly builds effectively into [prereleases](#qgis-prereleases). -**Users** should start extensive testing of these prereleases in their environment to verify that there are no issues, they wouldnât want to see in the upcoming release. All such issues should be reported (see [Bugs, Features and Issues](https://qgis.org/en/site/getinvolved/development/bugreporting.html#qgis-bugreporting)). Everything that goes unnoticed, will also end up in the next release. Only in case of serious problems backports to a latest release will occur. Therefore testing of the prereleases and reporting issues is very important. +**Users** should start extensive testing of these prereleases in their environment to verify that there are no issues, they wouldnât want to see in the upcoming release. All such issues should be reported (see [Bugs, Features and Issues]({{< ref "resources/support/bug-reporting" >}})). Everything that goes unnoticed, will also end up in the next release. Only in case of serious problems backports to a latest release will occur. Therefore testing of the prereleases and reporting issues is very important. In the feature freeze, **developers** monitor the bugtracker and start working on fixing the reported issues and update the **visual changelog** with the features they added. @@ -58,71 +58,28 @@ In the first four months after its release, a new LTR is also the current LR. In This schedule is also available as [âiCalendarâ](https://qgis.org/schedule.ics). -Schedule - -TODO: should be generated from CSV - -|Event|Latest|Long-Term Repo|Freeze|Date|Week #|Weeks| -|---|---|---|---|---|---|---| -|LTR/PR|3.28.0|3.22.12||2022-10-21|43|4| -|PR|3.28.1|3.22.13||2022-11-18|47|4| -|PR|3.28.2|3.22.14||2022-12-16|51|6| -|PR/FF|3.28.3|3.22.15|3.29|2023-01-27|5|5| -|EPR||3.22.16||2023-02-03|6|| -|LR/PR|3.30.0|3.28.4||2023-03-03|10|4| -|PR|3.30.1|3.28.5||2023-03-31|14|4| -|PR|3.30.2|3.28.6||2023-04-28|18|4| -|PR/FF|3.30.3|3.28.7|3.31|2023-05-26|22|4| -|LR/PR|3.32.0|3.28.8||2023-06-23|26|4| -|PR|3.32.1|3.28.9||2023-07-21|30|4| -|PR|3.32.2|3.28.10||2023-08-18|34|4| -|PR/FF|3.32.3|3.28.11|3.33|2023-09-15|38|6| -|LTR/PR|3.34.0|3.28.12||2023-10-27|44|4| -|PR|3.34.1|3.28.13||2023-11-24|48|4| -|PR|3.34.2|3.28.14||2023-12-22|52|4| -|PR/FF|3.34.3|3.28.15|3.35|2024-01-19|3|5| -|LR/PR|3.36.0|3.34.4||2024-02-23|8|4| -|PR|3.36.1|3.34.5||2024-03-22|12|4| -|PR|3.36.2|3.34.6||2024-04-19|16|4| -|PR/FF|3.36.3|3.34.7|3.37|2024-05-17|20|5| -|LR/PR|3.38.0|3.34.8||2024-06-21|25|4| -|PR|3.38.1|3.34.9||2024-07-19|29|4| -|PR|3.38.2|3.34.10||2024-08-16|33|4| -|PR/FF|3.38.3|3.34.11|3.39|2024-09-13|37|6| -|LTR/PR|3.40.0|3.34.12||2024-10-25|43|4| -|PR|3.40.1|3.34.13||2024-11-22|47|4| -|PR|3.40.2|3.34.14||2024-12-20|51|4| -|PR/FF|3.40.3|3.34.15|3.41|2025-01-17|3|5| -|LR/PR|3.42.0|3.40.4||2025-02-21|8|4| -|PR|3.42.1|3.40.5||2025-03-21|12|4| -|PR|3.42.2|3.40.6||2025-04-18|16|4| -|PR/FF|3.42.3|3.40.7|3.43|2025-05-16|20|5| -|LR/PR|3.44.0|3.40.8||2025-06-20|25|4| -|PR|3.44.1|3.40.9||2025-07-18|29|4| -|PR|3.44.2|3.40.10||2025-08-15|33|4| -|PR/FF|3.44.3|3.40.11|3.45|2025-09-12|37|6| -|LTR/PR|3.46.0|3.40.12||2025-10-24|43|4| -|PR|3.46.1|3.40.13||2025-11-21|47|4| -|PR|3.46.2|3.40.14||2025-12-19|51|4| -|PR/FF|3.46.3|3.40.15||2026-01-16|3|5| - -Event legend -|Event|Description| -|---|---| -|LTR|Long term release, begin of new development phase| -|LR|Regular release, begin of new development phase| -|FF|Feature freeze, end of development phase| -|PR|Point release of latest release and LTR branch| -|EPR|Extra Point release| -|current|currently supported releases: 3.28.15 and 3.34.3| -|next|next releases| +### Schedule + +{{< csv-table file="csv/schedule.csv" />}} + +### Event legend + +{{< csv-table >}} +"LTR","Long term release, begin of new development phase" +"LR","Regular release, begin of new development phase" +"FF","Feature freeze, end of development phase" +"PR","Point release of latest release and LTR branch" +"EPR","Extra Point release" +":rm-current:current",":rm-current:currently supported releases: |ltrrelease| and |release|" +":rm-next:next",":rm-next:next releases" +{{< /csv-table >}} ## Location of prereleases / nightly builds {#qgis-prereleases} |Platform|Location| |---|---| -|Windows|[OSGeo4W](../installation-guide/#qgis-windows-testing)| -|Linux|[Debian/Ubuntu](../installation-guide/#qgis-debian-testing)| -|MacOS|[Mac OS](../installation-guide/#qgis-macos-testing)| +|Windows|[OSGeo4W]({{< ref "resources/installation-guide#osgeo4w-installer" >}})| +|Linux|[Debian/Ubuntu]({{< ref "resources/installation-guide#repositories" >}})| +|MacOS|[Mac OS]({{< ref "resources/installation-guide#qgis-nightly-release" >}})| {{< content-end >}} diff --git a/content/resources/support.md b/content/resources/support.md index faae23ae8..ed6a5e9b0 100644 --- a/content/resources/support.md +++ b/content/resources/support.md @@ -10,47 +10,43 @@ sidebar: true # Support -## FAQ - -TODO https://qgis.org/en/site/getinvolved/faq/index.html#how-to-ask-a-qgis-question - ## Mailing Lists -QGIS has a bunch of mailing lists. See [Mailing lists](https://qgis.org/en/site/getinvolved/mailinglists.html#qgis-mailinglists) for the different available lists. +QGIS has a bunch of mailing lists. See [Mailing lists]({{< ref "community/organisation/mailinglists" >}}) for the different available lists. -If you are going to ask questions please read this: [How to ask a QGIS question?](https://qgis.org/en/site/getinvolved/faq/index.html#how-to-ask-a-qgis-question). +If you are going to ask questions please read this: [How to ask a QGIS question?](faq/#how-to-ask-a-qgis-question). ## StackExchange -On [http://gis.stackexchange.com](http://gis.stackexchange.com) you can ask QGIS questions also. If you use the tag `qgis` youâll see all QGIS related questions and answers: [http://gis.stackexchange.com/?tags=qgis](http://gis.stackexchange.com/?tags=qgis) +On http://gis.stackexchange.com you can ask QGIS questions also. If you use the tag `qgis` youâll see all QGIS related questions and answers: http://gis.stackexchange.com/?tags=qgis ## Communication channels ### Telegram -There is a lot of user and community related chat (english spoken) on the Telegram channel you can join here: [https://t.me/joinchat/Aq2V5RPoxYYhXqUPoxRWPQ](https://t.me/joinchat/Aq2V5RPoxYYhXqUPoxRWPQ) +There is a lot of user and community related chat (english spoken) on the Telegram channel you can join here: https://t.me/joinchat/Aq2V5RPoxYYhXqUPoxRWPQ To join: install Telegram on your phone, register and join via link above. -There is also a web version ([https://web.telegram.org](https://web.telegram.org)) which you can join in the browser (after you joined telegram via your phone(number)). +There is also a web version (https://web.telegram.org) which you can join in the browser (after you joined telegram via your phone(number)). ### Matrix / IRC -Matrix ([https://matrix.org](https://matrix.org)) is a project for decentralised chat. QGIS has a room accessible by the **#qgis:osgeo.org** alias (among others) which bridges to the libera.chat **#qgis** IRC channel. +Matrix (https://matrix.org) is a project for decentralised chat. QGIS has a room accessible by the **#qgis:osgeo.org** alias (among others) which bridges to the libera.chat **#qgis** IRC channel. -To use Matrix: create an account (at matrix.org is easiest, but if you have an OSGeo account you can also [use your OSGeo id as matrix id](https://wiki.osgeo.org/wiki/Matrix#Connecting_to_the_OSGeo_Matrix_Homeserver)), install a client (Elements is easiest, but see [https://matrix.org/docs/projects/try-matrix-now/#clients](https://matrix.org/docs/projects/try-matrix-now/#clients) for more), OR point your browser to [https://matrix.to/#/#qgis:osgeo.org](https://matrix.to/#/#qgis:osgeo.org) +To use Matrix: create an account (at matrix.org is easiest, but if you have an OSGeo account you can also [use your OSGeo id as matrix id](https://wiki.osgeo.org/wiki/Matrix#Connecting_to_the_OSGeo_Matrix_Homeserver)), install a client (Elements is easiest, but see https://matrix.org/docs/projects/try-matrix-now/#clients for more), OR point your browser to https://matrix.to/#/#qgis:osgeo.org -To use IRC: install an IRC client and connect to [irc://irc.libera.chat/#qgis](irc://irc.libera.chat/#qgis) or point your browser to [https://web.libera.chat/?channels=#qgis](https://web.libera.chat/?channels=#qgis) +To use IRC: install an IRC client and connect to irc://irc.libera.chat/#qgis or point your browser to https://web.libera.chat/?channels=#qgis ### Facebook -For Facebook users, an english-speaking global community group for QGIS users can be found at [https://www.facebook.com/groups/qgiscommunityofficialvirtualgroup](https://www.facebook.com/groups/qgiscommunityofficialvirtualgroup) +For Facebook users, an english-speaking global community group for QGIS users can be found at https://www.facebook.com/groups/qgiscommunityofficialvirtualgroup ## User Groups Local QGIS user groups are a great place to meet other users. -See [User Groups](../../community/organisation/groups/) to read about it. +See [User Groups]({{< ref "community/organisation/groups" >}}) to read about it. ## Website diff --git a/content/resources/support/bug-reporting.md b/content/resources/support/bug-reporting.md index 1530aaba7..9206ce520 100644 --- a/content/resources/support/bug-reporting.md +++ b/content/resources/support/bug-reporting.md @@ -18,14 +18,14 @@ Each part of the QGIS Project has a dedicated place where issues (feature reques |Place you found the bug or request a feature for|Place to report the issue| |---|---| -|Applications (QGIS Desktop, QGIS Server)|[https://github.com/qgis/QGIS/issues](https://github.com/qgis/QGIS/issues)| -|QGIS Website ([https://qgis.org](https://qgis.org))|[https://github.com/qgis/QGIS-Website/issues](https://github.com/qgis/QGIS-Website/issues)| -|QGIS Documentation ([https://docs.qgis.org](https://docs.qgis.org))|[https://github.com/qgis/QGIS-Documentation/issues](https://github.com/qgis/QGIS-Documentation/issues)| -|C++ API ([https://qgis.org/api](https://qgis.org/api))|[https://github.com/qgis/QGIS/issues](https://github.com/qgis/QGIS/issues)| -|PyQGIS API ([https://qgis.org/pyqgis](https://qgis.org/pyqgis))|[https://github.com/qgis/QGIS/issues](https://github.com/qgis/QGIS/issues) (for contents) and [https://github.com/qgis/pyqgis/issues](https://github.com/qgis/pyqgis/issues) (for formatting)| +|Applications (QGIS Desktop, QGIS Server)|https://github.com/qgis/QGIS/issues| +|QGIS Website (https://qgis.org)|https://github.com/qgis/QGIS-Website/issues| +|QGIS Documentation (https://docs.qgis.org)|https://github.com/qgis/QGIS-Documentation/issues| +|C++ API (https://qgis.org/api)|https://github.com/qgis/QGIS/issues| +|PyQGIS API (https://qgis.org/pyqgis)|https://github.com/qgis/QGIS/issues (for contents) and https://github.com/qgis/pyqgis/issues (for formatting)| |External plugins|The author repository set in the plugin description| -For help and questions, please contact the [Mailing lists](https://qgis.org/en/site/getinvolved/mailinglists.html#qgis-mailinglists). +For help and questions, please contact the [Mailing lists]({{< ref "community/organisation/mailinglists" >}}). ## Reporting issues on QGIS applications @@ -33,7 +33,7 @@ QGIS applications (QGIS Desktop and QGIS Server) issues are available in [Github ### Before reporting an issue -Before filing an issue, verify that you are running the currently supported versions 3.28.15 or 3.34.3 or the development version 3.35 (see also [Release schedule](https://qgis.org/en/site/getinvolved/development/roadmap.html#qgis-release-schedule)) and review the currently open issues to make sure that you arenât creating a duplicate. If you have additional information on an issue, you can add it to the existing ticket. Third party plugins might also cause problems. If you have installed any, you should also verify that the problem is still reproducible without them. Please donât report multiple unrelated bugs in a single bug report. +Before filing an issue, verify that you are running the currently supported versions 3.28.15 or 3.34.3 or the development version 3.35 (see also [Release schedule]({{< ref "resources/roadmap#release-schedule" >}})) and review the currently open issues to make sure that you arenât creating a duplicate. If you have additional information on an issue, you can add it to the existing ticket. Third party plugins might also cause problems. If you have installed any, you should also verify that the problem is still reproducible without them. Please donât report multiple unrelated bugs in a single bug report. When youâre are logged in, a `New Issue` button is available. Select it and follow the instructions there. @@ -78,9 +78,9 @@ To get started, first [Create a GitHub account](https://github.com/join). Then, choose the appropriate repository: -- [https://github.com/qgis/QGIS-Documentation/issues](https://github.com/qgis/QGIS-Documentation/issues) for QGIS documentation +- https://github.com/qgis/QGIS-Documentation/issues for QGIS documentation -- [https://github.com/qgis/QGIS-Website/issues](https://github.com/qgis/QGIS-Website/issues) for the web site +- https://github.com/qgis/QGIS-Website/issues for the web site Check if the issue youâd like to report is not already entered. @@ -110,11 +110,11 @@ Most of the plugins in QGIS are published in the official [QGIS Plugins reposito In addition to issue report, you can help to fix issues. Fixing issues is done in GitHub through pull requests. You need to [fork the repository](https://help.github.com/articles/working-with-forks/) you want to contribute to and submit pull requests at: -- [https://github.com/qgis/QGIS](https://github.com/qgis/QGIS) for QGIS Desktop or QGIS Server applications +- https://github.com/qgis/QGIS for QGIS Desktop or QGIS Server applications -- [https://github.com/qgis/QGIS-Website](https://github.com/qgis/QGIS-Website) for the web site at [https://qgis.org](https://qgis.org) +- https://github.com/qgis/QGIS-Website for the web site at https://qgis.org -- [https://github.com/qgis/QGIS-Documentation](https://github.com/qgis/QGIS-Documentation) for the documentation available at [https://docs.qgis.org](https://docs.qgis.org) +- https://github.com/qgis/QGIS-Documentation for the documentation available at https://docs.qgis.org You can find a few guidelines that will help you to easily get your patches and pull requests into QGIS projects at [Submitting Pull Requests](https://docs.qgis.org/testing/en/docs/developers_guide/git.html#submitting-pull-requests). And more widely, You may need to read the [Development Process](https://docs.qgis.org/testing/en/docs/developers_guide/git.html) chapter. diff --git a/content/resources/support/faq.md b/content/resources/support/faq.md new file mode 100644 index 000000000..34d4a4eb3 --- /dev/null +++ b/content/resources/support/faq.md @@ -0,0 +1,166 @@ +--- +type: "page" +title: "FAQ" +subtitle: "" +draft: false +sidebar: true +--- + +{{< content-start >}} + +# FAQ + +Here we collect answers to question which come up very often. + +We will start of with this one page, maybe restructure it into sections, or +even more pages if needed + +## User + +### Downloading issues + +If you are trying to download QGIS and nothing seems to happen, please consult the download manager of your browser. +It can usually be found as an icon (based on arrow, stop-watch or pie-chart) at the top-right corner of your browser window. +Click on the icon to see the download progress or cancel the download. The normal procedure with downloads in the +browser is such, that it first asks you where to save the file (with a file browser dialogue) and then you have to wait +until the download is finished. Because QGIS install packages, depending on the operating system, can be rather large +you have to be patient. The download size can be anywhere between several hundred megabytes to sometimes more than +one gigabyte (in case of MS Windows MSI packages). Depending on your download speed and the QGIS server load, downloads +can take from several minutes up to several hours. + +### I have to donate in order to download QGIS +This is a misconception that we hear from time to time, but it is not true. Donating to QGIS is optional. +After downloading QGIS, there is a message appearing, reminding that you can optionally donate to QGIS. However, you can press +"Close this message" and continue downloading without any problem. We want QGIS to be accessible to anyone, no matter +how your financial situation might be. If you are a first-time QGIS user, we recommend that you download, install and test +QGIS first and find out if the software is useful for the tasks you want to solve. Only if you like QGIS and it +substantially helps with your business, tasks or processes, you should think about donating towards QGIS or +supporting it as a sustaining member. + +### How to ask a QGIS question? +If you are going to ask QGIS related question via the [mailing lists]({{< ref "community/organisation/mailinglists" >}}), +please provide enough information to help others easily understand what your problem is. +Without a clear and precise question, it is very hard to answer for anybody or +takes just too much time because the answer will be a question to you etc etc. +You may provide information such as: + +- preferably a descriptive title for your email +- which QGIS version you used at that moment (exact) +- what are you expecting to get +- if applicable, what have you tried and the result you got +- if your question is about something broken, you may also provide: + + - what exactly is the error (if possible: screendump, stacktrace, copy of error text) + - which Operating System and version + - how you installed it (osgeo4w? standalone-installer? own build?) + - at what time did it break (reinstall, new install, system update, project changes) + +Keep in mind that the more precise is your question, the quicker and more +accurate can be the answer. + +{{< rich-box icon="đ" layoutClass="tips" mode="html">}} +{{< rich-content themeClass="coloring-1" >}} +##### Note +In case of a broken function, you may give a look at [QGIS issue tracker](https://github.com/qgis/QGIS/issues) before mailing to the list. More information at [bug-reporting]({{< ref "resources/support/bug-reporting" >}}). +{{< /rich-content >}} +{{< /rich-box >}} + +### How are QGIS release names selected? +After a successful developer meeting in Zurich (Switzerland), we decided that +the next release should be related to it. Since then, all releases have been named +after locations of our developer meetings. + +### How to cite QGIS? + +To cite QGIS in your piece of work, or for an assignment, please use citation type that can be more helpful: + + +**Cite the QGIS project in general** + + +QGIS.org, |yeartag|. QGIS Geographic Information System. QGIS Association. http://www.qgis.org + + +**Cite the QGIS Developers Manual** + + +QGIS.org, |yeartag|. QGIS |ltrversion|. Geographic Information System Developers Manual. QGIS Association. +Electronic document: |devcite| + + +**Cite the QGIS Installation Guide** + + +QGIS.org, |yeartag|. QGIS |ltrversion|. Geographic Information System Installation Guide. QGIS Association. +Electronic document: https://github.com/qgis/QGIS/blob/master/INSTALL.md + + +**Cite the QGIS User Guide** + + +QGIS.org, |yeartag|. QGIS |ltrversion|. Geographic Information System User Guide. QGIS Association. +Electronic document: |userguidecite| + +**Cite the QGIS Server Documentation** + +QGIS.org, |yeartag|. QGIS |ltrversion|. Geographic Information System API Documentation. QGIS Association. +Electronic document: |servercite| + + +**Cite the QGIS API Documentation** + + +QGIS.org, |yeartag|. QGIS |ltrversion|. Geographic Information System API Documentation. QGIS Association. +Electronic document: |apicite| + + + + + +**Preferred format:** [BibTeX](https://en.wikipedia.org/wiki/BibTeX) + + +Example BibTeX entry: + +``` + @Manual{QGIS_software, + title = {QGIS Geographic Information System}, + author = {{QGIS Development Team}}, + organization = {QGIS Association}, + year = {|yeartag|}, + url = {https://www.qgis.org}, + } +``` + +### I created a map with QGIS, do I have to mention QGIS? +There is no requirement to mention QGIS for maps produced with it. +It is of course really welcome if would like to add a note saying that the map was produced with QGIS. +"Made with QGIS" or "Map created using the Free and Open Source QGIS" are good examples of such a note. + +{{< rich-box icon="â" layoutClass="tips" >}} +{{< rich-content themeClass="coloring-1" >}} +##### Note + +Do not say ©QGIS as QGIS does not hold copyrights on your work. +{{< /rich-content >}} +{{< /rich-box >}} + +### Can I open ECW files with QGIS? +Yes you can... BUT depending on your Operating System, it is more or less difficult. + +If you are under Windows and are using the OSGeo4w installer, it is included. + +If you are using macOS, you can find the ECW plugin and install instructions at +https://www.kyngchaos.com/software/frameworks + +For other instructions, eg look here: https://www.faunalia.eu/en/blog/2019-05-21_ecw_support + + +### Development + +### Can I compile QGIS myself? + +Yes, compiling QGIS from source is possible whatever OS you use (Windows, OS X, +Linux). Please read [Building QGIS from source](https://github.com/qgis/QGIS/blob/master/INSTALL.md) + +{{< content-end >}} diff --git a/csv/schedule.csv b/csv/schedule.csv new file mode 100644 index 000000000..c16810564 --- /dev/null +++ b/csv/schedule.csv @@ -0,0 +1,43 @@ +"Event","Latest","Long-Term Repo","Freeze","Date","Week #","Weeks" +"LTR/PR",":rm-past:3.28.0",":rm-past:3.22.12","","2022-10-21","43","4" +"PR",":rm-past:3.28.1",":rm-past:3.22.13","","2022-11-18","47","4" +"PR",":rm-past:3.28.2",":rm-past:3.22.14","","2022-12-16","51","6" +"PR/FF",":rm-past:3.28.3",":rm-past:3.22.15","3.29","2023-01-27","5","5" +"EPR","",":rm-past:3.22.16","","2023-02-03","6","" +"LR/PR",":rm-past:3.30.0",":rm-past:3.28.4","","2023-03-03","10","4" +"PR",":rm-past:3.30.1",":rm-past:3.28.5","","2023-03-31","14","4" +"PR",":rm-past:3.30.2",":rm-past:3.28.6","","2023-04-28","18","4" +"PR/FF",":rm-past:3.30.3",":rm-past:3.28.7","3.31","2023-05-26","22","4" +"LR/PR",":rm-past:3.32.0",":rm-past:3.28.8","","2023-06-23","26","4" +"PR",":rm-past:3.32.1",":rm-past:3.28.9","","2023-07-21","30","4" +"PR",":rm-past:3.32.2",":rm-past:3.28.10","","2023-08-18","34","4" +"PR/FF",":rm-past:3.32.3",":rm-past:3.28.11","3.33","2023-09-15","38","6" +"LTR/PR",":rm-past:3.34.0",":rm-past:3.28.12","","2023-10-27","44","4" +"PR",":rm-past:3.34.1",":rm-past:3.28.13","","2023-11-24","48","4" +"PR",":rm-past:3.34.2",":rm-past:3.28.14","","2023-12-22","52","4" +":rm-current:PR/FF",":rm-current:3.34.3",":rm-current:3.28.15","3.35","2024-01-19","3","5" +"LR/PR",":rm-next:3.36.0",":rm-next:3.34.4","","2024-02-23","8","4" +"PR",":rm-future:3.36.1",":rm-future:3.34.5","","2024-03-22","12","4" +"PR",":rm-future:3.36.2",":rm-future:3.34.6","","2024-04-19","16","4" +"PR/FF",":rm-future:3.36.3",":rm-future:3.34.7","3.37","2024-05-17","20","5" +"LR/PR",":rm-future:3.38.0",":rm-future:3.34.8","","2024-06-21","25","4" +"PR",":rm-future:3.38.1",":rm-future:3.34.9","","2024-07-19","29","4" +"PR",":rm-future:3.38.2",":rm-future:3.34.10","","2024-08-16","33","4" +"PR/FF",":rm-future:3.38.3",":rm-future:3.34.11","3.39","2024-09-13","37","6" +"LTR/PR",":rm-future:3.40.0",":rm-future:3.34.12","","2024-10-25","43","4" +"PR",":rm-future:3.40.1",":rm-future:3.34.13","","2024-11-22","47","4" +"PR",":rm-future:3.40.2",":rm-future:3.34.14","","2024-12-20","51","4" +"PR/FF",":rm-future:3.40.3",":rm-future:3.34.15","3.41","2025-01-17","3","5" +"LR/PR",":rm-future:3.42.0",":rm-future:3.40.4","","2025-02-21","8","4" +"PR",":rm-future:3.42.1",":rm-future:3.40.5","","2025-03-21","12","4" +"PR",":rm-future:3.42.2",":rm-future:3.40.6","","2025-04-18","16","4" +"PR/FF",":rm-future:3.42.3",":rm-future:3.40.7","3.43","2025-05-16","20","5" +"LR/PR",":rm-future:3.44.0",":rm-future:3.40.8","","2025-06-20","25","4" +"PR",":rm-future:3.44.1",":rm-future:3.40.9","","2025-07-18","29","4" +"PR",":rm-future:3.44.2",":rm-future:3.40.10","","2025-08-15","33","4" +"PR/FF",":rm-future:3.44.3",":rm-future:3.40.11","3.45","2025-09-12","37","6" +"LTR/PR",":rm-future:3.46.0",":rm-future:3.40.12","","2025-10-24","43","4" +"PR",":rm-future:3.46.1",":rm-future:3.40.13","","2025-11-21","47","4" +"PR",":rm-future:3.46.2",":rm-future:3.40.14","","2025-12-19","51","4" +"PR/FF",":rm-future:3.46.3",":rm-future:3.40.15","","2026-01-16","3","5" + diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html index 30e63c52a..ec9ad0db4 100644 --- a/layouts/_default/_markup/render-link.html +++ b/layouts/_default/_markup/render-link.html @@ -1 +1,12 @@ -{{ .Text | safeHTML }} \ No newline at end of file +{{ .Text | safeHTML }} \ No newline at end of file diff --git a/scripts/schedule.ics b/scripts/schedule.ics new file mode 100644 index 000000000..5885a900b --- /dev/null +++ b/scripts/schedule.ics @@ -0,0 +1,733 @@ +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Release Schedule//qgis.org// +SUMMARY:QGIS Release Schedule +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.22.12 +DTSTART:20221021T120000Z +DTEND:20221021T120000Z +UID:pr-3.22.12@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Long-term release 3.28.0 +DTSTART:20221021T120000Z +DTEND:20221021T120000Z +UID:ltr-3.28.0@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.22.13 +DTSTART:20221118T120000Z +DTEND:20221118T120000Z +UID:pr-3.22.13@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.1 +DTSTART:20221118T120000Z +DTEND:20221118T120000Z +UID:pr-3.28.1@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.22.14 +DTSTART:20221216T120000Z +DTEND:20221216T120000Z +UID:pr-3.22.14@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.2 +DTSTART:20221216T120000Z +DTEND:20221216T120000Z +UID:pr-3.28.2@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.29 +DTSTART:20230127T120000Z +DTEND:20230127T120000Z +UID:ff-3.29@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.22.15 +DTSTART:20230127T120000Z +DTEND:20230127T120000Z +UID:pr-3.22.15@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.3 +DTSTART:20230127T120000Z +DTEND:20230127T120000Z +UID:pr-3.28.3@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Extra point release 3.22.16 +DTSTART:20230203T120000Z +DTEND:20230203T120000Z +UID:epr-3.22.16@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230203T155717Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.4 +DTSTART:20230303T120000Z +DTEND:20230303T120000Z +UID:pr-3.28.4@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Regular release 3.30.0 +DTSTART:20230303T120000Z +DTEND:20230303T120000Z +UID:lr-3.30.0@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.5 +DTSTART:20230331T120000Z +DTEND:20230331T120000Z +UID:pr-3.28.5@qgis.org +SEQUENCE:4 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.30.1 +DTSTART:20230331T120000Z +DTEND:20230331T120000Z +UID:pr-3.30.1@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.6 +DTSTART:20230428T120000Z +DTEND:20230428T120000Z +UID:pr-3.28.6@qgis.org +SEQUENCE:4 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.30.2 +DTSTART:20230428T120000Z +DTEND:20230428T120000Z +UID:pr-3.30.2@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.31 +DTSTART:20230526T120000Z +DTEND:20230526T120000Z +UID:ff-3.31@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.7 +DTSTART:20230526T120000Z +DTEND:20230526T120000Z +UID:pr-3.28.7@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.30.3 +DTSTART:20230526T120000Z +DTEND:20230526T120000Z +UID:pr-3.30.3@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.8 +DTSTART:20230623T120000Z +DTEND:20230623T120000Z +UID:pr-3.28.8@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Regular release 3.32.0 +DTSTART:20230623T120000Z +DTEND:20230623T120000Z +UID:lr-3.32.0@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.9 +DTSTART:20230721T120000Z +DTEND:20230721T120000Z +UID:pr-3.28.9@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.32.1 +DTSTART:20230721T120000Z +DTEND:20230721T120000Z +UID:pr-3.32.1@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.10 +DTSTART:20230818T120000Z +DTEND:20230818T120000Z +UID:pr-3.28.10@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.32.2 +DTSTART:20230818T120000Z +DTEND:20230818T120000Z +UID:pr-3.32.2@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.33 +DTSTART:20230915T120000Z +DTEND:20230915T120000Z +UID:ff-3.33@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.11 +DTSTART:20230915T120000Z +DTEND:20230915T120000Z +UID:pr-3.28.11@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.32.3 +DTSTART:20230915T120000Z +DTEND:20230915T120000Z +UID:pr-3.32.3@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.12 +DTSTART:20231027T120000Z +DTEND:20231027T120000Z +UID:pr-3.28.12@qgis.org +SEQUENCE:1 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Long-term release 3.34.0 +DTSTART:20231027T120000Z +DTEND:20231027T120000Z +UID:ltr-3.34.0@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.13 +DTSTART:20231124T120000Z +DTEND:20231124T120000Z +UID:pr-3.28.13@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.1 +DTSTART:20231124T120000Z +DTEND:20231124T120000Z +UID:pr-3.34.1@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.14 +DTSTART:20231222T120000Z +DTEND:20231222T120000Z +UID:pr-3.28.14@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.2 +DTSTART:20231222T120000Z +DTEND:20231222T120000Z +UID:pr-3.34.2@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.35 +DTSTART:20240119T120000Z +DTEND:20240119T120000Z +UID:ff-3.35@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.28.15 +DTSTART:20240119T120000Z +DTEND:20240119T120000Z +UID:pr-3.28.15@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.3 +DTSTART:20240119T120000Z +DTEND:20240119T120000Z +UID:pr-3.34.3@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.4 +DTSTART:20240223T120000Z +DTEND:20240223T120000Z +UID:pr-3.34.4@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Regular release 3.36.0 +DTSTART:20240223T120000Z +DTEND:20240223T120000Z +UID:lr-3.36.0@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.5 +DTSTART:20240322T120000Z +DTEND:20240322T120000Z +UID:pr-3.34.5@qgis.org +SEQUENCE:3 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.36.1 +DTSTART:20240322T120000Z +DTEND:20240322T120000Z +UID:pr-3.36.1@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.6 +DTSTART:20240419T120000Z +DTEND:20240419T120000Z +UID:pr-3.34.6@qgis.org +SEQUENCE:3 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.36.2 +DTSTART:20240419T120000Z +DTEND:20240419T120000Z +UID:pr-3.36.2@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.37 +DTSTART:20240517T120000Z +DTEND:20240517T120000Z +UID:ff-3.37@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.7 +DTSTART:20240517T120000Z +DTEND:20240517T120000Z +UID:pr-3.34.7@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230326T141243Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.36.3 +DTSTART:20240517T120000Z +DTEND:20240517T120000Z +UID:pr-3.36.3@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.8 +DTSTART:20240621T120000Z +DTEND:20240621T120000Z +UID:pr-3.34.8@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Regular release 3.38.0 +DTSTART:20240621T120000Z +DTEND:20240621T120000Z +UID:lr-3.38.0@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.9 +DTSTART:20240719T120000Z +DTEND:20240719T120000Z +UID:pr-3.34.9@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.38.1 +DTSTART:20240719T120000Z +DTEND:20240719T120000Z +UID:pr-3.38.1@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.10 +DTSTART:20240816T120000Z +DTEND:20240816T120000Z +UID:pr-3.34.10@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.38.2 +DTSTART:20240816T120000Z +DTEND:20240816T120000Z +UID:pr-3.38.2@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.39 +DTSTART:20240913T120000Z +DTEND:20240913T120000Z +UID:ff-3.39@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.11 +DTSTART:20240913T120000Z +DTEND:20240913T120000Z +UID:pr-3.34.11@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.38.3 +DTSTART:20240913T120000Z +DTEND:20240913T120000Z +UID:pr-3.38.3@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.12 +DTSTART:20241025T120000Z +DTEND:20241025T120000Z +UID:pr-3.34.12@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20230502T163434Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Long-term release 3.40.0 +DTSTART:20241025T120000Z +DTEND:20241025T120000Z +UID:ltr-3.40.0@qgis.org +SEQUENCE:2 +LAST-MODIFIED:20230130T113334Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.13 +DTSTART:20241122T120000Z +DTEND:20241122T120000Z +UID:pr-3.34.13@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.1 +DTSTART:20241122T120000Z +DTEND:20241122T120000Z +UID:pr-3.40.1@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.14 +DTSTART:20241220T120000Z +DTEND:20241220T120000Z +UID:pr-3.34.14@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.2 +DTSTART:20241220T120000Z +DTEND:20241220T120000Z +UID:pr-3.40.2@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.41 +DTSTART:20250117T120000Z +DTEND:20250117T120000Z +UID:ff-3.41@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.34.15 +DTSTART:20250117T120000Z +DTEND:20250117T120000Z +UID:pr-3.34.15@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.3 +DTSTART:20250117T120000Z +DTEND:20250117T120000Z +UID:pr-3.40.3@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.4 +DTSTART:20250221T120000Z +DTEND:20250221T120000Z +UID:pr-3.40.4@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Regular release 3.42.0 +DTSTART:20250221T120000Z +DTEND:20250221T120000Z +UID:lr-3.42.0@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.5 +DTSTART:20250321T120000Z +DTEND:20250321T120000Z +UID:pr-3.40.5@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.42.1 +DTSTART:20250321T120000Z +DTEND:20250321T120000Z +UID:pr-3.42.1@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.6 +DTSTART:20250418T120000Z +DTEND:20250418T120000Z +UID:pr-3.40.6@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.42.2 +DTSTART:20250418T120000Z +DTEND:20250418T120000Z +UID:pr-3.42.2@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.43 +DTSTART:20250516T120000Z +DTEND:20250516T120000Z +UID:ff-3.43@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.7 +DTSTART:20250516T120000Z +DTEND:20250516T120000Z +UID:pr-3.40.7@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.42.3 +DTSTART:20250516T120000Z +DTEND:20250516T120000Z +UID:pr-3.42.3@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.8 +DTSTART:20250620T120000Z +DTEND:20250620T120000Z +UID:pr-3.40.8@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Regular release 3.44.0 +DTSTART:20250620T120000Z +DTEND:20250620T120000Z +UID:lr-3.44.0@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.9 +DTSTART:20250718T120000Z +DTEND:20250718T120000Z +UID:pr-3.40.9@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.44.1 +DTSTART:20250718T120000Z +DTEND:20250718T120000Z +UID:pr-3.44.1@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.10 +DTSTART:20250815T120000Z +DTEND:20250815T120000Z +UID:pr-3.40.10@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.44.2 +DTSTART:20250815T120000Z +DTEND:20250815T120000Z +UID:pr-3.44.2@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze 3.45 +DTSTART:20250912T120000Z +DTEND:20250912T120000Z +UID:ff-3.45@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.11 +DTSTART:20250912T120000Z +DTEND:20250912T120000Z +UID:pr-3.40.11@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.44.3 +DTSTART:20250912T120000Z +DTEND:20250912T120000Z +UID:pr-3.44.3@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.12 +DTSTART:20251024T120000Z +DTEND:20251024T120000Z +UID:pr-3.40.12@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Long-term release 3.46.0 +DTSTART:20251024T120000Z +DTEND:20251024T120000Z +UID:ltr-3.46.0@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.13 +DTSTART:20251121T120000Z +DTEND:20251121T120000Z +UID:pr-3.40.13@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.46.1 +DTSTART:20251121T120000Z +DTEND:20251121T120000Z +UID:pr-3.46.1@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.14 +DTSTART:20251219T120000Z +DTEND:20251219T120000Z +UID:pr-3.40.14@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.46.2 +DTSTART:20251219T120000Z +DTEND:20251219T120000Z +UID:pr-3.46.2@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Feature Freeze +DTSTART:20260116T120000Z +DTEND:20260116T120000Z +UID:ff-@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.40.15 +DTSTART:20260116T120000Z +DTEND:20260116T120000Z +UID:pr-3.40.15@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +BEGIN:VEVENT +SUMMARY:QGIS Point release 3.46.3 +DTSTART:20260116T120000Z +DTEND:20260116T120000Z +UID:pr-3.46.3@qgis.org +SEQUENCE:0 +LAST-MODIFIED:20240119T134447Z +END:VEVENT +END:VCALENDAR diff --git a/scripts/schedule.py b/scripts/schedule.py new file mode 100644 index 000000000..5cd48da91 --- /dev/null +++ b/scripts/schedule.py @@ -0,0 +1,25 @@ +from datetime import date + +# latest release +version = '3.34' +release = '3.34.3' +codename = u'Prizren' +binary = '1' +releasedate = date(2024, 1, 19) +releasenote = u'\u200B' +shortver = u'334' + +# long term release repository +ltrversion = '3.28' +ltrrelease = '3.28.15' +ltrcodename = u'Firenze' +ltrbinary = '1' +ltrnote = u'LTR' + +devversion = '3.35' +nextversion = '3.36' +nextfreezedate = '2024-01-19 12:00:00 UTC' +nextreleasedate = '2024-02-23 12:00:00 UTC' +nextpointreleasedate = '2024-02-23 12:00:00 UTC' + +infeaturefreeze = True diff --git a/scripts/update-schedule.py b/scripts/update-schedule.py new file mode 100644 index 000000000..0d6d96a6a --- /dev/null +++ b/scripts/update-schedule.py @@ -0,0 +1,270 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +from urllib.request import urlopen +import csv +import os +import re +import codecs +from datetime import datetime, timedelta, timezone +from icalendar import Calendar, Event + +url = "https://docs.google.com/spreadsheets/u/1/d/1MOIjwon5eDI04DG6rX_HwucZkW1fxFJ0b_yB0xYETOE/export?format=csv&id=1MOIjwon5eDI04DG6rX_HwucZkW1fxFJ0b_yB0xYETOE&gid=1982100417#" + +cal = Calendar() +cal.add('prodid', '-//Release Schedule//qgis.org//') +cal.add('version', '2.0') +cal['summary'] = 'QGIS Release Schedule' + +resource = urlopen(url) +reader = csv.reader(codecs.iterdecode(resource, 'utf-8'), delimiter=',', quotechar='"') +first = True +f_date = None +pr_date = None +nr_date = None + +ltr_version = None +lr_version = None +lr_is_ltr = False +lr_date = None + +now = datetime.now(timezone.utc) + +ocal = Calendar.from_ical(open("scripts/schedule.ics").read()) + +oevents = {} +for e in ocal.walk('VEVENT'): + if 'uid' in e: + if 'sequence' not in e: + e.add('sequence', 0) + + oevents[e['uid']] = e + + +def adduid(ev, uid): + ev.add('uid', uid) + + if uid in oevents: + oe = oevents[uid] + seq = oe['sequence'] + ev.add('sequence', seq) + if 'last-modified' in oe: + ev.add('last-modified', oe['last-modified']) + + if oe.to_ical() != ev.to_ical(): + if 'last-modified' in ev: + del ev['last-modified'] + ev.add('last-modified', now) + ev['sequence'] += 1 + else: + ev.add('last-modified', now) + ev.add('sequence', 0) + + +rows = [] + +for row in reader: + if first: + first = False + continue + + event, _, _, _, _, _, _, _, _, date, weekno, weeks, lr, ltr, dev, ff, _ = row + + dt = datetime.strptime(date, '%Y-%m-%d').replace(tzinfo=timezone.utc) + timedelta(hours=12) + + if 'FF' in event: + e = Event() + e.add('summary', 'QGIS Feature Freeze {}'.format(dev)) + e.add('dtstart', dt) + e.add('dtend', dt) + adduid(e, 'ff-{}@qgis.org'.format(dev)) + cal.add_component(e) + + if 'SF' in event: + e = Event() + e.add('summary', 'QGIS Soft Freeze', dev) + e.add('dtstart', dt) + e.add('dtend', dt) + adduid(e, 'sf-{}@qgis.org'.format(dev)) + cal.add_component(e) + + if ltr: + label = 'Extra point release' if event == 'EPR' else 'Point release' + prefix = 'epr' if event == 'EPR' else 'pr' + + e = Event() + e.add('summary', 'QGIS {} {}'.format(label, ltr)) + e.add('dtstart', dt) + e.add('dtend', dt) + adduid(e, '{}-{}@qgis.org'.format(prefix, ltr)) + cal.add_component(e) + + if lr: + if 'LTR' in event: + label = 'Long-term release' + prefix = 'ltr' + elif 'LR' in event: + label = 'Regular release' + prefix = 'lr' + elif event == 'EPR': + label = 'Extra point release' + prefix = 'epr' + elif 'PR' in event: + label = 'Point release' + prefix = 'pr' + + e = Event() + e.add('summary', 'QGIS {} {}'.format(label, lr)) + e.add('dtstart', dt) + e.add('dtend', dt) + adduid(e, '{}-{}@qgis.org'.format(prefix, lr)) + cal.add_component(e) + + if ("FF" in event or "SF" in event) and nr_date is None: + f_date = dt + + if dt > now: + if "PR" in event and pr_date is None: + pr_date = dt + + if ("LR" in event or "LTR" in event) and nr_date is None: + nr_date = dt + else: + if ltr: + ltr_version = ltr + if lr: + lr_version = lr + lr_date = dt + + rows.append([event, lr, ltr, dev, date, weekno, weeks]) + +o = open("csv/schedule.csv", "w") + +o.write('"Event","Latest","Long-Term Repo","Freeze","Date","Week #","Weeks"\n') + +lr_style = "rm-past" +ltr_style = "rm-past" + +for event, lr, ltr, dev, date, weekno, weeks in rows: + if ltr == ltr_version: + ltr_style = "rm-current" + if lr == lr_version: + lr_style = "rm-current" + + o.write('"' + '","'.join([ + (":rm-current:{}" if "rm-current" in [ltr_style, lr_style] else "{}").format(event), + ":{}:{}".format(lr_style, lr) if lr else "", + ":{}:{}".format(ltr_style, ltr) if ltr else "", + dev, date, weekno, weeks + ]) + '"\n') + + if ltr_style == "rm-current": + ltr_style = "rm-next" + elif ltr_style == "rm-next" and ltr: + ltr_style = "rm-future" + + if lr_style == "rm-current": + lr_style = "rm-next" + elif lr_style == "rm-next" and lr: + lr_style = "rm-future" + +o.write("\n") + +o.close() + +url = "https://docs.google.com/spreadsheets/u/1/d/1MOIjwon5eDI04DG6rX_HwucZkW1fxFJ0b_yB0xYETOE/export?format=csv&id=1MOIjwon5eDI04DG6rX_HwucZkW1fxFJ0b_yB0xYETOE&gid=1060997136" + +resource = urlopen(url) +reader = csv.reader(codecs.iterdecode(resource, 'utf-8'), delimiter=',', quotechar='"') + +ltr_name = None +ltr_note = None +ltr_binary = None +lr_name = None +lr_note = None +lr_binary = None +devversion = None +nextversion = None + +for row in reader: + r, name, note, binary = row + if r == "LTR": + ltr_name, ltr_note, ltr_binary = name, note, binary + elif r == "LR": + lr_name, lr_note, lr_binary = name, note, binary + elif r == "DEV": + devversion = name + elif r == "NEXT": + nextversion = name + +for v, n in {ltr_version: ltr_name, lr_version: lr_name}.items(): + print(f"{v}:{n}") + url = "https://raw.githubusercontent.com/qgis/QGIS/release-{0}/CMakeLists.txt".format("_".join(v.split('.')[:2])) + cm = urlopen(url).read().decode('utf-8') + rn = re.search("^set\(RELEASE_NAME \"(.*)\"\)$", cm, re.MULTILINE).group(1) + assert n==rn, f"Expected {n}, found {rn}" + +assert lr_version.split(".") > ltr_version.split("."), f"LR {lr_version} not higher than {ltr_version}" +assert devversion.split(".") > lr_version.split("."), f"DEV {devversion} not higher than {lr_version}" + +o = open("scripts/schedule.py", "w") + +shortver = "".join(lr_version.split(".")[:2]) +for f in [ + # f"themes/qgis-theme/static/images/qgisorg_banner{shortver}.png", # TODO + f"content/product/visual-changelogs/visualchangelog{shortver}/index.md" +]: + assert os.path.exists(f), f"{f} not found" + +o.write("""\ +from datetime import date + +# latest release +version = '%(version)s' +release = '%(release)s' +codename = u'%(lr_name)s' +binary = '%(lr_binary)s' +releasedate = date(%(releasedate)s) +releasenote = u'%(lr_note)s' +shortver = u'%(shortver)s' + +# long term release repository +ltrversion = '%(ltrversion)s' +ltrrelease = '%(ltrrelease)s' +ltrcodename = u'%(ltr_name)s' +ltrbinary = '%(ltr_binary)s' +ltrnote = u'%(ltr_note)s' + +devversion = '%(devversion)s' +nextversion = '%(nextversion)s' +nextfreezedate = '%(nextfreezedate)s' +nextreleasedate = '%(nextreleasedate)s' +nextpointreleasedate = '%(nextpointreleasedate)s' + +infeaturefreeze = %(infeaturefreeze)s +""" % { + "version": ".".join(lr_version.split(".")[:2]), + "release": lr_version, + "releasedate": "{0}, {1}, {2}".format(lr_date.year, lr_date.month, lr_date.day), + "lr_binary": lr_binary, + "lr_name": lr_name.replace("'", "\\'"), + "lr_note": lr_note.replace("'", "\\'") if lr_note != '' else ('RC' if lr_version.split('.')[2] == '0' else '\\u200B'), + "ltrversion": ".".join(ltr_version.split(".")[:2]), + "ltrrelease": ltr_version, + "ltr_name": ltr_name.replace("'", "\\'"), + "ltr_binary": ltr_binary, + "ltr_note": ltr_note.replace("'", "\\'") if ltr_note != '' else 'LTR', + "shortver": shortver, + "devversion": devversion, + "nextversion": nextversion, + "nextfreezedate": f_date.strftime('%Y-%m-%d %H:%M:%S UTC') if f_date is not None else None, + "nextreleasedate": nr_date.strftime('%Y-%m-%d %H:%M:%S UTC') if nr_date is not None else None, + "nextpointreleasedate": pr_date.strftime('%Y-%m-%d %H:%M:%S UTC'), + "infeaturefreeze": "True" if f_date < now else "False" +}) + +o.close() + +o = open("scripts/schedule.ics", "wb") +o.write(cal.to_ical()) +o.close() diff --git a/themes/hugo-bulma-blocks-theme/assets/js/spoiler.js b/themes/hugo-bulma-blocks-theme/assets/js/spoiler.js new file mode 100644 index 000000000..37eead62f --- /dev/null +++ b/themes/hugo-bulma-blocks-theme/assets/js/spoiler.js @@ -0,0 +1,7 @@ +var spoilerLabels = document.querySelectorAll('.spoiler-label'); +spoilerLabels.forEach(function(label) { + label.addEventListener('click', function() { + var content = this.parentElement.querySelector('.content'); + content.classList.toggle('active'); + }); +}); diff --git a/themes/hugo-bulma-blocks-theme/assets/sass/bulma/components/_all.sass b/themes/hugo-bulma-blocks-theme/assets/sass/bulma/components/_all.sass index dbdd9458e..07d84bd3a 100644 --- a/themes/hugo-bulma-blocks-theme/assets/sass/bulma/components/_all.sass +++ b/themes/hugo-bulma-blocks-theme/assets/sass/bulma/components/_all.sass @@ -18,3 +18,4 @@ @import "sidebar" @import "richlist" @import "fund" +@import "roadmap" diff --git a/themes/hugo-bulma-blocks-theme/assets/sass/bulma/components/roadmap.sass b/themes/hugo-bulma-blocks-theme/assets/sass/bulma/components/roadmap.sass new file mode 100644 index 000000000..22d0544c4 --- /dev/null +++ b/themes/hugo-bulma-blocks-theme/assets/sass/bulma/components/roadmap.sass @@ -0,0 +1,16 @@ +.roadmap + .rm-past + color: gray + &:hover + color: black + .rm-future + color: gray + .rm-current + font-weight: 600 + color: green + .rm-next + font-weight: 600 + color: blue + tr:hover + background-color: lightgreen + color: white diff --git a/themes/hugo-bulma-blocks-theme/layouts/shortcodes/csv-table.html b/themes/hugo-bulma-blocks-theme/layouts/shortcodes/csv-table.html new file mode 100644 index 000000000..2dbffa1df --- /dev/null +++ b/themes/hugo-bulma-blocks-theme/layouts/shortcodes/csv-table.html @@ -0,0 +1,27 @@ +{{ $data := 0 }} +{{ with .Get "file" }} + {{ $data = getCSV "," . }} +{{ else }} + {{ $data = .Inner | unmarshal }} +{{ end }} +
{{ . }} | + {{ end }} +
---|
+ {{ . | replaceRE ":rm-\\w+:" "" }} + | + {{ end }} +