 
Qalculate! news
.: 20190318 :. Qalculate! version 3.0 released
List of changes:
 Implement 2019 redefinition of SI base units (primarily affects physical constants and will not take effect until 20 May).
 Uncertainty propagation improvements/fixes.
 Separate use of interval arithmetic, to keep track of precision changes with approximate calculations, from selection of interval calculation algorithm (by default both interval arithmetic and uncertainty propagation using variance formula are now activated).
 uncertainty() function (can specify relative uncertainty of value).
 Improved polynomial gcd.
 Option to ignore system language (locale).
 Option to use two's complement also for hexadecimal numbers.
 Switch to exact decimal fractions (fixed) from decimal fractions mode (and vice versa) when exact mode is toggled.
 Restore lost signal handlers in the conversion GUI (fixes search, popup menu, etc.).
 Bug fixes and minor feature improvements.
.: 20190211 :. Qalculate! version 2.9.0 released
List of changes:
 Propagation of uncertainty using variance formula (if interval arithmetic is disabled).
 Improved and extended physical constants, now defined in relation to each other (e.g. R_{K} = (μ_{0}c)/(2α)).
 Natural, atomic, and Planck units.
 Reciprocal unit conversion (e.g. 5 m/s = 0.2 s/m, 60 mpg = 0.039 L/km).
 Updated elements and planets data sets.
 +/ syntax for nonnumeric values.
 raid() function for RAID capacity calculation.
 UTC+/hh[:mm] and CET time zone conversion (using "to").
 Fix convert button (GUI).
 Minor bug fixes and feature improvements.
.: 20181203 :. Qalculate! version 2.8.2 released
List of changes:
 Fix missing prefix for gram (and are) when unit exponent not one and automatic prefixes is off.
 Fixes for units with nonlinear relation.
 Wrap lines and right align results in history (GUI).
 Improved line breaks (CLI).
 Minor bug fixes and feature improvements.
.: 20181107 :. Qalculate! version 2.8.1 released
List of changes:
 Interpret a character preceded by '\' as an unknown variable (same as in quotation marks).
 Do not show fractions with very large numerators or denominators, by default.
 Hectare and decare unit names (in addition to ha/da and hectoare/decaare).
 Always enable units for expressions that ends with "to [unit expression]", "to optimal", or similar.
 Fix (1x+ay)^b (was not expanded).
 Fix roman() when used for reversed conversion.
 Fix compilation without readline.
 Improve appearance of "x m/s" and similar.
 Proper line breaks and line count fixes (CLI).
 Shortcuts for set command options and descriptions for options in help (CLI).
 Replace text in quotation marks with italic text (CLI).
 Always interpret expression that begins with '/' as a command (CLI).
 Modified keypad layout (GUI).
 RPN stack buttons with icons (GUI).

 Use 'linked' widget style where appropriate (GUI).
.: 20181029 :. Qalculate! version 2.8 released
This version primarily includes a large number of stability and reliability improvements, thanks to automatic testing of hundreds of thousands of randomly generated mathematical expressions.
List of changes:
 Equation solving and improved simplification for expressions with trigonometric functions.
 General improvements to simplification and equation solving.
 Improved factorization.
 New magnitude(), entrywise() and hadamard() functions, and new n variable (unknown integer).
 Parse x and x as abs(x) and magnitude(x).
 Use kilo as prefix for gram if automatic prefix is off.
 Many bug fixes and minor feature improvements.
For details see the changelogs for libqalculate and qalculategtk.
.: 20180813 :. Qalculate! version 2.6.2 released
List of changes:
 Polar and exponential complex forms (changed with mode or with "to" operator/command)
 Fix f(x)+a=a (e.g. x+1=1, which returned false/zero).
 Fix ln(i).
 Fix automatic unit conversion in RPN mode
 Allow conversion of the current result using standalone "to" expression (e.g. type "to m" to convert current result to meter) in GUI.
 Option to disable automatic conversion to local currency (when optimal conversion activated)
 Minor bug fixes.
.: 20180709 :. Qalculate! version 2.6.1 released
List of changes:
 Fix display of addition with negative noninteger number (show "x  a" instead of "x + a")
 Minor bug fixes.
GUI improvements:
 Do not always download all sources during automatic exchange rates updates (updating of common currencies will be much faster).
 Configurable completion suggestions.
 Option to keep insert function dialog open for repeated function calculations.
 Minor bug fixes and feature enhancements.
.: 20180611 :. Qalculate! version 2.6 released
List of changes:
 Calendar conversion.
 5'8" notation for feet and inches, 5°12'30" notation for degrees, arcminutes and arcseconds.
 Interpret 5m 7cm as 5m+7cm, and 3h 52min 20s as 3h+52min+20s, and similar.
 Improved ln() simplifications.
 Duodecimal, roman, base #, and partial fraction "to" conversion commands.
 Lunar phase functions.
 Fix secondary exchange rates source.
 Fix crashes with compiler flag "D_GLIBCXX_ASSERTIONS".
 Simple Calclator::calculateAndPrint() function with support for all the "to"conversions supported in qalc.
 Support for searching matching functions, variables and units using 'list' command in qalc.
 Minor bug fixes and feature enhancements.
GUI improvements:
 Calendar conversion dialog.
 Currency flags in completion suggestions list and result display.
 Extended completion suggestions, matching titles (and countries for currencies) when at least three characters are entered.
 Completion suggestions for prefixes and prefixed units.
 Completion suggestions for "to" commands.
 Add duodecimal and roman numerals to number base conversion dialog.
 Minor bug fixes and feature enhancements.
