Changelog for pyspread
======================

Note: This changelog does not comprise development of pyspread for Python2
      It starts with the first Alpha release 1.99.0.0

      
2.2.3
---

This is a bugfix release.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0), py-moneyed (>=2.0), rpy2 (>=3.4), plotnine (>=0.8), libvoikko (>=4.0), libvoikko (>=4.3), nuspell (>=5.1), hspell (>= 1.4), ggplot2 (>=3.4)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * Fix for Qt versions below 5.13 that do not provide lossless image rendering
 * csv import without quotations fixed
 * Periodic updates now again only updates frozen cells
 

2.2.2
---

This is a bugfix release.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0), py-moneyed (>=2.0), rpy2 (>=3.4), plotnine (>=0.8), libvoikko (>=4.0), libvoikko (>=4.3), nuspell (>=5.1), hspell (>= 1.4), ggplot2 (>=3.4)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * pip install fixed by replacing deprecated setup.py option `requires` with `install_requires`
 * Shebang removed from desktop file
      
2.2.1
---

This is a bugfix release.
Note that missing libvoikko, nuspell and hspell may lead to warning messages if pyenchant is installed. However,  pyspread is still functional as this affects only spellchecking.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0), py-moneyed (>=2.0), rpy2 (>=3.4), plotnine (>=0.8), libvoikko (>=4.0), libvoikko (>=4.3), nuspell (>=5.1), hspell (>= 1.4), ggplot2 (>=3.4)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * Chart dialog now correctly starts if rpy2 is not installed and if optional R modules are missing.
 * Deleting large selections is now significantly faster.
 * Pasting into large selections is now significantly faster.
 * QPen cache now is limited in size.

2.2
---

This release adds R charts via rpy2. Examples are available in the chart dialog.
Note that the R packages graphics, lattice and ggplot2 are used for the examples.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0), py-moneyed (>=2.0), rpy2 (>=3.4), plotnine (>=0.8)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * Thick lines are now antialiased
 
2.1.1
-----

This is a bugfix release

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0), py-moneyed (>=2.0)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * Toolbar buttons now are correctly updated when a new cell is selected.
 * Application icon is now shown in Wayland.
 * The tarball now includes a metainfo file share/applications/io.gitlab.pyspread.pyspread.desktop (see Debian packaging guidelines)
 * .desktop file fixed
 * Menu buttons are now updated correctly when selecting a cell.
 * Border menu toggle actions are now updated correctly.
 * requirements.txt now includes optional dependency py-moneyed
 * Entry line and macro editor now use a monospace font family

2.1
---

This release adds several new features:
 * SVG exports
 * Sorting of cells added
 * Money support added using a new optional dependency `py-moneyed`
 * Money support in CSV import dialog
 * Matplotlib cells now use tight layout
 * Quick summation button for selected cells. The result appears in the cell
   below the bottom right cell of the selection
 * Selection mode user handling improved

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0), py-moneyed (>=2.0)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * Cell edge rendering fixed
 * Fix for copying outside of grid
 * X,Y,Z set to None for macro execution
 * Replace all is now faster
 * `pyspread/share/metainfo/io.gitlab.pyspread.pyspread.metainfo.xml` fixed
 * Entry line and cells now handle <Escape> properly
 * When opening a pys or pysu file, pyspread now changes into the file's
   directory

2.0.2
-----

This is a bugfix release for pyspread 2.0 for Python 3.10 compatibility.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * Various type issues with Python 3.10 fixed

2.0.1
-----

This is a bugfix release for pyspread 2.0.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * Font tests removed because of frequent issues with Debian's font aliasing system
 * Outdated information regarding SVG export removed from documentation

2.0
---

This is the first stable release of pyspread that runs under Python 3 (>=3.6).

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Apart from version changes and release file updates, it is feature-wise
identical with version 1.99.8.


1.99.8
------

This is the third release candidate for pyspread 2.0.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

