
The latest version of Mathomatic is 16.0.5, here are the changes:



CHANGES MADE TO MATHOMATIC 16.0.4 TO BRING IT UP TO THE NEXT VERSION:

09/17/12 - Corrected and improved "tests/finance.in" and the terminology used,
           thanks to Wolfram Alpha.

09/20/12 - Fixed "./update" command (which updates "proto.h") to work without
           the readline development headers and libraries installed.

09/23/12 - m4/gradians.m4 copied with m4/functions.m4, when installing with
           "make m4install" into "/usr/local/share/mathomatic/m4/",
           so gradian trig mode can be used by typing "rmath gradians.m4"
           at the shell prompt, while in that directory.
           The debug level was being set in degrees.m4
           and gradians.m4; no longer.

09/25/12 - Mathomatic now always runs "set load" after "set save",
           for the convenience of immediately loading the specified settings,
           and for error checking.

           From now on Mathomatic does not set the alarm nor hangup handlers,
           because it crashes the entire shell window when readline
           is compiled in and an alarm or hangup signal happens.
           Works acceptably now that these signal handlers are not set,
           it just quits when time is up, saying "Alarm clock";
           The same thing happens for SIGHUP, except it just says "Hangup"
           and quits.  I am really not liking readline nor its license now.
           SIGALRM and SIGHUP are no longer given handlers.  The default
           seems to be what has to be there with the current readline mess.
           Overwriting the current signal handlers causes serious bugs,
           but only for readline.

09/29/12 - Fixed "lib/compile.testmain" to work with the latest linker.

10/16/12 - Made all output methods respect "set columns", so
           "display all >output.txt" will not always use infinite columns.
           This goes for the Symbolic Math Library, too.

Mathomatic version 16.0.5 released Sunday 10/21/12.

CHANGES MADE TO MATHOMATIC 16.0.3 TO BRING IT UP TO THE NEXT VERSION:

09/09/12 - Allow use of editline library in Mathomatic, because somehow
           use of GPL libraries in LGPL code is not allowed, and GNU readline
           is GPL.  I am so confused about this Debian bug#687063:
           http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=687063

           Based on the bug report's information sources,
           it appears he is saying the truth about this license issue,
           so I will have to upload new versions of
           Mathomatic with editline instead of readline to Debian.
           The only noticeable difference should be it doesn't save
           the history between Mathomatic sessions.
           I will comply with all that request it,
           though most distributions do not include editline,
           which has no major licensing restrictions.  Readline is still
           perfectly usable and good as before, you just have to link
           it in yourself.

09/10/12 - Going to have to make a new release already, 2 days after the last
           one, so I can upload this readline licensing fix to Debian by
           linking with editline.  There is no reason for anyone to upgrade
           to version 16.0.4, unless you wish to link with editline instead
           of readline.  The proper code has been added.  All you have to do
           is have the editline libraries loaded on your system,
           and run "make EDITLINE=1" to compile and link Mathomatic with
           editline.

Mathomatic version 16.0.4 released Monday 09/10/12.

CHANGES MADE TO MATHOMATIC 16.0.2 TO BRING IT UP TO THE NEXT VERSION:

New command "set load" loads the current set options startup file again,
displaying the startup file as it reads it in.
If the file doesn't exist, or something is wrong, then an error message is
displayed and the set command returns with failure.
Accidently putting "load" in the startup file is now handled correctly.

08/09/12 - Allow "matho-primes all" and the command "list primes all" in
           Mathomatic to continually output consecutive prime numbers.

08/12/12 - Fixed any rman errors in the makefile so they won't be ignored.

08/17/12 - rmath and matho no longer set the debug_level or modulus_mode,
           so they can be set by the startup options file.

08/19/12 - Allow the repeat prefix on the approximate command, making it
           approximate and simplify as much as the calculate command
           does.  Hopefully someday it will just give a temporary
           result, too.  Numerical input into the symbolic math library
           now uses "repeat approximate" instead of just "approximate"
           to approximate the user's input, so the result is the
           same as the Mathomatic application's result.

           Disallow the same warnings to be repeatedly displayed, if the
           current warning is the same as the previous warning.

08/20/12 - Allow directory names as read command arguments, instructing
           the read command to change the current directory to the specified
           directory.  Without any arguments, the read command now does an
           "ls" command in Unix/Linux, and "dir" under MS-Windows, listing
           the current directory contents.  Running Mathomatic with a
           directory name argument now conveniently changes directory to
           that directory, then gives you the main prompt.

