Freeplane: Difference between revisions
Dan Polansky (talk | contribs) No edit summary |
Dan Polansky (talk | contribs) |
||
| (46 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
''The nearly sole author of this page is Dan Polansky, with the exception of few edits by others, bar perhaps any changes later.'' | |||
Freeplane is a fork of FreeMind, lead by Dimitry Polivaev. | Freeplane is a fork of FreeMind, lead by Dimitry Polivaev. | ||
Freeplane uses SourceForge for file downloads. | [http://sourceforge.net/projects/freeplane/ Freeplane uses SourceForge] for file downloads. | ||
Freeplane uses GitHub as a code repository and for forums and tickets; it no longer uses SourceForge for these purposes. | [https://github.com/freeplane/ Freeplane uses GitHub] as a code repository and for forums and tickets; it no longer uses SourceForge for these purposes. | ||
==System requirements== | ==System requirements== | ||
| Line 40: | Line 42: | ||
** "The data format of the maps saved and read by preview versions can be changed without any notice." | ** "The data format of the maps saved and read by preview versions can be changed without any notice." | ||
* There is [https://docs.freeplane.org/attic/old-mediawiki-content/Release_cycle.html Release cycle] page in Freeplane documentation, in "attic"; this does talk of alpha, beta and RC. This is probably no longer followed, as per the file section and as per this being in the attic. | * There is [https://docs.freeplane.org/attic/old-mediawiki-content/Release_cycle.html Release cycle] page in Freeplane documentation, in "attic"; this does talk of alpha, beta and RC. This is probably no longer followed, as per the file section and as per this being in the attic. | ||
* Freeplane did use to use "alpha", "beta", and "rc" as per [https://www.freeplane.org/info/history/history_en.txt its online history file]; its ceased the practice around release 1.2.17. | |||
==Name spelling== | ==Name spelling== | ||
| Line 68: | Line 71: | ||
The early history can be also investigated from SourceForge forums. | The early history can be also investigated from SourceForge forums. | ||
Information on what happened in which release can be found in the history file, e.g. history_en-1.13.3.txt[https://sourceforge.net/projects/freeplane/files/freeplane%20stable/archive/1.13.3/]. | Information on what happened in which release can be found in the history file, e.g. history_en-1.13.3.txt[https://sourceforge.net/projects/freeplane/files/freeplane%20stable/archive/1.13.3/]. It can moreover be found here: https://www.freeplane.org/info/history/history_en.txt. | ||
==Stable version list== | ==Stable version list== | ||
| Line 205: | Line 208: | ||
Two two security issues: | Two two security issues: | ||
* https://docs.freeplane.org/attic/old-mediawiki-content/Groovy_scripts_and_formulas_can_escape_sandbox.html says page not found, but see [https://web.archive.org/web/20220917002259/https://docs.freeplane.org/attic/old-mediawiki-content/Groovy_scripts_and_formulas_can_escape_sandbox.html Wayback Machine] | * https://docs.freeplane.org/attic/old-mediawiki-content/Groovy_scripts_and_formulas_can_escape_sandbox.html says page not found, but see [https://web.archive.org/web/20220917002259/https://docs.freeplane.org/attic/old-mediawiki-content/Groovy_scripts_and_formulas_can_escape_sandbox.html Wayback Machine] | ||
*: But there is https://docs.freeplane.org/scripting/Groovy_scripts_and_formulas_can_escape_sandbox.html | |||
* https://docs.freeplane.org/attic/old-mediawiki-content/XML_External_Entity_vulnerability_in_map_parser.html ([https://web.archive.org/web/20260827082031/https://docs.freeplane.org/attic/old-mediawiki-content/XML_External_Entity_vulnerability_in_map_parser.html Wayback Machine]) | * https://docs.freeplane.org/attic/old-mediawiki-content/XML_External_Entity_vulnerability_in_map_parser.html ([https://web.archive.org/web/20260827082031/https://docs.freeplane.org/attic/old-mediawiki-content/XML_External_Entity_vulnerability_in_map_parser.html Wayback Machine]) | ||
| Line 211: | Line 215: | ||
Freeplane does not seem to have a centralized security report (or does it?). For FreeMind, [[Security]] is being created. | Freeplane does not seem to have a centralized security report (or does it?). For FreeMind, [[Security]] is being created. | ||
The two security issues are also reported here: | |||
* https://web.archive.org/web/20220217170735/https://www.freeplane.org/wiki/index.php/Fixed_security_vulnerabilities -- Wayback Machine archive from the wiki, as of 2022 | |||
The oldest archival version is this: | |||
* https://web.archive.org/web/20170705130929/https://www.freeplane.org/wiki/index.php/Fixed_security_vulnerabilities | |||
Related archival pages of the security issues: | |||
* https://web.archive.org/web/20171224123633/https://www.freeplane.org/wiki/index.php/Groovy_scripts_and_formulas_can_escape_sandbox | |||
* https://web.archive.org/web/20171224130049/https://www.freeplane.org/wiki/index.php/XML_External_Entity_vulnerability_in_map_parser | |||
==Formulas== | |||
Freeplane can have formulas in node text, attribute values, and notes (as per docs and test in FP 1.13.3). The formulas are automatically evaluated when a mind map is loaded, whether in a node text, attribute value or a note, with no request for a user confirmation (as per [https://docs.freeplane.org/scripting/Security_considerations.html#formulas docs] and test in FP 1.13.3). And that is similar to, say, Excel and its evaluation of formulas. | |||
The implementation of formula evaluation is via Groovy, depending on the groovy jar. As per Freeplane documentation, "Formulas are evaluated as Groovy expressions". The implementation of formulas via Groovy is further confirmed by a quasi-bug-report in Freeplane documentation: [https://docs.freeplane.org/scripting/Groovy_scripts_and_formulas_can_escape_sandbox.html Groovy scripts and formulas can escape sandbox - Freeplane Documentation]. [https://docs.freeplane.org/scripting/api-groovy-tutorial.html Different documentation] indicates this: 'Unlike in a spreadsheet, where formulas can use only predefined "functions", formulas in Freeplane are free to use all that Groovy has to offer.' | |||
From the text of a Freeplane discussion on Java 24 and Freeplane[https://github.com/freeplane/freeplane/discussions/2124]: | |||
: "Because having no security manager would allow any groovy script, specifically any formula, to read and modify any files and use network access without restrictions,Freeplane can not use Java 24 or later. It means that the latest Java long term support version used with Freeplane ist Java 21, and Freeplane should refuse running under Java 24 or later." | |||
It follows: | |||
: "[...] having no security manager would allow [...] any formula, to read and modify any files and use network access without restrictions, [...]". | |||
But consider a different text: | |||
: "Formulas have strict security limits. They cannot write files, use the network, or execute external programs."[https://docs.freeplane.org/scripting/Formulas.html]. | |||
The quoted statements seem in fact compatible (free from contradiction), if the mentioned restrictions on formulas are implemented using Java's SecurityManager. Since it would be only once the SecurityManager is gone (Java 24 and later) that Freeplane formulas could write files, access network and execute files. | |||
Formulas can be stored in node text, attribute values, and notes (as per [https://docs.freeplane.org/scripting/Formulas.html docs] and test in FP 1.13.3.). Formulas in attribute values are not the same thing as scripts in attributes; the formula attribute name does not need to start with "script" or the like. (Moreover, it is quite possible that Freeplane no longer stores scripts in user attributes; it would have to be figured out.) | |||
Questions: | |||
* Are really formulas in all three locations evaluated, node text, attribute values and notes? Dan Polansky: yes, tested in Freeplane 1.13.3. | |||
Implementation: | |||
* Formulas seem implemented in freeplane_plugin_formula and freeplane_plugin_script (FP 1.13.3). The latter has e.g. freeplane_plugin_script\src\main\java\org\freeplane\plugin\script\FormulaUtils.java. Also involved in formulas seems to be freeplane_plugin_ai (FP 1.13.3). | |||
Links: | |||
* [https://docs.freeplane.org/scripting/Formulas.html Formulas], docs.freeplane.org | |||
* [https://docs.freeplane.org/scripting/Security_considerations.html#formulas Security considerations - Formulas], docs.freeplane.org | |||
* [https://github.com/freeplane/freeplane/discussions/2124 Freeplane can not use Java version >= 24 because of removal of the Java Security Manager] | |||
* [https://docs.freeplane.org/scripting/Groovy_scripts_and_formulas_can_escape_sandbox.html Groovy scripts and formulas can escape sandbox], docs.freeplane.org | |||
==FreeMind features not in Freeplane== | ==FreeMind features not in Freeplane== | ||
FreeMind features not in Freeplane: | FreeMind features not in Freeplane: | ||
* [[Collaboration]] on a mind map: this was introduced in [[Release 1.0.0]]. By contrast. Freeplane does not seem to support online collaboration (one item substantiating the idea is the existence of an add-on at [https://github.com/seb4stien/freeplane-collaborative-addon freeplane-collaborative-addon], github.com.) | * [[Collaboration]] on a mind map: this was introduced in [[Release 1.0.0]]. By contrast. Freeplane does not seem to support online collaboration (one item substantiating the idea is the existence of an add-on at [https://github.com/seb4stien/freeplane-collaborative-addon freeplane-collaborative-addon], github.com.) | ||
==Freeplane features not in FreeMind== | |||
There are many Freeplane features absent from FreeMind. See the link below, although the content is in the attic is probably outdated. | |||
Links: | |||
* [https://docs.freeplane.org/attic/old-mediawiki-content/Freeplane_features_you_were_missing_in_FreeMind.html Freeplane features you were missing in FreeMind], docs.freeplane.org | |||
* https://www.freeplane.org/info/history/history_en.txt -- alongside bug fixes, new features are likely to be reported here, and the file goes up to FP 1.13.3 | |||
==Awards== | |||
Freeplane received multiple SourceForge project of the month (POTM) awards[https://sourceforge.net/projects/freeplane/]: Jun 2014, Jul 2014, Nov 2016, Dec 2020. | |||
More specifically, "Freeplane is the Community Choice Source Forge Project of the Month for June 2014 and for November 2016 and the Staff Choice for July 2014 and December 2020."[https://web.archive.org/web/20220119115109/https://www.freeplane.org/wiki/index.php/Home] | |||
==Bug tracker== | |||
Freeplane used SourceForge bug tracker before it moved to GitHub in 2022(?). However, no link to bug tracker is present in SourceForge Freeplane page. | |||
The bug tracker URL must have been this: https://sourceforge.net/p/freeplane/bugs/; it now (Aug 2026) says "Forbidden". But there is a copy in [https://web.archive.org/web/20211126132625/https://sourceforge.net/p/freeplane/bugs/ Wayback Machine]. This is confirmed in an [https://web.archive.org/web/20140719213646/http://sourceforge.net/p/freeplane/_list/tickets archival version of tickets pages], which also links to [https://web.archive.org/web/20140803032414/http://sourceforge.net/p/freeplane/featurerequests/ feature requests]. | |||
Freeplane must have used "mantis bug tracker" at some point, since: "Unfortunately SourceForge has discontinued support for phpBB forum and mantis bug tracker for freeplane."[https://web.archive.org/web/20140729170634/http://www.freeplane.org/wiki/index.php/Home]. | |||
==Forums== | |||
Freeplane used to use the following forums: | |||
* phpbb forum[https://web.archive.org/web/20140925112042/http://www.freeplane.org/forum2012/] | |||
* SourceForge forums | |||
* GitHub discussions | |||
* anything else | |||
==NanoXML == | |||
Freeplane 1.1.0 (26 June 2010) through 1.13.3 (14 July 2026) probably use a modified version of NanoXML/Java for some purposes ("probably", since I checked in versions 1.1.0, 1.5.18 and 1.13.3 but not explicitly in others; it seems unlikely that it would switch away and back again in the meantime; there is no mention of "NanoXML" in the [https://www.freeplane.org/info/history/history_en.txt history text file]). By contrast, FreeMind 1.0.1 uses NanoXML/Lite. | |||
The version being modified follows from [https://docs.freeplane.org/attic/old-mediawiki-content/Architecture.html an old architecture document]: ".freeplane.n3.nanoxml XML Parser derived from nanoxml". | |||
In Freeplane 1.1.0, file XMLElement.java is of NanoXML/Java and has the modification date 11.10.2009. | |||
The Windows oneliner 'findstr /s /m "^import.*n3.nanoxml" *.java' reveals extensive use of NanoXML/Java throughout Freeplane 1.13.3 (Linux grep with appropriate switches will do the same.) One can remove the /m switch to see what kind of lines are actually being found. | |||
In 2017, Freeplane fixed a security issue relating to NanoXML/Java. Relevant links: | |||
* https://docs.freeplane.org/attic/old-mediawiki-content/XML_External_Entity_vulnerability_in_map_parser.html | |||
* https://web.archive.org/web/20171224130049/https://www.freeplane.org/wiki/index.php/XML_External_Entity_vulnerability_in_map_parser | |||
* [https://sourceforge.net/p/freemind/bugs/1311/ #1311 Freeplane security issue on parsing of mind map XML to be assessed for FreeMind], sourceforge.net | |||
* [https://wojciechregula.blog/post/freeplane-xxe/ FreePlane <= 1.5.9 XXE], 19 Mar 2018, wojciechregula.blog | |||
==Use of MediaWiki== | |||
Freeplane used to use MediaWiki wiki for its web site[https://docs.freeplane.org/after-redirect.html][https://web.archive.org/web/20140629150016/http://www.freeplane.org/wiki/index.php/Home]. From what I recall, it was experimenting with something else before that. | |||
One relevant URL, now a deadlink, linked from the [https://docs.freeplane.org/after-redirect.html after-redirect page]: | |||
* https://www.freeplane.org/oldwiki/index.php/Home (deadlink; the most recent Wayback Machine archival version with actual content seems to be [https://web.archive.org/web/20240306110628/https://www.freeplane.org/oldwiki/index.php/Home from 6 Mar 2024]) | |||
The original link would have been this: | |||
* https://www.freeplane.org/wiki/index.php/Home (deadlink; in [https://web.archive.org/web/20140629150016/http://www.freeplane.org/wiki/index.php/Home Wayback Machine in June 2014]; in [https://web.archive.org/web/20220119115109/https://www.freeplane.org/wiki/index.php/Home Wayback Machine in Jan 2022]) | |||
Now, Freeplane uses .md files in its GitHub file section together with some documentation system that renders web pages from these. | |||
==See also== | ==See also== | ||
| Line 225: | Line 317: | ||
* [https://github.com/freeplane/ freeplane], github.com | * [https://github.com/freeplane/ freeplane], github.com | ||
* [https://github.com/freeplane/freeplane/blob/1.11.x/freeplane_framework/launch4j/freeplaneGui.lj4.xml freeplaneGui.lj4.xml], github.com -- indicates the required JRE version | * [https://github.com/freeplane/freeplane/blob/1.11.x/freeplane_framework/launch4j/freeplaneGui.lj4.xml freeplaneGui.lj4.xml], github.com -- indicates the required JRE version | ||
* [https://en.wikipedia.org/wiki/Freeplane Freeplane], wikipedia.org | |||
[[Category:Development]] | [[Category:Development]] | ||
Latest revision as of 11:05, 30 August 2026
The nearly sole author of this page is Dan Polansky, with the exception of few edits by others, bar perhaps any changes later.
Freeplane is a fork of FreeMind, lead by Dimitry Polivaev.
Freeplane uses SourceForge for file downloads.
Freeplane uses GitHub as a code repository and for forums and tickets; it no longer uses SourceForge for these purposes.
System requirements
- Freeplane-1.11.4 from 28 May 2023 requires Java Runtime Environment (JRE) 11 (released on 25 September 2018) or later through 17, according to freeplane.exe launcher and per freeplaneGui.lj4.xml source code file.
- The last version supporting JRE 1.8.0 was Freeplane 1.9.x series: Freeplane 1.9.14.
Announcements of the Freeplane fork
Announcements of the Freeplane fork in FreeMind forums:
- Freemind-developer: Vision of the second project, 2008-03-01, sourceforge.net
- Open Discussion: FreeMind fork, 2008-11-16, sourceforge.net
Visuals
- Subjectively, as per Dan Polansky, Freeplane 1.9.14 looks, let's say, not so nice: the icons, the white background color in menus, everything says something's wrong. This is so not only in comparison to FreeMind, but also, say, Notepad++.
Download statistics
- As 9 June 2023:
Releases
Available from here:
- freeplane/files/, sourceforge.net
Earliest releases:
Release classification
- Freeplane does not use the ranks of alpha, beta and release candidate (RC). FreeMind did use alpha, beta and RC ranks, as late as of FreeMind 1.1.0 Beta2 from 2016, when FreeMind development activity ceased.
- Freeplane has a freeplane preview file section:
- Thus, there is the rank preview, which must be something like beta and release candidate, but not differentiated.
- As per the "freeplane preview" file section:
- "This directory contains the latest preview versions of Freeplane created for testing purposes almost every week."
- "The data format of the maps saved and read by preview versions can be changed without any notice."
- There is Release cycle page in Freeplane documentation, in "attic"; this does talk of alpha, beta and RC. This is probably no longer followed, as per the file section and as per this being in the attic.
- Freeplane did use to use "alpha", "beta", and "rc" as per its online history file; its ceased the practice around release 1.2.17.
Name spelling
- Freeplane is spelled with lowercase "p", whereas FreeMind is spelled with uppercasee "M".
Discussion
- freeplane/discussions, github.com -- since March 2022
- Trial: Using Discussion Forums and Tickets at GitHub replacing SourceForge, 10 Mar 2022, sourceforge.net
File format
- Freeplane file format is extended beyond that of FreeMind to support additional features.
- Documentation:
- Current Freeplane File Format, docs.freeplane.org -- in the attic
- New Freeplane File Format (Proposal), docs.freeplane.org -- in the attic; this seems to be a proposal that was never implemented
- File format stability: hard to assess; there is no *.xsd file in the source code tree to specify the file format. By contrast, FreeMind has a .xsd file describing the file format that seems to have been kept up to date, linked from File format page.
History
Some of the earliest events in the history of Freeplane are early announcements and first releases/versions. To the extent these items are already on this page, they are duplicated here for convenience.
- 1 Mar 2008: Freemind-developer: Vision of the second project, 2008-03-01, sourceforge.net
- 16 Nov 2008: Open Discussion: FreeMind fork, 2008-11-16, sourceforge.net
- 9 May 2009: release 1.0.7 alpha as per Freeplane's history_en.txt[3]; the earliest release/version mentioned in that text file is 1.0.5 alpha, without date
- 26 Jul 2010: release Freeplane 1.1.0[4], which seems to be the oldest one found in freeplane stable/archive[5]
The early history can be further investigated/reconstructed from Freeplane's old wiki (which runs MediaWiki wiki engine):
For instance, wiki page "Relationship to FreeMind" was "Imported from wikispaces" on 31 Jul 2009[6].
The early history can be also investigated from SourceForge forums.
Information on what happened in which release can be found in the history file, e.g. history_en-1.13.3.txt[7]. It can moreover be found here: https://www.freeplane.org/info/history/history_en.txt.
Stable version list
The following is a list of "stable" versions as per https://sourceforge.net/projects/freeplane/files/freeplane%20stable/archive/:
1.13.3 2026-07-14 1.13.2 2026-02-23 1.13.1 2026-02-13 1.12.18 2026-02-10 1.12.17 2026-02-09 1.12.16 2026-01-06 1.12.15 2026-01-04 1.12.14 2025-09-19 1.12.13 2025-08-22 1.12.12 2025-08-01 1.12.11 2025-06-01 1.12.10 2025-04-17 1.12.9 2025-02-06 1.12.8 2024-12-07 1.12.6 2024-10-30 1.12.5 2024-09-01 1.2.4u1 2024-08-19 1.12.4 2024-08-18 1.12.3 2024-08-17 1.11.14 2024-05-14 1.11.13 2024-05-01 1.11.12 2024-04-08 1.11.11 2024-03-01 1.11.10 2024-01-22 1.11.8 2023-11-12 1.11.7 2023-09-24 1.11.6 2023-08-22 1.11.5 2023-07-28 1.11.4 2023-05-28 1.11.3 2023-05-27 1.11.2 2023-05-09 1.11.1 2023-05-03 1.10.6 2023-01-08 1.10.5 2022-11-06 1.10.4 2022-09-17 1.10.3 2022-06-25 1.10.2 2022-04-30 1.9.14 2022-03-19 1.9.13 2022-03-05 1.9.12 2021-12-18 1.9.11 2021-11-07 1.9.10 2021-10-02 1.9.9 2021-09-25 1.9.8 2021-09-18 1.9.7 2021-07-30 1.9.6 2021-07-25 1.9.5 2021-06-26 1.9.4 2021-06-18 1.9.3 2021-06-04 1.9.1 2021-05-15 1.8.11 2021-01-03 1.8.10 2020-11-21 1.8.9 2020-10-31 1.8.8 2020-10-04 1.8.7 2020-09-01 1.8.6 2020-06-24 1.8.5 2020-05-11 1.8.4 2020-05-11 1.8.3 2020-05-10 1.8.2 2020-04-12 1.8.1 2020-03-28 1.8.0 2020-03-07 1.7.13 2020-02-28 1.7.12 2020-02-08 1.7.11 2020-01-25 1.7.10 2019-10-25 1.7.9 2019-06-10 1.7.8 2019-05-26 1.7.7 2019-03-10 1.7.6 2019-02-24 1.7.5 2019-02-03 1.7.3 2018-11-26 1.7.2 2018-11-18 1.6.15 2018-05-13 1.6.14 2018-03-11 1.6.13 2018-02-04 1.6.12 2018-01-07 1.6.11 2017-12-09 1.6.10 2017-11-02 1.6.7 2017-09-23 1.6.6 2017-09-03 1.6.5 2017-08-22 1.6.4 2017-08-13 1.6.3 2017-08-05 1.5.21 2017-06-16 1.5.20 2017-04-15 1.5.18 2016-12-07 1.5.17 2016-09-30 1.5.16 2016-09-17 1.5.15 2016-08-19 1.5.14 2016-08-13 1.5.13 2016-07-27 1.5.12 2016-07-20 1.5.11 2016-07-09 1.5.10 2016-07-07 1.3 2015-02-07 1.2 2013-03-24 1.1 2010-12-06
Reservation: the above list is not complete and is the top-level list. There is for instance a sublist https://sourceforge.net/projects/freeplane/files/freeplane%20stable/archive/1.1/:
1.1.3 2010-12-06 1.1.2 2010-08-22 1.1.1 2010-07-17 1.1.0 2010-06-26
This reservation seems to apply to folders 1.1 - 1.3.
The version identifier "1.2.4u1" above is not a mistake in this wiki page; it is so in the original source and was probably intended to mean 1.12.4update1.
Preview version list
As per https://sourceforge.net/projects/freeplane/files/freeplane%20preview/, there are some preview versions in subfolders of the following ones:
1.12.x 2025-08-10 1.11.x 2024-03-26
As of 26 Aug 2026, there are no other older versions in the above list (the list has two items).
An example download file is this[8]:
- freeplane_bin-1.12.13-pre03.zip
Indicates how there are multiple preview versions e.g. for Freeplane 1.12.13 (here, it is the third preview).
However, a readme of that folder indicates that "From now on all new preview versions are available as pre-releases at https://github.com/freeplane/freeplane/releases".
Security issues
Freeplane reported two security issues here:
- https://docs.freeplane.org/attic/old-mediawiki-content/Fixed_security_vulnerabilities.html (Wayback Machine)
However, that page is in some kind of attic. It is not clear whether the issues were reported in Freeplane SourceForge bug tracker, in part since that bug tracker seems no longer accessible (Freeplane moved to GitHub).
Two two security issues:
- https://docs.freeplane.org/attic/old-mediawiki-content/Groovy_scripts_and_formulas_can_escape_sandbox.html says page not found, but see Wayback Machine
- https://docs.freeplane.org/attic/old-mediawiki-content/XML_External_Entity_vulnerability_in_map_parser.html (Wayback Machine)
See also:
Freeplane does not seem to have a centralized security report (or does it?). For FreeMind, Security is being created.
The two security issues are also reported here:
- https://web.archive.org/web/20220217170735/https://www.freeplane.org/wiki/index.php/Fixed_security_vulnerabilities -- Wayback Machine archive from the wiki, as of 2022
The oldest archival version is this:
Related archival pages of the security issues:
- https://web.archive.org/web/20171224123633/https://www.freeplane.org/wiki/index.php/Groovy_scripts_and_formulas_can_escape_sandbox
- https://web.archive.org/web/20171224130049/https://www.freeplane.org/wiki/index.php/XML_External_Entity_vulnerability_in_map_parser
Formulas
Freeplane can have formulas in node text, attribute values, and notes (as per docs and test in FP 1.13.3). The formulas are automatically evaluated when a mind map is loaded, whether in a node text, attribute value or a note, with no request for a user confirmation (as per docs and test in FP 1.13.3). And that is similar to, say, Excel and its evaluation of formulas.
The implementation of formula evaluation is via Groovy, depending on the groovy jar. As per Freeplane documentation, "Formulas are evaluated as Groovy expressions". The implementation of formulas via Groovy is further confirmed by a quasi-bug-report in Freeplane documentation: Groovy scripts and formulas can escape sandbox - Freeplane Documentation. Different documentation indicates this: 'Unlike in a spreadsheet, where formulas can use only predefined "functions", formulas in Freeplane are free to use all that Groovy has to offer.'
From the text of a Freeplane discussion on Java 24 and Freeplane[9]:
- "Because having no security manager would allow any groovy script, specifically any formula, to read and modify any files and use network access without restrictions,Freeplane can not use Java 24 or later. It means that the latest Java long term support version used with Freeplane ist Java 21, and Freeplane should refuse running under Java 24 or later."
It follows:
- "[...] having no security manager would allow [...] any formula, to read and modify any files and use network access without restrictions, [...]".
But consider a different text:
- "Formulas have strict security limits. They cannot write files, use the network, or execute external programs."[10].
The quoted statements seem in fact compatible (free from contradiction), if the mentioned restrictions on formulas are implemented using Java's SecurityManager. Since it would be only once the SecurityManager is gone (Java 24 and later) that Freeplane formulas could write files, access network and execute files.
Formulas can be stored in node text, attribute values, and notes (as per docs and test in FP 1.13.3.). Formulas in attribute values are not the same thing as scripts in attributes; the formula attribute name does not need to start with "script" or the like. (Moreover, it is quite possible that Freeplane no longer stores scripts in user attributes; it would have to be figured out.)
Questions:
- Are really formulas in all three locations evaluated, node text, attribute values and notes? Dan Polansky: yes, tested in Freeplane 1.13.3.
Implementation:
- Formulas seem implemented in freeplane_plugin_formula and freeplane_plugin_script (FP 1.13.3). The latter has e.g. freeplane_plugin_script\src\main\java\org\freeplane\plugin\script\FormulaUtils.java. Also involved in formulas seems to be freeplane_plugin_ai (FP 1.13.3).
Links:
- Formulas, docs.freeplane.org
- Security considerations - Formulas, docs.freeplane.org
- Freeplane can not use Java version >= 24 because of removal of the Java Security Manager
- Groovy scripts and formulas can escape sandbox, docs.freeplane.org
FreeMind features not in Freeplane
FreeMind features not in Freeplane:
- Collaboration on a mind map: this was introduced in Release 1.0.0. By contrast. Freeplane does not seem to support online collaboration (one item substantiating the idea is the existence of an add-on at freeplane-collaborative-addon, github.com.)
Freeplane features not in FreeMind
There are many Freeplane features absent from FreeMind. See the link below, although the content is in the attic is probably outdated.
Links:
- Freeplane features you were missing in FreeMind, docs.freeplane.org
- https://www.freeplane.org/info/history/history_en.txt -- alongside bug fixes, new features are likely to be reported here, and the file goes up to FP 1.13.3
Awards
Freeplane received multiple SourceForge project of the month (POTM) awards[11]: Jun 2014, Jul 2014, Nov 2016, Dec 2020.
More specifically, "Freeplane is the Community Choice Source Forge Project of the Month for June 2014 and for November 2016 and the Staff Choice for July 2014 and December 2020."[12]
Bug tracker
Freeplane used SourceForge bug tracker before it moved to GitHub in 2022(?). However, no link to bug tracker is present in SourceForge Freeplane page.
The bug tracker URL must have been this: https://sourceforge.net/p/freeplane/bugs/; it now (Aug 2026) says "Forbidden". But there is a copy in Wayback Machine. This is confirmed in an archival version of tickets pages, which also links to feature requests.
Freeplane must have used "mantis bug tracker" at some point, since: "Unfortunately SourceForge has discontinued support for phpBB forum and mantis bug tracker for freeplane."[13].
Forums
Freeplane used to use the following forums:
- phpbb forum[14]
- SourceForge forums
- GitHub discussions
- anything else
NanoXML
Freeplane 1.1.0 (26 June 2010) through 1.13.3 (14 July 2026) probably use a modified version of NanoXML/Java for some purposes ("probably", since I checked in versions 1.1.0, 1.5.18 and 1.13.3 but not explicitly in others; it seems unlikely that it would switch away and back again in the meantime; there is no mention of "NanoXML" in the history text file). By contrast, FreeMind 1.0.1 uses NanoXML/Lite.
The version being modified follows from an old architecture document: ".freeplane.n3.nanoxml XML Parser derived from nanoxml".
In Freeplane 1.1.0, file XMLElement.java is of NanoXML/Java and has the modification date 11.10.2009.
The Windows oneliner 'findstr /s /m "^import.*n3.nanoxml" *.java' reveals extensive use of NanoXML/Java throughout Freeplane 1.13.3 (Linux grep with appropriate switches will do the same.) One can remove the /m switch to see what kind of lines are actually being found.
In 2017, Freeplane fixed a security issue relating to NanoXML/Java. Relevant links:
- https://docs.freeplane.org/attic/old-mediawiki-content/XML_External_Entity_vulnerability_in_map_parser.html
- https://web.archive.org/web/20171224130049/https://www.freeplane.org/wiki/index.php/XML_External_Entity_vulnerability_in_map_parser
- #1311 Freeplane security issue on parsing of mind map XML to be assessed for FreeMind, sourceforge.net
- FreePlane <= 1.5.9 XXE, 19 Mar 2018, wojciechregula.blog
Use of MediaWiki
Freeplane used to use MediaWiki wiki for its web site[15][16]. From what I recall, it was experimenting with something else before that.
One relevant URL, now a deadlink, linked from the after-redirect page:
- https://www.freeplane.org/oldwiki/index.php/Home (deadlink; the most recent Wayback Machine archival version with actual content seems to be from 6 Mar 2024)
The original link would have been this:
- https://www.freeplane.org/wiki/index.php/Home (deadlink; in Wayback Machine in June 2014; in Wayback Machine in Jan 2022)
Now, Freeplane uses .md files in its GitHub file section together with some documentation system that renders web pages from these.
See also
Links
- Freeplane homepage, docs.freeplane.org
- Freeplane project page, sourceforge.net
- freeplane, github.com
- freeplaneGui.lj4.xml, github.com -- indicates the required JRE version
- Freeplane, wikipedia.org