Releases: toonarmycaptain/dionysus
Releases · toonarmycaptain/dionysus
0.8.1-alpha
[0.8.1-alpha]
Implement SQLiteDatabase optimisations.
Changed
- Better optimised
SQLiteDatabase
queries.
Removed
data_version_conversion.py
is removed. NB Still available on GitHub.- No intention to maintain interoperability of very old data formats going forward (in particular early alpha original non-JSON text formats).
- Similar functionality may return in future releases, for conversion between backends.
[0.8.0-alpha]
Implement SQLite database backend.
Added
- Implmented
SQLiteDatabase
backend - using python's builtinsqlite3
module.
Changed
SQLiteDatabase
is now the default backend.- Charts saved as JSON now store the student name, rather than path to an avatar image. Student represented by the default avatar are no longer anonymous!- Charts are now saved at 1080p proportion (19.20, 10.80), saved in png format at better quality 300dpi (from 16:9, 120dpi).
Removed
- Remove
setup.py
- package is not designed to be installed!
Depreciated
- Python 3.6 is officially unsupported. Looks like it will still work with
JSONDatabase
, and withSQLiteDatabase
if the database path is changed to a string, but no support going forward is intended. - Python 3.7 support is pending depreciation, as Python 3.9 is due for release in October.
0.8.0-alpha
Implement SQLite database backend.
Added
- Implmented
SQLiteDatabase
backend - using python's builtinsqlite3
module.
Changed
SQLiteDatabase
is now the default backend.- Charts saved as JSON now store the student name, rather than path to an avatar image. Student represented by the default avatar are no longer anonymous!- Charts are now saved at 1080p proportion (19.20, 10.80), saved in png format at better quality 300dpi (from 16:9, 120dpi).
Removed
- Remove
setup.py
- package is not designed to be installed!
Depreciated
- Python 3.6 is officially unsupported. Looks like it will still work with
JSONDatabase
, and withSQLiteDatabase
if the database path is changed to a string, but no support going forward is intended. - Python 3.7 support is pending depreciation, as Python 3.9 is due for release in October.
Alpha release 0.7.0-alpha
Refactor application to use Database
object in definitions.DATABASE
for all interactions with persistence.
Added
- Implement
Database
object to handle persistence - Implement
JSONDatabase(Database)
(original/current database backend).
Changed
- Refactor all code/calls dealing with persistence to
definitions.DATABASE
. Student.avatar_filename
changed toStudent.avatar_id
for naming consistency between database backends. This is backwards incompatible, but is a simple string replace operation in any current data files.JSONDatabase
'sRegistry
now checks if on-disk version of registry is correct, only writing to it if incorrect or non-existent.- Increased test coverage, more tests converted to Pytest style tests.
- When clicking 'x' instead of 'save as' when a chart is displayed, UI no longer freezes, nor pops up a 'save chart as' file dialogue.
Removed
class_registry_functions.py
,test_class_registry_functions.py
: functionality moved toRegistry
object inpersistence/databases/json_registry.py
.
Depreciated
- Python 3.6 support ends with this release.
- Python 3.7 support will soon be removed also, in next release following release of python 3.9 - plan is to only support 2 minor releases of python at one time.
JSONDatabase
might be removed at some point, or not support new features, although it, or the data format might be kept for utility of debugging and editing.data_version_conversion.py
will not be supporting conversion from older formats than current to any future versions.
Alpha release 0.6.0-alpha
This release includes some optimisations and under the hood improvements, readying for addition of a proper database.
Added
- Implemented
temp
directory removed on app exit (if it contains files), initially used to store avatars before writing to database/disk. NewClass
subclass ofClass
usingtemp
directory to hold files before writing to database.- Add AllContributors badge to
README.md
, recognising project contributors, thankyou!
Changed
- Separate UI/logic/persistence concerns in
create_classlist
, useNewClass
. create_classlist_data
takes aNewClass
object.- Refactor
new_chart
/assemble_chart_data
to takeClass
/NewClass
object instead of a class name.- Supports passing in class directly from
create_class
without reloading class from database. - Move logic prompting user to choose a class from
assemble_chart_data
tonew_chart
.
- Supports passing in class directly from
- More tests converted to Pytest style tests, test coverage improved.
- Improved type hinting, extend passing/use of
Path
s rather than strings/os/path
.
Alpha release 0.5.0-alpha
This release updates to Python 3.8, provides new option to create a class, then create a chart without going back to the menu and selecting the new class.
Plenty of under the hood cleanup and improvements, for full details see the CHANGELOG.md.
Added
- Improved test coverage, type hinting.
- Python 3.8 compatibility and CI integration, mypy checking.
- Meaningful error message on generated on some unlikely conditions (should only happen when tests are run with uninitialised variables).
- Option to go directly from creating a class to creating a chart with the newly created class.
Changed
- Updated dependencies - fixes some unlikely security issues.
- All code now using Class/Student objects, new data format.
Depreciated
- Use of old-style data format. N,B. Convertor is depreciated along with support for old data format.
Removed
- defunct tests, dependency on
pexpect
.
Alpha release 0.4.0-alpha
Major refactor using objects to represent students and classes, breaking change to data format.
Data format conversion tool included.
Added
- Class and Student objects.
- CLI script
data_version_conversion.py
to convert old data format to new.- Run without args spawns file selection GUI and converts selected file.
-A
/--all_class_data_files
: Process all the data files in class_data.--f
/--filepath=path_to_file
: Process single file at path given to arg.
- Improved test coverage - 10% increase!
Changed
- Changed data file data format serialising objects rather than Python dictionaries.
- Changed implementation of
UI_functions.scrub_candiate_filename
to replace removed characters with'_'
- this means 'Ni/' and 'Ni' will render non-identically as 'Ni_' and 'Ni' - Updated dependencies.
Depreciated
class_functions.create_student_list_dict
Fixed
- Rectified error where settings_dict was initialised with a string, not dict.
Alpha release v0.3.3-alpha
Added
- Improved test coverage.
- CI/Testing
- Added codecov.io coverage.
- Added/enable Codeship test build on Python 3.7.2 with manually-installed tkinter via
sudo apt-get install -y python3-tk
.
Changed
- Some menu refactoring, implementation of settings_functions.
- Update dependencies.
Fixed
- Moving/setting/creating a default chart save folder now moves original folder, rather than nesting original inside new folder location.
Alpha release v0.3.2-alpha
Added
- Improved test coverage.
Changed
- Implementation of
take_student_scores
. - Refactor application exit,
main_menu
.
Fixed
check_registry_on_exit
is now called on exit, dumping class registry to disk.
Alpha release v0.3.1-alpha
Added
- Improved test coverage.
- Add
load_chart_data
,load_json_from_file
. - Add
.bettercodehub.yml
- prevent failed PR checks because of test code.
Changed
- Refactor
save_as_dialogue
to prevent TypeError. - Refactor
load_class_data
usingload_from_json_file
.
Fixed
- Fix bug where avatar for student with score of 0 not added to chart.
- Fix bug in
save_as_dialogue
that failed withTypeError
when called withoutfiletypes
parameter or with defaultfiletypes=None
. - Fix circleci not storing test metadata.
Alpha release v0.3.0-alpha
Added
- Improved test coverage.
Changed
- Major refactor of chart display and saving code.
- Fixes major bugs where blank image would be saved, app would hang indefinitely.
- Chart image now saves to app_data. Saved image is then displayed with a 'Save as' button.
- Bugfixes
- Fix path for default_avatar.
- Fix bug - essentially blank (eg '_') chart name caused infinite loop.
- Add sometimes omitted '.png' to save filename.
For more details see CHANGELOG.md.