.: 20180515 :. Qalculate! version 2.5 released
List of changes:
 Improved interval arithmetic with dependent values (variables and function arguments). Most differentiable expressions do now return a properly narrow interval.
 Experimental limit() function.
 Two's complement representation for binary numbers.
 Improved currency titles.
 bitcmp() function.
 Allow all rational numbers for second argument of root().
 Fix segfault when prefix is set in some cases.
 Fix a^infinity when a > 1.
 Minor bug fixes.
GUI improvements:
 Currency flags.
 Context menu for conversion list, and middle click for adding unit to expression.
 Search entry for functions, units and variables.
 Improved convert to menu in unit manager.
 Workarounds for bugs in GTK+ themes.
.: 20180411 :. Qalculate! version 2.4 released
List of changes:
 Simplified percent calculation (e.g. 100 + 20% = 120).
 Direct date and time arithmetic (e.g. "20180310" + 372 h = "20180325T13:00:00"), with time zone support.
 Automatic conversion to local currency (in "optimal" conversion mode).
 Calculate each vector element (and each extra argument) separately in many functions (e.g. sin(5, 2, 3) = [0.95892427, 0.90929743, 0.14112001]).
 Unitlike conversion for physical constants (using "to").
 Allow user to change decimal separator (and consquently argument separator) independantly of locale.
 Enhanced timastamp() and stamptodate().
 Fix function completion (GUI).
 Fix lambertw()/productlog().
 Fix display of parsed sexagesimal numbers.
.: 20180328 :. Qalculate! version 2.3 released
The main focus of version 2.3 is enhanced integration capabilities and basic solving of differential equations. Qalculate! should be much more usable for calculation of integrals now, even though it is still far from perfect.
There is also some important plotting fixes, as well as many minor bug fixes and feature enhancements. For details see the changelog for libqalculate and qalculategtk.
.: 20180117 :. Qalculate! version 2.2.1 released
Version 2.2.1 includes bug fixes and minor feature enhancements.
List of changes:
 Fix electric constant, magnetic constant, and characteristic impedance of vacuum.
 Fix handling of Unicode symbols in expressions with quotation marks.
 Fix segfault in solve() function.
 sinc() function.
 Fix never ending cell cycling with tab on last cell in matrix/vector dialogs (GUI).
 Add vacuum_permeability and vacuum_permittivity as alternative names for magnetic and electric constants.
 Add completion only names to enable completion of Greek letters from the Roman letter names.
 Suppress gnuplot output in terminal.
.: 20171207 :. Qalculate! version 2.2 released
The main focus of version 2.2 is interval arithmetic, which can be used for determination of the number of significant digits in the final result or direct calculation with intervals of numbers. Note that more work is needed to avoid unnecessary interval widening for nontrivial expressions with dependent variables.
List of main changes:
 Interval arithmetic.
 Digit grouping.
 Enhanced display of parsed expression.
 Bitcoin support (frequent exchange rate updates are recommended).
 Use 'X' and 'E' (or appropriate unicode characters), instead of 'A' and 'B', in duodecimal numbers (base 12).
 Option to disable units in physical constants.
 Fixed engineering mode.
 Use 10^n instead of Enotation for main result display by default. (GUI)
 Various bug fixes and minor feature enhancements.
.: 20171002 :. Qalculate! version 2.1 released
The main focus of version 2.1 is consistent handling of roots of negative numbers and equation solving enhancements.
List of main changes:
 Equation solving enhancements.
 root() and cbrt() now always returns the real root (e.g. cbrt(8)=2), while fractional powers return the principal root ((8)^(1/3)=1+1,73i).
 Enhanced simplification.
 More than 100 additional currencies (using mycurrency.net).
 Fix automatic prefix for negative values.
 Fix optimal unit conversion for cbrt(L) and similar.
 Fix wrong partial calculation of square root in exact mode in some cases
 Highlighting of matching parentheses. (GUI)
 Proper display of roots and absolute value. (GUI)
 Minor bug fixes and feature enhancements.
.: 20170828 :. Qalculate! version 2.0 released
After a month of hard work Qalculate! version 2.0 is ready with removal of glib and cln dependencies from the library, a redesigned expression entry and keypad in the GUI, and a new feature complete Windows version.
List of main changes:
 CLN has been replaced with GMP and MPFR for lowlevel numerical calculations.
 The Glib dependancy has been removed. It has partly been replaced with libiconv and icu. Libqalculate can be compiled without them and libiconv is only used the CLI application.
 GVFS and wget have been replaced by libcurl for exchange rates retrieval.
 Date functions have been rewritten and now support much larger numbers.
 Trigonometric functions with angle unit other than radians have been fixed.
 Functions with more than one argument can now also be applied to the RPN stack, and enter on empty expression duplicates the stack register at the top.
 New functions: airy(), arg(), besselj(), bessely(), conj(), digamma(), erf(), erfc()
 Redesigned keypad with a lot more functionality. (GUI)
 Multiline expression entry with undo/redo. (GUI)
 Alternative simplified function creation dialog. (GUI)
 Percentage calculation tool. (GUI)
 Binary installer for Microsoft Windows.
 Increased efficiency and many minor enhancements and bug fixes.
