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

	* Fix use of x, y, z, without backslash, for function arguments when using function command

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

	* Fix set vector element in variable (v[i]=a)

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

	* Make conversion of expression with time unit to time format more consistent (convert to hours for cases other than number with only time unit)

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

	* Fix element index in unsolved compared error message (sort and rank functions)
	* Fix integerDigits(0)
	* Fix segfault when dataset function name is followed immediately by a single dot
	* Fix duplicated input expression in output of exact and approximate result in some cases with sqrt() and cbrt() (e.g. "1/sqrt(6)")
	* Return exact value for tan of angle 3/8*pi (and -3/8*pi, 5/8*pi, -5/8*pi)

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

	* Add characters() function (converts text string to vector of characters)

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

	* Fix explicit conversion to mixed units for year variants
	* Support non-text as first argument in function() function

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

	* Support negative row and column values in element(), row(), and column() functions
	* Add support for value variable in condition of for() function and add while() function
	* Add digitSum() and digitalRoot() functions
	* Fix error message when determining if argument is vector

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

	* Support for infinite sets ("ℤ", "ℝ", and "ℚ") in set functions
	* Add isSubset() function
	* Add support for "∋", "∌", "⊆", "⊇", "⊊", and "⊋" set operators
	* Ignore "to" and "where" (and equivalent symbols) inside quotation marks
	* Fix support for vectors in (first) argument of mod, rem, Ci, Shi, exp, fresnelc, fresnels, Chi, dirac, erf, and midpoint functions
	* Add string() function (converts value to text string)
	* Add popCount() function
	* Fix segfault in replace() with variable specified using where expression, e.g. "replace(v, x, 1) where v = x"

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

	* Add support for set operators "∪", "∩", "∖", "⊖", "∉", and "∈"

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

	* Add find() function (as select() but returns position)
	* Add isMember() and count() functions

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

	* Add intersect(), union(), setdiff(), and setxor() functions for basic set operation on vectors
	* Return expression with x instead of "x" in linearfunction()
	* Add support text objects in sort() and set functions

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

	* Fix first digit 1 missing in return value of integerDigits(), with automatic length (-1), when 1 is followed by only zeroes, e.g. integerDigits(100)

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

	* Fix infinite loop when referencing subfunction in another subfunction
	* Ignore dot in front of plus or minus (for consistent behaviour in line with entrywise operators)

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

	* Support matrix[row][column] syntax (in addition to vector[index])