08/28/12 - Made "integer" type variables much more useful.  For example,
           the following now happens generally:

1-> i^(4*integer)
#1: i^(4*integer)
1-> simplify
#1: 1
1-> i^((4*integer) + 1)
#2: i^((4*integer) + 1)
2-> simplify
#2: i
2-> i^((4*integer) + 2)
#3: i^((4*integer) + 2)
3-> simplify
#3: -1
3-> i^((4*integer) + 3)
#4: i^((4*integer) + 3)
4-> simplify
#4: -1*i

08/29/12 - Displays "Calculating..." whenever autocalc is used now.

08/30/12 - Added ability to set the normal text color.
           Still defaults to no color.  Use "set color 0" to set the normal
           text color to green, as it has been for many years in the past.

08/31/12 - Removed the "set preserve_surds" option, since the approximate
           and calculate commands all take care of undoing that.
           The code remains, however "set preserve_surds" is no longer
           advertised.  I have never used it.
           Surds are preserved, for accuracy's sake, by default.

09/05/12 - "set" as a null set option works now, so no one will have any
           trouble setting-up the set options startup file.

Mathomatic version 16.0.3 released Saturday 09/08/12.

CHANGES MADE TO MATHOMATIC 16.0.1 TO BRING IT UP TO THE NEXT VERSION:

A nice cleanup and documenting of everything, while my mind still works.

07/23/12 - Enabled links in "manual.pdf" (the Mathomatic User Guide
           and Command Reference), they were not working well before,
           so I had disabled all links, but they work great now.

07/24/12 - Allow -a option ("set alternative") with sets alternative
           color mode, useful in MS-Windows when using Cygwin with the
           MinGW compiled version.

07/27/12 - Two bug fixes today:

           Fixed using rlwrap under Cygwin and possibly other places,
           when running rmath.

           get_yes_no() question asker wasn't working in Cygwin or rmath.
           Fixed to always ask the question, even if the input is not a TTY.

07/28/12 - Reading directories and empty files gives an error now.

07/30/12 - Split off changes.txt to changes.txt and changes_series_15.txt.
           changes.txt and NEWS now contain only series 16 changes.

           Added tests/batman_gnuplot_bug.in to prove there is a plotting bug
           in gnuplot itself.

08/01/12 - Removed directive to use large font in the CSS for all Mathomatic
           documentation.  This is so it can be browsed easily with a mobile
           device.  The font size should be set by the user.

08/02/12 - A one-sided expression with an equals sign now only sets the
           expression equal to zero if autocalc didn't work on it.  In the
           Symbolic Math Library, or without autocalc enabled, all is the
           same.  This makes it more likely purely numerical input is only
           calculated, even when preceded or followed by an equals sign,
           when autocalc is enabled.  Reason for this change:
           Why would you want to set a constant equal to 0?

           Fixed a bunch more error reporting bugs coded into version 16.0.1
           of Mathomatic to apply identical operations to both sides of an
           equation.  All fixed now.  Points to the error correctly now, too.

08/04/12 - Major change to Symbolic Math Library.  It now works exactly like
           the application when it comes to purely numerical input,
           approximating and displaying the result, however sign variables
           are not expanded and the result is not 100% simplified,
           so running "simplify sign" afterwards helps with that.
           To revert to the old way, just turn off autocalc, or set
           the numerical input equal to some normal variable; then there
           will be no automatic approximation nor simplification.
           You can tell when an input has been approximated because it
           was numerical input, because it will always be preceded with
           "answer =".

08/05/12 - m4/degrees.m4 copied with m4/functions.m4, when installing with
           "make m4install", thanks to a suggestion by Reini Urban,
           maintainer of the Cygwin version.

Mathomatic version 16.0.2 released Monday 08/06/12.

CHANGES MADE TO MATHOMATIC 16.0.0 TO BRING IT UP TO THE NEXT VERSION:

07/06/12 - Confirmed successful compilation and testing with the
           Tiny C compiler (tcc).  Only needed to set the tcc linker
           library directories to the current gcc library directories
           to make it work (using the -L option).

           Searched globally for the word "simply" and fixed many outdated
           texts in the Mathomatic documentation and READMEs, deleting some
           wrongly used "simply"s, too.

07/07/12 - Allow "set modulus_mode language", where language is C, Java,
           Python, or positive.