For a complee list of changes see the ChangeLogs (libqalculate and qalculategtk), or, for even more details, git logs (libqalculate and qalculategtk).
.: 20170809 :. Preview of the first official Windows version of Qalculate! released
Qalculate! has long been available for GNU/Linux and Mac OS X, but now it is finally also compatible with Microsoft Windows (although there is a fork by Cheng Sun with Windows compatibility, which has contributed code to this version). This prerelease version is likely not as stable as version 1.0.0 (although it does include some important bug fixes), but you are nevertheless invited to try it, report any issues you find and share you opinion.
Download the installer here: qalculate1.0.99.msi.
.: 20170724 :. Qalculate! version 1.0 released
Qalculate! version 1.0 includes the following changes:
 Increased efficiency and stability. Slow calculations can in most cases now be terminated in a controlled manner and the application should no longer potentially crash when trying to calculate extremely large numbers.
 Enhanced factorization.
 Revised temperature unit handling.
 Enhanced automatic unit conversion, including a new default mode which keeps original nonSI units if no better alternative (that uses fewer units and exponents) is found.
 A long list of bug fixes and minor feature enhancements.
For a complete list of changes see the git logs for libqalculate and qalculategtk.
.: 20170529 :. Qalculate! version 0.9.12 released
Qalculate! version 0.9.12 includes fixes to unit parsing in adaptive parsing mode, build fixes and other minor bug fixes. The fork with support for Microsoft Windows has been merged (compilation on Windows has however not been tested).
.: 20170306 :. Qalculate! version 0.9.11 released
Qalculate! version 0.9.11 includes both some important bug fixes and a number of new features. Among other things mixed units conversion has been added and users of the graphical user interface will notice the new enhanced history view. The RPN functionality has received much needed attention and should now be more usable.
Changes:
 Mixed units conversion (e.g. "15 in = 1 ft + 3 in" and "3,2 h = 3 h + 12 min")
 Fixes to unit conversion (e.g. "1/(1 ns) to GHz")
 Fix slow calculation of exponentiations with big numerators in exponents (e.g. "2^0.333333333")
 Critical fixes for RPN syntax
 Fix degree sign
 Fix transformation of last arguments to vector, when only one last argument (fixes function("1+\x"; 1))
 Plot functions (makes possible plotting, using gnuplot, in qalc)
 "Swap, "pop", "copy", "rotate" and "move" commands for RPN stack manipulation in qalc
 Enable both (or one of) RPN stack and syntax with the "rpn" command in qalc
 New commands for creation of simple functions and variables (without calculation of the expression) in qalc
 Updated history view. The calculation log is now presented in an actual list. Buttons and functions have been added for calculation with previous expression and results (GTK+ UI)
 Enhanced RPN stack manipulation (swap, rotation and copy) and arithmetics buttons next to stack list and combine RPN options in a single menu (GTK+ UI)
 Calculation of text in spinboxes for integer function arguments (GTK+ UI)
 Option to use multiple instances by default (GTK+ UI)
 Various other minor enhancements and bug fixes...
.: 20160828 :. Qalculate! version 0.9.10 released
Qalculate! version 0.9.10 includes a small number of important bug fixes. Only libqalculate has been updated.
Changes:
 Unit conversion fixes (e.g. "1/s to ms" and "1/ns to GHz")
 Fixed parsing of degrees sign (used in defult symbol for temperature units)
.: 20160726 :. Qalculate! version 0.9.9 released
Qalculate! version 0.9.9 is a minor release with some important bug fixes, as well as a few new features.
Changes:
 libqalculate will no longer cause segmentation faults when using a locale unsupported by the users system
 Parsing of "today" fixed and "tomorrow" and "yesterday" added
 Qalculate! now compiles, without errors and warning, using clang
 Only a single instance of the GUI will run by default (use command line switch 'n' for old behaviour)
 New commands/options in qalc which list available variables, functions and units
 New command in qalc for deletion of variables
.: 20160615 :. Qalculate! version 0.9.8 released
After almost a decade of very little development, the project has been revived and during the last two months many improvements have been made, until it is now time to release a new version. Qalculate! version 0.9.8 includes many bug fixes, but due to limited testing some new bugs have probably been introduced. Any external applications using libqalculate need to be recompiled to function properly with the new version.
Changes:
 Lots of bug fixes and minor improvements
 Three different parsing modes can be chosen from (providing mainly different handling of implicit multiplication). The default 'adaptive' mode has been enhanced.
 By default prefixes will not be added to for example imperial units.
 Changed handling of degrees Celsius and Fahrenheit. Conversion will take place already during parsing.
 When converting to unit without prefix, no prefix will be added to the result unless the unit expression is prepended with '?' ('0' works in the opposite direction).
 Option to ignore commas in numbers (for use as thousands separator).
 Possibility to abort slow number printing without using crash prone thread cancellation (use Calculator::startPrintControl() and related functions).
 New function: fibonacci (Qalculate! can now tell you that the millionth fibonacci number is approximately 1,953282129 * 10^208987, although for obvious reasons the exact number cannot be displayed).
 New units: Hartree, Rydberg, Dalton (same as u).
 Physical constant have been updated with the CODATA values from 2014.
 Currencies have been updated to reflect the available data from ECB.
 Use ~/.local and ~/.conf to store configuration and definitions
 The GTK+ UI has been ported to GTK+ 3 and has been polished in the process.
 The convert dialog has been transformed into a tab page in the main window, with autoselection of unit category and continuous conversion. (GTK+ UI)
 Less obtrusive display of errors and warnings. They are now shown as tooltips for an icon next to the expression entry. (GTK+ UI)
 Spinners show calculation/display progress and an icon in the expression entry halts the process, instead of a message dialog. (GTK+ UI)
 A tooltip for the result display will show the result in text format less open to interpretation. (GTK+ UI)
 Better resizing of main windows. Tabs will be resized instead of result display and keypad view will remember size independently of the history view. (GTK+ UI)
 'to' can now not only be used for conversion to unit expressions. "to bin", "to oct", "to hex" and "to bases" changes number base displayed, "to factors" factorizes, "to fraction" displays as fraction, and "to base" and "to optimal" autoconverts units. (CLI and GTK+ UI)
 The KDE UI has been abandoned for now and is not included in this release.