2026-04-12 LordMZTE <lord@mzte.de>

	* Fix segfault when Calculator is destroyed with uninitialized randstate

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

	* Show "Division by zero" message for all divisions by zero (not only when expoenent is not -1), and show as warning instead of error

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

	* Add strcat as alternative name for concatenate() function

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

	* Do not bind escape key (fixes bad behaviour with keys that generate escape sequences, e.g function keys)

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

	* Add third optional argument to interval() function to allow exclusion of exact endpoints
	* Concate all strings in vector together in concatenate() function, e.g. concatenate(["1", "2", "3"]) = "123"

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

	* Support vectors as arguments in data set functions (return multiple objects and/or properties)
	* Fix input of vector with elements separated by space in text argument

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

	* Fix use of matrix/vector functions with code() function as argument, e.g. element(code("abcd"), 2)

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

	* Initial support for comparison of vectors and matrices (e.g. "[1 2 3] = [1 2 3]" returns true)
	* Fix newtonsolve((x+1)^2,1) and similar (when intermediate value is zero)

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

	* Allow use of apostrophe as thousands separator in input, when specified as group separator by locale
	* Do not attempt to solve equations with five or more abs() or sgn()
	* Do not allow extremely long expressions in required assumption warning

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

	* Fix bad simplification in some cases (e.g. "√(58 + 8 × cbrt(58)^2 + 15 × cbrt(58))"), leading to recursive simplification in log() function
	* Fix wrong result, e.g. wrong sign in asin(), in some cases because extremely small imaginary part of complex number was opportunistically removed (assumed zero) in too many cases
	* Add ton of refrigeration unit

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

	* Fix wrong simplification of "sin(2-cosh(x)^2/x+x)"

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

	* Fix segfault in some cases when argument in det() contains only a single element

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

	* Add mol/dm³, mol/L, and molar units
	* Enable compiled definitions by default

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

	* Fix loading of qalc history on Windows

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

	* Treat 0^0 as undefined (but assume that base is non-zero by default, thus f(x)^0 = 1)
	* Assume that plot function is not discontinuous if values are so close that they can safely be assumed to be equal (e.g. when approximately calculated function results in horizontal line, e.g. x^log(a, x))

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

	* Use max 4 decimals, and min 2 decimals, by default (with less decimals for large numbers and more decimals for small numbers) for display of value of converted currencies

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

	* Add slug unit
	* Add pcm, ppm, ppb, ppt, and ppq (parts per ...) as variables

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

	* Improve interval calculation (avoid "interval potentially calculated wide" when interval calculation is set to interval arithmetic) with division by zero and/or both real and complex numbers in derivative of expression
	* Fix adaptive interval display when "where" expression contains interval function

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

	* Add lakh and crore variables

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

	* Improve simplification
	* Fix root(x, n)=z when z is a complex number (should return false)

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

	* Fix recursive variable in "where" expression

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

	* Add XAG, XAU, XPD, and XPT currencies (precious metals)

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

	* abs(x+a*abs(x)) equals x+a*abs(x) if a>=1, or abs(x)-x if a=-1
	* Enable abs(f(x)) and sgn(f(x)) substitution for all inequalities
	* Improve handling of abs(x)/x-sgn(x)

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

	* Factorize a+2*sqrt(c) to (sqrt(n)+sqrt(m))^2 (and similar) and simplify sqrt(a+b*sqrt(c))
	* Increase time before forced abortion with high precision

2026-01-20 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Improve factorization and simplification with radicals
	* Improve simplification of log function, e.g. ln(x^2+2x+1)
	* Fix x^2+y^2-1=0 && y-x=0
	* Fix 0^(a/ln(0)) (delay ln(0)=-infinity);

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

	* Simplify a^(b/ln(a)) to e^b
	* Complete the square when first exponent equals second exponent times two, e.g. x+2*sqrt(x)+1=(sqrt(x)+2)^2
	* Do not prefer no exponent in factor over exponent < 1, thus avoiding negative exponents, e.g. x+sqrt(x)=(sqrt(x)+1)*sqrt(x) instead of (1/sqrt(x)+1)*x)

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

	* Improve check for division by zero in factor when solving f(x)*g(x)=0 (e.g. "(1/sqrt(x)+1)*x=0" returned the invalid solution)
	* Do not show negative exponents (if "negexp" is deactivated) when expressions contains unknown variables, even if all units have negative exponents
	* Do show warning about denominators assumed non-zero when converting to expression with non-unit objects

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

	* Fix (x-y)/(y-x)+1 not simplified
	* Do not show expression in complex exponential form when possibly not real but not complex or arg() fails for the expression

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

	* Use L'Hôpital's rule for 0^0 and infinity^0 (in addition to 1^infinity)
	* When limit fails, try unexpanded expression
	* Show warning when using limit function
	* 0^(a*i) is undefined (not zero)

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

	* sgn(x^a)=sgn(x)^a if a is real
	* Normalize sign of argument in sgn, erf, root (with odd degree), and cbrt functions (e.g. cbrt(x-y)=-cbrt(y-x))
	* Fix negative exponents always used for units with rounding set to (halfway) down or up

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

	* Improve solving of abs(f(x))=0, abs(f(x))<=a, and abs(f(x))>=a

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

	* Delay simplification of integer inequalities (e.g. from n>0 to n>=1), and further simplify inequalities at end of evaluation when it is safe to ignore the possibility that the value of an unknown variable has a unit

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

	* Improve handling of "to mixed" after previous conversion statement (e.g. "1 m to in to mixed")
	* Add missing "mixed" option for to command in qalc

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

	* Set initial random seed using /dev/random, or BCryptGenRandom (on Windows)
	* Do not initialize and seed random state until random number functions are used