Bug fixes:
 * Keyboard shortcuts now work if the respective panel is hidden
 * Undo stack is now cleared on File-New and File-Open
 * Deleting rows and columns with merged cells now works as expected
 * Copy results now copies str instead of repr of result to the clipboard
 * Font aliases have been fixed in a unit test that failed on Debian CI.
 * Two tests for image handling that are failing on big endian systems removed
 * README updated
 * Typos in docstrings fixed


1.99.7
------

This is the second release candidate for pyspread 2.0.

For starting up pyspread, the scripts have been replaced by entry_points.
Speed of several operations has been improved.
Several bugs have been fixed.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

New functionality:
 * Speed improvement when working with large cell content such as images.
 * Use entry_points instead of custom script for startup
 * GenericName has been added to desktop entry
 * Undo descriptions are limited to mention 10 cells for performance
 * Speedup for changes on many selected cells
 * Speedup omitting Statusbar updates on disable toggle
 * Cell information in statusbar fixed
 * Line color button is now updated (to bottom color) when selecting a cell
 * Scroll positions are now restored when switching tables
 * The default color now appears as the last custom color in the color choice dialog
 * The entry line now is updated less often for better performance


1.99.6
------

This is the first release candidate for pyspread 2.0.

Unit tests coverage has been improved.
Documentation has been improved.
Several bugs have been fixed.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0), markdown2 (>= 2.3)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18), python-dateutil (>= 2.7.0)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

New functionality:
 * CSV import speedup
 * Replace all now works faster
 * Macro execution no longer empties frozen cell cache
 * Traceback hook prevents pyspread from crashing under various circumstances

1.99.5
------

This is the fifth Beta release for pyspread 2.0.
A feature freeze is introduced from this release until version 2.0.

This version adds multiple grid views, a detachable entry line and statusbar information on selected cells.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

New functionality:
 * Line numbers in entery line can now be toggled
 * Entry line made a QDockWidget
 * Various deployment fixes
 * Copy / paste format added to context menu
 * Multiple selected cells may now be frozen on one click
 * Multiple grid views added (drag from lower or right grid border)
 * Selected rows / columns, sum, min, max now displayed on selection in the statusbar

1.99.4
------

This is the fourth Beta release for pyspread 2.0.

This version adds a selection mode for creating cell references with the mouse.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1), PyQt5 (≥ 5.10, requires PyQt5.Svg), setuptools (>=40.0)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

New functionality:
 * Absolute and relative cell access via mouse with insert / insert+Meta modifier added

1.99.4
------

This is the fourth Beta release for pyspread 2.0.

This version adds a selection mode for creating cell references with the mouse.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1) PyQt5 (≥ 5.10, requires PyQt5.Svg)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

1.99.3
------

This is the third Beta release for pyspread 2.0.

This version concentrates on usability improvements.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1) PyQt5 (≥ 5.10, requires PyQt5.Svg)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

New functionality:
 * Cell edges now are rendered properly
 * Rendering fixes for images and charts
 * Line numbers added to macro and chart editors
 * Chart dialog is not modal any more
 * Fixes in csv reader post processing
 * Printing multiple tables at once added
 * Tutorial fixes
 * Opening invalid files made more robust
 * Improvements for UI in dark themes
 * SVG export restricted to single cells due to clipping issue in QtSvg
 * Default text color changed to black
 * Cell wrapping improved. No ellipses are painted any more
 * Last file output path not stored persistently any more
 * Rendering vertical alignment fixed
 * Canceling file save on quit now prevents quitting
 * Some fixes for old pys files
 * pyspread can now be started from jupyter console
 * Newly inserted rows and columns now get sizes of current ones
 * nn function fixed
 * Insertion operations that destroy data now show a warning message dialog
 * View position in tables are now remembered when switching (non-persistantly)


1.99.2
------

This is the second Beta release for pyspread 2.0.

This version can be started both as a script and a module.

Dependencies:
 * Mandatory: Python (≥ 3.6), numpy (>=1.1) PyQt5 (≥ 5.10, requires PyQt5.Svg)
 * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18)
 * For building the apidocs with Sphinx see apidocs/requirements.txt

