Freeplane: Difference between revisions
Dan Polansky (talk | contribs) |
Dan Polansky (talk | contribs) |
||
| (30 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 62: | Line 64: | ||
* 26 Jul 2010: release Freeplane 1.1.0[https://sourceforge.net/projects/freeplane/files/freeplane%20stable/archive/1.1/1.1.0/], which seems to be the oldest one found in freeplane stable/archive[https://sourceforge.net/projects/freeplane/files/freeplane%20stable/archive/] | * 26 Jul 2010: release Freeplane 1.1.0[https://sourceforge.net/projects/freeplane/files/freeplane%20stable/archive/1.1/1.1.0/], which seems to be the oldest one found in freeplane stable/archive[https://sourceforge.net/projects/freeplane/files/freeplane%20stable/archive/] | ||
The early history can be further investigated/reconstructed from Freeplane's old wiki[https://www.freeplane.org/oldwiki/index.php/Home] | The early history can be further investigated/reconstructed from Freeplane's old wiki (which runs MediaWiki wiki engine): | ||
* https://www.freeplane.org/oldwiki/index.php/Home ([https://web.archive.org/web/20230812155427/https://www.freeplane.org/oldwiki/index.php/Home Wayback Machine]) | |||
For instance, wiki page "Relationship to FreeMind" was "Imported from wikispaces" on 31 Jul 2009[https://www.freeplane.org/oldwiki/index.php?title=Relationship_to_FreeMind&oldid=77]. | |||
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 177: | Line 183: | ||
</pre> | </pre> | ||
This reservation seems to apply to folders 1.1 - 1.3. | 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== | ==Preview version list== | ||
| Line 191: | Line 199: | ||
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". | 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 ([https://web.archive.org/web/20221027031922/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 [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/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]) | |||
See also: | |||
* https://docs.freeplane.org/scripting/Security_considerations.html | |||
Freeplane does not seem to have a centralized security report (or does it?). For FreeMind, [[Security]] is being created. | |||
==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]. | |||
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: | |||
* [[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.) | |||
==See also== | ==See also== | ||
Latest revision as of 10:37, 28 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.
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.
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.
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.)
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