2025-06-21 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve avoidance of random number precalculation in iterative functions
	* Do not overwrite user definitions when running tests
	* Use inverse when converting from s to Hz (and similar)

2025-06-20 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Calculate random function in function argument occurring multple times in function definition
	* Improve random function handling in "where" expression

2025-06-15 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve check for functions not compatible with calulate-as-you-type (less false positives)

2025-06-13 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve output for repeating decimals (do not repeat zero, e.g. in 1/81, and fix single repeating decimal with overline)

2025-06-02 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix handling of a single vector argument in times() function
	* Warn in save() function when function expression contains conversion using "to"

2025-06-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Remove symbols/names from XOF, XAF
	* Avoid using multiple exchange rates sources for conversion between two currencies

2025-05-31 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add symbols for THB, CRC, MVR, MUR, and NPR
	* Fix name for TRY, KES, and PAB
	* Replace SLL with SLE, and STD with STN
	* Use Eswatini instead of Swaziland as country name

2025-05-29 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Disable calculate as you type for expression containing export, load, or command function (in addition to save and plot)

2025-05-17 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Only allow numbers and white space in exchanges rates
	* Add fallback URL for exchange-api

2025-05-16 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Only convert right-hand side value for (in)equalities, when converting to dimensionless or angle units (for original values without unit), or non-linear units
	* Reset exact value (for dual approximation) when applying "to" command in qalc
	* Show error when trying to perform multiple conversions at same time using "to" command (without preceding expression on the same line)
	* Fix segfault when exact and approximate results (of equation) have non-matching format (should not occur)

2025-05-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix angle conversion for (in)equalities (both sides where converted)

2025-05-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve handling of user functions returning value with angle unit, in angle arguments

2025-04-30 howaboutuser <120489523+howaboutuser@users.noreply.github.com>

	* Add traditional Chinese translation

2025-04-22 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for units in limit() (separate units before calculating limit)
	* Calculate limit for values containing infinity (not only infinite numbers) for definite integrals (do not return nonsense value for "integrate(x^2 exp(−x^2/(2m^2)),−infinity m,infinity m,x)")
	* Treat approximate integer as integer for dimension, fix positive rational non-integer dimension not resulting in error, and do not test if number of steps is a positive integer if the sixth argument is negative, in genvector()
	* Remove quotation marks (at beginning and end) from default value of text argument, even if the resulting text string is not empty

2025-04-12 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix default separator in load() and export() functions
	* Show a warning when it appears as if the user tries to convert part of an expression (when there is an closing bracket without an opening bracket after "to")

2025-04-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add boolean argument for reversed conversion (to text string) in bin(), oct(), dec(), hex(), and base()
	* Improve handling of function, returning text string, in text argument
	* Fix µ_B name/symbol for Bohr magneton
	* Fix name for gal/s and planck/bohr

2025-03-30 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix abort using SIGINT (Ctrl+C) during factor command (and some other commands)

2025-03-23 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix incorrect limit without direction for expression containing tan(x) when value to approach is pi/2
	* Fix warning for some limits with tan(x)
	* Do not return zero for tan(pi/2)-tan(pi/2)

2025-03-19 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix assumption conflict in solve("v3"/"r1"*"r2"+"v3"=2.5,"v3") - set do_polynomial_division=true in solve() and use same simplification for factorization test during solving of equation regardless of state of do_polynomial_disivison (both changes fixes the issue separately)
	* Use LANGUAGE instead of LANG environment variable on Windows in order to avoid changing regional format settings
	* Add "language" option in qalc
	* Fix angle unit in output for "mode" command in qalc

2025-03-18 Rafael Franco <me@rafaelfranco.es>

	* Fix autocalculate input offset with readline vi mode

2025-03-09 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Support all real numbers in binomial(), comb(), and perm() functions (and use binomial() in the other two functions)
	* Fix non-localized data set key properties (when localized version is available)
	* Make copyright text of Elements and Planets data sets translatable

2025-03-08 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve decision to use parentheses for tab/ctrl+i result insert in qalc

2025-03-07 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve simplification and speed in diff() function for high orders by applying polynomial division and factorization between iterations