New functionality:
 * Minimum row and column size removed so that zoom now works better
 * Grid background now is always white regardless of color scheme
 * QSettings fixed for MacOS
 * New cli parameter --reset-settings added for ignoring stored settings
 * CSV import dialog now allows reading in a header line
 * CSV import with invalid file no longer crashes pyspread
 * CSV import digest types are now remembered when importing a second time
 * CSV import of large files now prompts the user if the grid shall be enlarged
 * grid row column and table setter made more robust
 * Dependency warnings introduced
 * Python 3.8 warnings fixed
 * matplotlib deprecation warning fixed
 * Docstrings now include type hints
 * Sphinx API docs now use type hints from docstrings
 * README updated
 * Further unit tests added

Known issues:
 * While the main issue on the Mac has been solved, there is a report on
   Mac Catalina, which reports that the menu may freeze unless another
   applictaion has been switched to.


1.99.1
------

This is the first Beta release for pyspread 2.0.

While the latest stable version pyspread 1.1.3 runs on Python 2.7.x,
the new Beta release pyspread 1.99.1 runs on Python 3.6 or later.
The Beta release's GUI is using PyQt5 instead of wxPython.

Dependencies:
 * Dependency PyQt5.QtWebKit removed
 * Dependencies now are:
   * Mandatory: Python (≥ 3.6), PyQt5 (≥ 5.10, must include PyQt5.Svg)
   * Recommended: matplotlib (>=1.1.1), pyenchant (>=1.1), pip (>=18)
   * For building the apidocs with Sphinx see apidocs/requirements.txt

Known issues:
 * Toolbars are not shown on some Mac installations
 * The chart dialog is modal so that one cannot scroll the grid while editing

New functionality (compared to the Alpha release 1.99.0.2):
 * pyspread now runs on Pyspread 3.6.x
 * cli now checks dependencies and prints message if there is a dependeny issue
 * Help system changed from html to markdown
 * Images and charts are now rendered in higher resolution
 * Example files included
 * Print preview now supports zooming with <Ctrl> + <mouse wheel>
 * Additional LICENSE file in share folder
 * pyspread main code folder renamed to pyspread

Bug fixes:

 * Undo grid resize fixed
 * SVG export fixed
 * Printing resolution improved
 * Windows batch file pyspread.bat fixed
 * requirements.txt added
 * <Ctrl> + <Enter> now quotes content while in entry line
 * Missing optional packages breakage fixed

1.99.0.2
--------

Dependencies:
 * New Dependency PyQt5.QtWebKit.
 * Dependencies now are:
   * Mandatory: Python (≥ 3.7), PyQt5 (≥ 5.10), PyQt5.Svg (≥ 5.10), PyQt5.QtWebEngine (≥ 5.10)
   * Recommended: matplotlib, pyenchant
   * For building the apidocs with Sphinx see apidocs/requirements.txt

New functionality:
 * Macro editor now converts tabs into 4 spaces
 * Speed up of entry line
 * Long code text in entry line now displays busy cursor
 * Markup is now rendered using cell font, alignment and colors
 * Required dependencies are checked during startup
 * Toolbars are now sorted similar to menus
 * Help browser improved

Bug fixes:
 * Button cells now behave as intended and can be opened correctly from pys
 * pyspread now quits correctly
 * Progress dialog now closes more reliably

1.99.0.1
--------

New functionality:
 * Command line interface
 * Basic help system
 * Button cell functionality
 * svg file export
 * csv file export
 * csv file import

Missing features:
 * Better help browser dialog

Known issues:
 * Figures and images are printed in low resolution
 * Operations in large grids take too long

1.99.0.0
--------

Initial Alpha release of pyspread v2.0 for Python 3.7+

Basic functionality is present.
However, the code is neither complete nor thoroughly tested.
DO NOT USE FOR IMPORTANT WORK!

Dependencies:
 * Mandatory: Python3.7+, PyQt5, PyQt5.Svg
 * Optional: matplotlib, pyenchant
 * For building the apidocs with Sphinx see apidics/requirements.txt

Missing features:
 * Import and export of data
 * Help system
 * Button cells
 * Command line interface

Known issues:
 * Figures and images are printed in low resolution
 * The topmost and leftmost lines of grid are not printed
