into options.mk.
Changes from 2.4 to 3.0
=======================
New features
------------
- Since this release PyTables provides full support to Python_ 3
(closes :issue:`188`).
- The entire code base is now more compliant with coding style guidelines
describe in the PEP8_ (closes :issue:`103` and :issue:`224`).
See `API changes`_ for more details.
- Basic support for HDF5 drivers. Now it is possible to open/create an
HDF5 file using one of the SEC2, DIRECT, LOG, WINDOWS, STDIO or CORE
drivers. Users can also set the main driver parameters (closes
:issue:`166`).
Thanks to Michal Slonina.
- Basic support for in-memory image files. An HDF5 file can be set from or
copied into a memory buffer (thanks to Michal Slonina). This feature is
only available if PyTables is built against HDF5 1.8.9 or newer.
Closes :issue:`165` and :issue:`173`.
- New :meth:`File.get_filesize` method for retrieving the HDF5 file size.
- Implemented methods to get/set the user block size in a HDF5 file
(closes :issue:`123`)
- Improved support for PyInstaller_. Now it is easier to pack frozen
applications that use the PyTables package (closes: :issue:`177`).
Thanks to Stuart Mentzer and Christoph Gohlke.
- All read methods now have an optional *out* argument that allows to pass a
pre-allocated array to store data (closes :issue:`192`)
- Added support for the floating point data types with extended precision
(Float96, Float128, Complex192 and Complex256). This feature is only
available if numpy_ provides it as well.
Closes :issue:`51` and :issue:`214`. Many thanks to Andrea Bedini.
- Consistent ``create_xxx()`` signatures. Now it is possible to create all
data sets :class:`Array`, :class:`CArray`, :class:`EArray`,
:class:`VLArray`, and :class:`Table` from existing Python objects (closes
:issue:`61` and :issue:`249`). See also the `API changes`_ section.
- Complete rewrite of the :mod:`nodes.filenode` module. Now it is fully
compliant with the interfaces defined in the standard :mod:`io` module.
Only non-buffered binary I/O is supported currently.
See also the `API changes`_ section. Closes :issue:`244`.
- New :program:`pt2to3` tool is provided to help users to port their
applications to the new API (see `API changes`_ section).
Improvements
------------
- Improved runtime checks on dynamic loading of libraries: meaningful error
messages are generated in case of failure.
Also, now PyTables no more alters the system PATH.
Closes :issue:`178` and :issue:`179` (thanks to Christoph Gohlke).
- Improved list of search paths for libraries as suggested by Nicholaus
Halecky (see :issue:`219`).
- Removed deprecated Cython_ include (.pxi) files. Contents of
:file:`convtypetables.pxi` have been moved in :file:`utilsextension.pyx`.
Closes :issue:`217`.
- The internal Blosc_ library has been upgraded to version 1.2.3.
- Pre-load the bzip2_ library on windows (closes :issue:`205`)
- The :meth:`File.get_node` method now accepts unicode paths
(closes :issue:`203`)
- Improved compatibility with Cython_ 0.19 (see :issue:`220` and
:issue:`221`)
- Improved compatibility with numexpr_ 2.1 (see also :issue:`199` and
:issue:`241`)
- Improved compatibility with development versions of numpy_
(see :issue:`193`)
- Packaging: since this release the standard tar-ball package no more includes
the PDF version of the "PyTables User Guide", so it is a little bit smaller
now. The complete and pre-build version of the documentation both in HTML
and PDF format is available on the file `download area`_ on SourceForge.net.
Closes: :issue:`172`.
- Now PyTables also uses `Travis-CI`_ as continuous integration service.
All branches and all pull requests are automatically tested with different
Python_ versions. Closes :issue:`212`.
Other changes
-------------
- PyTables now requires Python 2.6 or newer.
- Minimum supported version of Numexpr_ is now 2.0.
API changes
-----------
The entire PyTables API as been made more PEP8_ compliant (see :issue:`224`).
This means that many methods, attributes, module global variables and also
keyword parameters have been renamed to be compliant with PEP8_ style
guidelines (e.g. the ``tables.hdf5Version`` constant has been renamed into
``tables.hdf5_version``).
We made the best effort to maintain compatibility to the old API for existing
applications. In most cases, the old 2.x API is still available and usable
even if it is now deprecated (see the Deprecations_ section).
The only important backwards incompatible API changes are for names of
function/methods arguments. All uses of keyword arguments should be
checked and fixed to use the new naming convention.
The new :program:`pt2to3` tool can be used to port PyTables based applications
to the new API.
Many deprecated features and support for obsolete modules has been dropped:
- The deprecated :data:`is_pro` module constant has been removed
- The nra module and support for the obsolete numarray module has been removed.
The *numarray* flavor is no more supported as well (closes :issue:`107`).
- Support for the obsolete Numeric module has been removed.
The *numeric* flavor is no longer available (closes :issue:`108`).
- The tables.netcdf3 module has been removed (closes :issue:`68`).
- The deprecated :exc:`exceptions.Incompat16Warning` exception has been
removed
- The :meth:`File.create_external_link` method no longer has a keyword
parameter named *warn16incompat*. It was deprecated in PyTables 2.4.
Moreover:
- The :meth:`File.create_array`, :meth:`File.create_carray`,
:meth:`File.create_earray`, :meth:`File.create_vlarray`, and
:meth:`File.create_table` methods of the :class:`File` objects gained a
new (optional) keyword argument named ``obj``. It can be used to initialize
the newly created dataset with an existing Python object, though normally
these are numpy_ arrays.
The *atom*/*descriptor* and *shape* parameters are now optional if the
*obj* argument is provided.
- The :mod:`nodes.filenode` has been completely rewritten to be fully
compliant with the interfaces defined in the :mod:`io` module.
The FileNode classes currently implemented are intended for binary I/O.
Main changes:
* the FileNode base class is no more available,
* the new version of :class:`nodes.filenode.ROFileNode` and
:class:`nodes.filenode.RAFileNode` objects no more expose the *offset*
attribute (the *seek* and *tell* methods can be used instead),
* the *lineSeparator* property is no more available end the ``\n``
character is always used as line separator.
- The `__version__` module constants has been removed from almost all the
modules (it was not used after the switch to Git). Of course the package
level constant (:data:`tables.__version__`) still remains.
Closes :issue:`112`.
- The :func:`lrange` has been dropped in favor of xrange (:issue:`181`)
- The :data:`parameters.MAX_THREADS` configuration parameter has been dropped
in favor of :data:`parameters.MAX_BLOSC_THREADS` and
:data:`parameters.MAX_NUMEXPR_THREADS` (closes :issue:`147`).
- The :func:`conditions.compile_condition` function no more has a *copycols*
argument, it was no more necessary since Numexpr_ 1.3.1.
Closes :issue:`117`.
- The *expectedsizeinMB* parameter of the :meth:`File.create_vlarray` and of
the :meth:`VLArrsy.__init__` methods has been replaced by *expectedrows*.
See also (:issue:`35`).
- The :meth:`Table.whereAppend` method has been renamed into
:meth:`Table.append_where` (closes :issue:`248`).
Please refer to the :doc:`../MIGRATING_TO_3.x` document for more details about
API changes and for some useful hint about the migration process from the 2.X
API to the new one.
Other possibly incompatible changes
-----------------------------------
- All methods of the :class:`Table` class that take *start*, *stop* and
*step* parameters (including :meth:`Table.read`, :meth:`Table.where`,
:meth:`Table.iterrows`, etc) have been redesigned to have a consistent
behaviour. The meaning of the *start*, *stop* and *step* and their default
values now always work exactly like in the standard :class:`slice` objects.
Closes :issue:`44` and :issue:`255`.
- Unicode attributes are not stored in the HDF5 file as pickled string.
They are now saved on the HDF5 file as UTF-8 encoded strings.
Although this does not introduce any API breakage, files produced are
different (for unicode attributes) from the ones produced by earlier
versions of PyTables.
- System attributes are now stored in the HDF5 file using the character set
that reflects the native string behaviour: ASCII for Python 2 and UTF8 for
Python 3. In any case, system attributes are represented as Python string.
- The :meth:`iterrows` method of :class:`*Array` and :class:`Table` as well
as the :meth:`Table.itersorted` now behave like functions in the standard
:mod:`itertools` module.
If the *start* parameter is provided and *stop* is None then the
array/table is iterated from *start* to the last line.
In PyTables < 3.0 only one element was returned.
Deprecations
------------
- As described in `API changes`_, all functions, methods and attribute names
that was not compliant with the PEP8_ guidelines have been changed.
Old names are still available but they are deprecated.
- The use of upper-case keyword arguments in the :func:`open_file` function
and the :class:`File` class initializer is now deprecated. All parameters
defined in the :file:`tables/parameters.py` module can still be passed as
keyword argument to the :func:`open_file` function just using a lower-case
version of the parameter name.
Bugs fixed
----------
- Better check access on closed files (closes :issue:`62`)
- Fix for :meth:`File.renameNode` where in certain cases
:meth:`File._g_updateLocation` was wrongly called (closes :issue:`208`).
Thanks to Michka Popoff.
- Fixed ptdump failure on data with nested columns (closes :issue:`213`).
Thanks to Alexander Ford.
- Fixed an error in :func:`open_file` when *filename* is a :class:`numpy.str_`
(closes :issue:`204`)
- Fixed :issue:`119`, :issue:`230` and :issue:`232`, where an index on
:class:`Time64Col` (only, :class:`Time32Col` was ok) hides the data on
selection from a Tables. Thanks to Jeff Reback.
- Fixed ``tables.tests.test_nestedtypes.ColsTestCase.test_00a_repr`` test
method. Now the ``repr`` of of cols on big-endian platforms is correctly
handled (closes :issue:`237`).
- Fixes bug with completely sorted indexes where *nrowsinbuf* must be equal
to or greater than the *chunksize* (thanks to Thadeus Burgess).
Closes :issue:`206` and :issue:`238`.
- Fixed an issue of the :meth:`Table.itersorted` with reverse iteration
(closes :issue:`252` and :issue:`253`).
Version 3.2.4 (2014-01-20)
--------------------------
### Fixed
Updated the Russian translation of the TinyMCE "typolinks" plugins (see #6224).
### Fixed
Do not create multiple stylect layers upon Ajax changes.
### Fixed
Some DCAs were missing the "rem" unit (see #6634).
### Fixed
Correctly trim the SQL statements in the `Database` class (see #6623).
### Fixed
Fix some broken back end icons (see #6214).
### Fixed
Show a hint in the news archive menu if there are no items (see #5888).
### Fixed
Prevent the back end tool tips from exceeding the screen width (see #6639).
### Fixed
Support the Google+ vanity name in addition to the numeric ID (see #6454).
### Fixed
Correctly detect Android tablets in the `Environment` class (see #5869).
### Fixed
Correctly resolve the module dependencies (see #6606).
### Fixed
Correctly unset the PHP session cookie depending on its parameters.
### Fixed
Fixed the XHTML variant of the comments form (see #5675).
### Fixed
Correctly assign articles to columns (see #6595).
### Fixed
Correctly merge the CSS classes in the `Hybrid` class (see #6601).
Changelog:
NEWS from gtranslator 2.91.6 (2012-12-29):
- Misc bugfixes.
Translations:
- be (Yuri Matsuk)
- ca (Sílvia Miranda)
- da (Joe Hansen)
- de (Christian Kirbach)
- de (Mario Blättermann)
- el (Ioannis Zampoukas)
- es (Daniel Mustieles)
- et (Mattias Põldaru)
- he (Yaron Shahrabani)
- hu (Gabor Kelemen)
- id (Andika Triwidada)
- ja (Jiro Matsuzawa)
- ko (Seong-ho Cho)
- nn (Åsmund Skjæveland)
- pl (Piotr Drąg)
- ru (Yuri Myasoedov)
- sk (Ondrej Mosnáček)
- th (Akom Chotiphantawanon)
- tr (Muhammet Kara)
NEWS from gtranslator 2.91.5 (2012-06-07):
- Add/update X-Generator header in PO file (Daniel Mustieles)
- Misc bugfixes
Translations:
- cs (Marek Černocký)
- de (Christian Kirbach)
- es (Daniel Mustieles)
- fr (Bruno Brouard)
- gl (Fran Dieguez)
- it (Milo Casagrande)
- lt (Aurimas Černius)
- lv (Rūdolfs Mazurs)
- sl ("Last-Translator: filmsi\n")
- sr@latin (Miroslav Nikolić)
- sr (Мирослав Николић)
- te (Praveen Illa)
NEWS from gtranslator 2.91.4 (2012-05-05):
- Add app menu (Ignacio Casal Quinteiro)
- Move libgtranslator-private library to pkglibdir (Michael Biebl)
- Better handling of the table message (Carlos Garnacho)
- Update TM when a new po file is loaded (Carlos Garcia Campos)
- Try using Content-Type charset if the file is not UTF-8 (Carlos Garnacho)
- Remove ok/cancel buttons to add new comments (Carlos Garcia Campos)
- Fix a crash when dropping an item to the toolbar (Carlos Garcia Campos)
- Misc bugfixes
Translations:
- cs (Marek Černocký)
- da (Joe Hansen)
- es (Daniel Mustieles)
- fr (Bruno Brouard)
- gl (Fran Dieguez)
- id (Andika Triwidada)
- nb (Kjartan Maraas)
- pl (Piotr Drąg)
NEWS from gtranslator 2.91.3 (2012-04-20):
- Port to GResource (Daniel Mustieles)
- Misc bugfixes
Translations:
- he (Yaron Shahrabani)
NEWS from gtranslator 2.91.2 (2012-04-09):
- Use new libpeas API (Garrett Regier)
- Complete list of plural forms (Daniel Mustieles)
- Misc bugfixes
Translations:
- cs (Marek Černocký)
- de (Christian Kirbach)
- es (Daniel Mustieles)
- fi (Jiri Grönroos)
- gl (Fran Dieguez)
- pl (Piotr Drąg)
- sl (Matej Urbančič)
- sr@latin (Miroslav Nikolić)
- sr (Мирослав Николић)
NEWS from gtranslator 2.91.1 (2012-03-24):
- Make translation memory an standalone plugin (Ignacio Casal Quinteiro)
- Misc bugfixes
Translations:
- be (Yuri Matsuk)
- eo (Kristjan SCHMIDT)
- es (Daniel Mustieles)
- et (Mattias Põldaru)
- gl (Fran Dieguez)
- it (Milo Casagrande)
- lt (Aurimas Černius)
- nn (Yngve Spjeld Landro)
- pl (Piotr Drąg)
- sl (Matej Urbančič)
- sr@latin (Miroslav Nikolić)
- sr (Мирослав Николић)
- te (Praveen Illa
NEWS from gtranslator 2.90.8 (2012-02-06):
- Make it build with latest gtk+ (Ignacio Casal Quinteiro)
- Add support for gda 5 (Dominique Leuenberger)
- Misc bugfixes
Translations:
- be (Yuri Matsuk)
- cs (Marek Černocký)
- es (Daniel Mustieles)
- gl (Fran Dieguez)
- ja (Jiro Matsuzawa)
- pl (Piotr Drąg)
- ru (Yuri Myasoedov)
- sl (Matej Urbančič)
- te (Praveen Illa)
- tr (Muhammet Kara)
NEWS from gtranslator 2.90.7 (2011-10-19):
- Relicense some files as GPLv3+
- Don't normalize translations stored in the translation memory (Neil Roberts)
Translations:
- be (Yuri Matsuk)
NEWS from gtranslator 2.90.6 (2011-10-11):
- Misc bugfixes
Translations:
- be (Yuri Matsuk)
- ca (Sílvia Miranda)
- ca@valencia (Sílvia Miranda)
- de (Christian Kirbach)
- el (Simos Xenitellis)
- eo (Kristjan SCHMIDT)
- es (Daniel Mustieles)
- eu (Iñaki Larrañaga Murgoitio)
- fr (Bruno Brouard)
- gl (Fran Diéguez)
- he (Yaron Shahrabani)
- it (Milo Casagrande)
- lt (Aurimas Černius)
- pt_BR (Gabriel Feitosa Vilar)
- ru (Yuri Myasoedov)
- sk (Ondrej Mosnáček)
- sr@latin (Miroslav Nikolić)
- sr (Мирослав Николић)
- th (Akom Chotiphantawanon)
NEWS from gtranslator 2.90.5 (2011-06-14):
- Misc bugfixes
Translations:
- el (Simos Xenitellis)
- sr@latin (Miroslav Nikolić)
- sr (Мирослав Николић)
NEWS from gtranslator 2.90.4 (2011-05-18):
- Misc bugfixes
Translations:
- cs (Marek Černocký)
- es (Daniel Mustieles)
- ja (Hiroyuki Sekihara)
- sl (Andrej Žnidaršič)
NEWS from gtranslator 2.90.3 (2011-05-04):
- Put the gdl container inside the tab
- Add a tab activatable extension point
Translations:
- uk (Sergiy Gavrylov)
NEWS from gtranslator 2.90.2 (2011-04-26):
- UI cleanup
Translations:
- de (Paul Seyfert)
- ja (Hiroyuki Sekihara)
- pt_BR (Rodrigo Padula de Oliveira)
- tr (Muhammet Kara)
NEWS from gtranslator 2.90.1 (2011-04-04):
- Automatize profile generation
- Fix preferences dialog space
- Remove interface tab from preferences dialog
- Fix remaining issues in the gtk+ 3 port.
NEWS from gtranslator 2.90.0 (2011-03-28):
- Port to gtk+ 3
- Port to libpeas
- Added support for python plugins
- Ported charmap to python
- Remove --window-new command line option
- Port to gsettings
- Merge insert-tags plugin into insert-params plugin
- Port to GtkApplication
- Misc Bugfixes
Translations:
- ca (David Planella)
- cs (Marek Černocký)
- da (Joe Hansen)
- de (Christian Kirbach)
- el (Marios Zindilis)
- es (Daniel Mustieles)
- es (Jorge González)
- et (Guido Tabbernuk)
- eu (Iñaki Larrañaga Murgoitio)
- fr (Bruno Brouard)
- gl (Fran Diéguez)
- he (Yaron Shahrabani)
- id (Andika Triwidada)
- ku (Erdal Ronahi)
- lt (Žygimantas Beručka)
- nn (Yngve Spjeld Landro)
- pt (António Lima)
- pt_BR (Gabriel Feitosa Vilar)
- sl (Andrej Žnidaršič)
- sr@latin (Miroslav Nikolić)
- sr (Мирослав Николић)
- sv (Daniel Nylander)
- zh_CN (Yinghua Wang)
NEWS from gtranslator 1.9.13 (2010-11-01):
-----------------------------------------------------
- Enable use of local mirrors of open-tran.eu (Yaron Sheffer)
- Adapt the OpenTran plugin to the new open-tran.eu API (Yaron Sheffer)
- Misc Bugfixes
Translations:
- ca@valencia (David Planella)
- cs (Marek Černocký)
- de (Christian Kirbach )
- es (Jorge González)
- gl (Fran Diéguez)
- sl (Andrej Žnidaršič)
- sl (Matej Urbančič)
NEWS from gtranslator 1.9.12 (2010-10-07):
-----------------------------------------------------
- Port it to GSettings (Ignacio Casal Quinteiro)
- Make it work with GSEAL enabled (Jonh Wendell)
- Misc Bugfixes
Translations:
- cs (Marek Černocký)
- de (Christian Kirbach)
- el (Fotis Tsamis)
- es (Jorge González)
- fr (Bruno Brouard)
- fr (Laurent Coudeur)
- gl (Fran Diéguez)
- he (Yaron Shahrabani)
- id (Andika Triwidada)
- it (Milo Casagrande)
- ja (IWAI, Masaharu)
- lt (Žygimantas Beručka)
- nds (Nils-Christoph Fiedler)
- nn (Yngve Spjeld Landro)
- pt (António Lima)
- pt_BR (Jonh Wendell)
- sl (Andrej Žnidaršič)
- sr@latin (Miloš Popović)
- sr (Милош Поповић)
- tr (Atilla ÖNTAŞ)
- zh_CN (YunQiang Su)
NEWS from gtranslator 1.9.11 (2010-05-11):
-----------------------------------------------------
- Add the option to remove entries from the memory translation (Andrey Kutejko)
- New memory translation backend using libgda (Andrey Kutejko)
- Misc Bugfixes
Translations:
- cs (Marek Černocký)
- de (Christian Kirbach )
- es (Jorge González)
- gl (Fran Diéguez)
- id (Andika Triwidada)
- it (Milo Casagrande)
- zh_HK (Cheng-Chia Tseng)
- zh_TW (Cheng-Chia Tseng)
NEWS from gtranslator R 1.9.10 (2010-04-19):
-----------------------------------------------------
- Factored out the tab label (Ignacio Casal Quinteiro)
- Make the translation memory always visible (Ignacio Casal Quinteiro)
- Misc Bugfixes
Translations:
- cs (Marek Černocký)
- de (Mario Blättermann)
- es (Jorge González)
- eu (Iñaki Larrañaga Murgoitio)
- fr (Laurent Coudeur)
- gl (Ignacio Casal Quinteiro)
- id (Andika Triwidada)
- it (Milo Casagrande)
- ja (Takayuki KUSANO)
- lt (Aurimas Černius)
- pt_BR (Vladimir Melo)
- ru (Александр Прокудин)
- sl (Andrej Žnidaršič)
- uk (Sergiy Gavrylov)
- zh_CN (YunQiang Su)
- zh_HK (Cheng-Chia Tseng)
- zh_TW (Cheng-Chia Tseng)
NEWS from gtranslator R 1.9.9 (2010-02-21):
-----------------------------------------------------
- Addid Profile quick selector (Ignacio Casal Quinteiro)
- Rewriting profile manager to use GtrProfileManager (Ignacio Casal Quinterio)
- Converted GtrApplication into an UniqueAPP using libunique (Ignacio Casal Quinteiro)
- Misc Bugfixes
Translations:
* cs (Marek Černocký), es (Jorge González), gl (Fran Diéguez),
nb (Kjartan Maraas), sl (Andrej Žnidaršič).
NEWS from gtranslator R 1.9.8 (2010-02-10):
-----------------------------------------------------
- Refactor methods and file names from gtranslator to gtr (Ignacio Casal)
- Modernize autotools configuration (Javier Jardon)
- Added new tango icons and logo by Ulisse Perusin
- Removed Subversion plugin
- Misc Bugfixes
Translations:
* cs (Marek Černocký), de (Mario Blättermann), es (Jorge González),
it (Milo Casagrande).
NEWS from gtranslator R 1.9.7 (2010-01-31):
-----------------------------------------------------
- Show percentage of translated messages
- Fixed several compiler warnings (Jonh Wendell)
- Update toolbar editor (Ignacio Casal)
- Make header inherit from GtranslatorMsg (Ignacio Casal)
- Ported gtranslator from MessageArea to GtkInfoBar (Ignacio Casal)
- Misc Bugfixes
Translations:
* cs (Marek Černocký), da (Joe Hansen), de (Christian Kirbach), en_GB (Philip Withnall), es (Jorge González),
eu (Iñaki Larrañaga Murgoitio), fr (Bruno Brouard), id (Andika Triwidada), it (Milo Casagrande), nb (Kjartan Maraas),
pt_BR (Jonh Wendell), pt (António Lima), ru (Alexandre Prokoudine), sl (Andrej Žnidaršič), sr (Милош Поповић),
sr@latin (Miloš Popović), sv (Daniel Nylander), zh_CN (luojie).
NEWS from gtranslator R 1.9.6 (2009-08-24):
-----------------------------------------------------
- Adapted gtranslator in order to work on Windows (by Francisco Puga)
Bugs Fixed:
* #579775 - Fixed format string attack (Atilla Öntas)
* #582430 - Added some header files (Ray Wang Vicent Untz)
* #555672 - Fixed CRITICAL: editor_create_item_from_name (Ignacio Casal)
* #557096 - Fixed GtkSpinButton problem changing to GtkBuilder
* #569061 - Displaying an error message before saving a read only file (Francisco Puga)
* #569062 - Use a "standard" tabs menu instead of Go->Next/Prev File (Ignacio Casal)
* #569068 - Made more clear the message in the status bar (Ignacio Casal)
* #571497 - Fixed crash on first-time startup with po-file as argument (Christian Kirbach)
* #575128 - Removed deprecated GTK+ symbols (Thanks to Thomas Andersen)
* #579775 - Fixed Format string attack danger (Atilla Ontas)
* #582430 - Some of the header files weren't included in the source code (Ray Wang and Vicent Untz)
* #583961 - Fixed to build with gdl 2.27.2 (Ignacio Casal)
* #584692 - Show the next message of the one you are editing (Ignacio Casal)
* #591594 - Fixed problem that made Edit header only made effect when you close gtranslator (Francisco Puga)
* #592210 - Removed duplicated define in configure.ac (Jonh Wendell)
* #592214 - Fixed some gcc warnings (Jonh Wendell)
* #592215 - Wrong arguments to gtranslator_statusbar_flash_message() (Jonh Wendell)
* #592226 - Fixed Error widget built wrongly (Jonh Wendell)
* #592227 - Source code did not working due to a wrong widget name (Jonh Wendell)
* #569054 - Fixed emty line insertion before translator email in header (Francisco Puga)
Translations:
* zh_CN (M Zhang, Ming Yang), es (Jorge González), de (Mario Blättermann), el (Marios Zindilis), fr (Bruno Brouard, Claude Paroz),
se (Daniel Nylander), gl (Francisco Diéguez), ru (Alexandre Prokoudine), ca (David Planella), uk (Maxim V. Dziumanenko), pt (António Lima),
zh_CN (Aron Xu Zhang Miao), el (Marios Zindilis, Thanos Lefteris), ar (Khaled Hosny).
NEWS from gtranslator R 1.9.5 (2009-04-10):
-----------------------------------------------------
Bugs Fixed:
* #569174 - Mark file to be saved when create or edit comment
* #150834 - Migrated from gnome-mime-data to freedesktop.org
specs for MIME handling (Luca Ferretti)
* #569052 - Removed scrollkeeper check (Luca Ferretti)
* #569073 - Reorganized go menu according to HIG (Luca Ferretti)
* #565809 - Added the ability to show some ".h" files (Jonh Wendell)
* #570371 - Show the source filename in the viewer (Jonh Wendell)
* #571497 - Fixed crash on first-time startup with po-file (Christian Kirbach)
* #569174 - Mark file as to be saved when a comment is created or edited
* #575605 - Fixed minor string issues (Bruce Cowan)
* #514816 - Ported to gtbuilder (Ignacio Casal Quinteiro)
Translations:
* ja ( Takeshi AIHANA), es (Jorge Gonzalez), sv (Daniel Nylander)
de (Ulf-D. Ehlert), pt (António Lima), en_GB (Bruce Cowan).
NEWS from gtranslator R 1.9.4 (2009-01-24):
-----------------------------------------------------
- Source code coverted to GObject.
- New main window built with GnomeUIManager.
- New dialogs built with glade/libglade.
- Open several files in tabs.
- New messages table.
- New messages area with support for plurals forms.
- New panel with information about message's context.
- New plugin system based on gedit.
- Added support for different translators profiles.
- New translation memories system.
- New assistant in order to configure the profiles and
translation memories database.
- Add new API documentation wit GTK-Doc.
- Update user documentation.
- New plugins:
* Fullscreen.
* Character map.
* Dictionary.
* Insert tags.
* Open Tran.
* Source code view.
* Subversion.
* Alternate-language.
* Insert-params.
Translations:
* gl (Ignacio Casal Quinteiro), pt_BR (Leonardo Ferreira Fontenelle),
ga (Seán de Búrca), oc (Yanning Marchegay), es (Jorge González),
he (Yair Hershkovitz), de (Christian Kirbach), sv (Daniel Nylander),
fi (Ilkka Tuohela), nb (Kjartan Maraas), ar (Djihed Afifi),
th (Theppitak Karoonboonyanan).
Upstream changes:
0.24 2013-09-07
- added missing lib include (Karen Etheridge)
0.23 2013-09-04
- stop using old and deprecated (or soon to be deprecated) functions from
Class::MOP
Upstream changes:
2.1202 2014-01-19
[BUG FIXES]
- string comparisons are now possible with Moose exceptions (#92232)
2.1201 2014-01-11
[OTHER]
- re-release to index pod files (Moose::Cookbook::*, Moose::Manual::* etc).
Pymetar is a python module and command line tool designed to fetch Metar
reports from the NOAA (http://www.noaa.gov) and allow access to the included
weather information.
Changes from 2.2.1 to 2.2.2
===========================
* The `copy_args` argument of `NumExpr` function has been brought
back. This has been mainly necessary for compatibility with
PyTables < 3.0, which I decided to continue to support. Fixed#115.
* The `__nonzero__` method in `ExpressionNode` class has been
commented out. This is also for compatibility with PyTables < 3.0.
See #24 for details.
* Fixed the type of some parameters in the C extension so that s390
architecture compiles. Fixes#116. Thank to Antonio Valentino for
reporting and the patch.
Changes from 2.2 to 2.2.1
=========================
* Fixes a secondary effect of "from numpy.testing import `*`", where
division is imported now too, so only then necessary functions from
there are imported now. Thanks to Christoph Gohlke for the patch.
Changes from 2.1 to 2.2
=======================
* [LICENSE] Fixed a problem with the license of the
numexpr/win32/pthread.{c,h} files emulating pthreads on Windows
platforms. After persmission from the original authors is granted,
these files adopt the MIT license and can be redistributed without
problems. See issue #109 for details
(https://code.google.com/p/numexpr/issues/detail?id=110).
* [ENH] Improved the algorithm to decide the initial number of threads
to be used. This was necessary because by default, numexpr was
using a number of threads equal to the detected number of cores, and
this can be just too much for moder systems where this number can be
too high (and counterporductive for performance in many cases).
Now, the 'NUMEXPR_NUM_THREADS' environment variable is honored, and
in case this is not present, a maximum number of *8* threads are
setup initially. The new algorithm is fully described in the Users
Guide now in the note of 'General routines' section:
https://code.google.com/p/numexpr/wiki/UsersGuide#General_routines.
Closes#110.
* [ENH] numexpr.test() returns `TestResult` instead of None now.
Closes#111.
* [FIX] Modulus with zero with integers no longer crashes the
interpreter. It nows puts a zero in the result. Fixes#107.
* [API CLEAN] Removed `copy_args` argument of `evaluate`. This should
only be used by old versions of PyTables (< 3.0).
* [DOC] Documented the `optimization` and `truediv` flags of
`evaluate` in Users Guide
(https://code.google.com/p/numexpr/wiki/UsersGuide).
Changes from 2.0.1 to 2.1
===========================
* Dropped compatibility with Python < 2.6.
* Improve compatibiity with Python 3:
- switch from PyString to PyBytes API (requires Python >= 2.6).
- fixed incompatibilities regarding the int/long API
- use the Py_TYPE macro
- use the PyVarObject_HEAD_INIT macro instead of PyObject_HEAD_INIT
* Fixed several issues with different platforms not supporting
multithreading or subprocess properly (see tickets #75 and #77).
* Now, when trying to use pure Python boolean operators, 'and',
'or' and 'not', an error is issued suggesting that '&', '|' and
'~' should be used instead (fixes#24).
Changes from 2.0 to 2.0.1
=========================
* Added compatibility with Python 2.5 (2.4 is definitely not supported
anymore).
* `numexpr.evaluate` is fully documented now, in particular the new
`out`, `order` and `casting` parameters.
* Reduction operations are fully documented now.
* Negative axis in reductions are not supported (they have never been
actually), and a `ValueError` will be raised if they are used.
Changes from 1.x series to 2.0
==============================
- Added support for the new iterator object in NumPy 1.6 and later.
This allows for better performance with operations that implies
broadcast operations, fortran-ordered or non-native byte orderings.
Performance for other scenarios is preserved (except for very small
arrays).
- Division in numexpr is consistent now with Python/NumPy. Fixes#22
and #58.
- Constants like "2." or "2.0" must be evaluated as float, not
integer. Fixes#59.
- `evaluate()` function has received a new parameter `out` for storing
the result in already allocated arrays. This is very useful when
dealing with large arrays, and a allocating new space for keeping
the result is not acceptable. Closes#56.
- Maximum number of threads raised from 256 to 4096. Machines with a
higher number of cores will still be able to import numexpr, but
limited to 4096 (which is an absurdly high number already).
Changelog:
libgda 5.2.2, 2013-12-23
- Avoid using setlocale() in libraries
- Bugs corrected: GraphViz detection, #720594
- Translations:
- it (Marco Ciampa, Milo Casagrande)
libgda 5.2.1, 2013-11-17
- Fixed a Unix compilation issue, bug #712143
- Improved configure script output
- Translations:
- de (Benjamin Steinwender)
libgda 5.2.0, 2013-11-11
- Vala bindings improvements, thanks to Daniel Espinosa
- Improvements to most database providers (MySQL, PostgreSQL, SQLite, SqlCipher, JDBC, ...)
- Use SqlCipher 3.0.0 and Sqlite 3.8.0.2
- Switched to GTK+3
- Lots of work on the Windows platform
- Many bugs fixed
- Translations updated for many languages, thanks to all the translators!
0.7.4.1
These are the release notes for SymPy 0.7.4.1, which was released
on December 15, 2013.
This version of SymPy has been tested on Python 2.6, 2.7, 3.2, 3.3,
and PyPy.
This was a small bugfix release to fix an import issue on Windows
(https://github.com/sympy/sympy/issues/2681).
0.7.4
These are the release notes for SymPy 0.7.4, which was released on
December 9, 2013.
This version of SymPy has been tested on Python 2.6, 2.7, 3.2, 3.3,
and PyPy.
Major changes
Python 3
SymPy now uses a single code-base for Python 2 and Python 3.
Geometric Algebra
The internal representation of a multivector has been changes to
more fully use the inherent capabilities of SymPy. A multivector
is now represented by a linear combination of real commutative
SymPy expressions and a collection of non-commutative SymPy symbols.
Each non-commutative symbol represents a base in the geometric
algebra of an N-dimensional vector space. The total number of
non-commutative bases is 2**N - 1 (N of which are a basis for the
vector space) which when including scalars give a dimension for
the geometric algebra of 2**N. The different products of geometric
algebra are implemented as functions that take pairs of bases
symbols and return a multivector for each pair of bases.
The LaTeX printing module for multivectors has been rewritten to
simply extend the existing sympy LaTeX printing module and the
sympy LaTeX module is now used to print the bases coefficients in
the multivector representation instead of writing an entire LaTeX
printing module from scratch.
The main change in the geometric algebra module from the viewpoint
of the user is the inteface for the gradient operator and the
implementation of vector manifolds:
The gradient operator is now implemented as a special vector (the
user can name it grad if they wish) so the if F is a multivector
field all the operations of grad on F can be written grad*F, F*grad,
grad^F, F^grad, grad|F, F|grad, grad<F, F<grad, grad>F, and F>grad
where **, ^, |, <, and > are the geometric product, outer product,
inner product, left contraction, and right contraction, respectively.
The vector manifold is defined as a parametric vector field in an
embedding vector space. For example a surface in a 3-dimensional
space would be a vector field as a function of two parameters. Then
multivector fields can be defined on the manifold. The operations
available to be performed on these fields are directional derivative,
gradient, and projection. The weak point of the current manifold
representation is that all fields on the manifold are represented
in terms of the bases of the embedding vector space.
Classical Cryptography
Implements:
Affine ciphers
Vigenere ciphers
Bifid ciphers
Hill ciphers
RSA and "kid RSA"
linear feedback shift registers.
Common Subexpression Elimination (CSE)
Major changes have been done in cse internals resulting in a big
speedup for larger expressions. Some changes reflect on the user
side:
Adds and Muls are now recursively matched ([w*x, w*x*y, w*x*y*z]
ǹow turns into [(x0, w*x), (x1, x0*y)], [x0, x1, x1*z])
CSE is now not performed on the non-commutative parts of
multiplications (it avoids some bugs).
Pre and post optimizations are not performed by default anymore.
The optimizations parameter still exists and optimizations='basic'
can be used to apply previous default optimizations. These
optimizations could really slow down cse on larger expressions
and are no guarantee of better results.
An order parameter has been introduced to control whether Adds
and Muls terms are ordered independently of hashing implementation.
The default order='canonical' will independently order the
terms. order='none' will not do any ordering (hashes order is
used) and will represent a major performance improvement for
really huge expressions.
In general, the output of cse will be slightly different from
the previous implementation.
Diophantine Equation Module
This is a new addition to SymPy as a result of a GSoC project. With
the current release, following five types of equations are supported.
Linear Diophantine equation, a_{1}x_{1} + a_{2}x_{2} + . . .
+ a_{n}x_{n} = b
General binary quadratic equation, ax^2 + bxy + cy^2 + dx + ey
+ f = 0
Homogeneous ternary quadratic equation, ax^2 + by^2 + cz^2 +
dxy + eyz + fzx = 0
Extended Pythagorean equation, a_{1}x_{1}^2 + a_{2}x_{2}^2 +
. . . + a_{n}x_{n}^2 = a_{n+1}x_{n+1}^2
General sum of squares, x_{1}^2 + x_{2}^2 + . . . + x_{n}^2 =
k
Unification of Sum, Product, and Integral classes
A new superclass has been introduced to unify the treatments of
indexed expressions, such as Sum, Product, and Integral. This
enforced common behavior accross the objects, and provides more
robust support for a number of operations. For example, Sums and
Integrals can now be factored or expanded. S.subs() can be used to
substitute for expressions inside a Sum/Integral/Product that are
independent of the index variables, including unknown functions,
for instance, Integral(f(x), (x, 1, 3)).subs(f(x), x**2), while
Sum.change_index() or Integral.transform are now used for other
changes of summation or integration variables. Support for finite
and infinite sequence products has also been restored.
In addition there were a number of fixes to the evaluation of nested
sums and sums involving Kronecker delta functions, see issue 3924
and issue 3987.
Series
The Order object used to represent the growth of a function in
series expansions as a variable tend to zero can now also
represent growth as a variable tend to infinity. This also
fixed a number of issues with limits. See issue 234 and issue
2670.
Division by Order is disallowed, see issue 1756.
Addition of Order object is now commutative, see issue 1180.
Physics
Initial work on gamma matrices, depending on the tensor module.
Logic
New objects true and false which are Basic versions of the
Python builtins True and False.
Other
Arbitrary comparisons between expressions (like x < y) no longer
have a boolean truth value. This means code like if x < y or
sorted(exprs) will raise TypeError if x < y is symbolic. A
typical fix of the former is if (x < y) is True (assuming the
if block should be skipped if x < y is symbolic), and of the
latter is sorted(exprs, key=default_sort_key), which will order
the expressions in an arbitrary, but consistent way, even across
platforms and Python versions. See issue 2832.
Arbitrary comparisons between complex numbers (for example, I
> 1) now raise TypeError as well (see PR #2510).
minpoly now works with algebraic functions, like minpoly(sqrt(x)
+ sqrt(x + 1), y).
exp can now act on any matrix, even those which are not
diagonalizable. It is also more comfortable to call it, exp(m)
instead of just m.exp(), as was required previously.
sympify now has an option evaluate=False that will not
automatically simplify expressions like x+x.
Deep processing of cancel and simplify functions. simplify is
now recursive through the expression tree. See e.g. issue 3923.
Improved the modularity of the codebase for potential subclasses,
see issue 3652.
The SymPy cheatsheet was cleaned up.
Backwards compatibility breaks and deprecations
Removed deprecated Real class and is_Real property of Basic,
see issue 1721.
Removed deprecated 'each_char' option for symbols(), see issue
1919.
The viewer="StringIO" option to preview() has been deprecated.
Use viewer="BytesIO" instead. See issue 3984.
TransformationSet has been renamed to ImageSet. Added public
facing imageset function.
0.7.3
These are the release notes for SymPy 0.7.3, which was released on
July 13, 2013. It can be downloaded from
https://github.com/sympy/sympy/releases/tag/sympy-0.7.3.
This version of SymPy has been tested on Python 2.5, 2.6, 2.7, 3.2,
3.3, and PyPy.
Major changes
Integration
This release includes Risch integration algorithm from Aaron Meurer's
2010 Google Summer of Code project. This makes integrate much more
powerful and much faster for the supported functions. The algorithm
is called automatically from integrate(). For now, only transcendental
elementary functions containing exp or log are supported. To access
the algorithm directly, use integrate(expr, x, risch=True). The
algorithm has the ability to prove that integrals are nonelementary.
To determine if a function is nonelementary, integrate using
risch=True. If the resulting Integral class is an instance of
NonElementaryIntegral, then it is not elementary (otherwise, that
part of the algorithm has just not been implemented yet).
Here is an example integral that could not be computed before:
>>> f = x*(x + 1)*(2*x*(x - (2*x**3 + 2*x**2 + x + 1)*log(x +
1))*exp(3*x**2) + (x**2*exp(2*x**2) - log(x + 1)**2)**2)/((x +
1)*log(x + 1)**2 - (x**3 + x**2)*exp(2*x**2))**2
>>> integrate(f, x)
x + x*exp(x**2)*log(x + 1)/(x**2*exp(2*x**2) - log(x + 1)**2) -
log(x + 1) - log(exp(x**2) - log(x + 1)/x)/2 + log(exp(x**2) +
log(x + 1)/x)/2
ODE
Built basic infrastructure of the PDE module (PR #1970)
Theano Interaction
SymPy expressions can now be translated into Theano expressions
for numeric evaluation. This includes most standard scalar operations
(e.g. sin, exp, gamma, but not beta or MeijerG) and matrices. This
system generally outperforms lambdify and autowrap but does require
Theano to be installed.
Matrix Expressions
Assumptions
Matrix expressions now support inference using the new assumptions
system. New predicates include invertible, symmetric, positive_definite,
orthogonal, ....
New Operators
New operators include Adjoint, HadamardProduct, Determinant,
MatrixSlice, DFT. Also, preliminary support exists for factorizations
like SVD and LU.
Context manager for New Assumptions
Added the with assuming(*facts) context manager for new assumptions.
See blogpost
Backwards compatibility breaks and deprecations
This is the last version of SymPy to support Python 2.5.
The IPython extension, i.e., %load_ext
sympy.interactive.ipythonprinting is deprecated. Use from sympy
import init_printing; init_printing() instead. See issue 3914.
The viewer='file' option to preview without a file name is
deprecated. Use filename='name' in addition to viewer='file'.
See issue 3919.
The deprecated syntax Symbol('x', dummy=True), which had been
deprecated since 0.7.0, has been removed. Use Dummy('x') or
symbols('x', cls=Dummy) instead. See issue 3378.
The deprecated Expr methods as_coeff_terms and as_coeff_factors,
which have been deprecated in favor of as_coeff_mul and
as_coeff_add, respectively (see also as_coeff_Mul and as_coeff_Add),
were removed. The methods had been deprecated since SymPy 0.7.0.
See issue 3377.
The spherical harmonics have been completely rewritten. See PR
#1510.
Minor changes
Solvers
Added enhancements and improved the methods of solving exact
differential equation ((PR #1955)) and ((PR #1823))
Support for differential equations with linear coefficients
and those that can be reduced to separable and linear form ((PR
#1940), (PR #1864), (PR #1883))
Support for first order linear general PDE's with constant
coefficients ((PR #2109))
Return all found independent solutions for underdetermined
systems.
Handle recursive problems for which y(0) = 0.
Handle matrix equations.
Integration
integrate will split out integrals into Piecewise expressions
when conditions must hold for the answer to be true. For example,
integrate(x**n, x) now gives Piecewise((log(x), Eq(n, -1),
(x**(n + 1)/(n + 1), True)) (previously it just gave x**(n +
1)/(n + 1))
Calculate Gauss-Legendre and Gauss-Laguerre points and weights
(PR #1497)
Various new error and inverse error functions (PR #1703)
Use in heurisch for more symmetric and nicer results
Gruntz for expintegrals and all new erf*
Li, li logarithmic integrals (PR #1708)
Integration of li/Li by heurisch (PR #1712)
elliptic integrals, complete and incomplete
Integration of complete elliptic integrals by meijerg
Integration of Piecewise with symbolic conditions.
Fixed many wrong results of DiracDelta integrals.
Logic
Addition of SOPform and POSform functions to sympy.logic to
generate boolean expressions from truth tables.
Addition of simplify_logic function and enabling simplify() to
reduce logic expressions to their simplest forms.
Addition of bool_equals function to check equality of boolean
expressions and return a mapping of variables from one expr to
other that leads to the equality.
Addition of disjunctive normal form methods - to_dnf, is_dnf
Others
gmpy version 2 is now supported
Added is_algebraic_expr() method (PR #2176)
Many improvements to the handling of noncommutative symbols:
Better support in simplification functions, e.g. factor,
trigsimp
Better integration with Order()
Better pattern matching
Improved pattern matching including matching the identity.
normalizes Jacobi polynomials
Quadrature rules for orthogonal polynomials in arbitrary
precision (hermite, laguerre, legendre, gen_legendre, jacobi)
summation of harmonic numbers
Many improvements of the polygamma functions
evaluation at special arguments
Connections to harmonic numbers
structured full partial fraction decomposition (mainly interesting
for developers)
besselsimp improvements
Karr summation convention
New spherical harmonics
improved minimal_polynomial using composition of algebraic
numbers (PR #2038)
faster integer polynomial factorization (PR #2148)
Euler-Descartes method for quartic equations (PR #1947)
algebraic operations on tensors (PR #1700)
tensor canonicalization (PR #1644)
Handle the simplification of summations and products over a
KroneckerDelta.
Implemented LaTeX printing of DiracDelta, Heaviside, KroneckerDelta
and LeviCivita, also many Matrix expressions.
Improved LaTeX printing of fractions, Mul in general.
IPython integration and printing issues have been ironed out.
Stats now supports discrete distributions (e.g. Poisson) by
relying on Summation objects
Added DOT printing for visualization of expression trees
Added information about solvability and nilpotency of named
groups.