2025-03-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for display of repeating decimals using overline (vinculum) instead of ellipsis
	* Remove confusing MRC name/symbol from MR (memory recall) variable

2025-02-20 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Convert turn left over after unit conversion to radians (e.g. "10000Nm*250*rpm to W")

2025-02-17 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Split function description into multiple text blocks, at newline, in help/info output in qalc in order to avoid blank lines when output does not fit terminal screen

2025-02-13 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not convert to inactive unit
	* Fix calculate as you type with RPN syntax (update when last character is an operator)
	* Support calculate as you type with RPN stack enabled
	* Fix "where" operator using a saved equation (the "where" expression is a variable containing an equality or inequality)
	* Add Ctrl+I shortcut for input of the previous result, either with text of value, or as temporary variable (replaced in history on exit) for approximate or long values

2025-02-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Return x=a*e^(i*r) (with r instead of n), with a warning informing the user that r represents any real number, for abs(x)=a

2025-01-31 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not show value twice, if not translated, in description of plot function

2025-01-19 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix solve() function with replace() function as first argument (fixes solve2() function)

2025-01-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not show couldn't write preferences warning if file is a symlink

2025-01-08 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Avoid recalculation of old calculate as you type expression when expression is empty, or calculation of empty expression before any calculation has occured, and calculation or parsing settings have been modified
	* Add description to ans variable

2025-01-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix rounding in 1/# conversion to integer (e.g. "1/2 to 0.99")

2025-01-02 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Always use four digits for year in date (e.g. "0064-07-18" instead of "64-07-18")
	* Support input of date using dd-mm-yyyy format

2024-12-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix solving of x^4-4x^3+10x^2-12x+1=0, and similar, in exact mode
	* Use hours or minutes as default unit for conversion to time unit of expression with time format but no units (e.g. "0:00:12 to s")

2024-12-24 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix dual/auto approximation when unable to find exact solution to equation
	* Fix unability to find approximate solutions to some high degree equations (e.g. "x⁴ − 4x³ + 10x² − 12x = −1")

2024-12-12 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix terminal columns and rows when piping/redirecting input (call rl_initialize() even if readline() is used)

2024-12-09 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add factor() function (returns integer or polynomial factors in a vector)
	* Fix automatic variable detection in select()

2024-12-08 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* a(i) and a[i] syntax (the latter with restrictions for a) for element in vector
	* Set ans variable to solution(s) of equation (as if solve() were used)

2024-12-04 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix compilation without readline

2024-11-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix ans variables with calculate as you type activated

2024-11-25 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add plot() function example, and support expression in y=f(x) format

2024-11-20 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix test of equation solution in some cases (fixes "sqrt(x-1/x)+sqrt(1-1/x)-x=0" when approximation is not exact)
	* Fix current value for "help set approximation" when approximation is exact but auto/dual approximation is not reset (after "exact" command)

2024-11-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Option to specify number of displayed significant digits, instead of using precision (if PrintOptions::max_decimals < -1, digits = -max_decimals)

2024-11-15 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve decision to automatically convert unchanged quantity with unit
	* Fix segfault with very large integer raised by very large integer (integer length multiplied by exponent overflows long long int), e.g. "fs^EiK"
	* Fix wrong output of converted unit with non-numerical exponent in some cases (e.g. ft^x converted to m without expansion)
	* Improve calculation of formatted string length (for filtering of multiple results in Calculator::calculateAndPrint())
	* Remove "timed out" alternative results in Calculator::calculateAndPrint()
	* Place "approx." on same line as value (instead of as equals sign) in qalc
	* Display "aborted" for long aborted result in qalc

2024-11-11 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix case conversion of µ to M and similar (compare initial text string when converted back to lower case)

2024-11-06 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add multilimit() function

2024-11-06 Stefan Gerlach <stefan.gerlach@uni-konstanz.de>

	* Fix issues building with MSVC

2024-11-02 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix spacing after implicit mulitplication interpretation question in qalc
	* Fix formatting when commands/expression is read from file before interactive mode

2024-10-27 Marko Zajc <marko@zajc.tel>

	* Add triple() function

2024-10-19 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix clear using Ctrl+L when input line is not empty
	* Improved detection of charsets other than UTF-8