07/08/12 - Now leaving the "UNIX" C preprocessor define alone,
           when "HANDHELD" is defined.  "UNIX" was previously
           forced undefined.

07/11/12 - "make test", "make check", and ./t now display the actual
           Mathomatic version number being tested.

           matho-primes now has a -v (display version number) option,
           like Mathomatic does.

           Mathomatic now automatically clears out all old
           numeric calculations if it runs out of equation spaces,
           requiring no action from the user.

07/12/12 - The solve command never needs the "repeat solve" prefix anymore.
           The repeat flag is always set for the solve command, so that
           it will always do full simplifies when verifying.

           Added quadratic formula derivation and proof to
           "tests/quadratic.in".

07/17/12 - I came up with a swinging new and easy way to add, subtract,
           multiply, divide, modular and integer divide,
           and raise to the power of both sides of an equation by any
           expression.  To add x+1 to both sides of the current
           equation, just type "+=x+1" at the main prompt.  To divide both
           sides by c^2, type "/=c^2".  You can add stuff to non-equations
           too, this way.  Be sure and use the simplify command after this
           if needed, because only a small amount of simplification is done
           by default, just enough so you can see what is happening.

07/20/12 - Changed floating point to rational floating point conversion
           routine (f_to_fraction()) to ignore converting anything with
           over 15 digits, for greater accuracy.
           This fixes some small accuracy bugs: "factor number 17!" now gives
           an error instead of the wrong value.

07/21/12 - Integrate, Laplace, and Numerical Integrate commands now warn
           when the current equation is not a properly solved equation.

Mathomatic version 16.0.1 released Sunday 07/22/12.

CHANGES MADE TO MATHOMATIC 15.8.5 TO BRING IT UP TO THE NEXT VERSION:

Code, documentation, and user interface improvements, corrections,
and cleanup.  Fixed many possible bugs, some where the wrong level global
expression buffers were being used.

05/26/12 - Push command improved with better responses.  Same functionality.

           In the source code, tune-up variable integer_coefficients was
           renamed to "factor_out_all_numeric_gcds", because Mathomatic always
           tries to have integer coefficients this year, but it doesn't always
           factor out all numeric GCDs unless factor_out_all_numeric_gcds
           is true, or the factor command is used.  The default is false,
           for more orderly and revealing coefficients.
           Of course, much of what Mathomatic does is
           try to improve readability and simplicity.
           There is no need to set this variable, just use the factor command.

05/27/12 - Removed C declarations for memmove(3), the defaults in
           /usr/include/string.h are probably better and what's wanted in
           every case.  It would be very odd if this didn't work 100%.

05/28/12 - readline history file renamed to "~/.matho_history" from
           "~/.mathomatic_history".  File name was too long for CygWin.
           Tested thoroughly compiling, installing, and running under
           the latest CygWin.  Works fine, except for rlwrap.  "rlwrap -v"
           returns with error, a successful return is how I test for its
           existence.

           Made output redirection work with the "list primes" command.

06/02/12 - Cleanup of Linux, Mac OS X, and Windows binary distributions.
           The Windows binary distribution now includes m4 scripts, in case
           CygWin is installed, allowing use of m4 Mathomatic in Windows.

           Fixed MinGW version to not output two carriage returns at the
           end of every line of list command output.

06/03/12 - If compiled with -DSHOW_RESOURCES, will give total CPU usage and
           RSS size in the "version status" command.  Requires OS support.
           Some OSes will show even more information.  Uses getrusage(2).

06/04/12 - Allow breaking out of user line-input requests with Control-C.
           Still have to hit the Enter key, but the command will be aborted.

06/05/12 - Added "lib/example.c", the simplest example yet of Symbolic Math
           Library usage.  Compile with "compile.testmain" or practice
           compiling it by hand.

           The simplify command now returns the number of expressions
           simplified, so you can tell if "simplify sign" worked.

           The solve command can now require verification, by using the
           "verifiable" option, instead of the "verify" option.  This causes
           unverifiable solves to return with failure, aborting any reads.

           Fixed missing code in internal C function free_mem().
           I don't think it was used by anyone.  A call to free_mem() is
           now made on exit, if Mathomatic is compiled with -DVALGRIND, to
           check for memory leaks.

06/08/12 - Added polynomial factoring to GCD result of divide command.
           It is always handy to know what the factors are of the GCD.

           Allow comma (,) at the end of most input lines.  A comma now
           terminates an expression instead of giving an error.  Allow
           commas all over the place, where-ever logical, in any
           Mathomatic command-line.  They are used as separators,
           more so than spaces.

