Formulas question type
Versions
Current version
6.3.2 (2026070300)
6.3.2
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2026070300
Version release name: 6.3.2
Maturity: Stable
Supported Moodle versions: 4.5, 5.0, 5.1, 5.2
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.3.2
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.3.2 (2026-07-03)
- bugfix: keep feedback visible after manual regrading / commenting of question
6.3.1 (2026-05-18)
- bugfix: correct visibility of feedback in adaptive mode
Note: Prior to this version, students could use quiz navigation (Next page/Previous page or Finish attempt/Return to attempt) to get feedback on parts of a question without using the adaptive mode's "Check" function and hence whitout getting a penalty for wrong answers, because Moodle automatically saves answers when the user switches between pages of a quiz. Other modes like interactive or immediate feedback are not affected.
6.3.0 (2026-04-30)
- improvement: add setting to control trigger of answer type tooltip
- improvement: correctly resize preview also for MathJax v4
- improvement: if correct answer feedback contains MathJax, make sure it is rendered
- compatibility: allow $, € and £ symbols as units
- bugfix: fix problems with algebraic formulas
- bugfix: re-render MathJax if field was changed since last display
- bugfix: fix bad positioning of MathJax preview in tables
- internal: write own implementation for tooltips
- internal: remove Bootstrap 4 compatibility helper
- internal: update CI
- internal: assure full compatibility with Moodle 5.2
6.2.2 (2025-11-15)
- compatibility: correctly render multi-choice answer placeholders that use spaces around variable name; although undocumented, this used to be possible in 5.x versions
- bugfix: improved validation of answer types "Numeric" and "Numerical formula"
- bugfix: MathJax renderer should not fail if accidentally called with invalid input
- internal: improve unit tests for factorials
- internal: follow updated Moodle coding style rules
6.2.1 (2025-10-06)
- bugfix: use float datatype to calculate factorials
- bugfix: allow ° symbol as a unit
- improvement: allow <> as alternative to !=
- internal: assure full compatibility with Moodle 5.1
Note: The plugin now allows to calculate factorials larger than 20! in the same way
as older (5.x) versions. However, due to limited precision, the result for factorials
larger than 27! will generally not be accurate -- in the same way as in older versions.
6.2.0 (2025-09-21)
- improvement: add option to hide "Number" tooltip
- improvement: increased robustness when importing/restoring bad data
- bugfix: allow Ω, µ and % symbols in units
6.1.2 (2025-08-20)
- improvement: allow :MC suffix for radio-box multi-choice
- improvement: better UX for on-the-fly validation of student answers
- bugfix: certain Unicode characters caused a parse error
- bugfix: fix problem with rendering of formatted combined unit field
- internal: update CI to use PostgreSQL 15
6.1.1 (2025-07-27)
- bugfix: allow assigning values to elements of shuffled lists
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.3.1 (2026051800)
6.3.1
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2026051800
Version release name: 6.3.1
Maturity: Stable
Supported Moodle versions: 4.5, 5.0, 5.1, 5.2
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.3.1
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.3.1 (2026-05-18)
- bugfix: correct visibility of feedback in adaptive mode
Note: Prior to this version, students could use quiz navigation (Next page/Previous page or Finish attempt/Return to attempt) to get feedback on parts of a question without using the adaptive mode's "Check" function and hence whitout getting a penalty for wrong answers, because Moodle automatically saves answers when the user switches between pages of a quiz. Other modes like interactive or immediate feedback are not affected.
6.3.0 (2026-04-30)
- improvement: add setting to control trigger of answer type tooltip
- improvement: correctly resize preview also for MathJax v4
- improvement: if correct answer feedback contains MathJax, make sure it is rendered
- compatibility: allow $, € and £ symbols as units
- bugfix: fix problems with algebraic formulas
- bugfix: re-render MathJax if field was changed since last display
- bugfix: fix bad positioning of MathJax preview in tables
- internal: write own implementation for tooltips
- internal: remove Bootstrap 4 compatibility helper
- internal: update CI
- internal: assure full compatibility with Moodle 5.2
6.2.2 (2025-11-15)
- compatibility: correctly render multi-choice answer placeholders that use spaces around variable name; although undocumented, this used to be possible in 5.x versions
- bugfix: improved validation of answer types "Numeric" and "Numerical formula"
- bugfix: MathJax renderer should not fail if accidentally called with invalid input
- internal: improve unit tests for factorials
- internal: follow updated Moodle coding style rules
6.2.1 (2025-10-06)
- bugfix: use float datatype to calculate factorials
- bugfix: allow ° symbol as a unit
- improvement: allow <> as alternative to !=
- internal: assure full compatibility with Moodle 5.1
Note: The plugin now allows to calculate factorials larger than 20! in the same way
as older (5.x) versions. However, due to limited precision, the result for factorials
larger than 27! will generally not be accurate -- in the same way as in older versions.
6.2.0 (2025-09-21)
- improvement: add option to hide "Number" tooltip
- improvement: increased robustness when importing/restoring bad data
- bugfix: allow Ω, µ and % symbols in units
6.1.2 (2025-08-20)
- improvement: allow :MC suffix for radio-box multi-choice
- improvement: better UX for on-the-fly validation of student answers
- bugfix: certain Unicode characters caused a parse error
- bugfix: fix problem with rendering of formatted combined unit field
- internal: update CI to use PostgreSQL 15
6.1.1 (2025-07-27)
- bugfix: allow assigning values to elements of shuffled lists
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.3.0 (2026043000)
6.3.0
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2026043000
Version release name: 6.3.0
Maturity: Stable
Supported Moodle versions: 4.5, 5.0, 5.1, 5.2
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.3.0
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.3.0 (2026-04-30)
- improvement: add setting to control trigger of answer type tooltip
- improvement: correctly resize preview also for MathJax v4
- improvement: if correct answer feedback contains MathJax, make sure it is rendered
- compatibility: allow $, € and £ symbols as units
- bugfix: fix problems with algebraic formulas
- bugfix: re-render MathJax if field was changed since last display
- bugfix: fix bad positioning of MathJax preview in tables
- internal: write own implementation for tooltips
- internal: remove Bootstrap 4 compatibility helper
- internal: update CI
- internal: assure full compatibility with Moodle 5.2
6.2.2 (2025-11-15)
- compatibility: correctly render multi-choice answer placeholders that use spaces around variable name; although undocumented, this used to be possible in 5.x versions
- bugfix: improved validation of answer types "Numeric" and "Numerical formula"
- bugfix: MathJax renderer should not fail if accidentally called with invalid input
- internal: improve unit tests for factorials
- internal: follow updated Moodle coding style rules
6.2.1 (2025-10-06)
- bugfix: use float datatype to calculate factorials
- bugfix: allow ° symbol as a unit
- improvement: allow <> as alternative to !=
- internal: assure full compatibility with Moodle 5.1
Note: The plugin now allows to calculate factorials larger than 20! in the same way
as older (5.x) versions. However, due to limited precision, the result for factorials
larger than 27! will generally not be accurate -- in the same way as in older versions.
6.2.0 (2025-09-21)
- improvement: add option to hide "Number" tooltip
- improvement: increased robustness when importing/restoring bad data
- bugfix: allow Ω, µ and % symbols in units
6.1.2 (2025-08-20)
- improvement: allow :MC suffix for radio-box multi-choice
- improvement: better UX for on-the-fly validation of student answers
- bugfix: certain Unicode characters caused a parse error
- bugfix: fix problem with rendering of formatted combined unit field
- internal: update CI to use PostgreSQL 15
6.1.1 (2025-07-27)
- bugfix: allow assigning values to elements of shuffled lists
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.2.2 (2025111500)
6.2.2
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025111500
Version release name: 6.2.2
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0, 5.1
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.2.2
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.2.2 (2025-11-15)
- compatibility: correctly render multi-choice answer placeholders that use spaces around variable name; although undocumented, this used to be possible in 5.x versions
- bugfix: improved validation of answer types "Numeric" and "Numerical formula"
- bugfix: MathJax renderer should not fail if accidentally called with invalid input
- internal: improve unit tests for factorials
- internal: follow updated Moodle coding style rules
6.2.1 (2025-10-06)
- bugfix: use float datatype to calculate factorials
- bugfix: allow ° symbol as a unit
- improvement: allow <> as alternative to !=
- internal: assure full compatibility with Moodle 5.1
Note: The plugin now allows to calculate factorials larger than 20! in the same way
as older (5.x) versions. However, due to limited precision, the result for factorials
larger than 27! will generally not be accurate -- in the same way as in older versions.
6.2.0 (2025-09-21)
- improvement: add option to hide "Number" tooltip
- improvement: increased robustness when importing/restoring bad data
- bugfix: allow Ω, µ and % symbols in units
6.1.2 (2025-08-20)
- improvement: allow :MC suffix for radio-box multi-choice
- improvement: better UX for on-the-fly validation of student answers
- bugfix: certain Unicode characters caused a parse error
- bugfix: fix problem with rendering of formatted combined unit field
- internal: update CI to use PostgreSQL 15
6.1.1 (2025-07-27)
- bugfix: allow assigning values to elements of shuffled lists
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.2.1 (2025100600)
6.2.1
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025100600
Version release name: 6.2.1
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0, 5.1
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.2.1
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.2.1 (2025-10-06)
- bugfix: use float datatype to calculate factorials
- bugfix: allow ° symbol as a unit
- improvement: allow <> as alternative to !=
- internal: assure full compatibility with Moodle 5.1
Note: The plugin now allows to calculate factorials larger than 20! in the same way
as older (5.x) versions. However, due to limited precision, the result for factorials
larger than 27! will generally not be accurate -- in the same way as in older versions.
6.2.0 (2025-09-21)
- improvement: add option to hide "Number" tooltip
- improvement: increased robustness when importing/restoring bad data
- bugfix: allow Ω, µ and % symbols in units
6.1.2 (2025-08-20)
- improvement: allow :MC suffix for radio-box multi-choice
- improvement: better UX for on-the-fly validation of student answers
- bugfix: certain Unicode characters caused a parse error
- bugfix: fix problem with rendering of formatted combined unit field
- internal: update CI to use PostgreSQL 15
6.1.1 (2025-07-27)
- bugfix: allow assigning values to elements of shuffled lists
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.2.0 (2025092100)
6.2.0
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025092100
Version release name: 6.2.0
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.2.0
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.2.0 (2025-09-21)
- improvement: add option to hide "Number" tooltip
- improvement: increased robustness when importing/restoring bad data
- bugfix: allow Ω, µ and % symbols in units
6.1.2 (2025-08-20)
- improvement: allow :MC suffix for radio-box multi-choice
- improvement: better UX for on-the-fly validation of student answers
- bugfix: certain Unicode characters caused a parse error
- bugfix: fix problem with rendering of formatted combined unit field
- internal: update CI to use PostgreSQL 15
6.1.1 (2025-07-27)
- bugfix: allow assigning values to elements of shuffled lists
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.1.2 (2025082000)
6.1.2
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025082000
Version release name: 6.1.2
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.1.2
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.1.2 (2025-08-20)
- improvement: allow :MC suffix for radio-box multi-choice
- improvement: better UX for on-the-fly validation of student answers
- bugfix: certain Unicode characters caused a parse error
- bugfix: fix problem with rendering of formatted combined unit field
- internal: update CI to use PostgreSQL 15
6.1.1 (2025-07-27)
- bugfix: allow assigning values to elements of shuffled lists
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.1.1 (2025072700)
6.1.1
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025072700
Version release name: 6.1.1
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.1.1
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.1.1 (2025-07-27)
- bugfix: allow assigning values to elements of shuffled lists
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.1.0 (2025072600)
6.1.0
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025072600
Version release name: 6.1.0
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.1.0
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.1.0 (2025-07-26)
- improvement: allow use of local decimal separator (comma) in student answers
- improvement: use local decimal separator when displaying numbers in feedback or question text
- improvement: simplifiy shuffling options in multi-choice answer fields using ":MCS" or ":MCES"
- improvement: implement basic formatting of input fields (width, color, alignment)
- improvement: add option to skip checking correctness of model answer when importing questions
- improvement: better error reporting if importing a question fails
- bugfix: ignore empty statements or subsequent semicolons in variable definitions
- bugfix: avoid undesired linebreak around dropdown fields with Moodle 5.0 and above
- bugfix: avoid re-activation of outdated MathJax preview
- bugfix: fix instantiation check for variables that contain HTML
- bugfix: allow setting individual elements in lists that are initialised with fill()
- bugfix: allow large reservoirs for random and algebraic variables
- bugfix: fix rendering of local variables in questions with answer type algebraic formula
- bugfix: flag quotes and strings in student answers as invalid
- internal: fix failing unit tests for Moodle 4.5+ after MDL-85721
- internal: improve language strings
- internal: improve layout of admin settings page
- internal: remove obsolete admin setting "usepopup"
Details: https://github.com/FormulasQuestion/moodle-qtype_formulas/compare/v6.0.4...v6.1.0
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.0.4 (2025061600)
6.0.4
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025061600
Version release name: 6.0.4
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.0.4
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.0.4 (2025-06-16)
- bugfix: avoid outdated MathJax preview being re-activated
- bugfix: solve problem with \n in strings used for MathJax rendering
- improvement: implement PHP-like escape sequences in strings
- internal: complete rewrite of renderer.php
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.0.3 (2025060600)
6.0.3
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025060600
Version release name: 6.0.3
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.0.3
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.0.3 (2025-06-06)
- bugfix: fix error message for partially answered questions in interactive mode
- bugfix: make sure partially answered questions are graded in deferred feedback mode
- bugfix: always use correct MathJax container to fetch preview width
- improvement: assure compatibility with MathJax v3
- improvement: silently discard useless PREFIX for better backwards compatibility
- internal: increased test coverage
- internal: update test_restore_course_with_same_stamp_questions after MDL-85556
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.0.2 (2025050600)
6.0.2
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025050600
Version release name: 6.0.2
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.0.2
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.0.2 (2025-05-06)
- bugfix: fix problem with subsequent comments in variable definitions
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.0.1 (2025050400)
6.0.1
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025050400
Version release name: 6.0.1
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.0.1
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.0.1 (2025-05-04)
- improvement: also accept numeric strings in places where numbers are expected
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
6.0.0 (2025043000)
6.0.0
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025043000
Version release name: 6.0.0
Maturity: Stable
Supported Moodle versions: 4.1, 4.2, 4.3, 4.4, 4.5, 5.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v6.0.0
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
6.0.0 (2025-04-30)
Great care has been taken to make sure that this new version -- despite the numerous changes and
improvements -- is fully backwards compatible with prior versions, i. e. all questions created
in earlier versions will still work. Note, however, that questions including the new features
listed below can no longer be imported to Moodle systems using a 5.x.x version of the Formulas
question plugin.
We have done extensive testing. However, we recommend you not to update the plugin while you have
pending attempts at important exams.
complete rewrite of the parsing / evaluation engine
new feature: access to grading variables and student answers in part feedback
new feature: allow use of strings in ternary expressions; no more obligation to use pick() for this
new feature: allow string concatenation with + operator; no more obligation to use join() for this
new feature: access individual chars of a string, as one can do with list elements
new feature: allow negative indices to access chars or list elements "from the end"
new feature: allow use of variables for the range delimiters and step size in for loop
new feature: allow == comparison of strings
new feature: possibility to use escaped quotes inside string
new feature: allow to use single quote as string delimiter
new feature: strings can include line breaks and hence span multiple lines
new feature: mixed lists are now possible, i. e. lists including numbers and strings
new feature: lists may now be nested
new feature: allow use of ranges and elements side-by-side in a list, e. g. [1:10, 12]
new feature: shuffle() can now be used in global/local variables as well
new feature: allow usage of pi or π instead of pi() in expressions; pi() is still valid
new feature: warn teacher when using ^ in model answer
new feature: MathJax preview of student input and units
new feature: students can now use lg() for common logarithm and lb() for binary logarithm
new feature: precise error reporting, indicating what happened and where (if possible)
improvement: allow better duplicate check during restore, following fix of MDL-83541
improvement: show answer type in Bootstrap tooltip rather than own method
improvement: variable instantiation check (in edit form) can handle empty model answers better now
bugfix: no more loss of images when moving question between categories
bugfix: no more inconsistency errors when reviewing old attempts
internal: assure full compatibility with Moodle 5.0
internal: added extensive automated tests to bring code coverage > 90%
internal: no more use of eval() in the code
internal: all Javascript is now in AMD modules
internal: fixed all codesniffer errors and most warnings, except for legacy code
5.3.5 (2025-02-10)
- improvement: avoid possible precision problem with ncr()
- internal: drop support for upcoming Moodle 5.0 for the legacy branch
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While it might still work with Moodle 5.0, no tests have been done to make
sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.3.6 for Moodle 3.9 - 4.5 (2025042900)
5.3.6 for Moodle 3.9 - 4.5
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025042900
Version release name: 5.3.6 for Moodle 3.9 - 4.5
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.3.6
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.3.6 (2025-04-29)
- bugfix: avoid creating duplicates when restoring older backups
5.3.5 (2025-03-17)
- improvement: avoid possible precision problem with ncr()
- improvement: implement changes made necessary by the fix for MDL-83541
- internal: add unit tests for backup and restore
- internal: drop support for upcoming Moodle 5.0
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While this version might still work with Moodle 5.0, no tests have been
done to make sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.3.5 for Moodle 3.9 - 4.5 (2025031700)
5.3.5 for Moodle 3.9 - 4.5
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2025031700
Version release name: 5.3.5 for Moodle 3.9 - 4.5
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.3.5
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.3.5 (2025-03-17)
- improvement: avoid possible precision problem with ncr()
- improvement: implement changes made necessary by the fix for MDL-83541
- internal: add unit tests for backup and restore
- internal: drop support for upcoming Moodle 5.0
This is the final regular version for the 5.x branch. It is compatible with Moodle 3.9 to
Moodle 4.5. No updates are planned. Further development is done in the main branch, starting
with version 6.0.0. While this version might still work with Moodle 5.0, no tests have been
done to make sure it does.
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.3.4.post0 for Moodle 3.9+ (2024100701)
5.3.4.post0 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2024100701
Version release name: 5.3.4.post0 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.3.4.post0
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.3.4.post0 (2024-10-07)
- internal: explicitly list Moodle 4.5 as supported in version.php
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.3.4 for Moodle 3.9+ (2024100700)
5.3.4 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2024100700
Version release name: 5.3.4 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.3.4
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.3.4 (2024-10-07)
- assure compatibility with Moodle 4.5
Please note: this is the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.3.3 for Moodle 3.9+ (2024042000)
5.3.3 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2024042000
Version release name: 5.3.3 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.3.3
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.3.3 (2024-04-20)
- assure compatibility with Moodle 4.4 and PHP 8.3
- bugfix: solve problem with "Save and continue" on edit form and PHP 8.2
- bugfix: disable simple mode for grading criterion if it failed validation
- bugfix: solve problem with < char and instantiation check
- bugfix: correct some messages and texts
- internal: rename behat step to avoid conflicts with other plugins during tests
- internal: update CI
- internal: add code coverage to CI chain
Please note: this is (probably) the last version with support for Moodle < 4.1 and PHP < 8.0.
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.3.2 for Moodle 3.9+ (2023111700)
5.3.2 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2023111700
Version release name: 5.3.2 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2, 4.3
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.3.2
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.3.2 (2023-11-17)
- bugfix: also improve robustness against risky grading variables
- internal: additional tests
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.3.1 for Moodle 3.9+ (2023111600)
5.3.1 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2023111600
Version release name: 5.3.1 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2, 4.3
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.3.1
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.3.1 (2023-11-16)
- bugfix: make sure risky grading criterion cannot break question
- bugfix: make sure grading does not lead to invalid question state
- revert workaround from 5.2.2 (TinyMCE too small), as bug was fixed upstream
- internal: improvements to some tests
- internal: update GitHub actions
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.3.0 for Moodle 3.9+ (2023100900)
5.3.0 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2023100900
Version release name: 5.3.0 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2, 4.3
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.3.0
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.3.0 (2023-10-09)
- assure compatibility with Moodle 4.3 and PHP 8.2
- enhancement: different feedback for unique / non-unique correct answer
- enhancement: allow M (mega) prefix for unit Newton
- bugfix: remove wrongful warning triangle when using fact() in answer
- bugfix: nice formatting of preview for exponentiation, e.g. 4**3
- internal: update GitHub actions (moodle-plugin-ci v4, PHP 8.2, Moodle 4.3)
- internal: change mobile behat tests to work with updated labels in the app
- internal: add separate workflow for mobile behat (only PHP <8.2) with moodle-plugin-ci v3
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.2.2 for Moodle 3.9+ (2023080900)
5.2.2 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2023080900
Version release name: 5.2.2 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.2.2
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.2.2 (2023-08-09)
- bugfix: wrong sort order for negative numbers in sort()
- bugfix: some input fields in edit form too small with TinyMCE in Moodle 4.2+
- internal: fix in legacy code (indirect modification of overloaded property)
- internal: changes to behat tests for compatibility with 4.3
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.2.1 for Moodle 3.9+ (2023042400)
5.2.1 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2023042400
Version release name: 5.2.1 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1, 4.2
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.2.1
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.2.1 (2023-04-22)
- assure compatibility with Moodle 4.2
- internal: changes for compatibility with PHP 8.1
- internal: add PHP 8.1 to CI test matrix
- internal: added tests for units
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.2.0 for Moodle 3.9+ (2023031700)
5.2.0 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2023031700
Version release name: 5.2.0 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.2.0
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.2.0 (2023-03-17)
- new functions: binomialpdf() and binomialcdf()
- bugfix: gcd() now gives correct result even if one argument is 0
- internal: removed deprecated notify()
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.1.2 for Moodle 3.9+ (2023021500)
5.1.2 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2023021500
Version release name: 5.1.2 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.1.2
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.1.2 (2023-02-15)
- bugfix: internal functions (e.g. sigfig) working with map() again
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.1.1 for Moodle 3.9+ (2023012900)
5.1.1 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2023012900
Version release name: 5.1.1 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.1.1
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.1.1 (2023-01-30)
- bugfix: fmod() now works like in other scientific calculators
- bugfix: sort() now uses natural sorting and does not lose values anymore
- bugfix: instantiation check could fail in certain cases
- internal: some cleanup, update of package.json
Please note: future releases will no longer support Internet Explorer.
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.1.0 for Moodle 3.9+ (2022112700)
5.1.0 for Moodle 3.9+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2022112700
Version release name: 5.1.0 for Moodle 3.9+
Maturity: Stable
Supported Moodle versions: 3.10, 3.11, 3.9, 4.0, 4.1
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.1.0
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.1.0 (2022-11-23)
- added support for Moodle 4.1
- new functions for number conversion (decimal <-> octal/binary)
- extended functionality for existing poly() function, see documentation
- direct validation of variable definitions when editing/creating a question
- improved check of variable instantiation and inline preview
- internal: added more tests
- internal: code cleanup and refactoring
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15) - YANKED
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
5.0.1 for Moodle 3.0+ (2022101600)
5.0.1 for Moodle 3.0+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2022101600
Version release name: 5.0.1 for Moodle 3.0+
Maturity: Stable
Supported Moodle versions: 3.0, 3.1, 3.10, 3.11, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4.0
Repository URL (Git): https://github.com/FormulasQuestion/moodle-qtype_formulas
Repository branch:
Repository tag: v5.0.1
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Changelog
5.0.1 (2022-10-16)
- bugfix: custom functions are now working again
5.0.0 (2022-10-15)
- new feature: support for Moodle App (thanks to Jakob Heinemann)
- new functions for statistics: stdnormpdf(), stdnormcdf(), normcdf()
- new functions for number theory: modpow(), modinv()
- bugfix: pick() now working correctly with lists (arrays)
- bugfix: npr() now returns correct even for n-r < r
- bugfix: formatcheck.js now working again
- various changes related to acceptance and unit tests
- code cleanup
4.91 for Moodle 3.0 to 3.9 (2020061900)
4.91 for Moodle 3.0 to 3.9
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2020061900
Version release name: 4.91 for Moodle 3.0 to 3.9
Maturity: Stable
Supported Moodle versions: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9
Repository URL (Git): https://github.com/dbauer-ets/moodle-qtype_formulas
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Formulas question type for Moodle
This is a question type plugin for Moodle with random values and multiple answer fields.
The answer fields can be placed anywhere in the question so that we can create questions involving various answer structures such as coordinate, polynomial and matrix.
Other features such as unit checking and multiple subquestions are also available.
These functionalities can simplify the creation of questions in many fields related to mathematics, numbers and units, such as physics and engineering.
This question type was written by Hon Wai Lau and versions for Moodle 1.9 and 2.0 are still available at the original author's website at the date of this writting
https://code.google.com/p/moodle-coordinate-question/downloads/list
This question type was upgraded to the new question engine introduced in Moodle 2.1 by Jean-Michel Vedrine.
This version is compatible with Moodle 3.0 and ulterior versions. It has been tested with Moodle versions up to 3.9. It has also been tested with PHP versions 7.0, 7.1, 7.3 and 7.4.
If you are running an older version of Moodle another version of the formulas question type is available for Moodle versions 2.6 to 2.9.
Requirements
You will need to install Tim Hunt's Adaptive question behaviour for multi-part questions (qbehaviour_adaptivemultipart) prior to installing the formulas question type.
You can get it from the Moodle plugin directory https://moodle.org/plugins/view.php?plugin=qbehaviour_adaptivemultipart
or from Github https://github.com/maths/moodle-qbehaviour_adaptivemultipart
You absolutely need version 3.3 or newer of this behaviour, the formulas question type will not work with previous versions.
Installation
Installation from the Moodle plugin directory (prefered method)
This question type is available from https://moodle.org/plugins/view.php?plugin=qtype_formulas
Install as any other Moodle question type plugin
Installation Using Git
To install using git type these commands in the root of your Moodle install:
git clone git://github.com/dbauer-ets/moodle-qtype_formulas.git question/type/formulas
echo '/question/type/formulas/' >> .git/info/exclude
Installation From Downloaded zip file
Alternatively, download the zip from https://github.com/dbauer-ets/moodle-qtype_formulas
unzip it into the question/type folder, and then rename the new folder to formulas.
Creating formulas questions
This question type is very powerful and permit creation of a wide range of questions.
But mastering all the possibilities require some practice and there is a learning curve on creating formulas questions.
Here are some pointers to the available help :
- first you can import the Moodle xml file samples/sample-formulas-questions.xml and play with the included formulas questions.
- You can visit the documentation made by Dominique Bauer https://moodleformulas.org/
(As there is no or little difference in the Formulas question type plugin for recent versions of Moodle (2.0 and above),
the documentation for the Formulas question type has been moved to this location but it apply to all Moodle versions,
including the current release) - you can read discussions about the formulas question type in the Moodle quiz forum
for instance https://moodle.org/mod/forum/discuss.php?d=181049 and https://moodle.org/mod/forum/discuss.php?d=163345 - you can post your questions in this forum
Reporting bugs, problems
You can see the list of issues here: https://tracker.moodle.org/browse/CONTRIB-6381?jql=project%20%3D%20CONTRIB%20AND%20component%20%3D%20%22Question%20type%3A%20Formulas%22
To create a new tracker issue, Log in and click on "Create" in the menu bar. Choose "Plugins (CONTRIB" in the "Project" field and "Question type: formulas" in the "Component(s)" field. Try to include as much details as you can so that the problem can be reproduced.
4.9 for Moodle 3.0 to 3.8 (2020052700)
4.9 for Moodle 3.0 to 3.8
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2020052700
Version release name: 4.9 for Moodle 3.0 to 3.8
Maturity: Stable
Supported Moodle versions: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8
Repository URL (Git): https://github.com/dbauer-ets/moodle-qtype_formulas
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Formulas question type for Moodle
This is a question type plugin for Moodle with random values and multiple answer fields.
The answer fields can be placed anywhere in the question so that we can create questions involving various answer structures such as coordinate, polynomial and matrix.
Other features such as unit checking and multiple subquestions are also available.
These functionalities can simplify the creation of questions in many fields related to mathematics, numbers and units, such as physics and engineering.
This question type was written by Hon Wai Lau and versions for Moodle 1.9 and 2.0 are still available at the original author's website at the date of this writting
https://code.google.com/p/moodle-coordinate-question/downloads/list
This question type was upgraded to the new question engine introduced in Moodle 2.1 by Jean-Michel Vedrine.
This version is compatible with Moodle 3.0 and ulterior versions. It has been tested with Moodle versions up to 3.8. It has also been tested with PHP versions 7.0, 7.1 and 7.2.
If you are running an older version of Moodle another version of the formulas question type is available for Moodle versions 2.6 to 2.9.
Requirements
You will need to install Tim Hunt's Adaptive question behaviour for multi-part questions (qbehaviour_adaptivemultipart) prior to installing the formulas question type.
You can get it from the Moodle plugin directory https://moodle.org/plugins/view.php?plugin=qbehaviour_adaptivemultipart
or from Github https://github.com/maths/moodle-qbehaviour_adaptivemultipart
You absolutely need version 3.3 or newer of this behaviour, the formulas question type will not work with previous versions.
Installation
Installation from the Moodle plugin directory (prefered method)
This question type is available from https://moodle.org/plugins/view.php?plugin=qtype_formulas
Install as any other Moodle question type plugin
Installation Using Git
To install using git type these commands in the root of your Moodle install:
git clone git://github.com/dbauer-ets/moodle-qtype_formulas.git question/type/formulas
echo '/question/type/formulas/' >> .git/info/exclude
Installation From Downloaded zip file
Alternatively, download the zip from https://github.com/dbauer-ets/moodle-qtype_formulas
unzip it into the question/type folder, and then rename the new folder to formulas.
Creating formulas questions
This question type is very powerful and permit creation of a wide range of questions.
But mastering all the possibilities require some practice and there is a learning curve on creating formulas questions.
Here are some pointers to the available help :
- first you can import the Moodle xml file samples/sample-formulas-questions.xml and play with the included formulas questions.
- You can visit the documentation made by Dominique Bauer https://moodleformulas.org/
(As there is no or little difference in the Formulas question type plugin for recent versions of Moodle (2.0 and above),
the documentation for the Formulas question type has been moved to this location but it apply to all Moodle versions,
including the current release) - you can read discussions about the formulas question type in the Moodle quiz forum
for instance https://moodle.org/mod/forum/discuss.php?d=181049 and https://moodle.org/mod/forum/discuss.php?d=163345 - you can post your questions in this forum
Reporting bugs, problems
You can see the list of issues here: https://tracker.moodle.org/browse/CONTRIB-6381?jql=project%20%3D%20CONTRIB%20AND%20component%20%3D%20%22Question%20type%3A%20Formulas%22
To create a new tracker issue, Log in and click on "Create" in the menu bar. Choose "Plugins (CONTRIB" in the "Project" field and "Question type: formulas" in the "Component(s)" field. Try to include as much details as you can so that the problem can be reproduced.
4.81 for Moodle 3.0 to 3.5 (2018080300)
4.81 for Moodle 3.0 to 3.5
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2018080300
Version release name: 4.81 for Moodle 3.0 to 3.5
Maturity: Stable
Supported Moodle versions: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch: master
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Formulas question type for Moodle
This release add some features:
combined feedback for each part of a question
answer numbering (with the same choices that the core multichoice question type) for parts with multichoice answer
text filters (for instance LaTeX and multilang filters) are correctly applied to multichoice part's choices and multichoice part's correct response
new sigfig function to return a number displayed with a given number of significant figures (syntax: sigfig(number, precision). Please note that the result is a string and not a number as it can have trailing zeroes)
For parts with a multichoice answer the correct answer is correctly displayed if you choose to display it (previously the index of the correct response in the menu or choices was displayed)
the style of drop down menus and multichoice parts was improved.
4.61 for Moodle 3.0 to 3.5 (2018052100)
4.61 for Moodle 3.0 to 3.5
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2018052100
Version release name: 4.61 for Moodle 3.0 to 3.5
Maturity: Stable
Supported Moodle versions: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch: master
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
This is just a small maintenance release.
When I released version 4.6 a few days ago I forgot to undo a change in styles. This change was supposed to allow writing more easily questions with inline parts. But it breaks the display of a lot of existing question.
So in the present 4.61 version this change was removed and existing questions will be displayed as before.
Sorry for any inconvenience this may have caused to users of the Formulas question.
4.6 for Moodle 3.0 to 3.5 (2018051800)
4.6 for Moodle 3.0 to 3.5
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2018051800
Version release name: 4.6 for Moodle 3.0 to 3.5
Maturity: Stable
Supported Moodle versions: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch: master
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
The main reason for this new version is that GDPR takes effect on May 25th 2018.
This version support the Moodle privacy API.
There is also a new feature : a combined feedback is available for each question part, permitting to teacher to give different feedback for incorrect/partially correct/correct responses for the part.
4.5 for Moodle 3.0 to 3.4 (2018041000)
4.5 for Moodle 3.0 to 3.4
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2018041000
Version release name: 4.5 for Moodle 3.0 to 3.4
Maturity: Stable
Supported Moodle versions: 3.0, 3.1, 3.2, 3.3, 3.4
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch: master
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
There is now 2 different version of the Formulas question type.
This version is for Moodle recent versions starting from Moodle 3.0 and up to 3.4. It has been tested with Moodle 3.4 and PHP 7.2.
This version add compatibility with PHP 7.2 and should be used with PHP versions from 7.0 to 7.2. It has not been tested with PHP versions prior to 7.0.
If you are running older PHP versions there is another version of the Formulas question type available that is compatible with PHP 5.6 and Moddle versions from 2.6 to 2.9.x.
This version also include the fix to the bug affecting the display of feedbacks (image and color) for the different parts of the question when used with adaptive behaviour.
4.43 for Moodle 2.6 to 2.9 (2018030101)
4.43 for Moodle 2.6 to 2.9
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2018030101
Version release name: 4.43 for Moodle 2.6 to 2.9
Maturity: Stable
Supported Moodle versions: 2.6, 2.7, 2.8, 2.9
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch: MOODLE_29_STABLE
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
This version is compatible with Moodle 2.6 and up to 2.9.x. Please note that this version is not compatible with php versions 7.0 and ulteriors.
If you are using recent php versions, there is another version available that is compatible with php 7.0, 7.1 and 7.2 in the Moodle plugins Directory.
This is a maintenance release that fix a bug in the display of feedbacks (image and color) for parts of the formulas question.
4.42 for Moodle 2.6+ (2018030100)
4.42 for Moodle 2.6+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2018030100
Version release name: 4.42 for Moodle 2.6+
Maturity: Stable
Supported Moodle versions: 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch: master
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
This release fix a bug with PHP 7.x that make the question crash and make it inaccessible until reset by the teacher. All users running the formulas question type with PHP 7.x should upgrade
4.41 for Moodle 2.6+ (2018012800)
4.41 for Moodle 2.6+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2018012800
Version release name: 4.41 for Moodle 2.6+
Maturity: Stable
Supported Moodle versions: 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
This release fix a bug with PHP 7.x that make the question crash and make it inaccessible until reset by the teacher.
All users running the formulas question type with PHP 7.x should upgrade
4.3 for Moodle 2.6+ (2016012400)
4.3 for Moodle 2.6+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2016012400
Version release name: 4.3 for Moodle 2.6+
Maturity: Stable
Supported Moodle versions: 2.7, 2.8, 2.9, 3.0
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
There is no real change in this version apart CSS changes (mainly fields width adjustments) contributed by Bernat Martinez (see https://moodle.org/mod/forum/discuss.php?d=181049#p1242009 ).
But it's also the opportunity to explicitly states that this question type works with Moodle 2.9 and 3.0 according to my tests ;-) .
4.25 for Moodle 2.6+ (2014110303)
4.25 for Moodle 2.6+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2014110303
Version release name: 4.25 for Moodle 2.6+
Maturity: Stable
Supported Moodle versions: 2.6, 2.7, 2.8
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Maintenance release: some strings were untranslatable.
4.22 for Moodle 2.6+ (2014110302)
4.22 for Moodle 2.6+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2014110302
Version release name: 4.22 for Moodle 2.6+
Maturity: Stable
Supported Moodle versions: 2.6, 2.7, 2.8
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Maintenance release correcting a problem in the language file so that this plugin can be translated using AMOS.
4.2 for Moodle 2.6+ (2014110300)
4.2 for Moodle 2.6+
Plugin type: Question types
Frankenstyle component name: qtype_formulas
Version build number: 2014110300
Version release name: 4.2 for Moodle 2.6+
Maturity: Stable
Supported Moodle versions: 2.6, 2.7, 2.8
Repository URL (Git): https://github.com/jmvedrine/moodle-qtype_formulas
Repository branch:
Repository tag:
Issue/bug tracker URL: https://github.com/FormulasQuestion/moodle-qtype_formulas/issues
Formulas question type for Moodle
This is a question type plugin for Moodle with random values and multiple answer fields.
The answer fields can be placed anywhere in the question so that we can create questions involving various answer structures such as coordinate, polynomial and matrix.
Other features such as unit checking and multiple subquestions are also available.
These functionalities can simplify the creation of questions in many fields related to mathematics, numbers and units, such as physics and engineering.