2024-10-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add calculate as you type (disabled by default) to qalc

2024-10-14 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve ability to abort matrix functions (e.g. identity() with large argument)

2024-10-07 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not show warning for logarithmic ratio unit, with quantity, as function argument

2024-09-29 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix inability to abort randpoisson() with very high rate value

2024-09-28 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix crash with empty vector in plot function, e.g. plot([])

2024-09-20 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not show single input decimal number as only combined fraction if fraction format is set to dual
	* Apply fraction format also for integers if set to percent, permille, or permyriad
	* Add (hidden) support for percent, permille, and permyriad fraction formats in qalc

2024-09-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault with recursive (self-referencing) function

2024-09-17 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix save definitions option
	* When questions are avoided (when reading commands/expression from file or in result only mode), create temporary objects for "variable" and "function" commands, do not ask before replacing object, and fail without question for illegal names
	* Avoid asking questions when reading commands/expressions from file before interactive mode
	* Fix line break for output from command line expression or file, before interactive mode
	* Update "exp" option documentation to reflect that custom negative values are allowed
	* "unkeep" command (reverse of "keep")

2024-09-16 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Remove unnecessary calculation for output of integers with non-decimal number base (fixes delay with very high precision)
	* Fix input of negative exponent in scientific e notation with rpn syntax

2024-09-12 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add nmi symbol for nautical mile

2024-09-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not show single input decimal number as fraction by default if small or large enough to be displayed using scientific notation

2024-08-31 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Support abbreviations for scientific (sci) and engineering (eng) as options for scientific notation (exp)

2024-08-30 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix superfluous "did you mean..." warning for two functions with parenthesis without separator (e.g. "atan2(a,b)atan2(c,d)")
	* Fix definite integral for 1/sqrt(1-x^2), with lower limit <= -1 and/or upper limit >= 1, and similar (temporary workaround)

2024-08-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix parsing of 1°2'3" as 1°+2'+3" (and similar)
	* Update nounit() function description

2024-08-04 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add Calculator::parseToExpression()
	* Minor fixes for "to" conversion in Calculator::calculateAndPrint()

2024-07-24 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add free_thread_caches() function
	* Place n and C last in variable isolation priority order
	* Fix interpretation of mH₂O, and related units with Unicode subscript, in qalc
	* Fix memory leaks

2024-07-14 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix saving of percentage interpretation in qalc

2024-07-09 Marko Zajc <marko@zajc.eu.org>

	* Disable load() and export() functions when --disable-insecure compile option is enabled
	* Fix a potential segfault when freeing DataObject

2024-07-09 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve compatibility with MSVC (including replacement of variable length arrays)
	* Show error for unrecognized command line options when expression is separated from options by "--"

2024-07-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix Calculator::reset()

2024-07-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve handling of "where" expression when variable name is placed after inequality symbol
	* Improve handling of "where" expression in exact mode
	* Improve removal of n in exact mode

2024-06-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Return n >= a + 1 for n > a, and n <= a - 1 for n < a, if a is an integer (and n represents an integer)

2024-06-22 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Always return false for 1/f(x)=0 (not f(x)=infinity)
	* Do not solve ln(f(x))=-infinity

2024-06-15 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add therm and thermie units (IT, ISO, and U.S.)
	* Use exact Btu relation
	* Use symbol "cal" for thermochemical (instead of international table) calorie
	* Add IUNS calorie
	* Fix input of scientific E-notation using lowercase e in numbers using concise interval notation, in expressions

2024-06-11 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Always allow "ignore comma" option (will change default decimal separator if not dot), and show more informative error message for "ignore dot" if decimals separator is dot
	* Do not mark decimal separator question as asked after percentage calculation has been asked

2024-06-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add MathStructure::representsFinite() to improve handling when unknown if value is real or complex
	* Fix "bit width" and "signed integer" arguments in setbits()

