Hello folks, Sage 2.10.4 has been released on March 17th, 2008. It is available at http://sagemath.org/download.html * About Sage (http://www.sagemath.org) Sage is developed by volunteers and combines 71 open source packages. It is available for download from sagemath.org and its mirrors in source or binary form. If you have any questions and/or problems please report them to the google groups sage-devel, sage-support, You can also drop by in #sage-devel or #sage-support infreenode. We have closed the Google Groups sage-newbie and sage-forum so that we can deal with support questions in sage-support only. We decided to close those two groups since we had various inquiries left unanswered due to people posting to the wrong group. --------------------------------------------------------------------- The following 32 people contributed code to this release: * Michael Abshoff * Martin Alrecht * Nick Alexander * Tom Boothby * Robert Bradshaw * Craig Citro * Timothy Clemans * John Cremona * Karl-Dieter Crisman * Didier Deshommes * Dan Drake * Burcin Erocal * Gary Furnish * Alex Ghitza * Jason Grout * Mike Hansen * David Harvey * Ryan Hinton * David Joyner * Josh Kantor * Robert Miller * Joel Mohler * Willem Jan Palenstijn * Clement Pernet * Bill Purvis * Yi Qiang * David Roe * Gordon Royle * Franco Saliola * Jaap Spies * William Stein * Carl Witty Cheers, Michael Abshoff (release chair), Robert Miller, William Stein * Major Features, New Spkgs and Bugfixes This * Memory leaks exposed by modular symbols: Michael Abshoff, Martin Albrecht, Burcin Erocal, Willem Jan Palenstijn, Clement Pernet, William Stein: memory leaks exposed by modular symbols functionality. This ticket is a composite of numerous other memleak fixes merged over a *7 month* period. Modular forms are an excellent way to expose memory leaks in pretty much every algebraic component of Sage and all known issues there are now finally fixed. * SQLAlchemy and DSage: We merged SetupTools and SQLAlchemy into Sage as standard packages. SQLAlchemy is now used as in DSage replacing hand written code with much more efficient classes from SQLAlchemy. SetupTools is required to install SQLAlchemy, but is also useful for a number of experimental spkgs like Mayavi2, TVTK and other packages from the Enthought Tool Suite. Yi Qiang improved DSage making it more robust and finally adding the documentation to the standard Sage manual. * Graph theory: chromatic polynomial: An algorithm originally written in C by Gordon Royle has been adapted by Robert Miller to replace the old slow method. This algorithm uses a cut and merge algorithm to recursively compute the chromatic polynomial, and is written in Cython. * Documentation: Many doctest patches written during Doc Day 2 were merged. In addition many people kept up the good work after Doc Day 2 was over and have been submitting patches to increase coverage. We did exceed the target for the release by 0.6% reaching 47.6%. * Symmetric function updates: Mike Hansen, reviewed by Franco Saliola: Sage 2.10.4 adds support for Macdonald polynomials, LLT polynomials, and Jack polynomials as well as a whole class of user-defined symmetric functions which can characterized by orthogonality and triangularity conditions. Support for working with ribbon tableaux was also added as part of these updates. In addtition, many doctests were added and subtle bugs fixed. * Notebook Updates Tom Boothby and William Stein and Timothy Clemans: Fixed a bunch of new and old issue that improve the usability of the notebook. Among those are a working trash, fixes to the polling infrastructure, saving the content of unevaluated cells, URL issues to work around problems introduced by restrictive firewalls and small improvements to the interact command. * Parallel Doctesting: Gary Furnish reviewed by Michael Abshoff: "sage -tp" has been introduced as an experimental multithreaded doctester. The first parameter is the number of threads, and the second parameter is the folder to doctest. Thus "sage -tp 4 devel/sage/sage" tests everything with four threads running. Additional options like "-long" or valgrind options like "-memcheck" do work. The code base is still young and needs more testing. The eventual goal will be to replace the current doctesting infrastructure with this code base. * SBox Class: Martin Albrecht introduced a new S-box class to Sage to support (algebraic) exploration of this fundamental cryptographic primitive. * Known Issues with 2.10.4: * None * Bug Statistics We closed 89 tickets. For details see http://trac.sagemath.org/sage_trac/milestone/sage-2.10.4 or check out the closed ticket section at the end of the announcement. * Upcoming Releases The next release will be 2.11, chaired by Michael Abshoff. The release is planned in about two weeks. Potential features (which are also the goals for 3.0) include: * Upgrade many core components of Sage: Python 2.5.2, ATLAS 3.8.1, clisp 2.44.1 * 50% doctest coverage * OSX 10.5 support in 64 bit mode [this will depend on fixing a vexing segfault in libSingular and getting disutils to play nice with numpy] * Pexpect interace to R * Doctesting Coverage For 2.10.3 we had: Overall weighted coverage score: 44.5% Total number of functions: 18640 We increased coverage by 3.1% in 2.10.4 while removing 24 functions: Overall weighted coverage score: 47.6% Total number of functions: 18616 * Closed Tickets: Merged in final: #185: Tom Boothby: Firefox + Xorg (Linux) take way too much cputime while waiting for results from the notebook server #432: William Stein: finish implementing deleting the trash (emptying it) in the sage notebook. #1590: Tom Boothby: notebook -- change it so changes are saved even in cells that aren't evaluated #1879: Tom Boothby: notebook -- registering redirects to annoying url #1974: Tom Boothby: when changing the title of a worksheet, the javascript should change the document title (via DOM or at worst forced reload) #2332: Tom Boothby: notebook -- the evaluate link doesn't #2492: Mike Hansen: Reference Manual: 18.2 Functions that compute some of the sequences in Sloane's tables #2532: David Roe: various padic bugfixes #2550: Martin Alrecht: remove UTF-8 garbage from SBox file #2552: Mike Hansen: fix problems in the combinat reference manual caused by #2432 #2561: John Cremona: serious inefficiency in order of points on elliptic curves over finite fields #2563: Michael Abshoff: Fix outstanding doc issues for 2.10.4.final #2564: Michael Abshoff: Sage 2.10.4.rc0: fix numerical noise doctest failure in numerical/optimize.py Merged in rc0: #1765: Didier Deshommes: allow list of variables as second input to solve command #1862: Carl Witty: implement at least some sort of useful rudimentary implicit 2d plotting function #2143: Josh Kantor, Didier Deshommes, Mike Hansen: wrap scipy optimization routines and cvxopt linear programming, add gradient/hessian to calculus #2244: Jason Grout, Alex Ghitza: add a randomize=False option to the plot command, to avoid "wiggle" in animations #2362: Joel Mohler: Integer digits method #2372: Didier Deshommes: speedup to matrix_from_rows_and_columns #2400: Jason Grout: maxima automatically simplifies floats to rationals #2444: Martin Albrecht: add UTF-8 support to sage -t #2448: Nick Alexander: add docstrings, clean code in quadratic_forms #2454: Craig Citro: Start improving doctest coverage in modular/modsym/ #2455: Martin Albrecht: improve documentation for multivariate polynomial ideals #2478: Gordon Royle, Robert Miller: chromatic polynomial revisited #2485: John Cremona: Complete docstrings and doctests for schemes/elliptic_curves #2501: Martin Albrecht: SBox class for Sage #2502: Martin Albrecht: doctest coverage for finite fields #2505: Dan Drake: Sage has no Wronskian function #2528: Craig Citro, William Stein: File sage/modular/dims_doc.py should be removed soon #2529: Robert Miller: slightly more preparation for backend switch in graphs #2530: William Stein: interact bug -- drop down menu default doesn't show default value #2533: Bill Purvis, Michael Abshoff: add "-p" flag to $CP for make install to avoid long build times for the sage library after an install #2534: Mike Hansen: Sage does not handle Symmetrica's large integers #2538: Michael Abshoff, William Stein: Sage 2.10.4.rc0: server/notebook/interact.py is broken due to #2530 #2540: Yi Qiang: add missing #long in dsage/tests/testdoc.py #2541. Robert Miller: Fixes bugs in binary_code.pyx #2542: Alex Ghitza: implement right_kernel() and right_nullity() for matrices #2543: Craig Citro: fix doctest in modular/modform/element.py Merged in alpha0: #454: Michael Abshoff, Martin Albrecht, Burcin Erocal, Willem Jan Palenstijn, Clement Pernet, William Stein: memory leaks exposed by modular symbols functionality [this ticket is a composit of numerous other memleak fixes merged over a *7 months* period. Modular forms are an excellent way to expose memory leaks in pretty much every algebraic component of Sage and all know issues there are now finally fixed] #520: Clement Pernet, Michael Abshoff: memory leak: some small issues with Givaro #1901: John Cremona: mistake in the documentation for gens for Finite field pari #1907: William Stein: matrix kernel() is broken (disagrees with nullity()) #1976: William Stein: disable the use of openssl on linux as a hack to generate security certificates quickly #2205: Yi Qiang: new sqlalchemy.spkg package #2066: William Stein:animate -- bug fix for xmin/ymin/xmax/ymax and add a nice example requested by a user #2192: Craig Citro: various Dirichlet character fixes and improvements #2212: Karl-Dieter Crisman: degree sequence documentation #2280: Timothy Clemans: DistributedFactor doesn't return an instance of sage.structure.factorization.Factorization #2320: Yi Qiang: sage -server, sage -worker, sage -dsage broken #2322: Yi Qiang: large dsage patch for 2.10.3 #2328: Mike Hansen, Dan Drake, David Joyner: many docstrings in combinat functions are unhelpful, outdated, or wrong #2354: Didier Deshommes: bug in matrix_real_double_dense #2385: Joel Mohler: Multivariate Polynomial coefficients #2397: Didier Deshommes: speed up matrix_from_rows and matrix_from_columns #2403: Didier Deshommes: Cannot copy Sequence #2421: Didier Deshommes: .round(), .floor(), .ceil(), and .trunc() on RealNumber should have the same return type #2432: Mike Hansen, Franco Saliola: Add support for Macdonald polynomials, LLT polynomials, Jack polynomials, etc. #2447: John Cremona: lfunctions modules scores low on doctests #2450: David Harvey: a few doctests for matrix_integer_dense #2459: Didier Deshommes: Fix GSL_DISABLE_DEPRECAED macro in setup.py #2461: Robert Bradshaw, Alex Ghitza:vector norms should have a reasonable default #2473: Ryan Hinton, Robert Miller: BipartiteGraph.__init__ does not properly initialize for some inputs #2475: William Stein, Craig Citro: doctest -- get coverage of modular/dims.py up to 100% #2479: William Stein: RDF polynomial factoring bug #2481: Jaap Spies: setuptools spkg #2482: Gary Furnish: ptest iterators #2483: Josh Kantor: Currently R help does not work #2484: Carl Witty: "Conditional jump" in QuadDoubleElement __repr__ #2486: Gary Furnish: remove unused/broken vector and matrix pyx files #2487: Gary Furnish: remove unused/broken p-adic morphism.pyx #2488: Gary Furnish: remove unused/broken hanke and pari pxy files #2489: Mike Hansen: symmetric crashes when giving a skew partition to kostka_tab #2499: William Stein, Willem Jan Palenstijn: cython -- issues with cython-ing on the fly, also fixes #1559 #2503: Michael Abshoff: doctest failout in sage/misc/functional.py from #2421 #2506: Robert Miller: fix problem with inequality operator (!=) in graph.py #2509: Nick Alexander, David Harvey: showstopper in xgcd(f, 0) #2510: Robert Miller: Sage 2.10.4.a0: sage/graphs/graph_generators.py doctest failure related to #2473 #2520: Mike Hansen: 2.10.4.a0: doctest failures in combinatorics after merging #2489 #2524: Michael Abshoff, Clement Pernet: update givaro.spkg to the 3.2.10.rc3 release