.: 20160430 :. A new version coming soon...
The graphical user interface has been ported to GTK+ 3 (unfortunately the KDE version has been abandoned for now) and lots of bugs have been fixed. Even a few new features have been introduced in the process. Only few more fixes and a lot more testing are needed before I will release a shiny new version of Qalculate.
.: 20100106 :. Qalculate! version 0.9.7 released
After a long time without updates, a new version of Qalculate! is available for download. This is a bug fix and build update release. Qalculate! should now compile and work on most modern systems.
Changelog:
 General build updates and bug fixes, including the ability to build against cln >= 1.2
 Bug fix for segfaults with some uses of integrate()
 New Simplified Chinese translation
 Fix crash with unsupported operator in RPN syntax
 Fix reduction of vector size
.: 20070617 :. Qalculate! version 0.9.6 released
A new version of Qalculate! providing enhanced stability and usability with bug fixes and feature enhancements is now available.
Changelog:
 Use Lambert W to solve more equations and avoid infinite loop when solving some equations
 More data on elements
 Fix simplification of (11/x)^3 and similar
 Fix clumsy mistakes in with prefixes leading to crashes
 Fix parsing of unit expressions (when converting) such as W/(m K)
 Add more exact values for sin() and cos() and avoid floating point underflow by, in approximate mode,
checking against the value of pi
 Always input decimal separator sign on keypad separator press
 Fix crash when expression entry reclaims focus if compiled with optimizations (GTK+)
 New units: typographic units, pouce, pied du roi, grams of TNT and tons of TNT
 New functions: lambertW(), addDays(), addMonths(), addYear(), addTime(), isNumber(), isReal(), isRational(), isInteger(),
representsNumber(), representsReal(), representsRational(), representsInteger()
 New variable: omega constant
 Other minor fixes and enhancements
.: 20061217 :. Qalculate! version 0.9.5 finally released
After a long time with sporadic development, here is a new version with many new features and bug fixes.
Changelog:
 French translation (not fully complete yet)
 Return value in save() and add "name := value" as shortcut
 Integer factorization
 Interpret 0x[09,af] as hexadecimal number (do not require first digit to be 09)
 Add "Engineering" display mode
 Several fixes to display of units and prefixes
 Show value for variables without title in expression completion
 New functions: cross(), heaviside(), rectangular(), triangular(), ramp() kronecker(), sigmoid(), and logit()
 Use radius as argument for circumference()
 Add optional upper and lower limit arguments to integrate() for definite integrals
 Fix precision in logn()
 Ability to set shortcuts for meta modes (KDE)
 Make separate options for "Sort Minus Last" and "Negative Exponents" in numerical display menu
 Add "Edit Expression", "Edit Result", and "Insert Result Variable" to history context menu (KDE)
 Global shortcut for show/hide (KDE)
 Use localized comma for insert matrix/vector
 Remove use of libgnomeui completely and add withlibgnome configure option
 Fix parsing of "x!)!"
 Use Julian year for lightyear value
 Add several accelerator keys (GTK+)
 Connect "Exp" button Exp RPN operation and add Ctrl+Shift+E shortcut
 Fixes for old KDE and Qt versions
 New command line options for qalc: terse (t), nodefs (n), nocurrencies, nodatasets, nofunctions, nounits, novariables
.: 20060602 :. Qalculate! version 0.9.4 released
This version includes many enhancements, such as a true RPN mode, a Dutch translation, new icons, API documenation, and bug fixes.
Changelog:
 True RPN mode with stack manipulation
 Dutch translation (from Jaap Woldringh and the Dutch KDE translation team)
 New application icons (from Thomas Lübking)
 API documentation (approximately halfway)
 Enhanced edit matrix/vector dialogs, with widget for GTK+
 View/edit/insert matrix/vector menu items (GTK+)
 Combined dialog for number bases in result and expression (GTK+)
 Fix comma as decimal sign with KDE GUI
 "Convert to Best Unit" and "Convert to Base Units" was swapped (KDE)
 Ignore commas (with dot as decimal sign) in numbers and option to use dot as thousands separator
 Fix removal of factors in simplifaction ("1 kg m/s" was simplified to "1000 m/s")
 Fix libqalculate.so unresolved symbols (with patch from Thomas de Grenier de Latour)
 Fix bug that caused all number arguments to require numbers to be rational
 Interpret 0x..., 0o... and 0b... as hexadecimal, octal and binary numbers, respectively, when base is decimal
 Ability to represent numbers as 0x0feff (for HEX), 0b0011101010 (for BIN)
 Set vectors and matrices as the first argument by default (foremost changes some statistical functions)
 New functions: tetrahedron(), tetrahedron_sa(), tetrahedron_height(), sqpyramid(), sqpyramid_sa(), sqpyramid_height(), stack() and register()
 component() and components() removed (use element() and dimension())
 Fix integration
 New unit: psi
 New name format in data files for more flexible translations
 Change some dubious mathematical wordings
 ...and many more enhancements and fixes...