2024-06-06 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Preserve allow_infinite parameter for recursive comparison in MathStructure::equals()
	* Return true for infinity multiplied by zero in MathStructure::representsUndefined()
	* Add recursion counter to MathStructure::isolate_x() and MathStructure::isolate_x_sub() (variable isolation) to avoid stack overflow
	* Return true if both text strings are empty in equalsIgnoreCase()
	* Fix parenthesis added in front of multiplication sign in some cases
	* Use less strict rules when comparing with previous expression (to avoid infinite loop) when isolating variable, in MathStructure::isolate_x_sub(); * Do not apply x+x^(1/a)=b => x=(b-x)^a if (part of) x represents undefined

2024-06-05 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix negative-size-param (crash) when a variable name/symbol with more than 20 characters is used in "where" expression
	* Fix approximation mode changed with AUTOMATIC_APPROXIMATION_SINGLE in calculate_dual_exact (affects calculate-as-you-type in qalculate-qt)

2024-05-30 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Update values of physical constants with CODATA 2022 values; Change title and names/symbols of weak mixing angle (prepend "sin2" to theta variants and change order)

2024-05-26 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Return exact negative integers in log10()
	* Decrease (potentially) number of false negatives for represents... functions
	* Add descriptions for is... and represents... functions
	* Fix RoundFunction::represents...
	* Check for exact solution equaly simplified as approximation value in calculate_dual_exact when approximation is AUTOMATIC_APPROXIMATION_SINGLE
	* Fix confusing behaviour of complex forms other than rectangular in some case with equalities and inequalities

2024-05-23 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Remove n from equation solution if possible using assumptions of x
	* Fix auto/dual approximation with "where" expression
	* Fix Number::getCentralInteger()
	* "n > a" equals "n >= floor(a)", if a is not an integer, and equivalent for other inequality operators
	* Fix handling of where expressions with multiple inequality statements for a single variable, e.g. "where x>0 and x<10" (parsed expression were as aborted, and calculated value always 1)

2024-05-19 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix potential (but unlikely) segfault when integrating expression with abs() and empty ln()
	* Add allroots() function
	* Fix unnecessary parenthesis (with wrong color for closing bracket) around unit with exponent for colorized HTML output (affects qalculate-qt)

2024-05-12 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add additional names/symbols (tr,pla,rev,revolution,revolutions,cyc,cycle,cycles) to turn unit
	* Add rpm unit (= turns/min)

2024-05-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix qalc not exiting after factorization in non-interactive mode

2024-05-06 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix a^(f(x))=a^(b*g(x)) where b=2 or b=3

2024-05-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Avoid potential issues with equations and inequalities caused possibly modified comparison type property (primarily potentially resulting in AND instead of OR and vice versa)
	* Fix multiplication sign after exponentiation factor for unformatted output without unicode exponents

2024-04-30 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix "(ax+1)^n > 1" and "(ax+1)^n >= 1", where n is even and a is not 1, returning false

2024-04-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix -Wdocumentation warnings

2024-04-21 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Ask for the desired interpretation the first time percent addition is used (e.g. 100 + 10% equals 110 or 100.1)

2024-04-21 Fishhh <hubert.gluchowski19@gmail.com>

	* Fix Number::equals(0, ..., true) when number is infinite (also affects MathStructure::equals(), MathStructure::replace(), and MathStructure::calculateReplace() and replace() function)

2024-04-20 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not show error for 2nd argument with unknown variable in root() function
	* Fix precision for approximate data set number values, without uncertainty explicitely specified, with positive scientific e-notation exponent
	* Ignore two's input setting for hexadecimal floating-point literals using 0x...p... notation

2024-04-15 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add Sun to planets data set
	* Add solar radius, mass, and luminosity as units

2024-04-11 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for column vector in if() function

2024-04-07 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Relax conditions for (x^a)^b=x^(a*b) and x^a*x^b=x^(a+b) when complex numbers are deactivated (fixes segfaults)

2024-04-06 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for solving root(a, x)=b (requires rational value for ln(a)/ln(b))
	* Use parentheses for exponent using scientific notation (with power of 10)
	* Add checkAvailableVersion() variant returning package URL

2024-04-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add multiples() function (returns multiples of a number within specified range)

2024-04-02 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add powertower() function
	* Add recursive depth limit to avoid running out of stack memory (causing segfault)

2024-03-25 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Solve equations containing if() function
	* Fix awg(x)=... and awgd(x)=... when default assumption type is not real and fix solve() with these equations