06/09/12 - Cleaned up variables command to always allow the count parameter,
           and to line up everything with 8 character wide tabs.

           Added ability to place the definite integration bounds on the
           integrate command-line, just like the nintegrate command.

           Added titles to most help command pages.

06/10/12 - The "factor number" command works much nicer now, and allows comma
           separators and zero.

           Developers should note that to remain the same as past versions,
           HTML mode needs to be "set html all" to output HTML at all times
           in both the application and the symbolic math library, even when
           redirecting output.  Now setting all HTML mode with
           "make pdfsheet".  "set html" only outputs HTML code to standard
           output.

06/13/12 - Added warning in "misc/known_bugs.txt" about LLVM/Clang optimizer
           failure when compiling Mathomatic with LLVM/Clang instead of gcc.
           If you enable any optimization at all, entering (32^.5) and the
           like will hang Mathomatic, putting it in an endless loop.
           So when compiling Mathomatic with LLVM/Clang, always disable
           optimization with "-O0", so that it will then run and pass
           all of the tests in 1 second and not be infinitely slower.
           Mathomatic will hang during "make test"
           if compiled with optimization enabled using LLVM.  Mathomatic is
           not noticeably slower when compiled without any optimization,
           because everything is memmove(3)s and floating point arithmetic.

06/15/12 - Added repeat option to replace command.  A handy feature that
           lets you try plugging different values into an equation.  It
           checks if the result is an identity, too.

06/18/12 - The version command now has a "status" option, which behaves
           as before, displaying all version and status information.
           The version command by itself now only displays the Mathomatic
           version number.  Running "mathomatic -v" is now a good way of
           testing for the existence of Mathomatic on your system, only
           outputting the version number to standard output and exiting
           successfully.

06/19/12 - Removed the parenthesizing of variable names in all messages.

           If the current expression is a non-equation, then prefixing or
           suffixing an expression with "=" will add that expression as
           the other equation side now, conveniently making it an equation
           you can solve.

06/22/12 - Added equation number ranges option to tally command.  Type
           "tally -" to resume if the current equation hasn't changed.  Type
           "tally all" to add together all stored expressions as the starting
           value.  Specifying equation numbers or ranges will silently add
           them, then prompt for the next things to add.  The average option
           now displays the number of entries (count) each time the average
           is displayed.  When you exit by typing an empty line, the current
           total is saved in the next available equation space and made
           current, so it can easily resume with "tally -".  "-" by itself
           always means the current equation.

           gnuplot now works with MS-Windows better.  Tried running a Windows
           gnuplot test from scratch, without Cygwin, and it didn't work.
           It should be mostly fixed now.  So go ahead and try plotting
           in Windows, after downloading and installing gnuplot.  Please
           complain if any problems.

           Fixed a long-running problem with the plot command, by asking the
           user questions, only if needed, so that gnuplot will not give an
           error if you are multi-expression plotting.

06/23/12 - Moved load_rc() out of main.c so that the Mathomatic startup set
           options file can be loaded by the library, if the developer wishes.
           Changed a few things so that "set save" and "set no save" will work
           if load_rc() is called beforehand.

06/25/12 - The simplify command has been fixed for optimal integer coefficient
           factoring results and so "180*(sides-2)" simplification works
           nicely, by keeping the result the same as the start by
           factoring out rational constants greater than 1 (this is new),
           along with less than 1,
           if the coefficients remain or become integers.

           Many things cleaned up and finished, like the official
           documentation, the "code integer" command, and "examples/fact.c".

06/27/12 - Allow an ASCII string after the "set save" command, to save only
           that string in ~/.mathomaticrc, so that string, which should be set
           options, is for every Mathomatic session to start with.
           For example, "set save bold color" will start out Mathomatic in
           bold color mode every time.  Enter "set no save" to remove.
           "set save" by itself saves all of the current set options for every
           future session.

Mathomatic version 16.0.0 released Friday 06/29/12.

----------------------------------------------------------------------
End of this version history of the Mathomatic computer algebra system.
Current as of 10/21/12 (2012-10-21).
The latest changes are at the beginning of this file.
This file is always available up-to-date at http://mathomatic.org/NEWS
Alternatively, you can get it at http://mathomatic.orgserve.de/NEWS
Do not edit this file, edit the end of changes.txt instead.
Written and maintained by George Gesslein II.
