Now only bind ERRSET to T or NIL (do not reference unused handlers)
[maxima.git] / ChangeLog-Current.md
blobd6cf530f1f810d924cde5d468a4895bd5a271d76
1 Maxima next change log
2 ======================
4 New items in core:
5 ------------------
6  * nonnegative_lp now replaces nonegative_lp which now is merely an alias.
7  * The environment variable MAXIMA_DOC_PREFIX that allows to override the
8    location the documentation is searched for.
9  * The environment variable GCL_DISABLE_MULTIPROCESS_MEMORY_POOL disables
10    GCL's ability to share the system memory between gcl-compiled maxima
11    processes.
12  * The lisp function defun-maclisp, a function that allows to define 
13    non-user functions using the maclisp nargs syntax.
14  * Documentation: ./update_examples now interprets lines beginning with 
15    the string "input:" as text that should be sent as input to the 
16    preceeding command.
17  * garbage_collect() which manually triggers the lisp's garbage collector 
18    or returns false.
19  * newdet: An determinant algorithm that is optimized on sparse matrices
21 New items in share:
22 -------------------
23  * Many improvements to the simplex algorithm including the ability to handle
24    symbolic inputs
25  * The ode package now has a testbench.
26  * killing.dem, a demo for Killing vector fields.
28 Changes in core:
29 ----------------
30  * Many strings in error messages now are properly formatted
31  * The error message on calling a command with the wrong number of arguments
32    now in most cases tells which command the error was raised by.
33    error message that didn't tell which command the error was caused by.
34  * to_cl, a function that outputs the lisp code a maxima function would be 
35    compiled to now is autoloaded.
36  * A few functions from the linear algebra package weren't autoloaded.
37  * Removed the unused variable "variables_set" that wasn't assigned a meaningful
38    value to by the build system anyway.
39  * out-of-tree-builds now should work if maxima isn't compiled using ECL 
40    (see src/maxima.system for details about the reason)
41  * Part of the build process for the documentation is now off-loaded to 
42    doc/info/build_html.sh 
43  * The build system now uses /usr/bin/perl instead of /usr/local/bin/perl
44  * Tweaked the memory management for GCL towards big maxima projects by default
45  * Compatibility for newer autotools.
46  * configure now has an --enable-abcl switch.
47  * Many improvements for gentran, a translator from maxima to efficient
48    c, ratfor or fortran code.
49  * Maxima.bat now autodetects 64-bit systems and does the necessary
50    modifications for making lapack work in SBCL it this test is positive.
51  * perl is now uniformly called as /usr/bin/env perl
52  * Resolved the "simplifya: I don't know how to simplify this operator: ~M"
53    error triggered by some array actions.
54  * The Windows installer can now include ABCL
55  * Corrected many markers that tell if an example can be updated using the 
56    doc/info/update_example scripts.
57  * user-visible functions are now defined using defmfun, only internally-used
58    ones by defun.
59  * The testsuite summary now not only which tells unexpectedly failed, but also
60    which ones unexpectedly passed.
61  * The maxima-to-lisp translator now handles the case properly that a list
62    is assigned to a global variable.
63  * ./configure: Tried to make the summary nicer
64  * maxima.asd should mow match maxima.system again.
65  * The lists of test suite files and share test suite files now are maxima lists
66    and therefore can be manipulated without having to resolve to lisp commands.
67  * The lists of core and share test suite files (testsuite_files and 
68    share_testsuite_files) are now available directly after starting maxima and 
69    not only after using or manually loading the test suite.
70  * "make check" manipulates the list of tests now in a more canonical way in order
71    to automatically run the interactive tests, as well.
72  * "make check" now compiles maxima before running the tests, if maxima still 
73     needs compiling.
74  * ./configure --enable-quiet-build now muffles more warnings.
75  * src/shares_subdirs.lisp is now no more generated directly but using an 
76    immediate file which hinders "make distclean" from automatically deleting it.
77  * documented the clisp bug that if a frontend acknowledges a network packet 
78    while maxima is still preparing the next one the result might be garbled
79    data.
80  * Small improvements for ./configure's --enable-quiet-build switch
81  * The one-file-per-chapter version of the html manual now starts in 
82    maxima-1.html, not in maxima.html
83  * The documentation now is build using the standard makeinfo tools
84  * doc/info/update_examples.sh can now be used for more examples of the 
85    documentation including interactive ones.
86  * Many documentation updates including many hyperrefs and more and better 
87    examples.
88  * add series expansion for expintegral_si and gamma_incomplete. This
89    unfortunately breaks the following integrals found in the test suite:
90      integrate(log(cot(x) - 1), x, 0, %pi/4);           /* rtest16  524 */
91      integrate(log(cos(x)), x, 0, %pi/2);               /* rtest16  525 */
92      integrate((log((2-x)/2)+log(2))/(1-x), x, 0, 1);   /* rtestint 232 */
93  * float_approx_equal now does what the comments in the code say.
94  * an ecl-based maxima no more enters an endless loop if the front-end dies.
95  * maxima-sbcl now supports non-ascii user names and install dirs on MacOs 
96    and MS Windows
97  * translate() now temporarily sets prederror to true which produces an
98    error message if the translator fails to translate a nested if() 
99    correctly, see Bug #3412.
100  * A workaround for a bug in GCL that makes $load_pathname work again
101  * "make clean" now removes the temporary files for lisps that aren't
102    currently configured.
103  * "make check" now runs the share and the core testsuite in the same
104    maxima session.
105  * Fix the error message for an invalid upper limit of integration
106    If the upper limit of integration was invalid, the error message
107    incorrectly printed the lower limit instead.
108  * The feature "nonscalar" was named "nonscalarp" in some places.
109    Now it is named "nonscalar" consistently. 
110  * Arraymake should now output an error if the result isn't a valid array
111  * interval(a,b) created an interval, but maxima lacked functions to do
112    anything with these intervals => this undocumented function was 
113    commented out.
114  * MRELATIONP now knows how to deal with the "not equal" operator.
115  * Code clean up.
117 Changes in share:
118 --------------
119  *  The the arguments to Krylov matrix are now checked for being of the 
120     correct type.
121  *  ODEPAK now works in conjunction with ECL.
122  *  LAPACK now works in conjunction with ECL, too.
123  *  Sarag: Fix the missing definition of SQUARE_FREE_ALGORITHM used in the 
124     certificate code.. It adds explicit details while proving the sign of 
125         a polynomial in a given interval
126  *  Sarag: Make certificate proof more explicit (verify certificate)
127  *  Added the existing lapack checks to the share testsuite for all lisps
128     except ECL (in ECL a try to use lapack results in an error message)
129         and SBCL (receives an out-of-memory, depending on the system).
130  *  A primitive testsuite for ODEPACK that tests if it works at all.
131  *  ezunits: A conversion rule for nondimensional/(sum of dimensional)
132  *  ezunits: 0 now can have a dimension.
133  *  ezunits test script: Avoid kill(m) which kills the unit meter.
134  *  The tests for the "sym" package are now part of the share testsuite.
135  *  The tests for the "ode" package are now part of the share testsuite, too
136     but have been disabled as they failed.
137  *  Sarag no more overwrites the function resultant() which means the 
138     share test suite no more kills this function in a kill(all);
139  *  Draw now accepts numbers as color specification besides the html-style
140     and the gnuplot-style color identifiers it already understood.
141  *  Draw now accepts plot titles even if they aren't strings.
143 Bug fixes:
144 ----------
145  * #3470: 
146     -Replace the option variable nonegative_lp with nonnegative_lp; the
147       former is retained as an alias.
148     -Correct spelling of non-negative in documentation.
149     -Document the undocumented optional input <all> to min/maximize_lp.
150  * #3463: mention epsilon_lp more explicitly in minimize_lp
151  * #3497: Resolved an error in demos concerning the Ricci tensor
152  * #3497: ctensor documentation on the Ricci tensor is inconsistent
153  * #3532: Wrong substitution on integrating cos(x)*abs(cos(x))
155 Unnumbered bugs:
156 ----------------
157  * ezUnits: microS is microSiemens, not microSievert.
158  * radcan(sqrt(-1/(sqrt(-3)+1))*sqrt(2)) runs out-of-memory
160 Additional improvements:
161 ------------------------
162  * Updated the external utilities for the Windows installer
163  * Updated the wxMaxima version the Windows installer comes with
164    to version 19.02.1
165  * Nightly Test: A summary of the share tests
166  * Crosscompiling: Add 'maxima_longnames.c' to automake
167  * Documentation Updates