2024-03-21 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Support integer factorization of integers in matrix/vector, and of numerator and denominator in rational number

2024-03-12 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix setbits()

2024-03-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not apply "read precision" setting to integer exponents for values with units
	* Change from line to point (or dot) plot style for data with many discontinuous points

2024-03-08 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Replace special colorize values, for selection of Unicode exponents, with different use_unicode_signs values
	* Use Unicode exponents, in MathStructure::print(), if format is false, even if tagtype is not TAG_TYPE_TERMINAL
	* Fix Unicode exponents with number bases < 10

2024-03-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve parsing of text arguments - fix quotation mark replaced by feet or inches and % replaced by percent variable, remove quotation marks when parts of argument are quoted separately (a "b" "c" = "a b c"), and do not replace quoted curly brackets in expression unless necessary
	* Do not use sexagesimal output format for very large numbers (when scientific notation is necessary for integer part) and reduce maximal number of decimals (for last position when previous positions is non-zero)
	* Handle case when initial guess results in division by zero, and avoid unnecessary error messages, in newtonsolve()

2024-02-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix BTC exchange rate from coinbase, if available from other source, not used before restart after exchange rates update, and do not mark BTC as hidden (places the unit in submenu in GUIs)

2024-02-20 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Support "where" statements, without "where", before main expression, e.g. "a=2, b=3; a^b"

2024-02-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Change handling of "where" expression (create temporary variables) to allow previously undefined variable names and to avoid confusing output of parsed expression (e.g. redefined "c" was displayed as SpeedOfLight)

2024-02-16 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Detect spelling errors in qalc options (when using set command)

