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

Note: This changelog starts at version 0.2.0

1.1.3
-----
python-gnupg dependency made optional
Fix for OpenBSD vlclib
Cell cache now uses id to ensure uniqueness of cell result (fixes matplotlib 2.2.x issue)

1.1.2
-----
Linux: Font choice combo box fixed

1.1.1
-----

Windows: GUI translations are now correctly found
Windows: Code is now executed when clicking on locked or on button cells
COPYING file moved to top folder
Pyspread color scheme now adapts better to most dark themes
Missing or non-existent GPG key is no longer crashing the GUI
Shift-scroll now scrolls the grid sideways
Undo and redo functionality made robust (now based on David Townshend's functional undo framework)
Table choice panel is now shown and hidden with F3
Macro dialog changed to AUI panel (shown and hidden with F4)
The entry line is now correctly updated
The last savepoint is now identified using the undo framework
Undo and redo buttons are now disabled if no undo / redo is available
Current grid label highlights changed for better visibility on high resolution displays
Mouse wheel scrolling speed increased
xlrd is not anymore a hard requirement (bugfix)
The grid is now prevented from scrolling on focusing a cell editor
Merged cells are now correctly drawn if the top left cell is invisible
Copy and paste format now ignores merged cell information
If a merged area is shifted outside the grid via insert rows etc. this is now correctly handled
Chart dialog switched to AUI panel for better resizeability of sub panels
GPG key choice now only allows choosing private keys without passwords


1.1
---

Default UI language changed from system default to English (en)
UI language can now be chosen from preferences dialog
Video support in cells (requires libvlc)
Default open and save filetypes can now be set in preferences dialog
Spell checking functionality added (requires pyenchant)
The current row and column now is highlighted in the grid labels
In fullscreen mode, arrow keys and space navigate through the tables
Cell cursor is not drawn any longer in fullscreen mode
F6 now fits the grid to the screen size if possible
ODS file open support added (still rudimentary, requires pyodf)
Unmerging cell bug fixed
Changing preferences now refreshes the grid
Font choice box switches to pangocairo to achieve rendering that matches the grid
Fonts are now drawn with their standard weight, style etc. if no weight/style is chosen
The cell editor is now closed and all changes are discarded when the table is switched
If a cell is a button cell or a frozen cell then no tooltip is shown any longer to avoid side effects
Copy and paste of cell formats added
Chart dialog labels shortened in order to avoid display problems with other locales
Alpha blending option added to multiple chart types
XLS import made independent from screen resolution
Clicking on any part of a merged button cell now executes the cell function instead of the upper left part of the cell
The current directory is now changed to the directory of a file that is opened in order to allow relative file access
Trying to save while saving is now prohibited in a more robust way
File save tempfile naming made more robust
Cell attribute access is now faster if many tables are present
New panel for table choice for better usability with poor mouse wheels
Various bug fixes

Non-functional additions:
Framework for font saving added (font loading does not work yet)
Skeleton for new chart dialog added (does not work yet)


1.0.3
-----

GUI translations updated
Unmerging of cells fixed
Font default style fixed for fonts that are originally bold
When a table is switched, the cell editor now is closed and all changes in an open cell editor are forgotten
Merge areas that are shifted beyond a sheet boundary via insert rows / columns are now deleted


1.0.2
-----

Save function bug fixed
Accepts now pys files up to v1.0


1.0.1
-----

Jedi 0.9 API change fixed
French translation added
Translations updated
GPG now only accepts the chosen key as valid
When an unsaveable xlsx file is opened, now a Save As dialog opens
The default file type can now be adjusted in the .pyspreadrc file
Undoing a merge operation now correctly restores data from the merged cells


1.0
---

Full screen mode bug on Windows fixed
Tanslations to Ukrainian and German updated
File handling for reading xls files improved
xlsx files can now be opened (cell content only)


0.4.2
-----

Some changes to improve results on Debian CI test
Full screen mode added
Updates to first steps document
Linux distrubtion logos removed from first steps document


0.4.1
-----

Custom axis ticks added to chart dialog
Grid border drawing fixed
Current cell focus drawing optimized
Error message when aborting Macro --> Save removed
Canceling an export does not any longer yield an error message
Content of cells that are very thin or small is not rendered any more
Fix for Cairo memory error on Windows 
Frozen cells now are shown if activated in View menu
Bitmaps and SVGs now are translated and rotated
<b>b</b> now is displayed correctly.
SVG recognition now reqires xmlns within the first 1000 characters
Markup made available in the Format menu
Rotation angle input dialog replaced with sub menu
First steps help file updated
Tutorial in pyspread distribution updated so that it matches the Web site
Heap size increased
Cells below a merged cell are now emptied
Merging cells now get a larger cell editor
0 width grid lines are not drawn any more
Translation updates
Template macro for adjustung table layout added


0.4
---

Grid renderer switched to Cairo
PDF export of whole pys files added
SVG export of whole pys files added
Bug in new GPG key generation fixed
Entry line width fixed
Initial Window position is not restored any more due to cross-platform issues
Rotation can now only be done 90° wise instead of 1° wise
Help page can now be zoomed in and out
External help pages are now opened in an external browser
Breakage in wxPython2.8 due to missing system color fixed
Minimum screen size reduced
nn function that removes None from lists now also supports lists, tuples, etc.
matplotlib and rsvg now are optional dependencies
SVG code is now automatically detected and rendered in cells
Pango markup support added
Images now retain their aspect ratios in cells
Dialog on GPG key creation now looks better when running on wxPython 3.x
Print framework now is Cairo based
Button cell functionality added for code execution on click
Text that is pasted into table choice int ctrl is now ignored
po and pot files are now included in the distribution tarball
Pango markup warnings are now caught and displayed inside the cell
Unit tests are now adapted to new unicode code quotation
Button functionality included into weather example
Matplotlib charts are now drawn via Cairo
Table switching with the mouse wheel is now more robust
Unit tests now work without a config file present
GPG keys are not any more automatically generated on first start
New GPG key generation option in the menu
Known issue: Files with special characters in filename are never verified as trusted.


0.3.3
-----
Two issues for choosing GPG keys with wxPython 3.x fixed

0.3.2
-----

Saving files that exist now succeeds in Windows
Result text is now wrapped to cell extent
Brasilian Portugese translations updated

0.3.1
-----

Warning message that appears at each cell edit removed
German and Ukrainian translations updated

0.3.0
-----

EntryLine Tooltip now displays docstrings for methods and builtins (use <Tab>)
Grid cell editor does not crash any more when editing image content
Entryline text completion added (use <Tab>)
Uncompressed pysu file format added
xls import bug fixed
nn function added to remove None from result array
wx preferred version is now 3.0
Translations updated for uk, de
Unecessary macros removed from example files
Macros are now deleted when a new file is loaded
Doublettes in cell attributes are now removed when saving a pys file
First steps document in help updated
Grid now scrolls with mouse wheel in wxPython3
CSV import dialog now does not segfault with wxPython3.x
Fixed bug in cell editor when editor reaches beyond right grid margin
On gtk3, F5 no longer enters cell
wx.Yield errors are now caught on gtk
Python tutorial removed since it does not work any more in the html window
Goto to a cell outside the grid shape now produces a statusbar error message
Replace all now refreshes grid
Regular Expression exceptions are now caught
Recursive Yield assertion on fileio caught
Writing xls files added (still experimental)
Cell locking functionality added
Tooltips for toolbar icons added
Pivot example updated to new cell clipping method
Sorting functionality added
Rendering of cell corner boxes fixed for upper left corners
Weather example added
Frozen cells can now be updated periodically (>=100 ms/update)
Fingerprint added to gpg key choice dialog
gpg now uses key ids instead of uids to cope with Debian bug #739907
test_parsers changed so that no error is shown when msttcorefonts is missing
Reference to a selection can now be copied the the clipboard with <Ctrl> + R
<Shift> + <Space> now selects the current row
<Ctrl> + <Space> now selects the current column
Error messages on aborting inputs for empty cells removed.
<home> now moves the active cell to the first column of the actual row

0.2.7
-----

Qutotation of code cells now does an rstrip to avoid problems with Windows

0.2.6
-----

New interface concept for loading and saving files
Fonts in charts can now be changed in chart dialog
Chart ticks can now be edited in chart dialog
Windows compatibility added to pypi category meta-data
Excel xls files can now be opened
New dependency xlrd introduced
Macro dialog now shows error messages
Multiple rows/columns that are selected are now resized together
"Select All" added to Edit menu
Text can now be imported via Past As
"Show frozen" added to View menu, which changes the background of frozen cells
Display area of merged cells has been corrected on GTK platforms
Error messages are now displayed in the StatusBar
Cell editor now is resized when the text grows too large for a cell
Multiple selected cells can now be quotated together
Tooltips for Bold and Italics corrected
Example macro for in cell LaTeX equations added
Contour plots added to chart dialog
Pie cart rotation angle ccan now be changed in chart dialog
Sankey diagrams added to chart dialog
Timeout for cell evaluation added (Unix only, fixes many pyspread freeze-ups)
Error message when removing the header flag in the csv dialog fixed
Status bad updates when pasting into the grid are now enforced
Cells are now always clipped (performance). Tooltips show longer results
Chart dialog now always shows the OK and the Cancel button
Parsing error of Unicode characters in chart dialog fixed
Danish translation updated
First bug fixes for wxPython 3 compatibility (not there yet)
Ctrl + A inside the entry line now selects the whole entry line instead of the whole grid
Ctrl + X inside the entry line now does not cut the whole cell any more

0.2.5
-----

String representation method of S removed
Labels in chart dialog are now parsed correctly
CSV utf-8 import and export bugs fixed
Default font size for renderer is now set explicitly if 0 (OS X fix)
Brazilian Portuguese localization added
Pyspread now displays dates with matplotlib 1.3.0
Translator information and Thanks file updated
CSV import now allows different file encodings
Chart padding fixed
Translator added to About dialog
PATHs in test files are now set system independently
Save file dialog styles switched to file choice
Tooltip text for pie chart colors is extended
Chart grid lines are now separately selectable for each axis
Annotation texts are now treated as code instead of strings
All unit tests now succeed in Windows
Ukranian mo file updated
Brazilian po and mo files updated
German po and mo files updated

0.2.4
-----

Fix some typos and offline tutorial
Pie charts added to chart_dialog
Charts fit better in figure
Multiline EntryLine implemented
Large bitmaps that are pasted from the clipboard are not scaled down any more
Legend support added to chart_dialog
troff file for man page updated
man page updated
Changed initial module order to gain Windows compatibility
TableChoiceIntCtrl is now in EntryLineToolbarPanel
Selection mode introduced, that is toggled by new ToggleButton in EntryLine
Copy results of figure now copies bitmap into clipboard
man page file added to setup.py
SVG export for matplotlib figures added
Old config files are now updated correctly (window geometry always and GPG key uid for pre 0.2.4 files)
Title added to charts in chart_dialog
The font choice widget now uses the system GUI default font as basis
Statusbar tooltip removed
Signing pys files made more robust
man page moved into the docs folder
Pyspread can now be started from other Python applications
Stock icons for Windows replaced by Tango icons
Find and Find/Replace icon added to Windows stock item replacement
Attributes toolbar now refreshes after update so that status changes are visible
GPG key choice dialog buttons have new labels
Cells with matplotlib figure can now also be exported to png, pdf, eps and ps
Safe mode status icon added to status bar
Copy results of numpy arrays now creates lists
Paste As menu item added
Paste As Dialog unrolls iterables to grid
Transpose operation added to Paste As dialog
Color attribute added to pie chart dialog
Chart grid added
Boxplots added to chart dialog
All columns in chart dialog are now growable
Histograms added to chart dialog
Some bug fixes on chart dialog
Toolbars switched to wx.lib.agw.aui to fix display bug
Merged cells are now redrawn correctly even when they are only partly visible
Python tutorial path upadated and moved to sysvars
Errors are now redirected to the shell on Windows (no extra window)
Pyspread now also starts if python-gupg is installed but gnupg is not
Testing via py.test can now be called via setup.py test
Behavior on invalid background in Windows fixed
Translations updated
Help now shows up on non UTF-8 systems (e. g. Windows)
Bug in csv import fixed by reverting to type comparisons
Batch file for Windows added
Bash shell script now keeps pre-defiend PYTHONPATH
Fixed bug that made ChartDialog ignore its code parameter
CartDialog now parses checkboxes correctly
Windows icon added, Windows bat and icon added to setup.py
Unit tests extended
runtests is now executable
Clipboard data from multiple cells can now be transposed
Paste as from multiple cells is now done with the correct type
Format string variables are changed to named variables to ease translation.
Error message removed when closing bitmap macro filechoice without choosing a file.
Chart dialog now supports dates as x axis labels
Dependency restriction to wxPython 2.8 added because 2.9.x has GUI issues
File approval warning made less severe
Tooltip labels added for plot attributes
Figure and axes parameter tooltips added to chart dialog
Chart dialog now supports annotations
Icon added to .desktop file
First step document adjusted to Jekyll
FAQ updated
Help html window now goes back with right click
UTF-8 symbols removed from tutorial
Assignment identification in model.py changed to ast
Year numbers removed from Copyright notices
Markup added to README
pyspread.py simplified
Norwegian po file added and converted to mo
Legacy help images deleted
Last row/column/table cannot be deleted any longer
Old mouse clicked based referencing removed
Attributes toolbar is now updated when attribute is changed via the menu
Font styles other than condensed work now. Condensedn wont work.
Attributes toolbar now updates when FontDialog is closed
Grid cell cache is now deleted when grid is resized
Unredo is now made impossible when changing the grid shape
Inserting rows is now undoable in one step
Row/column insertion now is at lower/right border of bbox
If a string is imported from csv as unicode then utf-8 is assumed and tried out.
Norwegian Nyorsk po file updated
Norwegian Bokmaal po file added
unredo simplified
Row and column changes are now done with markers updated immediately in grid
Markers added for cell attribute changes
Andreas Noteng added to translators in About dialog
Standard search direction for Find/Replace dialog switched to down
Toolbar toggles are now updated correcly when a toolbar is closed
CSV export now works for large amounts of data
pys file opening switched to new fileio class that allows aborts
Saving pys files now uses new fileio interface
CSV import can now be aborted
Export csv now exports all data in current cell if no selection is present
When opening a file, the current cell is now reset to (0, 0, 0)
Creating an empty grid when the cursor is outside the new grid dimensions is now done witout error messages
When a new grid is created or a file is opened, the grid is now considered unchanged
Importing into a selection works now
Insert now works similarly for code and for cell attributes
Cell attributes are now transfered if tables are inserted and deleted
Switching tables via the mouse wheel now synchronizes correctly between table and TableChoiceIntCtrl
Replacing cell content with a string that contains the search now updates each cell only once
Clicking on merged cells no longer results in error messages
Insertion and deletion actions do not resize grid any more and affect only current table
Colors now adapt to dark themes
Added runtests py to distribution package
Linked bitmaps now work under Windows
Parsing of title string to chart_dialog fixed
wx.Yield errors in non-GTK environments removed
In cell bitmaps with alpha transparency are now supported
Disabled selection mode for non-GTK environments


0.2.3
-----

Pivot table example added
i18n.py added in lib directory
Metadata for pypi updated
Package info changed to Python 2.7 required
INSTALL file made version independent
setup.py modified for pip
All unit tests are now directory independent
Developer documentation extended
Merge cell functionailty added
Fixed bug that results in incomplete saves
Bitmap rendering added
Pasting bitmaps now works
TextCtrl length limit now stored in config
Bitmaps can now be copied as results
Bugfix: Passwd was stored even though user did opt for not storing it
Globals are now cleared when a new spreadsheet is created or opened
Initial globals state is now reset upon File->New
Modules are now reloaded when globals are cleared.
Matplotlib charts basically work
PEP 8 code polish for event.py
Chart dialog added
X-axis added to chart dialog
Pasting into selection implemented
Chart code generation added
gitignore file extended to ignore dist builds and the MANIFEST
Recursion limit increased to 10**6
Chart data now evaluates like grid cell
Matplotlib added to dependencies
Pasting is now undone in one step per pasting operation not in one step per cell
Fixed csv import dialog
Shellscript added to start pyspread from top directory
Situation handled when getdefaultlocale returns None in i18n.py
Signature files added to gitignore
Signature files in examples removed
Marker colors now work in chart dialog
Marker styles can now be set from chart dialog
Line styles now work in chart dialog
Charts are now correctly parsed when globals are referenced
Added how to start hacking to README
Two icons added to menubar; menubar code formatting
Macro toolbar with chart insert tool adeded
Pasting into EntryLine is now possible
Copying from EntryLine is now possible
Menus for image and image link insertion added
Axes panel added to chart dialog
Bar chart entry added to chart_dialog
xscale and yscale work in chart dialog
Fixed a bug when loading files with inconsistent row widths
Images and charts example added
Dependencies removed from example files
Danish translation file added
GPG key creation switched to python-gnupg
Passwords removed. GPG keys with passwords cannot be used any longer.
Removed pyme from gpg.py comments and from setup.py dependencies
Unit tests adapted for python-gnupg
Locale directory added
Dutch po file added and converted to mo file
Added a message when choosing GPG keys that a password must not be set
Help documents are updated for changes and new features
Ukranion po file added, Danish po file updated
German po file added
Authors for uk and de added
Englich localde dir added, pyspread now does not start without unicode wxPython
setup.py changed for PKG-INFO compatibility


0.2.2
-----

XLS import macro added in examples, Macros can now access S again
Grid switching bug fixed
Pyspread is now internationalized with gettext
Switched from gettext to i18n for unicode support
Event system switched to mixin classes
Menubar icons added
Tried out wallet but switched back to file based passwd storage

0.2.1
-----

Setup modified
Preferences dialog added
Fixed test case for frozen cells
Adjusted run_tests so that gpg key is created if not present
run_tests patch so that signatures are created before test run
Changes from Andreas Noteng for run_test.py path identification
Format menu added
Text and background color added to Format menu
Fixed print bug that ommits first row and first col on selection prints
Password generation moved to setup.py
changelog added
Fixed bug that made events disappear
Added progress dialog for GPG key generation
Password entry for existing GPG keys added
Moved GPG dialogs to _gui_interfaces
Option for not storing GPG passphrases added
Config bug fixed
String conversions added for gpg key and uid
Save password option added to GPG dialogs
About dialog modified.
Toolbar positions are now remembered on next start
Toggle menus now are checked correctly when toolbars are invisible on startup
eval removed from config.py
Config bug for help window fixed
Help window now resizes correctly again
Grid is now initially focused on start
pyc files excluded from pacakging in test folders
Password is stored note is now shown in passwd dialog only when stored flag is True
Switched configuration dialog to IntCtrl widgets and Checkboxes for input validation
First steps document updated for format menu changes in 0.2.1
Absolute and relative addressing documentation corrected in help
changelog updated
INSTALL file added