.: 20060324 :. KDE GUI updated
Version 0.9.3.1 of the KDE GUI for Qalculate! (only the qalculatekde package has been updated) has been released. This version fixes session management and puts Qalculate! in the system tray by default. Also new are a combined dialog for number bases in result and expression, and a command line option to calculate the clipboard content.
.: 20060314 :. Qalculate! version 0.9.3 released
This is primarily a bug fix release with relatively few changes.
Changelog:
 Avoid floating point overflow and underflow (bug #1432571)
 Do not use "Read Precision" in plot (bug #1429523)
 cos(x*pi*rad) equals 1 if x is even, not 1 (bug #1416048)
 isodate(), localdate(), timestamp(), stamptodate() functions
 Fix show ending zeroes
 Fix prefixes with automatic simplification/factorization
 Approximate comparison
 ...and some more...
.: 20051222 :. Happy Yule to you all! Qalculate! version 0.9.2 released
This is a major release (hence the .2 increase) that focuses on the CAS functionality, with greatly enhanced factorization/simplification
and solving of equations and inequalities.
Changelog:
 Enhanced factorization, with square free factorization of rational multivariate polynomials
 New simplification using the enhanced factorization
 Much more efficient determinant and matrix inverse calculation
 Greatly enhanced and reworked solving of equations and inequalities
 More efficient evaluation avoiding recalculations
 Generally enhanced and more correct algebraic functionality
 Faster calculation of powers with large exponent and base close to one
 Option to automatically simplify or factorize
 Option to warn about denominators assumed nonzero
 Fix negative exponents with lowercase e
 Fix fetching of exchange rates with gnomevfs < 2.10
 Polynomial functions: coeff(), lcoeff(), pcontent(), degree(), etc.
 Fix ln(e^x)
 Display "x < 3 && x > 1" as "1 < x < 3"
 Display "&&" and "" as "and" and "or" by default
 Fix display of fractions in "Decimal (Try Exact)" mode
 Add "Clear" to history popup menu
 Add "Enable/Disable Completion", "Read Precision", "Limit Implicit Multiplication", "RPN Mode", and "Meta Modes" to expression entry popup menu (GTK+)
 Fix crash with newline character in pasted text (GTK+)
 Fix completion with or after unicode signs (KDE)
 Compile without errors or warnings with pedantic and Wextra
 Fix compilation with enablefinal (KDE)
 Status text fixes (GTK+)
 Unicode fixes
 ...and many more minor fixes and enhancements (and probably some new bugs)...
.: 20051103 :. Qalculate! version 0.9.0 released
This release includes many visual and nonvisual enhancements. Users will first notice the redesigned main
window, and then the asyoutype parse and function hint display, and enhanced completion.
But there are more to be discovered...
Changelog:
 Redesigned GTK+ GUI with history view in the main window
 Redesigned keypad in the KDE GUI
 Display of asyoutype expression parsing and function hints
 Enhanced completion
 Scaling of result display to vertically fit the window
 Nicer history listing
 Enhanced result display in GTK+ GUI with much nicer parentheses
 Meta modes
 67 new units: bel (B) and neper (Np), information units such as bit and byte, many convenience units (km/h, deciliter, etc), and more.
 Binary prefixes
 Some new variables and functions
 Fixed help display in new yelp
 Fixed compile with cln1.1.10
 Fixed regressions in simplification
 Fixed f(x) return type analysis (ex. log(x) represents a real number if x represents a positive). This was by accident unused.
 ...and many more bug fixes and enhancements...
.: 20051011 :. Quick fix for result cropping in new pango
The gtk+ version of Qalculate! was updated to handle new behaviour
in pango >= 1.10.0.
.: 20051010 :. New Applications: Qalculate! Bases, Qalculate! Currency, Qalculate! Units
In some cases the big (bloated) Qalculate! application is not the most efficient and user friendly interface.
Why should you, for example, need to load and learn to use the full application just to convert a simple binary number to a decimal, or
to see what the price of a foreign product is in your national currency with the current exchange rates.
Therefore, I am now releasing three small utilities: Qalculate! Bases,
Qalculate! Currency, and Qalculate! Units.
The full libqalculate capabilities is of course available in these applications (arbitrary precision, expression evaluation, etc.), but in
graphical user interfaces more finetuned for the specific purposes. The screenshots should be selfexplanatory.
.: 20051010 :. Qalculate! version 0.8.2
A new full release with mostly bug fixes.
Changelog:
 Use gnomevfs instead of wget if available
 Allow user to specify wget options
 Add exportdynamic to LDFLAGS to fix libglade without libgnome
 Update currencies
 Close gnuplot and disable save button when no series defined (GTK+)
 Fix round halfway numbers to even menu item (KDE)
 Also process operators entered with keypad (KDE)
 System tray icon and close to system tray option (of by default, KDE)
 Do not create qalculate symlink to qalc (confusing when installing GUI in other location)
.: 20050922 :. libQalculate! version 0.8.1.2
This is a bug fix release of libqalculate.
Changelog:
 Fix (1/2)^n < 0.5 in equalities (bug #1265104)
 Fix transformation of unicode signs in expressions with quotes
 Fix conversion of 0 ºC to ºF
 New units: mph and mpg
.: 20050611 :. Qalculate! version 0.8.1.1
The purpose if this release is to check and lower the version numbers of required libraries.
Some additional enhancements did however sneak in... qalculategtk has not been updated but needs to
be recompiled if libqalculate is updated.
Changelog:
 Remove requirement glib2.0 >= 2.4 and require libxml2 >= 2.3.8
 Do not use unicode prefix names for long names
 Add even(), odd() and shift() functions and operators "<<" and ">>"
 Compile with kdelibs and Qt >= 3.1 (KDE)
 Add glib2.0 and libxml2.0 to PKG_CHECK_MODULES (KDE)
 Display prefix in object info (KDE)
 Confirm overwriting result and plot image files (KDE)
 Use KIO instead of wget for fetching exchange rates (KDE)
 Close gnuplot and disable save button when no series defined (KDE)
.: 20050609 :. Qalculate! version 0.8.1
This release includes several major bug fixes and new features in the KDE interface. The new version also adds
support for bitwise operators (~, &, ). This means that '&&' or 'AND', and '' or 'OR' must be used for
logical operations.
Changelog:
 Bitwise operators
 XOR function
 Update currencies (more added)
 Do not crash when saving data sets
 Put buttons on the right (KDE)
 Add web address to about data and correct bug address (KDE)
 Add tooltips (KDE)
 Base and numeric mode combo boxes should not be editable (KDE)
 Support QT without STL support (KDE)
 Insert matrix/vector dialogs (KDE)
 Many enhancements to result display (KDE)
 Add list items add the end of the list to get the right order (KDE)
 Allow only one instance (KDE)
 Display ampersands in menus for categorys and titles (KDE)
 Hide completion when expression is empty (KDE)
 Handle input keys ^+digit as "^"+digit (KDE)
 and more...
.: 20050601 :. Qalculate! version 0.8.0 released with new KDE interface
This release includes a completely new graphical user interface using KDE with all features of the old GTK+ GUI.
It features a redesigned main window, with new features such as a history view (instead of in its own window),
selectable result and tooltips for variables, functions and units in the result.
Note that this does NOT mean that the old interface will be abandoned.
The Qalculate! package has been split in three: liqalculate, qalculategtk and qalculatekde.
Changelog:
 New KDE GUI
 Allow use of 'e' as well as 'E': 5e2 = 5E2 = 500
 Update solve2()
 Reenable message dialog without buttons for gtk+ >= 2.6.2
 Do not look at function arguments in contains... functions
 Update integration and differentiation (sin(x) != sin(x)*rad) after change in sin() and cos() behaviour
 Fix documentation typos
 Fix includes.h for gcc4.0
.: 20050201 :. Qalculate! version 0.7.2
This release includes some requested feature enhancements and minor bug fixes.
Changelog:
 Show base (if not decimal, hexadecimal or nonstandard) as subscript
 Use singular instead of abbreviated name for completion
 Fix "Convert result" button
 Use the last operator for leftover stack values
 Fix RPN crash and don't add lonely stack value to itself
 Workaround freeze with message dialog without buttons
.: 20041122 :. Qalculate! version 0.7.1
This is mainly a bug fix release.
Changelog:
 Only use unicode character if available in the used font. Fixes plus sign not displayed correctly in keypad (bug #933234, bug #932828 and debian bug #281096), and wide keypad (bug #1063474)
 Do not round exact integers not in exponential format. Fixes display of large numbers in nondecimal number bases (debian bug #278973)
 Fix crash on systems, such as amd64, where size_t is not long int (bug #1049570)
 Do not update plot data when not changed
 Rearrange plot dialog and make x variable separate for each plot function
 Generate vector function
 Fix some cases with nested trigonometric functions by adding option to set default angle unit to none, to allow angle unit in argument
 Try with assumptions set to unknown in solve function if not successful
 Be more picky in comparisons with units
 Fix comparison of unit with unknown
 Fix 0.5!
.: 20041018 :. Qalculate! version 0.7.0
This release includes some structural changes, a textbased interface, some major speedups and a number of bug fixes.
Libqalculate is now installed as a shared library and in addition to the now optional gtk+ GUI, there
is now a textbased/command line interface with an executable named qalc and access to the full functionality
of Qalculate!.
Changelog:
 New text interface: qalc
 Change package name to qalculate
 Install libqalculate as a shared library
 Make compilation of qalculategtk and qalc optional
 Drop support for gtk+ < 2.4
 Separate internationalization files for definitions
 Add appendix with auto generated function, variable and unit lists to documentation
 Make definitions loading more than twice as fast
 Calculation speedups, with some statistical functions now being many times faster with large vectors
 Add option to limit use of implicit multiplication when parsing expressions
 Support fractions of two in gamma function and do not transform to factorial for unsupported values
 Double, multi, hyper and superfactorials
 Alternative to use step size instead of sampling rate for generation of plot data
 Ask if exchange rates shall be downloaded on first run
 Change promille to permille and add permille sign
 Lots of approximation indication fixes
 Fix: atan ignored selected angle unit
 Fix: large numbers displayed approximately was not reported as approximate
 Fix: read precision from zero with decimals
 Fix: x!! != (x!)!
 Fix: change nonunicode abbreviation for micro from n to u
.: 20040927 :. Qalculate! version 0.6.4
This release includes, in addition to a large variety of enhancements and bug fixes,
a new data set concept, to be able to handle large sets of variables, and significant algebraic enhancements.
Changelog:
 New data set concept
 Improve factorization
 Status text
 Ability to save result to image file (png)
 Simple integration
 Polynomial division and other division enhancements
 Enhanced equation solving
 Transform sqrt(54) to 3*sqrt(6) (and similar) in exact mode
 Alternative to assume that unknown denominators are nonzero
 Set unknowns dialog
 Finish system property of units
 Allow use of operation name instead of sign (ex. "5 meters per second" instead of "5 m/s")
 New variables: thousand, hundred, ans2, ans3, ans4 and ans5
 New units: day and year
 New functions: solve2(), multisolve(), integrate()
 Save and load accel map
 Better sorting
 Display error when plot data contains nonnumerical elements
 Fix xyxy=xy !
 Fix RPN mode
 Fix saving of unknowns entered with quotation marks
 Fix install over old installation
 Fix display of application icon
 Fix diff() with variables and functions that contains x
 Many additional minor enhancements and bug fixes
.: 20040816 :. Qalculate! version 0.6.3
A new exciting release of Qalculate! is ready with a lot of bug fixes
and some interesting new features, including a periodic table, lots of physical constants, and new more flexible internal
systems and user options for precision and object names (now caseinsensitive).
Changelog:
 Periodic Table and functions to retrieve element data
 Nonabbreviated names are now caseinsensitive
 Individual precision for approximate values
 Solve quadratic equations (note that Qalculate! is still not really a good tool for solving advanced equations)
 New system for variable, unit and function names which allows unlimited number of different names for each object, translation of all names, and suffixes
 New variables: lots of physical constants, and true (yes), false (no), undefined
 Option to show ending zeroes (to see actual precision)
 Option to interpret input numbers with decimals as approximate with a precision equal to the number of digits (after preceding zeroes)
 Optional automatic conversion to best unit or base units
 New units: atomic mass unit (u), stilb, phot, oersted, maxwell, gauss, dyne, poise, stokes, mass fraction (kg/kg)
 New functions: bmi(), atomic_weight(), atomic_name(), atomic_symbol(), atomic_number(), atom()
 Convert to best unit now only converts to SI units
 Fix insert complex unit ("m/s" instead of "m_p_s")
 Fix right parenthesis added before (but no left after) vector
 Remove arg() until it has been fixed, and remove quarter unit as it might be confusing
 Do not prefix currencies in all locales
 Fix parsing of numbers with base <10 and decimal point
 Result display fixes
 Numerous minor enhancements and bug fixes...
The element data is rather limited at moment and I'm not exactly a chemist, so if someone is willing to step
forward and fill in the missing properties I would very much appreciate it. I could also use some more suggestions
on functions that you think should be included, how the user interface can become more userfriendly, and any
new features that would be useful.
.: 20040729 :. Qalculate! ebuild now in portage
Qalculate! is now available in Gentoo.
Install with ACCEPT_KEYWORDS="~x86" emerge qalculategtk
.: 20040719 :. Qalculate! version 0.6.2
The new version includes some urgent bug fixes and a number of feature enhancements.
Changelog:
 Fix segfault on exit
 Force use of O2 instead of Os
 Fix a^b^c = a^(b^c) not (a^b)^c
 Fix rounding and precision in display of numbers
 if(), function, error, warning, load, save and title functions were not activated (oops!)
 Fix parsing of default value of text argument
 Fix display of empty vector
 Fix import of CSV file to matrix
 Fix E in rpn mode
 Fix rad unit being dropped in unsolved sin/cos function
 Fix ! (NOT)
 Change 5^2 = (5)^2 to = (5^2)
 Variable edit fixes
 Display also the parsed and formatted expression in history window
 GUI for subfunctions
 GUI to show numbers in base between 2 and 36
 Alternative to use lower case letters in numbers
 Alternative to round halfway numbers to even in display
 Alternative disable complex and infinite results
 Ability set number base for whole expression and enter epxressions in base functions
 Export to CSV file
 Fetching exchange rates message and slightly changed behaviour
 Undefined, implicit unknowns disabled by default
 Make symlink from qalculategtk to qalculate
 Documentation updates
 ...
.: 20040710 :. Problems with Os optimization
I have discovered that with "Os" in CFLAGS/CXXFLAGS, Qalculate! will
crash on startup. Replace with "O2".
.: 20040707 :. Qalculate! version 0.6.1
This release fixes some urgent bugs.
Changelog:
 Fix input of numbers in bases > 10
 Terminate threads before exit
 Fix compilation by including unistd.h in main.cc
 Follow ISO 8601 standard for week numbers (glib doesn't)
 Fix approximate integers
 Fix is approximate indication
.: 20040624 :. Quick fix
If you downloaded version 0.6 yesterday, you should try again today.
.: 20040623 :. Qalculate! version 0.6 finally released
This release features completely rewritten math structures, including how expressions are represented, simplified and calculated internally.
This means that all known bugs and mathematical errors have been fixed, and hopefully results in much improved reliability.
As almost no code was left untouched, a bunch of new bugs should however be expected.
User visible changes include
 Correct calculations :)
 Selectable assumptions and definition of separate unknown variables
 Some infinity support
 Some new and changed variables and functions (some removed)
 New result drawing routines
 Exact mode > "Always Exact", "Try Exact" and "Approximate" approximation choices
 Fixed plotting
 Multiplication sign selection
 New boolean entry
 Do not create a new thread (and stack space) for every calculation
 ...
.: 20040512 :. Status Update
Relatively long time has gone by since the last release, but this does not mean that development has stalled.
I am currently rewriting the core math code, including how expressions are represented, simplified and calculated internally.
The rewrite will take some time, but will hopefully result in much improved reliability. Some functionality will be lost in the process
and some will be added, such as assumptions (although the current version makes some inconsistent on its own) and display of the actual expression calculated, but most
uservisible features will remain unchanged. Also, the API will be closer to being ready for a separate library release.
I seriously considered fully moving to Giac, but found that it was still lacking the stability needed for
a desktop application and I also felt that I was moving too far a way from the main purpose
of Qalculate!, which is to be a userfriendly and
efficient tool for a wide array of everyday and simple scientific calculations. Those who need a full CAS will probably
be more efficient with the tools provided with Giac.
.: 20040406 :. Qalculate! version 0.5.1
This version includes some important bug fixes (mostly related to trigonometric functions and multiple roots)
and a new solve function.
Changelog:
 Fix multiple real roots as far as possible
 Fix polynomial division (sin() / tan() was broken)
 Fix trigonometric function units
 Equation solver independent of Giac and isolation of x in comparisons
 Fix comparison of approximate values
 Elasticity and extremum functions
 Do not display any extra trailing zeros
 Fix invocation of newly created function
 Minimal integrate function without Giac
 Nicer complex number display
 Fix precision dialog
 Additional minor bug fixes
.: 20040402 :. Multiple roots is broken
The mode for calculation of multiple roots is seriously broken. Make sure that you disable it!
.: 20040329 :. Qalculate! version 0.5
This version includes a relatively large number of feature enhancements and fixes.
The user interface has been partly redesigned (see screenshots) and does now have convenient completion for expressions.
Note that gtk+2.4 is recommended for this release, as it is needed for some of the new features.
Changelog:
 Redesigned GUI with menubar, history window, etc.
 Full completion of variables, functions and units in the expression entry
 Contextsensitive popup menu for the result
 Customizable expression entry font.
 A new solution for languages with comma as decimal point that actually should be working
 Actions for automatic unit conversion: convert to best unit and convert to base units
 Allow use of [] for creation of matrices and vectors
 Polynomial division
 Imperial and U.S. capacity units
 New functions: sum (old sum renamed to total), product, area, code, char, cis, derangements, sec, re, im, time, week, weekday, year, month, day, asec, sech, asech, csc, acsc, csch, acsch, cot, acot, coth, acoth
 Use symbols for some common currencies in result and put them in front of the quantity, which is now fully supported in expressions
 Roman and sexagesimal numbers
 A new derivative function which does not depend on Giac
 Simple factorization without Giac
 A new convenient number class replaces fractions and integers internally
 Make use of the relations between e, pi and i to give exact results
 Define all trigonometric functions as expressions in relation to e and ln()
 Allow "today" for dates
 Fix ugly result display with gtk pixmap themes
 Fixes for newer Giac versions
 Some result display adjustments
 Fix some unit conversion cases
 Fix rem, mod and abs
 Fix trimmed, weighted and winsorized mean
 Fix date calculations with different basis
 Fix printing of exponent 1E...
 Some additional minor fixes
.: 20040310 :. Qalculate! version 0.4.2a: "Oops!"
Fixes compilation without Giac.
.: 20040309 :. Qalculate! version 0.4.2: Now with documentation!
This release includes a first manual draft. Please note that English is not my native language and this quite extensive manual was written during one hectic week.
Version 0.4.2 also includes some bug fixes and new features.
Changelog:
 Manual and a help menu item
 Load function for accessing data files directly in expressions
 Save history between sessions
 Expression history, accessed with Up and Down keys
 Calculate expression given in command line
 Yen, pound, dollar and cent signs
 Allow currencies to be put immediately before the quantity
 Move some options from preferences dialog to menus
 Fix unit conversion for ch^2 to acre and similar
 Fix log with negative result
 Fix exponential display in nonfractional mode with negative exponents
 Fix problem with Gnuplot labels and quotation marks
 Fix Gnuplot's dislike of local decimal points
 Fix abort when locale not supported by C library
 Fix some problems related to complex numbers
.: 20040226 :. Qalculate! version 0.4.1
This is a bug fix release that fixes all problems related to strptime (by not using it) and parsing of text/date arguments.
Changelog:
 Replace strptime
 Fix parsing of text/date arguments
 Fix gtk warnings on startup
 Use gtk's new file dialog
.: 20040218 :. Qalculate! version 0.4
This release adds complex numbers and optional support for Giac,
a computer algebra system. Even though some bug fixes have been made, this version is considered less stable than the previous.
Most changes dates back to early November before a long break and I'm still waiting for the time and motivation to do the necessary rewrite of the core math structures.
Changelog:
 Complex numbers
 Preliminary Giac support, including derive, integrate, solve and a generic giac function, as well as the possibility to factorize the result
 Start with gnuplot absent
 "Copy Result" menu item
 Use of Newton's Binomial Formula to speed up symbolic calculations
 Show argument names in error messages
 Define trigonometric functions as nonbuiltins when possible
 Handle pi correcly in trigonometric functions
 Delay inexact calculations: sqrt(2)^2 is no longer approximate
 Permutations and combinations
.: 20040203 :. Binary packages available
Debian packages (by Martin Waitz) are now available.
.: 20040131 :. Minor bug fix release
Qalculate! version 0.3.1.1 foremost fixes crash on display of matrix and incorrect
calculation of division by root with multiple solutions.
 