2026-01-15 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Fix segfault in some corner cases when converting approximate units before uncertainty calculation

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

	* Simplify (x <= a || x >= a+1) when x and a are integers (fixes abs(x-1)=abs(1-x))

2026-01-13 Hanna Knutsson <hanna.knutsson@protonmail.com>

	* Exclude functions with expression containing "plot(" from calculate-as-you-type
	* Update currencies to reflect that BGN has been replaced with EUR as official currency

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

	* Clean up code for reading default values from function expression and make it more forgiving and consistent for input which deviates from the ideal

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

	* Add exact values for multiples of pi/12 (15°) in sin() and cos(), and tan(7/12*pi*n)
	* Fix loading of approximate variable with both approximate and exact values (e.g. in vector)
	* Fix missing parenthesis for exact number shown as approximate in vector

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

	* Fix conversion to non-unit expression beginning with zero (when not before decimal separator) or minus

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

	* Add example and support for x, y, and z without preceding backslash in function() function
	* Support X, Y, and Z (uppercase) without backslash for function creation, in qalc
	* Fix support for vector as only argument to function in function() function

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

	* Completion for commands and options

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

	* Parse +/- before implicit multiplication when not preceded by number (e.g. "7 km +/- 5m")

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

	* Fix abortion of matrix resize in some cases
	* Improve efficiency and block errors and warnings in Calculator::findMatchingUnit()

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

	* Always consider x^(a+b) equivalent to x^a * x^b (fixes "x^(y+z) - x^y * x^z" returns "(1 − 1)x^(y + z)")
	* Simplify root(a, x) to a^(1/x) when x represents a rational number, a is real, and a != 0 and x > 0, or a > 0 and x != 0
	* Do not allow zero as 2nd argument in root function
	* Reduce evaluation (perform for a smaller subset of malformed unit expression) in CompositeUnit::setBaseExpression()
	* Do not interpret expression after "./" as "where"-expression if there is no left hand side expression
	* Predict timeout error for extremely large numbers in Calculator::calculateAndPrint()
	* Do not show global object deactivated error when reading expressions from file
	* Improve decision to not show calculate-as-you-type result for incomplete object name (e.g. "integ" interpreted as "int(e*g)")

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

	* Simplify (x = a || x >= a+1) and (x = a || x <= a - 1) when x and a are integers (fixes abs(x-1)=abs(1-x))

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

	* Do not show result for variable assignment when -t and -f command line options are used
	* Ellipsize large matrices and vectors when a subset of output (e.g. in a failed function), in qalc
	* Add additional abortion points in uncertainty calculation

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

	* Do not remove duplicate whitespace characters from text strings (in quotation marks)
	* Improve speed of vector rank and mode
	* Reduce unnecessary approximation of vector/matrix elements
	* Fix exchange rates marked as used (and subsequently updated) after calculation of expression with only one currency (while conversion to more optimal currency was attempted conversion to € occured)

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

	* Improve speed of vector sort
	* Improve efficieny of MathStructure child deletion
	* Do not ask questions when --defaults is used

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

	* Fix floating point conversion when comma is used as decimal separator

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

	* Fix (almost) endless loop with increasingly complex equations in x+x^(1/a) => x=(b-x)^a (e.g. when solving "x + y = k/2 and x^2 + y^2 = k")
	* Do not append multiple duplicate (sort of) equations (e.g. "x^51+sqrt(x)=3" returned "x^51 + √(x) = 3 && 6x^51 − x^102 + x = 9")
	* Fix crash on Windows during output of extremely small or large (> 10^323228497) floating point number

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

	* Fix compilation with readline < 7.0
	* Fix compilation with mpfr < 4.0

