<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
 <id>io.github.Qalculate.qalculate-qt</id>
 <metadata_license>CC0-1.0</metadata_license>
 <project_license>GPL-2.0+</project_license>
 <name>Qalculate! (Qt UI)</name>
 <name xml:lang="ca">Qalculate! (Qt UI)</name>
 <name xml:lang="de">Qalculate! (Qt UI)</name>
 <name xml:lang="es">Qalculate! (Qt UI)</name>
 <name xml:lang="fr">Qalculate! (Qt UI)</name>
 <name xml:lang="pt_BR">Qalculate! (Qt UI)</name>
 <name xml:lang="ru">Qalculate! (Интерфейс Qt)</name>
 <name xml:lang="sl">Qalculate! (vmesnik Qt)</name>
 <name xml:lang="sv">Qalculate! (Qt UI)</name>
 <name xml:lang="zh_CN">Qalculate! (Qt UI)</name>
 <summary>Powerful and easy to use calculator</summary>
 <summary xml:lang="ca">Calculadora poderosa i fàcil a usar</summary>
 <summary xml:lang="de">Leistungsstarker und einfach zu bedienender Taschenrechner</summary>
 <summary xml:lang="es">Calculadora poderosa y fácil de usar</summary>
 <summary xml:lang="fr">Une calculatrice puissante et facile d'utilisation</summary>
 <summary xml:lang="nl">Gemakkelijk te gebruiken rekenmachine met veel mogelijkheden</summary>
 <summary xml:lang="pt_BR">Calculadora potente e fácil de usar</summary>
 <summary xml:lang="ru">Мощный и простой в использовании калькулятор</summary>
 <summary xml:lang="sl">Zmogljivo računalo, preprosto za uporabo</summary>
 <summary xml:lang="sv">Kraftfull och användarvänlig miniräknare</summary>
 <summary xml:lang="zh_CN">强大而易用的计算器</summary>
 <description>
  <p>Qalculate! is a multi-purpose cross-platform desktop calculator. It is simple to use but provides power and versatility normally reserved for complicated math packages, as well as useful tools for everyday needs (such as currency conversion and percent calculation).</p>
  <p xml:lang="ca">El Qalculate! és una calculadora d'escriptori per a diverses plataformes i finalitats. És senzill a usar però proporciona poder i versatilitat que normalment es reserva als paquets de matemàtica complicats, així com eines útils per a necessitats diàries (com la conversió de monedes i calculació de percentatge).</p>
  <p xml:lang="de">Qalculate! ist ein vielseitig einsetzbarer, plattformübergreifender Desktop-Rechner. Er ist einfach zu bedienen, bietet aber Leistung und Vielseitigkeit die normalerweise nur für komplizierte mathematische Pakete vorbehalten sind, sowie nützliche ls auch für den täglichen Bedarf (wie Währungsumrechnung und Prozentrechnung).</p>
  <p xml:lang="es">Qalculate! es una calculadora para escritorio multiplataforma y multiuso. Es simple de usar pero dispone de poder y versatilidad normalmente reservada para paquetes de matemática complicados, así como herramientas útiles para necesidades diarias (como conversión de monedas y cálculo de porcentajes).</p>
  <p xml:lang="fr">Qalculate! est une calculatrice de bureau polyvalente et multi-plateforme. Elle est simple d'utilisation mais offre une puissance et une polyvalence normalement réservées aux logiciels de mathématique complexe, ainsi que d'outils utiles au quotidien (tels que la conversion de devises et le calcul de pourcentages).</p>
  <p xml:lang="pt_BR">Qalculate! é uma calculadora para desktop multiplataforma e multiuso. É simples de usar, mas fornece poder e versatilidade normalmente vistas em pacotes de matemática complicados, além de ferramentas úteis para as necessidades diárias (como conversão de moeda e cálculo de porcentagem).</p>
  <p xml:lang="ru">Qalculate! - это универсальный кроссплатформенный настольный калькулятор. Он прост в использовании, но обеспечивает мощность и универсальность, обычно присущие сложным математическим программам, а также полезные инструменты для повседневных нужд (таких как конвертация валют и расчёт процентов).</p>
  <p xml:lang="sl">Qalculate! je večnamensko namizno računalo, ki deluje na več platformah. Je preprosto za uporabo, prinaša pa tako napredna orodja, ponavadi značilna le za kompleksno matematično programje, kot tudi uporabna orodja za vsakodnevne potrebe (npr. pretvorbe valut ali izračun odstotkov).</p>
  <p xml:lang="zh_CN">Qalculate!是一款多功能的跨平台桌面计算器。它简单易用，但却具有通常复杂的数学软件包所需的强大功能和多样性，以及满足日常所需的实用工具(如货币换算和百分比计算)。</p>
  <p>Features include a large library of customizable functions, unit calculations and conversion, physical constants, symbolic calculations (including integrals and equations), arbitrary precision, uncertainty propagation, interval arithmetic, plotting, and a user-friendly interface.</p>
  <p xml:lang="ca">Les característiques inclouen una biblioteca amplia de funcions personalitzables, calculació i conversió d'unitat, constants físics, càlculs simbòlics (incloent integrals i equacions), precisió arbitrària, propagació d'incertesa, aritmètica d'interval, dibuix i una interfície fàcil d'emprar.</p>
  <p xml:lang="de">Zu den Leistungsmerkmalen gehören eine große Bibliothek anpassbarer Funktionen, Einheiten-berechnungen und -umrechnungen, physikalische Konstanten, symbolische Berechnungen (einschließlich Integrale und Gleichungen), beliebige Genauigkeit, Unsicherheits-fortpflanzung, Intervallarithmetik, Plotten und eine benutzerfreundliche Oberfläche.</p>
  <p xml:lang="es">Las características incluyen una gran librería de funciones personalizables, cálculo y conversión de unidades, constantes físicas, cálculos simbólicos (incluyendo integrales y ecuaciones), precisión arbitraria, propagación de incertidumbre, aritmética de intervalos, graficado, y una interfaz amigable.</p>
  <p xml:lang="fr">Les fonctionnalités incluent une grande bibliothèque de fonctions personnalisables, d'unités de calculs et de conversion, de constantes physiques, de calculs symboliques (y compris les intégrales et équations), de précision arbitraire, de propagation des incertitudes, d'arithmétique d'intervalle, de traçage et une interface facile d'utilisation.</p>
  <p xml:lang="pt_BR">Os recursos incluem uma grande biblioteca de funções personalizáveis, cálculos e conversão de unidades, constantes físicas, cálculos simbólicos (incluindo integrais e equações), precisão arbitrária, propagação de erros, aritmética de intervalos, plotagem e uma interface amigável.</p>
  <p xml:lang="ru">Возможности включают большую библиотеку настраиваемых функций, расчёт и преобразование единиц измерения, физические константы, символьные вычисления, включая интегралы и уравнения, произвольную точность, распространение неопределенности, интервальную арифметику, построение графиков и удобный интерфейс.</p>
  <p xml:lang="sl">Program vsebuje obsežno knjižnjico prilagodljivih funkcij, enot, izračunov in pretvorb, fizikalnih konstant, simbolnih izračunov (tudi integrale in enačbe), poljubno natančnost, statistično negotovost, intervalno aritmetiko, grafe in uporabniku prijazen vmesnik.</p>
  <p xml:lang="zh_CN">功能包括大量可定制函数库、单位计算与换算、物理常数、符号计算(包括积分和方程)、高精度计算、误差传递、区间运算、绘图和用户友好的界面。</p>
 </description>
 <screenshots>
  <screenshot type="default">
   <image>https://raw.githubusercontent.com/Qalculate/qalculate-qt/master/data/io.github.Qalculate.qalculate-qt.png</image>
   <caption>The main window with keypad visible</caption>
  </screenshot>
 </screenshots>
 <url type="homepage">https://qalculate.github.io</url>
 <url type="bugtracker">https://github.com/Qalculate/qalculate-qt/issues</url>
 <url type="help">https://qalculate.github.io/manual/index.html</url>
 <url type="donation">https://www.paypal.me/HannaKnutsson</url>
 <url type="translate">https://github.com/Qalculate/libqalculate/blob/master/README.translate</url>
 <developer id="io.github.qalculate">
  <name>Hanna Knutsson</name>
 </developer>
 <content_rating type="oars-1.0"/>
 <kudos>
  <kudo>HiDpiIcon</kudo>
  <kudo>ModernToolkit</kudo>
  <kudo>UserDocs</kudo>
 </kudos>
 <launchable type="desktop-id">io.github.Qalculate.qalculate-qt.desktop</launchable>
 <provides>
  <binary>qalculate-qt</binary>
 </provides>
 <translation type="qt">qalculate-qt</translation>
 <releases>
  <release version="5.5.1" date="2025-02-24">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Option to automatically calculate the current selection, in tooltip</li>
      <li>Option to calculate the current selection, once in history</li>
      <li>Toggle fraction format action for custom keyboard shortcuts and keypad buttons</li>
      <li>Fix copy unformatted ASCII without units when unit is placed before quantity</li>
      <li>Fix solve() function with replace() function as first argument (fixes solve2() function)</li>
      <li>Fix "where" operator using (in)equality in variable</li>
      <li>Return x=a*e^(i*r) (with r instead of n) for abs(x)=x</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="5.5.0" date="2025-01-13">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Place approximate value before exact in calculate as you type result</li>
      <li>Set ans variable to solution(s) of equation (as if solve() function were used)</li>
      <li>Option to disable cursor blinking</li>
      <li>a(i) and a[i] syntax (the latter with support for functions) for element in vector</li>
      <li>New function: factor()</li>
      <li>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")</li>
      <li>Always use four digits for year in date (e.g. "0064-07-18" instead of "64-07-18"), and support input of date using DD-MM-YYYY format</li>
      <li>Fix display of units automatically appended to expression in parse status</li>
      <li>Fix reading of expressions from file</li>
      <li>Fix solving of x^4-4x^3+10x^2-12x+1=0, and similar, in exact mode</li>
      <li>Fix dual/auto approximation when unable to find exact solution to equation</li>
      <li>Fix rounding in 1/# conversion to integer (e.g. "1/2 to 0.99")</li>
      <li>Fix unability to find approximate solutions to some high degree equations (e.g. "x⁴ − 4x³ + 10x² − 12x = −1")</li>
      <li>Fix automatic variable detection in select()</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="5.4.0" date="2024-11-25">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Apply dual approximation/fraction to calculate as you type result, as regular result but with length restriction</li>
      <li>Add option to add/edit comment to history context menu, and save comments in result on exit</li>
      <li>Add "Search by Date" (also shows the date of the expression) to history context menu</li>
      <li>Improve decision to automatically convert unchanged quantity with unit</li>
      <li>Option to automatically group digits in input</li>
      <li>Option, in menu, to open settings folder(s)</li>
      <li>New functions: tripleProduct(), multilimit()</li>
      <li>Updated French translation</li>
      <li>Fix equals sign for calculate as you type result</li>
      <li>Fix segfault with calculate as you type of "-(300K" and similar</li>
      <li>Fix saving of two's complement input settings</li>
      <li>Fix erroneous HTML output after format of result with error/warning has been updated</li>
      <li>Fix case conversion of µ to M and similar</li>
      <li>Fix segfault with very large integer raised by very large integer</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="5.3.0" date="2024-10-07">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Show language menu in preferences on all platforms</li>
      <li>Change "Hide number pad" to "Always show number pad", and add separate number pad when the option is not enabled</li>
      <li>Improve initial value and clear all other fields when edited field is empty, in number bases and floating point conversion dialogs</li>
      <li>Allow unit expressions for insert unit action, for custom shortcuts and buttons</li>
      <li>Set minimum characters to two for all completion with "Limited full completion"</li>
      <li>Support x without backslash for custom function argument condition</li>
      <li>Update parsed expression and calculate-as-you-type result if variable, function, or unit in expression has changed</li>
      <li>Improve support for small displays with low resolution/high scaling</li>
      <li>Update chain mode to match behaviour in Gtk UI</li>
      <li>Update calendar and floating point conversion dialogs after expression calculation</li>
      <li>Portuguese (pt_PT) translation</li>
      <li>Fixes for overwrite input mode</li>
      <li>Fix unresponsive expression field in some cases after smart parentheses has been applied</li>
      <li>Fix completion with both custom app font and custom expression font set</li>
      <li>Fix input of max value for number argument</li>
      <li>Fix memory leaks</li>
      <li>Fix segfault with recursive (self-referencing) function</li>
      <li>Fix input of negative exponent in scientific e notation with RPN syntax</li>
      <li>Fix parsing of 1°2'3" as 1°+2'+3"</li>
      <li>Improve handling of "where" expressions with inequalities</li>
      <li>Fix definite integral for 1/sqrt(1-x^2), with limits higher/lower than or equal to -1 and 1</li>
      <li>Fix crash with empty vector in plot function, e.g. plot([])</li>
      <li>Fix "did you mean..." warning for two implicitly multiplicated functions without space between (e.g. "atan2(a,b)atan2(c,d)")</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="5.2.0" date="2024-07-01">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Option (enabled by default) to show expression status (parsed expression and calculated value) as you type in history list, instead of in tooltip</li>
      <li>Option to hide toolbar</li>
      <li>Option to preserve height of history list when keypad or number bases are shown/hidden</li>
      <li>Option to change the max number of history lines saved</li>
      <li>Option to show/hide hidden units (hidden by default) in units window</li>
      <li>Headers for keyboard shortcuts and actions lists to allow custom sorting</li>
      <li>Reduced minimum height (one line) of expression field</li>
      <li>Physical constants updated with CODATA 2022 values</li>
      <li>New function: allroots()</li>
      <li>New units: therm, thermie, IUNS calorie, rpm</li>
      <li>Additional names/symbols for turn unit</li>
      <li>Use symbol "cal" for thermochemical (instead of international table) calorie</li>
      <li>Change title and names/symbols of weak mixing angle (prepend "sin2" to theta variants)</li>
      <li>Return exact negative integers in log10()</li>
      <li>More conservative handling of infinity in equations</li>
      <li>Remove n from equation solution if possible using assumptions of x</li>
      <li>Fix subsequent tab completions after completion of unit with prefix</li>
      <li>Fix unnecessary parenthesis, with wrong color for closing bracket, around unit with exponent</li>
      <li>Fix convert button text, when toolbar style is not icon only</li>
      <li>Fix history list not cleared before reload if there are exactly one item</li>
      <li>Fix input of scientific E-notation using lowercase e in numbers using concise interval notation, in expressions</li>
      <li>Fix "bit width" and "signed integer" arguments in setbits()</li>
      <li>Fix a^(f(x))=a^(b*g(x)) where b=2 or b=3</li>
      <li>Fix auto/dual approximation with "where" expression</li>
      <li>Fix "where" expressions with multiple inequality statements for a single variable, e.g. "where x≥0 and x≤10"</li>
      <li>Fix crash when a variable name/symbol with more than 20 characters is used in "where" expression</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="5.1.0" date="2024-05-06">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Improved history list efficiency</li>
      <li>Add two's complement input and binary bits to preferences</li>
      <li>Ask for the desired interpretation the first time percent addition is used (e.g. 100 + 10% equals 110 or 100.1)</li>
      <li>Hide expression tooltip (after 300 ms) when input resumes, if delayed expression status is enabled</li>
      <li>Download button in dialog shown when new version is available, on Windows</li>
      <li>Support for solving equations containing if() function</li>
      <li>Support for solving root(a, x)=b (requires rational value for ln(a)/ln(b))</li>
      <li>New functions: powertower() and multiples()</li>
      <li>New units for solar radius, mass, and luminosity</li>
      <li>Use parentheses for exponent using scientific notation (with power of 10)</li>
      <li>Support integer factorization of integers in matrix/vector, and of numerator and denominator in rational number</li>
      <li>Relaxed conditions for (x^a)^b = x^(a × b) and x^a × x^b = x^(a + b) when complex numbers are deactivated (fixes segfaults)</li>
      <li>Fix AltGr for input of operators on Windows</li>
      <li>Fix (ax + n)^2 > 1, where n is even and a is not 1, returning false</li>
      <li>Fix setbits() function</li>
      <li>Fix Number::equals(0, ..., true) when number is infinite (affects replace() function)</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="5.0.0" date="2024-03-11">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Detection of potential spelling mistakes (a warning will be shown)</li>
      <li>Add support for n...m, j:k, and j:i:k syntax, for sequence of numbers, e.g. 1...3 = (1:3) = (1:1:3) = [1  2  3] (note that brackets may be required for colon syntax to avoid conflict with time format)</li>
      <li>Improved "where" operator, including improved output of parsed expression, support for previously undefined variable names, and assignments before expression (e.g. "a=2, b=2, a^b")</li>
      <li>Click on binary digit in bases dock to flip bit</li>
      <li>Improvements/fixes to conversion completion and menus</li>
      <li>Add retry and cancel buttons to error dialog after failure to save preferences, definitions, or workspace</li>
      <li>Add last result to stack when pressing Enter with empty expression (was unintentionally disabled)</li>
      <li>More rounding methods</li>
      <li>New units: LightSecond, LightMinute, and LightHour</li>
      <li>New functions: bitget(), bitset(), setbits(), integerDigits(), digitGet(), digitSet(), flip(), colon(), and foreach()</li>
      <li>Support for hexadecimal floating-point literals using 0x...p... notation (0x1.4p3 = 0x1.4 * 2^3 = 10)</li>
      <li>Add support for "decimals" "to"-conversion (display as decimal fraction)</li>
      <li>Allow plot grid values higher than 1 (true) to specify line width</li>
      <li>Improve handling of zero solution and initial guess in newtonsolve() and secantsolve(), and check validity of solution</li>
      <li>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 arguments for each function instance (e.g. atan2([1  2], [3  4]) = [atan2(1, 3)  atan(2 4)]</li>
      <li>Set handle vector property by default, for text, date, and boolean arguments, and for arguments, in global non-builtin functions, without specified type, and enable parsing of vectors for text arguments</li>
      <li>Do not apply "read precision" setting to exponents for values with units</li>
      <li>Change from line to point (or dot) plot style for data with many discontinuous points</li>
      <li>lambertw(x*e^x, 0)=x if x>=-1</li>
      <li>Use parentheses for number with scientific notation in more cases</li>
      <li>Fix x and y reversed for paired matrix when using plot dialog</li>
      <li>Fix saving of handle vector function argument property</li>
      <li>Fix saving of multiple names after editing of existing unit</li>
      <li>Fix saving of preferences when a workspace, other than the default, is currently open and the general preferences file does not exist</li>
      <li>Fix dsolve(diff(y, x) = y), and similar</li>
      <li>Fix log(1, 1) (undefined)</li>
      <li>Fix "to"-conversion to prefix and add "prefix" conversion option (for optimal prefix)</li>
      <li>Fix segfault in newtonsolve() and secantsolve() when equation does not contain variable</li>
      <li>Fix conversion to angle unit for complex angle, cis and polar forms</li>
      <li>Exchange rates fixes</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="4.9.0" date="2023-11-27">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Support for specifying a fixed denominator for display of fractions (e.g. "0.3 ft ➞ 1/8 ≈ (3 + 5/8) in")</li>
      <li>Restore decimal number base after closing programming keypad</li>
      <li>Improve appearance of conversion menu</li>
      <li>Save position of main window even if size has not changed from the default</li>
      <li>Always add result to history (even if identical to previous) if expression contains a function generating a random number</li>
      <li>Prefer capitalized function name (over name with underscore), when completing function name</li>
      <li>Return gcd of numerators divided by lcm of denominators in gcd() with non-integer rational numbers, and vice versa for lcm()</li>
      <li>Add units for mean Gregorian and tropical years</li>
      <li>Ignore underscore in number</li>
      <li>Replace defunct exchange rates source and fix bitcoin exchange rate</li>
      <li>Fix custom middle click button action</li>
      <li>Fix immediate calculation after selecting to-conversion completion</li>
      <li>Fix asin(x)=a, acos(x)=a, and atan(x)=a, when a contains an angle unit and default angle unit is set</li>
      <li>Fix output of value converted to unit expression with numerical multiplier in denominator, e.g. "➞ L/(100 km)"</li>
      <li>Fix segfault when trying to solve "(x*sqrt(x)-y*sqrt(y))/(sqrt(x)-sqrt(y))=x+sqrt(x*y)+y"</li>
      <li>Fix parsing of case insensitive object name ending with Unicode character when followed by another Unicode character in expression, e.g. "микрометр"</li>
     </ul>
   </description>
  </release>
  <release version="4.8.1" date="2023-09-18">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Fix besselj() and bessely()</li>
      <li>Fix display of matrices and vectors with complex number form other than rectangular (default)</li>
      <li>Fix conflict between decibel units (e.g. "0dB") and duodecimal 0d… syntax (now requires at least two digits)</li>
      <li>Fixes for title options in plot() function</li>
      <li>Add additional buttons and button menus to general keypad</li>
      <li>Add option to show all functions, units, and variables in tool button menus</li>
      <li>Add recently used objects to functions, units, and variables menus</li>
      <li>Add option to bypass dialog for functions in menu</li>
      <li>Add option, in context menu, to display text for tool buttons</li>
      <li>Open functions, units, and variables tool button menus using long-press or right-click (in addition to arrow button), and add keyboard shortcuts</li>
      <li>Use keypad tool button menu as context menu and show keypad type in title bar of keypad</li>
     </ul>
   </description>
  </release>
  <release version="4.8.0" date="2023-08-21">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Add option to disable tooltips in keypad or everywhere</li>
      <li>Add option to disable units and to interpret unrecognized symbols as variables (unknowns) to preferences</li>
      <li>Make closing of application with Escape key optional and disabled by default</li>
      <li>Hide name column in conversion list when applied to current result</li>
      <li>Add temporary option to unknown variable edit dialog</li>
      <li>Add Microship (PIC16/17) 24 and 32 bit floating point formats</li>
      <li>Add support for specifying position of sign bit in floating point functions</li>
      <li>Concise (e.g. "1.2345(67)") and relative (e.g. "5+/-2%") notation for output and input (disabled by default for concise notation) of interval</li>
      <li>Round high precision intervals enclosing integers for integer arguments</li>
      <li>Optimize rest of unit expression when converting to partial (insufficient) expression (e.g. 18MA×100ns to J = 1.8 J/V)</li>
      <li>New derived units: Debye, C·m, Daraf, F^-1, V/C, N/C, kcal, kcal/g, kJ</li>
      <li>Use international foot as base unit for rod</li>
      <li>Fix fibonacci() for non-integers and recursive use</li>
      <li>Fix conversion options presented for speed units (and possibly other)</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="4.7.0" date="2023-07-03">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Allow multiple actions for keyboard shortcuts</li>
      <li>Add toggle precision, and min, max, or min and max decimals to available shortcut and button actions</li>
      <li>Add option to exclude units for unformatted ASCII copy</li>
      <li>Fix copy unformatted ASCII when local digit group separator is same as selected decimal separator</li>
      <li>Add option to automatically copy result</li>
      <li>Add optional value to copy result action, allowing expression copy and formatting selection</li>
      <li>Always set (primary) selection clipboard contents when whole expression is selected or selection is cleared, e.g. after calculation</li>
      <li>Support for custom default angle unit, e.g. turn, arcsec, arcmin</li>
      <li>Append default angle unit (instead of always radians) when converting value without unit to angle unit</li>
      <li>More consistent addition and removal of angle unit from function arguments</li>
      <li>Always interpret ./, .*, and .^ as entrywise operators if user intention is unclear</li>
      <li>Change order of operations to place entrywise and ordinary operators on the same precedence level</li>
      <li>Add function, kron(), for Kronecker product, and constants for Pauli matrices</li>
      <li>Add radius to planets dataset and update other properties</li>
      <li>Support replacement of unknown variables within variable values</li>
      <li>Fix besselj(0, 0)</li>
      <li>Fix incomplete calculation in tan() with try exact approximation</li>
      <li>Fix 0/0=0 equality (do not return true) and output of 2/0 (and similar)</li>
      <li>Fixes and improvements for newtonsolve() and secantsolve()</li>
      <li>Fix segfault when MathStructure is deleted after Calculator, and in destructor of calculated DynamicVariable (called from Calculator destructor)</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="4.6.1" date="2023-04-17">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Improve abortion of slow calculations</li>
      <li>Fix segfault and inconsistent behaviour in calculation of a^n mod b when n is negative</li>
      <li>Add modular exponentiation function, powmod(), with support for calculation of modular inverse</li>
      <li>Do not make any difference between row and column vectors in magnitude(), norm(), and dot() functions</li>
      <li>Fix division and exponentiation of scalar by matrix/vector, e.g. 4./[8 4.5]</li>
      <li>Improve parsing of element-wise operators with comma as decimal separator</li>
      <li>Fix rref() with different units for different elements</li>
      <li>Fix segfault with empty vector in uncertainty calculation</li>
      <li>Fix segfault trying to solve cbrt(x)^(1/3)-x=0</li>
      <li>Fix segfault in handling of vector variable with uncertainty</li>
      <li>Fix segfault in function assignment with equals sign (e.g. F()=...), when an object with the same name already exists</li>
      <li>Fix segfaults in some corner cases</li>
      <li>Fix internal id does not exist error</li>
      <li>Fix erroneous simplification of sin(x)^2*y-cos(x)*sin(x)^2*y</li>
      <li>Do not try to calculate norm() and magnitude() for matrices</li>
      <li>Fix some memory leaks</li>
      <li>Fix order of argument titles in csum() function</li>
     </ul>
   </description>
  </release>
  <release version="4.6.0" date="2023-03-06">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Do not automatically by default set prefix higher than kilo for meter, gram, higher than 1 (no prefix) for second and litre, or lower than 1 for byte and bit</li>
      <li>Do not use recently introduced SI prefixes (R, Q, r, q) automatically by default</li>
      <li>Do not set automatic prefix if resulting multiplier is less than 1 or greater than 1000, with some exceptions (e.g. km)</li>
      <li>Default prefix unit property (use for gram, and few other units, instead of hard coded value)</li>
      <li>Option to change symbols used for output of digits 10 and 11 in duodecimal numbers (use A and B as default digits)</li>
      <li>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</li>
      <li>Use Unicode symbol for minus in scientific e notation</li>
      <li>Do not show multiplier if exactly 1, in HTML output of scientific notation</li>
      <li>Prefer Nm (torque) over J when the result is a vector with three components</li>
      <li>Add "amp" abbreviation to ampere unit, and "thou" name for 1/1000 in (mil)</li>
      <li>Fix unit order for Nm and Ws</li>
      <li>Fix conversion from ounce (interpreted as fluid ounce) to litre with prefix</li>
      <li>Fix automatic reactivation of global object after deletion of conflicting object</li>
      <li>Fix parsing of scientific e notation when the number is extremely large and exponentiation fails because of floating point overflow</li>
      <li>Fixes for output of scientific notation using number bases other than decimal</li>
      <li>Fix prefix selection in denominator when multiplier is higher than the value of the largest prefix</li>
      <li>Fix segfault in multisolve()</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="4.5.1" date="2023-01-04">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Fix retrieval of exchange rates from mycurrency.net and add alternative secondary exchange rates sources</li>
      <li>Align completion list to beginning of word, and do not reduce width of columns in visible list</li>
      <li>Add option to not format output (size, style, sub-/superscript)</li>
      <li>Add m/s³, m/s⁴, m/s⁵, and m/s⁶ as derived units (improves automatic unit conversion)</li>
      <li>Check that the output of command, in command() function, is a reasonably sane expression</li>
     </ul>
   </description>
  </release>
  <release version="4.5.0" date="2022-12-19">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Use history font for RPN stack list</li>
      <li>Use log() instead of log2() as alternative action on "ln" keypad button</li>
      <li>Conversion to any type of expression (e.g. "1000 BTC to million USD")</li>
      <li>Use current status of limit implicit multiplication setting during parsing of conversion expression</li>
      <li>New SI prefixes (R, r, Q, q)</li>
      <li>New units: ounce force (ozf), rack unit (U)</li>
      <li>Use standard form (sorting) for polynomials</li>
      <li>Improve consistency of behaviour when global units are replaced</li>
      <li>More consistent addition of units to expression without units for unit conversion</li>
      <li>Improvements and fixes for arg() and atan2() functions</li>
      <li>Fix completion (including segfaults) and expression tooltip on Wayland</li>
      <li>Fix RPN mode deactivated after application loses focus</li>
      <li>Fix interpretation of Myr (megayear) and Gyr (gigayear)</li>
      <li>Fix milli- and centimeter of water units</li>
      <li>Fix genvector() with for negative step size or expression as step size/number of steps</li>
      <li>Fix randuniform() function</li>
      <li>Fix automatic/dual fraction format after conversion (e.g. "8 to score")</li>
      <li>Fix inconsistently displayed parsing of "7d 5h" and similar</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="4.4.0" date="2022-10-17">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Add "Clear history" to available keyboard shortcut and button actions</li>
      <li>Add option, in keypad button menu, to reset keypad position</li>
      <li>Show exchange rates source, and update time, for current calculation in tooltip</li>
      <li>New prime number functions: primePi(), primes(), nthprime(), nextprime(), prevprime(), and isprime()</li>
      <li>New functions for intervals and uncertainties: upperEndpoint(), lowerEndpoint(), midpoint(), and errorPart()</li>
      <li>Add meter of water and related pressure units, and more derived flow rate units</li>
      <li>Support for vectors and matrices in uncertainty propagation calculation</li>
      <li>Proper support for uncertainty propagation in total(), sum(), product(), and for() functions</li>
      <li>Simplify display of parsed expression (primarily for quantities with units)</li>
      <li>Avoid parsing of implicit multiplication as nested multiplication</li>
      <li>Allow use of curly brackets as alternative parentheses</li>
      <li>Include +/- statement in function argument without parentheses</li>
      <li>Return values for approximate variables in exact mode in dimension() and elements()</li>
      <li>Improve parsing of quotation marks as feet/inch or arcmin/arcsec (e.g. do not parse s" as sin)</li>
      <li>Partial Georgian translation</li>
      <li>Fix removal of additional keyboard shortcuts, after first removal</li>
      <li>Fix font dialogs when "Keep above other windows" is enabled</li>
      <li>Fix saving of sub-function precalculate property</li>
      <li>Fix exact calculation of re((a*i)^(n/2)) (wrong sign in some cases)</li>
      <li>Fix erroneous calculation in some cases with physical constants both outside and inside unit relations when interval calculation is set to interval arithmetic</li>
      <li>Fix segfault in Calculator destructor</li>
      <li>Fix segfaults in some corner cases</li>
      <li>Fix use of random numbers in iterative functions</li>
      <li>Fix writing beyond end of array during exchange rates check in some cases (results in activation of old style matrices)</li>
      <li>Fix automatic reactivation of deactivated global object if a function with the same name exists</li>
      <li>Do not convert function arguments which do not allow units (fixes "arcsin(0.5+/-0.1) to deg")</li>
      <li>Fix prefix after conversion to optimal unit when the optimal unit includes a prefix</li>
      <li>Fix exact calculation when function argument is an approximate vector variable (fail)</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="4.3.0" date="2022-08-22">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Fix handling of Unicode powers for units in denominator, with adaptive parsing enabled (e.g. parse 10m/s² the same as 10m/s^2)</li>
      <li>Fix "+" ignored after "E" in number bases where "E" is a digit</li>
      <li>Fix scientific E notation with sign in argument when function is used without parentheses</li>
      <li>Fix lambertw() for values very close to zero</li>
      <li>Fix a*b^x+cx=d when a and c have different signs and d is non-zero</li>
      <li>Fix a^x+b^x=c when a and b is negative, and c is positive</li>
      <li>Fix segfaults in some corner cases</li>
      <li>Fix potential issues in handling of leap seconds (e.g. during subtraction of seconds from date)</li>
      <li>Fix name field not working in argument edit dialog</li>
      <li>var=a syntax for variable assignment with calculated expression</li>
      <li>Replace ounce with fluid ounce during conversion to volume unit</li>
      <li>Solve a^x+b^x+...=c in more cases</li>
      <li>Improve remainder/modulus for numerators with large exponents</li>
      <li>Truncate number in output of parsed expression and end with ellipsis if unable to display all decimals</li>
      <li>Improved floating point calculation and output speed, particularly for simple expressions with very high precision</li>
      <li>New functions: clip(), qFormat(), qError()</li>
      <li>Replace selection (instead of wrap in parentheses) on operator input if selection ends with operator</li>
      <li>Act as if two arguments are required when applying base-N logarithm to expression</li>
      <li>Show padlock (or "[P]") after protected expression</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="4.2.0" date="2022-05-25">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Variable spacing of x values in plot (unless step size is used)</li>
      <li>Option to plot real and imaginary parts separately (enabled by default)</li>
      <li>Updated plot() function with arguments for specification of plot options (in any order after the third argument)</li>
      <li>Polar plot style</li>
      <li>Ask the user for the desired sinc() variant (unnormalized or normalized)</li>
      <li>Support for binary-coded decimals (BCD)</li>
      <li>Show names with underscore capitalized and with underscore removed (with some exceptions)</li>
      <li>Additional information units</li>
      <li>Units for volumetric flow rate</li>
      <li>Tradtional numbers (e.g. dozen, score)</li>
      <li>Show warning when log() is used with a single argument, and always show second argument of log()</li>
      <li>Make names with a single character followed by digits case-sensitive with suffix by default</li>
      <li>Accept more than two arguments in gcd() and lcm()</li>
      <li>Interpret a single vector argument as a list of arguments if function requires more than one argument</li>
      <li>Insert minus instead of executing RPN operation, on key press, when last character is e</li>
      <li>Updated Tab key behaviour, e.g. cycle through completion items on subsequent tab key presses, and traverse items if tab key is unbound</li>
      <li>Fix segfault when result is a currency with quantity of one</li>
      <li>Fix copy keyboard shortcut in expression entry</li>
      <li>Fix limit of floor(), ceil(), and trunc()</li>
      <li>Fix plotting of derivatives and integrals</li>
      <li>Fix randpoisson()</li>
      <li>Fix reactivation of object, after object that caused deactivation is removed</li>
      <li>Minor bug fixes and feature enhancements</li>
     </ul>
   </description>
  </release>
  <release version="4.1.1" date="2022-04-04">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Improve resolution and sizing of flag images</li>
      <li>Do nothing when Enter is pressed if expression is empty</li>
      <li>Restrict use of reciprocal in unit conversion, e.g. invert in "5m/s to s/m" (= 0.2 s/m) but not in "500/lb to g" (= 1.1/g)</li>
      <li>New mHg unit (allows use with prefixes other than milli)</li>
      <li>Always display abbreviated unit name (symbol) with abbreviated prefix (when unit only has short name)</li>
      <li>Minor improvements to automatic unit conversion</li>
      <li>Fix display of (1 + f(x))/n</li>
     </ul>
   </description>
  </release>
  <release version="4.1.0" date="2022-03-14">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Add option to show both parsed and entered (or only one) expression in history</li>
      <li>Add option to clear expression history</li>
      <li>Do not add duplicate results to history</li>
      <li>Improved result copying, with proper html format and ASCII option</li>
      <li>Do not replace *, -, / with Unicode operators if cursor is within quotation marks (apply same principles on paste)</li>
      <li>Do not perform automatic (continuous) conversion, from conversion view, if result contains no unit</li>
      <li>Use non-breaking narrow space as digit separator in reasonably short numbers, and between quantity and unit</li>
      <li>Improve appearance of icons with display scaling</li>
      <li>Update value of austronomical unit</li>
      <li>Fix segfault with local digit grouping when separator is empty (e.g. with ignore locale)</li>
      <li>Fix freezes and crashes with extrememly large vectors and matrices</li>
      <li>Fix segfault in matrix multiplication</li>
      <li>Minor bug fixes and feature improvements</li>
     </ul>
   </description>
  </release>
  <release version="4.0.0" date="2022-02-14">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Programming and algebra keypads</li>
      <li>Customizable keypad</li>
      <li>Customizable keyboard shortcuts</li>
      <li>Option to hide number pad (right part of keypad)</li>
      <li>Workspace (mode, history, and temporary variables) can now be saved (to a single file)</li>
      <li>New matrix syntax (column separated by space or comma, rows separated by semicolon, as in matlab)</li>
      <li>Do not make any difference between a vector and a matrix with a single row, or between a scalar and matrix with a single element</li>
      <li>Support input of functions, units, and variables with underscores omitted in names (e.g. µ0 = µ_0, FermiCoupling = fermi_coupling), with some exceptions</li>
      <li>Option to disable "simplified" percentage calculations (e.g. interpret 100 + 20% as 100 + 0.2 instead of 100 × 120%)</li>
      <li>Option to truncate numbers (instead of round to nearest) in result</li>
      <li>Convert K, Hz, and 1/m to J (and derived units) using conversion factor constants (e.g. 1/(550nm) to eV ≈ 2.25 eV)</li>
      <li>Allow use of M as 10^6 without unit</li>
      <li>New ksi unit</li>
      <li>New functions: divisors(), rate(), vertcat(), horzcat()</li>
      <li>New plastic number (ρ) constant, and new "hbar" name for reduced Planck constant, and add second Unicode codepoint for µ-sign in constants</li>
      <li>Allow zero (1st and/or 2nd argument) in comb() and perm(), and return zero if second argument (k) is greater than the first (n)</li>
      <li>Calculate statistical functions (e.g. mode(), min(), max(), percentile()) separately for each column of matrix</li>
      <li>Return the lowest value if there are multiple values with equal frequency in mode()</li>
      <li>Parse text argument as expression if concatenate function name is found in text string, and fix concatenate returning date</li>
      <li>Fix Unicode handling on platforms where char is not signed</li>
      <li>Fix bitrot()</li>
      <li>Fix segfault in multisolve() when initial order of equations is not optimal</li>
      <li>Fix segfault with empty sqrt inside sqrt, e.g. sqrt(1+sqrt())</li>
      <li>Fix incompletely calculated nounit(), e.g. in unit conversion</li>
      <li>Minor bug fixes and feature improvements</li>
     </ul>
   </description>
  </release>
  <release version="3.22.0" date="2021-12-01">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Unit and data set creation/editing</li>
      <li>Complete variable and functions editing</li>
      <li>Percentage calculation dialog</li>
      <li>Periodic table</li>
      <li>Show result in expression status tooltip (calculate-as-you-type)</li>
      <li>Horizontal toolbar with added units and plot buttons</li>
      <li>Favorite functions, units, and variables (shown in toolbar menus)</li>
      <li>Ctrl+Enter shortcut for approximation of current result</li>
      <li>New functions: linearfit(), quadraticfit(), cubicfit(), ramlatency(), parallel()</li>
      <li>Improved and extended parallel operator (|| is interpreted as parallel if units are used)</li>
      <li>Merged inv() and inverse() functions</li>
      <li>Allow nested subfunctions</li>
      <li>Solve x^(x^(-a))=b</li>
      <li>Fix pearson() and spearman()</li>
      <li>Fix a*sin(x)+b*cos(x)=c</li>
      <li>Fix display of incompletely solved equation with dual approximation in some cases</li>
      <li>Many minor feature enhancements and bug fixes</li>
     </ul>
   </description>
  </release>
  <release version="3.21.0" date="2021-10-13">
   <description>
    <p>Changes:</p>
     <ul>
      <li>Show result index in history (click to insert value)</li>
      <li>Remove paste icons from history</li>
      <li>Double-click to insert history text</li>
      <li>Add insert value and insert text to history context menu</li>
      <li>Option to remove, protect, or move history item to top</li>
      <li>History search</li>
      <li>If there is no selection, copy the result/expression at cursor when using context menu</li>
      <li>Options to use (middle) dot as multiplication sign and regular slash character as division sign</li>
      <li>Move keypad button to last position in toolbar</li>
      <li>Ask (once) for correct interpretation of ambiguous implicit multiplication</li>
      <li>Improved simplification of radical expressions</li>
      <li>Improved Im(), Re(), and arg() functions</li>
      <li>Improved output of complex forms (other than the default rectangular) in exact mode</li>
      <li>Immediately return memory on MR clicked if entire expression was unchanged (or empty)</li>
      <li>Function for drill bit size conversion</li>
      <li>Fix crash when using the dock menu to show the RPN dock stack for the first time</li>
      <li>Fix link in new version dialog</li>
      <li>Fix parenthesis highlighting when cursor is at end of expression</li>
      <li>Fix initial value of interval display in preferences dialog</li>
      <li>Fix saving of approximation mode</li>
      <li>Fixes for equations with complex inverse trigonometric and hyperbolic functions with no solution</li>
      <li>Fixes for complex x^(ax)=b</li>
      <li>Fixes for localization on Windows</li>
      <li>Minor bug fixes and feature improvements</li>
     </ul>
   </description>
  </release>
  <release version="3.20.0" date="2021-07-28">
   <description>
    <p>Initial version of the Qt user interface.</p>
   </description>
  </release>
 </releases>
</component>
