10+
January 21, 2026
June 3, 2021
An AMP compatible toolbox to help complete WordPress. Core features include:
Notice about Language support: While American English is supported natively, British English support is at 100% (generated). French and Spanish with all sublocales supported by WordPress benefit from internal translation, currently at 18% and 6% respectively. About one in four string instances are in sync with WordPress Core.
The A.N.R.GHG Publishing Toolkit can load and filter HTML partials from the file system, and it addresses the challenge to do by HTML and CSS things that used to be done by JavaScript, which was one reason the internet loaded slowly on mobiles and consumed more resources than with AMP technology. So far, the A.N.R.GHG Publishing Toolkit is not yet up to its full design goal, but it already can:
body element to ease customizing the aspect of specific pages.The A.N.R.GHG Publishing Toolkit aims to be one more Swiss Army knife to help complete any WordPress installation while reducing greenhouse gas emissions in multiple ways:
Beyond being fully AMP compatible, the A.N.R.GHG Publishing Toolkit’s features for the public pages stay functional where JavaScript is turned off, with one limitation: Expanding the table of contents from a heading backlink requires one click more.
Unless the hosting provider has set up VPS level security, shared hosting is prone to being hacked by web shell even if only a single one of the websites sharing the same server’s home directory is compromised. Therefore, the A.N.R.GHG Publishing Toolkit’s security feature is efficient only on websites hosted on a dedicated server, a Virtual Private Server (VPS), or shared hosting with VPS level security set up by the hosting provider.
For an additional layer of security, it is recommended to deny access to the wp-config.php file, and to the debug.log file in case there is any. To achieve this, please add the code snippet provided for the purpose near the bottom of the template-wp-config.php file by copy-pasting it from this file in the anrghg/ plugin folder to the .htaccess file in the WordPress base directory.
Prior to installing the A.N.R.GHG Publishing Toolkit, please make sure that the PHP memory limit is configured appropriately in the web hosting. The large settings page requires more than 32MB. A too low memory limit results in the failure of important processes: theme updates, plugin updates, editing large posts and pages, and generally in a lot of malfunctioning and buggy behavior in WordPress and other systems.
Safe is to set the PHP memory limit to 256M as a rule of thumb, but many hosting providers throttle it down to 128M. If your plan includes cPanel, more options such as 512M may be available in the “MultiPHP INI Editor” under “Software” in the “Tools” menu on the cPanel home page in your hosting account.
The memory limit defaults to 40 megabytes for a single site, 64 MB for a multisite, so it may be necessary to increase this limit, although the A.N.R.GHG Publishing Toolkit is not known for being particularly memory-intensive. Options include 64M, 128M, 192M, 256M, 368M and 512M as the value should match the memory limit set in the website’s hosting. The file template-wp-config.php includes a template for this.
anrghg/ resulting from step 2;To activate the security feature, a constant needs to be defined in a mini-plugin. The code is already in the mini-plugin template template-mini-plugin.php. Please make sure this constant is always set to false unless somebody needs to log in. In that case, the constant needs to be set to true. But do not forget to set it back to false as soon as everybody is logged in.
Once the A.N.R.GHG Publishing Toolkit is installed, it needs to be configured:
Settings action link of the ‘A.N.R.GHG Publishing Toolkit’ entry in the Plugins list. No menu items and no Post Meta box are added by default. To activate any of these, or the ‘Thank You messages’ or ‘Reference lists’ block, please choose the desired UI elements in the ‘User interface’ section of the Settings page.Save Changes button at the bottom of the window. Unlike the behavior specified in Android Material Design and SAP Fiori Design, changes require saving the form to become effective.template-filter-config.php.template-mini-plugin.php, or especially for theme-specific values, in your child theme’s functions.php, using configuration filters as documented in the file template-filter-config.php. That may be useful to help with adapting the configuration to theme-specific requirements while using multiple themes like in AMP Reader mode.template-filter-config.php under ‘Previous delimiters’ and ‘Previous delimiters for tooltips’.To reuse a complement already used in the same post, it may be given a name in the first instance like so: [note]a_name[/name]The complement.[/note]. In case of conflicts, post-wide names prevail over site-wide names.
The name start delimiter ([name]) is not used for new complements. Its sole purpose is to delimit names in arbitrary positions.
Complements become reusable site-wide when registered with the ‘Template editor’.
The name of a template may be any Unicode string; the only constraint is to not contain ordinary space.
In the list, existing complements are displayed full height with formatting, and HTML markup may be added directly too if JavaScript is on. If JavaScript is turned off, the source code is displayed, and new complements need to be written in source code as well.
Changes to existing complements can be made directly by editing the list.
Alternatively, a complement may be moved into the editor by clicking the ‘Move into editor’ button next to it, but before doing so, please make sure that TinyMCE is in Visual mode (both methods to set the mode programmatically fail and the one to get/check the mode is missing), as else the editor.setContent() method fails, the content disappears, and the page will need to be refreshed to get the item back instantly.
The ‘Move into editor’ buttons are deactivated for safety when either TinyMCE or the new name text box is not empty.
To help with choosing unique names, the names already in use are displayed in alphabetical order below the new name text box. The data is validated server-side, and if a problem is detected with missing, duplicate or invalid names, a warning will display and the cursor will be set to fix it.
All templates are backed up in a time-stamped file on accessing the list and on saving the form, if this feature is not deactivated in the settings. The backups are located in a subfolder named anrghg/ in the uploads/ folder in your wp-content/ directory.
Simple syntax: To reuse an already registered complement, put its name as the first, last, or only word in a note or source.
To add more text like a page number, use a space as a separator between the complement name and the added text, like so, where ␣ stands for an ordinary space:
Before (the prepended space is kept): [src]According to the explanation set out on page 10 of␣name1[/src]
After (the appended space is skipped): [src]name1␣, page 10.[/src] or [src]name1␣␣explains it on page 10.[/src] (To have the source followed by a space, two spaces need to be typed.)
Full syntax: Beyond this simple syntax, the full syntax brings the opportunity to add more text on both sides, and to reuse multiple complements in a single instance.
Example: [note]See [name]reusable_one[/name], page 31, and [name]reuse2[/name], chapter 4.[/note]
A.N.R.GHG is the initialism of ‘Act now, reduce greenhouse gasses’.
The dots have been added to help screenreaders spell it as an initialism rather than as an acronym.
The climate crisis requires us to enroll all aspects of our work and lives so that our efforts converge towards addressing the crisis now as a top priority urgency.
The AMP technology contributes to streamlining processes and making the internet less energy-consuming.
Moreover, development and maintenance are powered with renewable energy as well since the developer subscribed to the green electricity option offered by the local grid operator to individual households at a monthly fee of about $2.
Most importantly, the developer is a vegetalian, as avoiding meat and dairy, eggs and fish helps making an end of animal torture and is the scientifically recommended single biggest way to reduce our impact on planet Earth, an Oxford University study assessed.
A number of features like heading links and table of contents, notes and sources or last modified date and published date of pages are interrelated, and solutions using one plugin per feature are suboptimal because of inconsistent identifiers or presentation.
Beyond consistency, among the reasons that further fueled the adoption of an “all”-in-one concept are efficiency and economies of scale, much like what Jetpack is achieving at an incomparable magnitude.
As a result, making individual plugins out of some of the features is not required and would be inefficient. Keeping them all together seems like the best option.
This way, the settings can be searched using the browser search functionality (Control + F), and all occurrences can be accessed directly. That would not be the case if the settings were grouped by topic under a number of tabs.
The table of contents at the top of the settings page replaces the tab row or column, while allowing for longer, more explicit labels. It can be accessed by clicking the ‘Back to top’ button at the top of the window in a fixed position.
Likewise, the ‘Save settings’ button is constantly visible at the bottom of the window. Clicking it does not require scrolling down to the bottom of the page.
This issue depends on the PHP memory limit. The large settings page requires more than 32MB. Safe is to set the PHP memory limit to 256M as a rule of thumb, but many hosting providers throttle it down to 128M. If your plan includes cPanel, more options such as 512M may be available in the “MultiPHP INI Editor” under “Software” in the “Tools” menu on the cPanel home page in your hosting account.
The limitations involved by a low memory limit affect plugin updates, theme updates, as well as other actions performed by WordPress and its plugins, for example editing large posts in the Block Editor. Other content management systems are likewise impacted by low memory limits such as 32M, that may be the default settings value in shared hosting.
As the jQuery JavaScript library is not fully AMP compatible, features like tooltips, expand/collapse and scrolling back and forth do not use jQuery. Another reason is that when using jQuery, and JavaScript is turned off in a browser, these features are broken in that browser. Yet another reason is bad user experience as links to end notes are either unavailable, or available hard links cannot be opened while the relevant list is collapsed. Moreover, using jQuery prevents from saving a fully functional copy of a page. These frustrating issues outweigh the benefits of using jQuery.
Regardless, for end notes there is another plugin out there that uses jQuery by default and offers the ability to opt out: The Footnotes plugin, although closed since 2022-11-14, was consistently recommended in 2023, and it is compatible with the Twenty Twenty-Three theme. It can be installed as a .zip file following process B after downloading its latest version directly from the WordPress Plugin Directory, as it is one or two times a day on average per current stats, or from the latest backup of its full Plugin Directory page in the Web Archive.
However, since the Footnotes plugin is unmaintained, it may basically become a target of exploiting security vulnerabilities. That is why reading the abandonment statement made by its last developer, or its archived version, is strongly recommended.
Yes, using configuration filters, that have precedence over settings values from the database, each theme can have specific settings values stored in its child theme’s functions.php, so that sensitive values may be fine-tuned in accordance with particular layout options, while values that are constant across themes may still be configured in the settings page and called from the database.
The A.N.R.GHG Publishing Toolkit includes a template file called template-filter-config.php documenting all filters available so far (while process filters are being added as documented in template-filter-output.php).
As a stable place to add configuration filters and process filters, a mini plugin is convenient. A mini plugin template is included in the plugin folder. To use it, please move it out of the folder, eventually rename it, optionally place it in a new folder, then make it a plugin by deleting the seven percent signs standing out in front of the %%%%%%%Plugin Name: field label, and activate it after refreshing the Plugins list.
For multilingual plugins to show the strings in the translation pane and to work effectively, the translation keys must be present in the database. To achieve this, please access the plugin’s settings page and click the ‘Save Settings’ button at the bottom of the window.
After this, all translatable configuration values will show up in the translation pane, even those that are not yet configurable on the settings page.
Yes, category pages are supported through the term_description hook, so that all features are fully functional as configured.
When using the A.N.R.GHG Publishing Toolkit, category pages are unaffected by the filter that would usually delete HTML markup, and may be drafted like pages in the Block Editor, kept as drafts, and copy-pasted from the Code Editor to the term description window. Eventual leftover block markup is removed at runtime.
Yes, the A.N.R.GHG Publishing Toolkit supports all post types applying the filters hooked on the the_content hook; for example, custom post types of WooCommerce like product pages are supported through this hook. Additionally it supports popups from Popup Maker (Code Atlantic) by hooking on pum_popup_content, and from Popup Builder (Sygnoos) by hooking on sgpbSubscriptionForm.
Beyond, it processes a configurable list of additional hooks. The only requirement for a content type is to apply filters on the content, using whatever hook. The name of that hook needs to be filled in an input field on the settings page, or in the configuration filter found among the templates under “Support alternative content hooks.” Multiple hook names are comma-separated.
For convenience, a dedicated hook is also available, that the A.N.R.GHG Publishing Toolkit adds filters to for subsequent application to a given content by calling the WordPress apply_filters() function:
$content = apply_filters( 'anrghg_content_filter_hook', $content );
Wysiwyg fields added using Advanced Custom Fields are optionally processed for inline complements and other features as well, and complement lists are appended at the bottom of each field. That can be deactivated so that these fields would be processed as part of the post content if displayed accordingly.
Alternatively, when the hook that the field applies filters to is known, its name may be added to the content hooks in the settings.
The A.N.R.GHG Publishing Toolkit also adds numerous fields, among which the ‘first published date’ that will be displayed if its prefill has been changed in the Post Meta box.
Yes, sort of. The A.N.R.GHG Publishing Toolkit does not rely on the WordPress Shortcodes API, because Shortcodes cannot be used to reliably process notes and sources. For example, the scheme is disabled in forms set up using the WPForms plugin. Also, available options are too restricted and may exclude your preferred ones; so, not being internationalized, the shortcode API fails on Non-Latin shortcodes; and not being versatile, it cannot process delimiters made of brackets, braces, parentheses or other punctuation characters only.
Additionally, registered shortcodes are removed from other usages such as schema and meta descriptions for SEO. That is appropriate for most shortcodes, but may not be desirable for sources: Stripping off these complements may convey a misconception of the content as containing unsourced statements, and thus harm the website’s reputation.
On the other hand, the A.N.R.GHG Publishing Toolkit is fully compatible with the Classic Editor relying on shortcodes: Instead of using the blocks, fully configurable strings like [anrghg_toc] and [/anrghg_section] may be manually inserted, both with optional arguments.
Yes, by configuring it in the Template editor. Then insert its name in the input field on the settings page or as a return value in the configuration filter.
Yes, to insert the title of the current post or page, please insert the placeholder %s in the template text.
As the code block is scrollable, its overflow is hidden, so any protruding elements like the paragraph link are cut off. To work around the issue, code blocks are wrapped into a paragraph, but this paragraph becomes two paragraphs due to the block level code block, and the first paragraph stops before the code. That is why the link shows up only when hovering the area in the margin before the start of the code.
In most cases not, because the identifiers that the A.N.R.GHG Publishing Toolkit assigns are content-based, both for Latin and for non-Latin scripts. These are URL-encoded, much like WordPress derives slugs from titles.
The main case where numbering is added is to disambiguate identical headings.
As paragraphs are unlikely to have identical beginnings spanning over more than 200 characters—the length that fragment identifiers are shortened to before cleaning up truncated last words—, every paragraph has a unique stable identifier, unless the underlying text is modified, resulting in the need to fix the fragment identifier.
HTML anchors set in the WordPress block inspector’s “Advanced” section have precedence over content-derived anchors. Like these, they are prepended with the post number. The part after this and the separator may be copy-pasted into that field to make an existing paragraph link insensitive to further edits, provided that the resulting discrepancy is not an issue.
By giving them an “HTML anchor” in the Block Inspector. For each heading, paragraph or list item, the A.N.R.GHG Publishing Toolkit uses its existing “HTML anchor” in the first place. Only if none is configured, it proceeds to derive a fragment identifier from the content.
If a URL with a content-based fragment ID is in use prior to editing the underlying content, then the existing ID may be grabbed in preview mode and copy-pasted into the “HTML anchor” input field without the prepended post ID, as this number is always prepended automatically to any ID.
Prepending the post number helps ensure that each ID is unique across the website, in support of the infinite scroll (AJAX autoload) feature.
That is done by typing [anrghg_toc] or any bracketed string that this code is configured to.
Arguments between the code name and the closing bracket are also supported, and both names and values are designed for ease of input. Argument names are preceded by a space and start with an underscore. Values are delimited by vertical bars. The equals sign may or may not be space-padded:
Label tailored to the instance: _1=|Contents of ‘%s’|, where %s is replaced with the post title (for tables after the post);Alignment: _2=|0| or _2=|center|, or _2=|-1| or |left|, or _2=|1| or |right|;Collapsing behavior:_3=|-1|for expanded (and collapsible), or_3=|1|for collapsed (and expandable), or_3=|0|` for uncollapsible.Stray level 1 headings do indeed have a negative impact on search engine rankings. Using H1 outside the post title is strongly discouraged. Also the heading formatting defaults to H2 in the Block Editor, while in the Classic Editor the shortcut Shift + Alt + 1 is deactivated. We are warned.
Yet multiple level 1 headings are in current use outside the web, so the support for H1 is consistent with standard word processing user experience. And when the .docx or .odt formats are converted to WordPress, headings are usually not downgraded (despite they should be), to prevent H6 from being degraded to paragraph level, since custom H7 markup is not well supported by the web.
The A.N.R.GHG Publishing Toolkit supports level 1 headings if they are present in an article body, because H1 formatting is available in WordPress, that inherits it from TinyMCE where it makes actual sense, as TinyMCE is also used in systems that may not feature an extra field for the page title.
No, because the “HTML anchor” configured in the Block Inspector is added right inside the element’s start tag, while the A.N.R.GHG Publishing Toolkit adds its IDs in an extra span.
Yes if they are built-in; but these fragment identifiers are like scroll instructions. More universally, using URL parameters, scroll instructions may apply to any PDF opened in a browser:
To scroll to the page, add a hash to the PDF’s file name in the URL, then page= and the page number:
domain.tld/folder/your-file.pdf#page=123
To scroll to a heading in the page, append an ampersand, then zoom= and three comma-separated numbers: first the zoom factor in per cent (a zero is interpreted as 100%), next the X offset in pixels, then the Y offset. Basically you only need the third number, a best-guess determined by trial-and-error or measuring pixels so that the target heading displays a little below the upper viewport edge:
domain.tld/folder/your-file.pdf#page=123&zoom=0,0,700
The A.N.R.GHG Publishing Toolkit’s table of contents features a CSS-only transition when expanding or collapsing.
For AMP compatibility, JavaScript is avoided on public pages when the same behavior is not implementable in the AMP framework.
That happens after clicking a heading number while JavaScript is turned off, because expanding the table of contents from heading numbers relies on JavaScript (either in AMP or Vanilla); else, the scrolling wouldn’t work. So, without JavaScript, the target list item displays alone thanks to CSS, and the table of contents waits for its label or twistie being clicked to expand by CSS.
There is a small likelihood for the same to happen while JavaScript is on. On AMP pages, the related style rule is always valid, but after clicking a heading number (which is when it would come into play) it is overridden by another one, activated using the AMP framework. Reloading the page in that state would result in a lone heading as pointed in the question.
The A.N.R.GHG Publishing Toolkit’s complement lists are expanding or collapsing by CSS only, with a slight transition.
For AMP compatibility, JavaScript is avoided on public pages when the same behavior is not implementable in the AMP framework.
Compared to hard links, soft links have multiple downsides, while the disadvantage of using hard links is easily mitigated by hitting the backbutton instead of clicking backlinks. A configurable plain tooltip on hovering a backlink suggests this workaround, that will remove the anchor click from the browsing history.
Moreover, hard links allow accessing complements from outside, as they are the precondition of using the :target CSS selector to display the desired complement only, without expanding the whole list. That scheme always helps your visitors not be distracted from the other features and contents often displayed after or before the complement lists, notably the social icons and related posts. Your visitors may see these features as soon as looking up a complement in the list, as an alternative to checking it out in its tooltip.
Thanks to using hard links, no script is used, and since expanding and collapsing complement lists and tables of contents from their label is done without JavaScript likewise, the A.N.R.GHG Publishing Toolkit’s features are fully functional in browsers where JavaScript is turned off (and AMP actions won’t work either). Additionally, for convenience, CSS-based scroll offset as well as smooth scrolling are supported, too.
Yes, optionally identical notes or sources are combined into a single item with a single number. Thanks to using hard links, scrolling back up is performed by using the backbutton. For reference, all links to the instances where the complement is used are enumerated in a tooltip on hovering the complement number in the list.
Notes and sources are only combined section-wide. Identical complements occurring in several sections of a post or page appear once in every related list.
Beside the standard Western Arabic digits, notes and sources may be numbered using Eastern Arabic digits, or be numbered each in a distinctive manner among Roman and Latin numerals, both available in lowercase and uppercase.
Never, because the tooltips are styled in a way that truncating is unnecessary. When exceeding a configurable number of characters, the tooltip displays full-width even on desktops, and if it would exceed a configurable maximum height, it becomes scrollable.
That said, the A.N.R.GHG Publishing Toolkit supports a dedicated tooltip text, similar to WordPress’ manual excerpt feature. If the (configurable) [/view] delimiter is present in the complement, the text before is displayed as tooltip text, while the following text represents the complement in the list. This is linked to from the end of the tooltip, and from anywhere in the tooltip by delimiting the link text with [link] and [/link], or any delimiters these are configured to.
Yes, provided that the nested ones are sources, and those they are nested in are notes. Notes cannot be nested in sources, nor notes in notes, nor sources in sources. Only this nesting scheme is supported, but each note may include any number of nested sources:
…[note]…[src]…[/src]…[/note]Yes, there is an option to configure the current delimiters separately along with the ID of the post where the new set of delimiters is used first. Currently this requires using configuration filters. Once that is done, new delimiters may be configured the usual way without affecting the older posts and pages.
Yes, by ending the section with [anrghg_section] or any bracketed string that this code is configured to.
Arguments between the code name and the closing bracket are also supported, and both names and values are designed for ease of input. Argument names are preceded by a space and start with an underscore. Values are delimited by vertical bars. The equals sign may or may not be space-padded:
_11=|Notes of ‘%s’| and _12=|Our sources|, where %s is replaced with the post title;_21=|-1| in Note list, _22=|-1| in Source list, or _20=|-1| in both lists, where -1 is right-to-left, and 1 is left-to-right;_31=|-1| for the Note list, _32=|-1| for the Source list, or _30=|-1| for both lists, where-1is expanded (and collapsible),1is collapsed (and expandable), and0` is uncollapsible;_40=|1| or _40=|0| for whether this instance must be deferred to the footer, or must not be deferred.Multipage posts are reported not to be properly indexed, and they are not properly navigatable either, with page numbers at the bottom only, and no distinctive head zone for the extra pages. Thus, ‘Page break’ is a bogus feature and should never be used.
Being able to read the whole content merely by scrolling is much more user friendly. Consistently, implementing anything specifically for multipage posts would be wasting the time of all involved parties, which is why WordPress did not properly implement its multipage feature in the first place.
The easiest way is to import an empty file.
Alternatively, deleting the ‘anrghg’ row in the ‘wp-options’ table in the database has the same outcome.
Info hover buttons would cause issues for either accessibility or keyboard navigation.
Thanks to the ‘Save settings’ button being constantly visible at the bottom of the window, the settings are not spatially constrained. If full tab navigation is active, the ‘Save settings’ button is active after each settings section.
Although the settings page is mostly visited at setup while information is wanted, but less often later on, the settings page verbosity is configurable at three levels, one of which is with information expand buttons. Another option fully hides almost all explanatory information.
That is mainly due to WordPress documenting by default the full version history of every post and page.
If this is too much information and ends up taking too much disk space, with backups getting bulky, and potentially restoring the database would be hard, then revisions may be deactivated by defining the constant WP_POST_REVISIONS as false.
Another option is to limit the number of stored revisions as in the example provided in the file template-wp-config.php.
plugins_loaded to init to make sure everything keeps working.Changelog display may be truncated to 5 000 characters. The full changelog is available as part of the latest readme.txt in the repository.
load_plugin_textdomain.Data section in the feature list to Templates..Backup.Category pages and taxonomies section in the feature list.seems_utf8() with wp_is_valid_utf8().register_setting().register_setting().register_setting().register_setting().register_setting().register_setting().register_setting().register_setting().$g_a_registered.$g_a_fast_tracked_defaults.$g_m_unbalanced_delim.$g_b_elementor_test_markup.$g_s_login_control_constant.$g_i_login_deactivation_profile.anrghg_the_content.admin/blocks.php).anrghg.php).svn-revs.txt to SVN-log.txt for intuitivity.SVN-log.txt.build.sh to build.txt.load_plugin_textdomain.plugins_loaded to init.anrghg_alternative_sanitize_title_active to wpml-config.xml.readme.txt to 6.4.wp_add_inline_style().stylesplit.php into styles.php thanks to an infrastructure improvement.> characters.tpl-*.php to template-*.php.anrghg-thanks-block.json file for now.wp-config.php alongside debug.log.admin/includes/settings.php into 8 files.▶ The Thank You message template select configuration is required to change syntax. The only possible separators are space and newline. The previous separator, comma, is allowed in template names. We apologize for the disruption and the inconvenience.
▶ Two added blocks need to change category: The “Thank You message” and “Reference list” blocks were previously in the Design section. As they are about writing and formatting text and lists, they should be moved to the Text section. Making the category configurable for all added blocks is projected. Thank you for your understanding.
wp_unslash(), additionally to removing sanitize_option().▶ Delimiter presets for easy input are changing. If easy default delimiters based on square brackets are in use, and this plugin’s Settings page was not saved since v1.4.7, please save it BEFORE UPGRADING, in order to not be disrupted. Thank you.
sanitize_option().▶ The security feature’s login screen high and standard profiles should not be used unless the dialog is not useful any longer. Also it is recommended to define the constant in a mini-plugin using the included template, and to delete its definition in wp-config.php.
anrghg.php to keep the code editable online.▶ Plugin re-listing: As of 2022-06-21, this plugin has been re-listed in the Plugin Directory.
wp_kses() with custom whitelist POC.wp_kses() with custom whitelist POC.| Version | Download | Type |
|---|---|---|
| 1.17.6 | Download | Stable |
| 1.17.5 | Download | Stable |
| 1.17.4 | Download | Stable |
| 1.17.3 | Download | Stable |
| 1.17.2 | Download | Stable |
| 1.17.1 | Download | Stable |
| 1.17.0 | Download | Stable |
| 1.16.5 | Download | Stable |
| 1.16.4 | Download | Stable |
| 1.16.3 | Download | Stable |
| 1.16.2 | Download | Stable |
| 1.16.1 | Download | Stable |
| 1.16.0 | Download | Stable |
| 1.15.0 | Download | Stable |
| 1.14.6 | Download | Stable |
| 1.14.5 | Download | Stable |
| 1.14.4 | Download | Stable |
| 1.14.3 | Download | Stable |
| 1.14.2 | Download | Stable |
| 1.14.1 | Download | Stable |
| 1.14.0 | Download | Stable |
| 1.13.0 | Download | Stable |
| 1.12.0 | Download | Stable |
| 1.11.0 | Download | Stable |
| 1.10.2 | Download | Stable |
| 1.10.1 | Download | Stable |
| 1.10.0 | Download | Stable |
| 1.9.4 | Download | Stable |
| 1.9.3 | Download | Stable |
| 1.9.2 | Download | Stable |
| 1.9.1 | Download | Stable |
| 1.9.0 | Download | Stable |
| 1.8.4 | Download | Stable |
| 1.8.3 | Download | Stable |
| 1.8.2 | Download | Stable |
| 1.6.18 | Download | Stable |
| 1.6.17 | Download | Stable |
| 1.6.16 | Download | Stable |
| 1.6.15 | Download | Stable |
| 1.6.14 | Download | Stable |
| Development | Download | Trunk |