2025-11-21 Đoàn Trần Công Danh <sgn.danh@gmail.com>

	* Drop intltool requirement

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

	* Fix default data property argument ("info")
	* Limit range of arguments in binomial function

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

	* Show vector, with many elements, in result using colon function when possible

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

	* Add abortion point in bernoulli function with non-zero second argument
	* Add abortion point in zeta function with negative integer as first argument and second argument != 1

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

	* Fix handling of single quotation marks
	* Limit the range of supported arguments in igamma function to avoid segfault and very slow unabortable calculations
	* Fix use of options "ignore locale" and "language" in command line arguments
	* Reduce max argument of nextprime() and prevprime()

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

	* Show error when plot function is used when Gnuplot is not found or is disabled by "--without-gnuplot-call"
	* Fix segfault with entrywise operation on a column vector and an empty vector (e.g. "[1; 2].*[]")
	* Fix segfaults with "{" or "}" in expression (qalc not affected)

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

	* Add reshape() function
	* Add warning when matrix/vector has been expanded in slice() or part()
	* Improve support for multiple preferred languages on Windows

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

	* Fix compilation without readline
	* Add circshift and replacePart functions
	* v[i, ...]=... syntax for assignment of part of matrix/vector variable
	* Rename and improve area (now "part"), limits ("slice"), and mergevectors ("combine") functions
	* Improve language handling in definitions files

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

	* Add default currency option in qalc

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

	* Limit the range of supported arguments in bessely and besselj functions (to avoid very slow unabortable calculations), and add abortion points
	* Limit time used for dual calculation with time command line argument to same limit as without
	* Do not try to calculate exact result with automatic approximation for expressions with iterative functions

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

	* Fix infinite loop during factorization (e.g. when calculating "base(1234567,x,3)=2^31") on Windows

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

	* Hide mode string (when show-mode-in-prompt is enabled) when asking for user input
	* Improve interpretation of function expressions with x, y, and/or z in object names (e.g. "x year"), and/or within quotation marks (e.g. "x*code('x')"), in qalc

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

	* Avoid "Did you mean..." warning with same original text string as suggested

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

	* Fix crash after factorization with calculate-as-you-type enabled
	* Fix segfault with both calculate-as-you-type and RPN mode enabled
	* Improve support for character encodings other than UTF-8

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

	* New completion method which presents a numbered list of matches and lets the user select an item by entering the corresponding number
	* Completion mode option
	* Refine completion matching
	* Hide "101" name variants

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

	* Show error when function or variable disabled by "--disable-insecure" is used
	* Fix "make test" (unittest) when compiled with --disable-insecure
	* Fix matching of multiple words in title
	* Fix compilation with -fsanitize=undefined

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

	* Improve speed when performing many multiple calculations read from file (by a factor of about 100 for simple calculations)
	* Increase responsiveness by decreasing the length of sleep periods (from 10 to 1 ms) while waiting
	* Improve calculation timer accuracy and add workaround for low time resolution for sleep on Windows

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

	* Allow any separator before time in date/time value if colon is used, and allow space as separator even if quotation marks are not used
	* Allow use of Z after date for UTC time (without any time specified)
	* Do not allow left over characters after date
	* Fix negative time zone in date and time input

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

	* Use category and title from existing local variable/function when using "=" for variable/function assignment
	* Fix output of calculate-as-you-type parsed value (division was displayed using negative exponent) for excluded functions
	* Do not write unnecessary (de)activate global objects to local definitions
	* Always include million, thousand, hundred (they are not ambiguous like other large numbers)
	* Fix make distcheck

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

	* Move erg/gram from equivalent to absorbed dose category
	* If last character is a digit, include both letters and numerals in matched word for completion
	* Fix reference names not used for reference of base units in some cases causing failure to load 13 units with Russian translation
	* Make astronomical unit symbol case insensitive and use lower-case letters by default ("au")

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

	* Calculate with interval/uncertainty in where expression even if exact mode
	* Fix display of "calculate as you type" and "save config" options, and remove duplicate "save mode" on Windows, in mode list
	* Update names for Loschmidt, Molary volume of ideal gas, and Sackur tetrode constants to improve consistency
	* Update value of HiggsBoson, quark_c, and quark_t constants
	* Add StandardGravity_unit name
	* Minor adjustment to Fine-Structure and Rydberg constants to more precisely reflect CODATA values for derived constants
	* Use current mode for display of value, place units and uncertanity on same line, for variables in qalc

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

	* Improve accuracy for intervals in solutions to equations when using interval arithmetic
	* Improve handling of intervals in where expressions
	* Move jerk, snap, crackle, and pop to subcategory
	* Change title "Gee" to "Standard Gravity (unit)" and add standard gravity per second

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

	* Avoid slow display of extreme numbers (> 2^10000000) with calculate-as-you-type
	* Add min/km and min/mile (pace)
	* Fix output of extremely large exact number with unnecessarily low precision with PrintOptions::preverve_precision activated
	* Restrict number of digits (10000) for extremely large numbers when saving variable to file
	* Fix 10 in scientific notation for approximate number in variable value displayed with decimals

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

	* Fix segfault when calculating log(a^n, a) with interval arthmetic is disabled
	* Show warning and ask for confirmation when deactivating interval arithmetic in qalc
	* (Re)activate interval arithmetic in qalc (if configuration from prevision version)

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

	* Fix language option without encoding (without ".utf8" at end)
	* Fix LANGUAGE and LANG variables for translation of definitions on platforms other than Window
	* Fix scruple unit typo ("scuple")
	* Hide questionable IUNS calorie unit
	* Initialize tm_isdst with -1 to make time zone determination more predictable, and accurate, for time around when daylight saving changes

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

	* Make titles for derived units without special symbols more consistent
	* Automatically update calculate-as-you-type calculations every second when the expression contains now or uptime variable, or time() function
	* Automatically calculate expression with "to"-operator even if it contains no other operator or number
	* Fix id of uptime variable (was same as id for plus infinity)

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

	* Add Kayser, Lambert, Foot-Lambert, Darcy, and Millidarcy units
	* Fix unit selection for automatic conversion from single unit with quantity one in some cases (e.g. barye)

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

	* Use mol as base unit for Einstein and clarify that Einstein refers to one mole of pohoton
	* Match object name on words after underscore, e.g. oz in fl_oz (find/list command)
	* Move (micro)einstein/(m²⋅s) to new category (molar flux) and add corresponding SI units

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

	* Fix inequality with 1/f(x) on one side, e.g. "1/(x-2) <= 2"
	* Add erg/(cm²⋅s) unit
	* Lower max bit width in bitrot(), bitset(), and setbits() functions, and max steps in shift()

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

	* Fix endless loop in Calculator::hasToExpression() with expression containing negative circled sans-serif digit dingbat
	* Add (reduced) compton wavelength for muon, neutron, proton, and tau
	* Add ƛ_C symbol to reduced compton wavelength and change alternative symbol for natural unit of length to ƛ_unit
	* Stricter command argument in command() function
	* Fix search term with more than one word and search for word preceded by parenthesis in title
	* Specify minimal vector size for linearfit(), quadraticfit(), and cubicfit() functions

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

	* More efficient reducing of vector size (fixes segfault when aborting plot with very large number of samples)

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

	* Fix segfault when plot data generation is aborted before first y value has been calculated

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

	* Fix segfault (infinite loop) in Calculator::findMatchingUnit() with "sr*Pa^2"
	* Improve abortion of prime functions, and fix segfault when aborting prevprime() function
	* Fix possible freeze when creating CompositeUnit with malformed expression (primarily relevant when parsing expression after "to" operator)
	* Lower highest number of bits (to 10 000) in floating point conversion functions to avoid unresponsive application

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

	* Fix value of Planck unit (was rounded to 7 decimals)

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

	* Relocate qalc.history to $XDG_STATE_HOME (~/.local/state)

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

	* Do not show calculate as you type result for data set function with "info" (default) as second argument
	* Separate translation of "info" as data set argument from "info" as qalc command
	* Add "simple" to-operator option for non-scientific notation and apply non-scientific notation (exp off) for "decimal"

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

	* Show warning about default assumptions the first time an equation is solved, in qalc
	* Show warning when trying to calculate logarithm of quantity with unit, or value with unit in exponent
	* Show warning "(!)" when calculate as you type expression, in qalc, results in a question

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

	* Fix segfault with very small numbers (when floatValue() should return zero), high number of bits, and insufficient precision, in floating point conversion

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

	* Update calculation of fraction of year (with day counting basis 0 and 1) to match method used in spreadsheets other than Gnumeric

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

	* Add output in scientific (sci), or engineering (eng), notation as "to"-operator option (e.g. 1000 000 to sci = 1E6; also affects use of unit prefixes, negative unit exponents, etc.)

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

	* Fix dollarde() and dollarfr() functions

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

	* Allow use of non-existing variables, without using quotation marks or backslash (now also supported in X variable value), in plot expressions, and set appropriate assumptions in all cases (this affects GUIs but not the plot() function)

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

	* Parse 'p' in hexadecimal number as an operator (raise and multiply after parsing during calculation, e.g. 5p10 = 0x5 * 0x2^10), as with scientific E-notation, in order to improve display of parsed expression and avoid slow and very memory intensive calculations which might cause segfault in mpz_ui_pow_ui
	* Fix poolvar(), ttest(), and cor() functions
	* cor() and pearson() are the same function
	* Simplify (do not use csum() function) poolvar(), covar(), meandev(), var(), varp(), rms(), geomean(), harmmean(), and weighmean() functions
	* Change default quantile algorithm from 8 to 7
	* Only allow positive values in geomean() and harmmean() functions

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

	* Fix calculate as you type and indentation with prompt string containing Unicode characters, control characters, and/or escape sequences
	* Add "save config" option (if disabled qalc.cfg is never automatically updated)

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

	* Add symbols/abbreviations with variant name (US, UK) as suffix (shown as subscript), and hide corresponding symbol/abbreviation with variant as prefix
	* Add TeX scaled point unit
	* Change "ATA Pica" to "Johnson Pica" and "ATA Point" to "American Point", and make corresponding name/symbol changes
	* Set minimum preferred prefix to 0 for metric ton
	* Return first argument of uncertainty() function directly without evaluation, in midpoint() function

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

	* Add TeX point, twip, and agate typography units

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

	* Fix segfault when parsing "( \" followed by operator with RPN syntax
	* Fix segfault in parsing of text argument in some cases (with RPN syntax)

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

	* Add support for input of functions with more than one argument using RPN syntax

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

	* Load exchange rates even if exchange rates updates is not enabled (compiled with --without-libcurl), and show error message when exrates command is used in this case

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

	* Fix qError() function

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

	* Fix completion of text string ending with capital E

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

	* Fix input of inverse trigonometric function using Unicode power (e.g. sin⁻¹(x))
	* Add support for input of exponent before argument of trigonometric function (e.g. sin²(x))

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

	* Fix segfault during output of both approximate and exact logical OR value without (in)equality
	* Do not add linebreak, in qalc, after OR outside of result display and when result does not contain (in)equality
	* Fix display of result aborted because of time limit in some cases in qalc

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

	* Return exact integers in more case in log() function
	* Fix segfault during calculation of (in)equality with root() function with insufficient number of arguments

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

	* Fix segfault with text argument containing potential text returning function, or variable containing text value
	* Add support for "to 1/n" as alternative to "to fraction"
	* Ask for interpretation of comma (when comma is not default decimal separator)

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

	* Fix calculate as you type and indentation for show-mode-in-prompt with custom mode strings

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

	* Support for input of second argument of log() function with a number before parenthesis (e.g. log153(23409) = log_153(23409) = log(23409, 153))
	* Add lb and log_2 names to log2() function, and lg and log_10 to log10()
	* Add micron unit
	* Convert micron and kph before calculation

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

	* Fix locale used for definitions when language option is set in qalc

2025-07-07 Marko Zajc <marko@zajc.tel>

	* Do not colorize "E" in scientific E notation

2025-07-06 Cookie04DE <52695768+Cookie04DE@users.noreply.github.com>

	* Add new binary prefixes (robi, quebi)
	* Enable use of recently added SI prefixes in output by default

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

	* Fix non-localized data set key properties for languages where translations for multiple territories is available (e.g. zh_CN and zh_TW)
	* Use semicolon as argument separator in output when comma is used as digit group separator
	* Add indentation to each line of error/warning/information message with newline character (e.g. data object property list) in qalc
	* Fix dataset copyright translation (the last translation in the data file were used regardless of language)
	* Hide class property in elements data set

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

	* Customizable prompt in qalc

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