2024-02-14 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Change handling a vectors in multiple function arguments (of non-vector type) - return vector instead of matrix, require equal number of elements, and use the same vector index for all argument for each function instance (e.g. atan2([1  2], [3  4]) = [atan2(1, 3)  atan(2 4)]
	* Set handle vector property by default, for text, date, and boolean arguments, and for arguments, in global non-builtin functions, without specified type
	* Enable parsing of vectors for text arguments
	* Add foreach() function (simplified for function, using vector instead of counter)
	* Add setbits() function
	* Add flip() function (changes order of elements in vectors and matrices)
	* Add "binary bits" option in qalc

2024-02-08 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add LightSecond, LightMinute, and LightHour units
	* Add integerDigits(), digitGet(), and digitSet() functions
	* Add more rounding methods and replace PrintOptions::round_halfway_to_even (and truncate time zone value hack) with PrintOptions::rounding
	* Add PrintOptions::duodecimal_symbols (replace time zone value hack)
	* Replace PrintOptions::lower_case_e with PrintOptions::exp_display and add option for scientific notation without E (10^x)
	* Add ParseOptions::binary_bits (replaces non-boolean values for twos_complement and hexadecimal_twos_complement)
	* Add keep command, which makes variable or function non-temporary, in qalc

2024-02-02 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Check for potential spelling mistakes in unrecognized qalc commands
	* Show error messages for command without argument, if not a reasonable expression, even if "/" is not used

2024-01-31 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for hexadecimal floating-point literals using 0x...p... notation (0x1.4p3 = 0x1.4 * 2^3 = 10)
	* In dsolve(), assume that C is real if y is (fixes dsolve(diff(y, x) = y)), and, if y cannot be isolated completely, return resulting equation in solve() function (e.g. dsolve(diff(y , x) = y)= solve(ln(y) = x + C, y))

2024-01-30 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for a...b syntax for sequence (vector) of integers
	* Add support for j:k (for sequence of numbers with increment 1), and j:i:k (with increment i) syntax
	* Add colon() function (used by new syntax)
	* Use parentheses for number with scientific notation in more cases

2024-01-29 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not list reactivated global objects when using "list" command (without argument)
	* Recognize function name with parentheses appended in argument of "delete" command (useful for deletion of function with same name as variable or unit)
	* Add bitset() and bitget() functions

2024-01-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Support scientific notation using 10^x instead of e notation for non-html output and in qalc

2024-01-26 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Allow specification of numbers of bits for two's complement input
	* If number of bits are not enough for output of binary or hexadecimal number, use default, instead of minimal, number of bits

2024-01-22 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Detect potential spelling errors in suspicious expressions

2024-01-21 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix "set cplxform cis"
	* Fix conversion to angle unit for complex angle, cis and polar forms
	* Improve output of complex angle form in some cases
	* Do not display exact result for dual approximation if parsed expression differs (can occur in some cases with conversion to angle unit), and in some cases where the only differences is how exact numbers in function arguments are

2024-01-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Allow multiple options, separated by semicolon, with a single --set (-s) command line argument

2024-01-14 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* lambertw(x*e^x, 0)=x if x>=-1

2024-01-11 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix -no... command line options when using double dash, e.g. "--nocurrencies"
	* Avoid radian unit missing error message with --nounits command line option
	* Exit with error status code if command line expression generates error

2024-01-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Allow values higher than 1 (true) to specify line width of plot grid

2023-12-28 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for "decimals" "to"-conversion (display as decimal fraction)
	* log(x, 1) is always zero when x has non-zero imaginary part

2023-12-25 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix log(1, 1)

2023-12-23 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve handling of zero solution and initial guess in newtonsolve() and secantsolve(), and check validity of solution

2023-12-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix "to"-conversion to prefix and add "prefix" conversion option (for optimal prefix)
	* Fix parsed expression repeated in result with some functions
	* Allow omission of equals zero in solve() function
	* Convert to simple fraction if value only contains integers, when converting to fixed denominator
	* Improve handling of text arguments with default value consisting of two double quotes (empty string)

2023-12-16 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault in newtonsolve() and secantsolve() when equation does not contain variable
	* Algebra and calculus functions represents scalars if all arguments do

2023-12-14 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for two's complement input (short settings "twosin" and "hextwosin") in qalc
	* Fix current value of hextwos in mode help

2023-11-21 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix BTC exchange rate (data now seem to always use USD)
	* Replace exchangerate.host (now requires API key) with currency-api (https://cdn.jsdelivr.net/gh/fawazahmed0/currency-api@1/latest/currencies/eur.json)

2023-11-19 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve formatting of base unit(s) in unit information in qalc
	* Fix plural name of U.S. survey rods
	* Improve output of defs2doc

2023-11-13 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Ignore spaces when converting text string to integer

2023-10-31 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Display all exponents 0-9 using Unicode superscript characters (not, as before, only for units), in qalc (using TAG_TYPE_TERMINAL), if these are the only exponents in the expression (behaviour can be altered using uniexp option)

2023-10-30 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add history command, listing expression history
	* Ignore underscore in number

2023-10-29 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add fraction formats for output using percent, permille, and permyriad
	* Add additional year definitions as units
	* Improve handling of (x*sqrt(x)-y*sqrt(y))/(sqrt(x)-sqrt(y))=x+sqrt(x*y)+y

2023-10-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Support for specifying a fixed denominator for display of fractions
	* Fix case insensitive comparison for strings with more than two or more consecutive Unicode characters in qalc

2023-10-25 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix parsing of case insensitive object name ending with Unicode character when followed by another Unicode character in expression, e.g. микрометр

2023-10-21 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix output of value converted to unit expression with numerical multiplier in denominator, e.g. L/(100 km)

2023-10-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault (infinite loop) when trying to solve (x*sqrt(x)-y*sqrt(y))/(sqrt(x)-sqrt(y))=x+sqrt(x*y)+y

2023-10-06 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix asin(x)=a, acos(x)=a, and atan(x)=a, when a contains an angle unit and default angle unit is set

2023-09-28 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix Calculator::hasWhereExpression()

2023-09-23 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Return gcd of numerators divided by lcm of denominators in gcd() with non-integer rational numbers, and vice versa for lcm()

2023-09-16 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix display of matrices and vectors with complex number form other than rectangular

2023-09-12 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix besselj() and bessely()

2023-09-11 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Require that duodecimal number, entered using 0d... syntax, contains at least two digits, to avoid conflict with decibel units (e.g. 0dB)

2023-08-31 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix for title, ylabel, and xlabel options with whitespace in value, in plot() function

2023-08-19 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix and improve to Calculator::findMatchUnit() (fixes matching unit for m/s)

2023-08-13 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault with curly brackets in expression
	* Apply automatic unit conversion after conversion to variable

2023-08-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix "E" at end of longitude replaced with "e"
	* Add derived units for kJ, kcal, and kcal/g

2023-08-02 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Concise uncertainty input (disabled by default)

2023-07-30 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Round high precision intervals enclosing integers for integer arguments (excluding order argument of besselj() and bessely())

2023-07-28 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for input of relative uncertainty using percentage (e.g. "5+/-2%") and output of interval using relative or concise (e.g. "1.2345(67)") notation

2023-07-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Set unicode property of object name automatically (does not affect usage in definitions file)
	* Keep prefixes for variable value in save() function
	* Fix numerical value of lower and upper options in help text for interval display setting

2023-07-26 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix fibonacci() for non-integers
	* Fix erroneous simplication of exponentiation when power is multiplication and base is a rational number < 1 in some case (e.g. "fibonacci(fibonacci(2))")

2023-07-25 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add support for specifying position of sign bit in floating point functions

2023-07-23 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Use international foot as base unit for rod, and add U.S. survey rod unit

2023-07-19 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add units for Electric Dipole Moment (C*m and Debye)
	* Add units for electrical elastance (F^-1, Daraf, and V/C)
	* Add and N/C as alternative unit for electric field strength
	* Optimize rest of unit expression when converting to partial (insufficient) expression (e.g. 18MA×100ns to J)

2023-07-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Replace occurrences in variable values in replace() function, when original expression contains unknown symbol/variable, and for "where" replacement
	* Fix numerical integration when variable is present within other variable values

2023-06-29 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix errornous determination of unit compatibility for equalities with unknown variables
	* Fine-tune detection of approximate units when deciding to calculate uncertainty propagation or not

2023-06-24 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add function, kron(), for Kronecker product
	* Add constants for Pauli matrices
	* Add radius to planets dataset and update other properties

2023-06-21 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix "help set OPTION" when OPTION is an option name supported in addition to the standard name and abbreviation (e.g. "help set parse")

2023-06-17 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix incomplete calculation in tan() with try exact approximation

2023-06-15 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* More consistent addition and removal of angle unit from function arguments
	* Always append radians to return value (even if zero) in relevant functions when default angle is none
	* Do not apply x^(ab)=(x^a)^b rule if ab has unit

2023-06-13 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault in some cases when multiplying single column matrix with empty vector
	* Fix segfault when MathStructure is deleted after Calculator, and in destructor of calculated DynamicVariable
	* Fix besselj(0, 0)
	* Do not use Tamil symbol by default for Sri Lankan rupees

2023-06-11 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Change order of operations to place entrywise and ordinary operators on the same precedence level
	* Always interpret ./, .*, and .^ as entrywise operators if user intention is unclear

2023-06-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not calculate functions in arguments of functions that are not differentiable, after function calculation fails, before uncertainty calculation (improves efficiency)
	* Do not save mode on exit if "-defaults" command line switch where used
	* Show expression of subfunction (instead of index) in function info
	* Remove duplicated "Units" heading in mode list

2023-05-22 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix 0/0=0 (do not return true) and output of 2/0 (and similar)

2023-05-15 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix newtonsolve() and secantsolve() not returning when no solution can be found (fixes rate() function), and improve speed in some cases

2023-05-09 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix potential memory leak when loading unit data saved with version < 0.6.3

2023-05-05 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Support for custom default angle unit, e.g. turn, arcsec, arcmin
	* Append default angle unit (instead of always radians) when converting value without unit to angle unit

2023-04-17 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix element() function for vector when column number is specified (non-zero)

2023-04-14 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve parsing of element-wise operators with comma as decimal separator
	* Fix segfault in some cases with curly brackets in expression

2023-04-13 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix some memory leaks

2023-04-12 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault when conversion to base units fails because of aborted calculations
	* Do not try to calculate norm() and magnitude() for matrices

2023-04-11 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix rref() with different units for different elements
	* Fix segfault trying to solve cbrt(x)^(1/3)-x=0 (and similar)
	* Fix erroneous simplification of sin(x)^2*y-cos(x)*sin(x)^2*y (and similar)
	* Fix division and exponentiation of scalar by matrix/vector, e.g. 4./[8 4.5]

2023-04-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault in function assignment with equals sign (e.g. F()=...), when an object with the same name already exists
	* Improve abortion of calculations
	* Replace temporary variables created during calculation after abortion
	* Fix segfault with empty vector in uncertainty calculation
	* Fix segfaults in some corner cases
	* Fix some memory leaks
	* Fix internal id does not exist error (primarily in some cases with functions without parentheses in matrices)

2023-04-06 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault in handling of vector variable with uncertainty
	* Fix abortion with low max calculation time in qalc

2023-04-04 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not make any difference between row and column vectors in magnitude(), norm(), and dot() functions

2023-04-02 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix abbreviation for variable units (varunits) command in information (within qalc and in man page)

2023-04-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix order of argument titles in csum() function

2023-03-26 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add modular exponentiation function, powmod(), with support for calculation of modular inverse

2023-03-25 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix a^n mod b when n is negative

2023-03-04 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault in multisolve() and improve removal of equal solutions

2023-03-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Support elements with units in rref() and rk()

2023-02-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Always show value of local variables using current output options, in qalc

2023-02-23 Jules Bertholet <julesbertholet@quoi.xyz>

	* Add "thou" name to mil unit and make it default and reference
	* Add plurals to old French units

2023-02-21 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve detection of default language on Windows

2023-02-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Make pv(), fv(), and rk() case sensitive, and remove aA abbreviation from Abampere, to avoid conflicts with prefix + unit
	* Allow "prefix" (unlocalized) as alternative for pref/prefixes qalc command

2023-02-14 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix conversion from ounce (interpreted as fluid ounce) to litre with prefix
	* Use max/min preferred for unit ordering (replaces explicit ordering of N*m and W*s)
	* Support "help set [OPTION]" syntax and show "unrecognized option" message on help command failure, in qalc

2023-02-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Do not set automatic prefix if resulting multiplier is < 1 or >= 1000, with some exceptions (units which specifies max or min preferred prefix, e.g. km)
	* Default prefix unit property (use for gram, and few other units, instead of hardcoded value)
	* Do not use recently introduced SI prefixes (R, Q, r, q) automatically by default
	* Set zero max preferred prefix for second

2023-02-07 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Use value of fourth argument in genvector() as step size by default if 1 (default), negative, or non-integer, and value of sixth argument is -1 (default)

2023-02-03 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Prefer Nm (torque) over J when the result is a vector with three components
	* Fix unit order for Nm and Ws
	* Always use current number base in both base and exponent in output of scientific notation
	* Indicate correct number base in subscript (in html formatted output) when output in original base fails
	* Do not show multiplier if exactly 1, in html output of scientific notation
	* Fix parsing of scientific e notation when the number is extremely large and exponentiation fails because of floating point overflow

2023-02-01 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Use Unicode symbol for minus in scientific e notation
	* Allow the same variable left and right of the equals sign (e.g. var=var+2), in variable assignment without colon, if the variable exists and the previous value is known

2023-01-27 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add "amp" abbreviation to ampere unit

2023-01-26 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Don't show anything on empty input in qalc
	* Set zero as max prefix for litre
	* Fix prefix selection in denominator when multiplier is higher than the value of the largest prefix
	* Make sure that prefixes are stored in correct order

2023-01-18 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add min and max preferred prefix properties to units, and use kilo as max for meter, gram, and zero as min for byte, and bit)

2023-01-11 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Add option to change symbols used for output of digits 10 and 11 in duodecimal numbers. Default digits are now A and B, instead of ↊ and ↋ (or X and E)

2023-01-10 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix reactivation of global object after deletion of conflicting object

2023-01-07 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Use "help [OPTION]" to display description for a single set option, in qalc

2023-01-04 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* EUR has replaced HRK as currency of Croatia

2022-12-30 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Use json exchange rate data from exchangerate.host, mycurrency.net, or floatrates.com (try in mentioned order), as secondary exchange rates source

2022-12-28 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix unit tests (ordering in output changed)

2022-12-22 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Check that output of command, in command() function, is a reasonably sane expression
	* Fix countTotalChildren() with count_function_as_one set to false

