v1.0.0
What's Changed
- cli by @inaod568 in #390
- Sendev by @senthil10 in #395
- project listing bug by @inaod568 in #396
- add logger by @senthil10 in #399
- blacked by @senthil10 in #400
- Submodule delete branch by @inaod568 in #402
- refactoring by @senthil10 in #403
- bucket naem fix by @senthil10 in #404
- Project size update changed. by @inaod568 in #405
- right branch by @senthil10 in #406
- Project size update fix and other refactoring by @senthil10 in #407
- rename and login case sensitivity by @senthil10 in #408
- Handle case sensitivity by @inaod568 in #409
- Big data fail fix by @senthil10 in #429
- Some refactoring and fixes by @senthil10 in #430
- removed func.binary in delete_all by @inaod568 in #431
- Easier setup by @ewels in #445
- Env variable changes by @senthil10 in #447
- Front end package manager by @ewels in #446
- Changes in database structure by @inaod568 in #448
- Start fixing up / rewriting project file tree by @ewels in #451
- Clean up some files in the root by @ewels in #456
- Automated images to Dockerhub by @talavis in #458
- Rewrite web uploader by @ewels in #455
- Web upload - refactor staging area display. by @ewels in #459
- Use Node 14 for the ccs builder by @talavis in #468
- s3 connector - don't silently fail if there are problems by @ewels in #465
- Homepage redesign by @ewels in #471
- public id removed by @inaod568 in #474
- Animated data blobs :) by @ewels in #475
- New build order by @talavis in #495
- OIDC support for logins by @talavis in #473
- Automated linting of Python by @ErikDanielsson in #498
- Run Black by @ewels in #499
- Browser upload - warning text, cli command by @ewels in #497
- Add a 404 template by @ewels in #496
- Dark mode + footer by @ewels in #500
- Homepage tweaks by @ewels in #505
- size columns in db changed by @inaod568 in #507
- Dark tweaks by @ewels in #508
- Fix the *-light colours in dark mode by @ewels in #516
- Use offical docker actions instead (also fix build) by @talavis in #511
- Another attempt to fix the docker build by @talavis in #517
- Updated API response to return project size by @ErikDanielsson in #520
- Invoicing setup by @inaod568 in #513
- Scheduled file deletion by @inaod568 in #526
- Deactivating features by @inaod568 in #535
- added description about the public_project_id not completely working by @inaod568 in #536
- Db idchanges andinit by @inaod568 in #540
- Revert "Db idchanges andinit" by @inaod568 in #542
- Revert "Revert "Db idchanges andinit"" by @inaod568 in #543
- func.binary removed from some db queries due to errors and safespring… by @inaod568 in #545
- Update old keyword argument to fix project creation by @ErikDanielsson in #546
- Profile page by @pericsson in #523
- Replace deprecated function call with new one by @ErikDanielsson in #547
- #544 cleaned up unused imports and code pieces from two files in the api by @worukan in #553
- Logging to action file and exceptions by @inaod568 in #554
- Cleanup docker (fixes #558) by @alneberg in #559
- Config fix by @alneberg in #562
- Create codeql-analysis.yml by @inaod568 in #528
- Revert "Config fix" by @inaod568 in #563
- Minimal setup for the new authentication which supports both basic an… by @worukan in #565
- Config cleanup (by Johannes) by @inaod568 in #564
- Cleanout web WIP/Suggestion by @alneberg in #566
- Cleanup unused by @inaod568 in #567
- integrity error fixed and cleanup by @inaod568 in #568
- Increase field lengths for project title, file name and file subpath in database by @aanil in #573
- Flask command Init-dev-db by @alneberg in #572
- Revert "Flask command Init-dev-db" by @inaod568 in #576
- Factory all the way by @alneberg in #575
- Remove project auth endpoint, Hand the project to apis3connector and … by @worukan in #579
- Automatic testing with docker-compose and github actions by @alneberg in #590
- Adding instruction for running pdb inside docker to readme by @alneberg in #591
- Facility to unit by @inaod568 in #592
- Removed permissions string from the User model and its usages by @worukan in #595
- Updated test data to new model by @alneberg in #597
- Moving the schedulers to init by @MatthiasZepper in #589
- Er diagram alterations by @inaod568 in #598
- Include validators in marshmallows.py by @MatthiasZepper in #605
- Tiny readme fix by @alneberg in #607
- Fix scheduler issue with Johannes by @MatthiasZepper in #608
- Add create_proj api endpoint by @aanil in #606
- Small touches to the code related to roles. by @worukan in #614
- fixed decryption error by @inaod568 in #621
- Add tests for CreateProject by @aanil in #620
- Replace pyjwt dependency with jwcrypto and user dict-key with sub in the token by @worukan in #624
- Add senstive Column to project by @aanil in #625
- User inheritance and roles by @inaod568 in #627
- Match more than 1 level of subdirectories by @aanil in #633
- Implement Unittests for API calls (Issue #602) by @MatthiasZepper in #626
- API endpoint for listing project users by @aanil in #635
- Create API endpoints for inviting users to the DDS by @inaod568 in #571
- Username bug by @inaod568 in #640
- Encrypt the existing signed token by @worukan in #631
- Fix foreign keys and relationships by @inaod568 in #642
- Remove
public_id
column fromFile
andExpiredFile
by @inaod568 in #643 - removed flaky test assert by @worukan in #649
- Improving invite email msg by @alneberg in #652
- Fix project usage by @alneberg in #655
- Fix the display of Usage and Cost columns by @MatthiasZepper in #666
- Refactor NewFile post by @inaod568 in #665
- Add option to associate user to project with add user and project create by @aanil in #664
- Update code to reflect previous refactoring by @aanil in #670
- Move marshmallows to schema folder by @inaod568 in #669
- Remove
Project.size
by @inaod568 in #672 - Catch raised exception during user association by @aanil in #677
- Salt length harmonisation to 32 for expired files by @aanil in #679
- Fixed the faulty GBhours calculation by @MatthiasZepper in #687
- Issue#654: Make sure time_deleted is set on all versions of a file by @MatthiasZepper in #690
- project key generation updated by @inaod568 in #692
- Encrypted token and authentication tests by @alneberg in #696
- Move verify password by @inaod568 in #704
- Use basic authentication only for the token endpoint and token authentication for the rest by @aanil in #694
- Incorporating minor code improvements suggested by CodeQL by @MatthiasZepper in #691
- Make db queries consistent by @inaod568 in #708
- removed suffix line by @inaod568 in #709
- For pytest colours by @ewels in #711
- Got flask.flash to work for 2 factor page by @alneberg in #713
- Added a custom HTML page that will be shown for already registered users by @MatthiasZepper in #714
- Fix implement 2fa by @inaod568 in #718
- Change in s3 info retrieval by @inaod568 in #716
- First step in creating a project status framework by @aanil in #717
- Password reset by @inaod568 in #722
- Add more statuses by @aanil in #723
- Fix foreign key constraints by @inaod568 in #726
- Minor updates and fixes to statuses by @aanil in #728
- project.current_status instead of just current_status by @inaod568 in #734
- Factories to create larger test datasets by @alneberg in #733
- small error, should not be not by @inaod568 in #736
- Remove expiredfiles by @inaod568 in #732
- Mock for boto3 by @alneberg in #737
- Replace boto with signedurl by @inaod568 in #727
- moved createprojectschema by @inaod568 in #739
- Request Limiter for web by @alneberg in #743
- Possible to change password using the current password by @alneberg in #744
- Deleting data and files while archiving and deleting projects by @aanil in #741
- Invite tweaks by @alneberg in #747
- added dds safespring project again, dont want to remove from database… by @inaod568 in #749
- Issue703: Delete user endpoint by @MatthiasZepper in #725
- Issue703: Change from post to delete requests in the User deletion endpoints. by @MatthiasZepper in #753
- Delete user tests with web login by @alneberg in #751
- Fix constraints tests by @alneberg in #757
- Add new endpoint to remove an associated user from a project by @aanil in #748
- Preliminary look at automatic capture of update time and updater on Project by @aanil in #758
- Fix constraints by @inaod568 in #750
- Removes expires field from Files by @aanil in #760
- Add public REST Endpoint for listing roles and permissions by @aanil in #761
- fix invite role bug by @inaod568 in #762
- Validation for username in schema same as in form by @alneberg in #763
- Remove timezone info and convert all date instances to UTC by @aanil in #765
- Return deadline if it exists when getting project status by @aanil in #766
- Retry if sending invite fails by @aanil in #768
- Issue 686 - Introduce Structured Logging by @MatthiasZepper in #771
- Issue 755: Message on login page by @MatthiasZepper in #777
- Bugfix for Issue 223 of the CLI by @MatthiasZepper in #778
- Use MAIL_DEFAULT_SENDER instead of MAIL_SENDER and MAIL_SENDER_ADDRESS by @talavis in #780
- Fix errors by @talavis in #781
- Add User activation endpoint by @aanil in #784
- Hotp mail by @alneberg in #775
- Remove pandas by @talavis in #802
- Clean up/update modules in requirements.txt by @talavis in #797
- added projectkeys table from volkans PR by @inaod568 in #803
- create new project with temporary keys etc by @inaod568 in #806
- engine dispose for tests by @alneberg in #807
- Remove unused config values and folder binds by @talavis in #808
- asymmetric user keys by @worukan in #811
- Add redis for caching by @talavis in #810
- Blocks for generating user and project keys securely by @worukan in #815
- Add config value for argon memory cost by @talavis in #824
- Slight refactoring by @inaod568 in #816
- Add encryption to mariadb by @talavis in #823
- Add back accidently removed old solution to check download eligibility by @aanil in #833
- Dump restore by @talavis in #834
- Send email to researchuser when project is released by @aanil in #814
- Add coverage check to tests by @talavis in #838
- Deleting a user deletes the associated project keys with the user by @worukan in #839
- Badges by @inaod568 in #843
- Web session valid for one hour by @inaod568 in #840
- Invite with encrypted token and test-TKEK by @alneberg in #827
- Update readme by @inaod568 in #847
- Add new line so that the token is clearly displayed by @aanil in #848
- File listing test by @talavis in #850
- Trying to add a codecov config file by @alneberg in #852
- Delete user keys too when Deleting/Archiving project by @aanil in #853
- Removing a user from a project removes the associated project keys with the user by @worukan in #854
- Session instead of cookie by @alneberg in #849
- Change in project ID by @inaod568 in #856
- Add more tests for user by @aanil in #859
- added -y by @inaod568 in #867
- create super admin by @inaod568 in #870
- Add tests for file upload by @aanil in #865
- a researcher (non-project owner) should not be able to invite someone… by @worukan in #863
- Embeds the tokens lifetime as isodate encoded timedelta by @MatthiasZepper in #790
- changelog added by @inaod568 in #871
- key generation for invite by @worukan in #855
- Moved functions from db connector by @inaod568 in #861
- Add tests for cases in upload, delete, list files by @aanil in #873
- Fix weird fail by @inaod568 in #875
- Revert invite error by @alneberg in #879
- Add docstrings by @inaod568 in #881
- Add a template for pull requests by @talavis in #894
- Key derivation by @worukan in #889
- Issue860 invites multiple projects by @MatthiasZepper in #888
- Log rotation by @talavis in #897
- Fix bugs in projects.py and add tests by @aanil in #899
- Web tests, login, change password by @worukan in #900
- ProjectAccess endpoint by @inaod568 in #885
- Reset password by @alneberg in #891
- Reactivate project access by @inaod568 in #886
- Add isactive check to reset by @inaod568 in #903
- Database migrations by @talavis in #890
- Ignore development folder by @talavis in #906
- Catch exceptions for invalid token by @talavis in #909
- Added test for flow from invite to access of project private by @alneberg in #912
- Invite researchers to projects by @inaod568 in #911
- Change non sensitive by @inaod568 in #913
- Add tests for download endpoints by @aanil in #918
- Final tests for successful invite scenarios by @alneberg in #919
- Rearrangement and clean up of the token by @worukan in #910
- Change regex to raw string by @talavis in #929
- Remove intro text, add newlines in pr template by @talavis in #930
- Add landing page after password reset by @aanil in #931
- Fix empty requests by @inaod568 in #925
- Issue924 no mail flag by @MatthiasZepper in #926
- Add endpoint for healthcheck by @talavis in #933
- create new superadmin by @inaod568 in #935
- Pre-testing version 2022-02-24 by @inaod568 in #937
- fix for creating unit admin by @inaod568 in #938
- Bug fixes and Super admin to add unit admins by @inaod568 in #940
- Add an ADR-ish (Architecture Decision Record) by @inaod568 in #942
- add link to pdf by @inaod568 in #941
- Add support for getting the correct ip when behind a reverse proxy by @talavis in #952
- Reverse proxy by @inaod568 in #953
- ADR update by @inaod568 in #960
- Relax username requirements a little by @ewels in #943
- Action log entry for uncaught exceptions. by @MatthiasZepper in #958
- Fix mailing note by @talavis in #963
- Fix command in templates to be immediately usable by @aanil in #969
- Move project creation commit from schema to the api endpoint by @talavis in #967
- Bugs fixed by @inaod568 in #971
- Increase security for session cookie by @talavis in #972
- Return role when listing project users by @aanil in #974
- Show roles when listing users by @inaod568 in #982
- Fix format of self deletion email by @aanil in #984
- Fix email message bug and fix project public_id None by @inaod568 in #981
- Custom registration form error messages by @inaod568 in #975
- After password reset: Only list projects when not superadmin by @inaod568 in #987
- Add check for if superadmin for delete email by @inaod568 in #991
- Fix formatting and error messages by @inaod568 in #989
- Simplify setting up dev environment by @talavis in #993
- Run pip install before injecting into the container by @talavis in #994
- WIP: Start bringing back the front-end by @ewels in #916
- Prettier code by @ewels in #1010
- Frontend to backend image by @talavis in #1011
- The frontend is back and there's a no-config dev setup by @inaod568 in #1009
- Correct response when email validation fails during project creation by @talavis in #1014
- Fix the dark mode switch behaviour by @ewels in #1013
- Forbid superadmin from creating project by @inaod568 in #1016
- Delete bucket by @inaod568 in #1017
- Issue1007 input validation by @MatthiasZepper in #1021
- change delete_folder regex by @inaod568 in #1019
- Fix regex for file rm/ls by @talavis in #1029
- Rewite login page to use component, nicer HTML styling. by @ewels in #1020
- Size column by @zishanmirza in #1023
- clarify in user activation by @inaod568 in #1026
- AddUser: Specific error message for unit users by @MatthiasZepper in #1039
- Improve messages, hide size from Researchers, disallow characters and fix regex by @inaod568 in #1041
- Rate limit: Error message by @zishanmirza in #1034
- Code cleanup by @talavis in #1043
- Catch KeyNotFoundError by @inaod568 in #1045
- Add new endpoint for listing unit users by @inaod568 in #1050
- make hotp invalid after password reset by @inaod568 in #1054
- Fix crash when uploading by @inaod568 in #1055
- Return info on if user has access to project by @inaod568 in #1049
- List unit users as Super Admin by @inaod568 in #1059
- Get unit info as Super Admin by @inaod568 in #1060
- Update text by @zishanmirza in #1062
- Fix deadline option by @inaod568 in #1063
- Require 2 unit admins and recommend 3 by @inaod568 in #1066
- Change list files to return int instead of str by @inaod568 in #1070
- Changed the token expiration to 7 days by @inaod568 in #1061
- Batch deleting of 1000 entries at a time by @talavis in #1067
- Password reset tracking by @inaod568 in #1058
- Update text by @zishanmirza in #1072
- update adr by @inaod568 in #1073
- Restrict super admin access by @inaod568 in #1074
- Flask command to create new unit by @inaod568 in #1076
- Add check to delete user by @inaod568 in #1075
- Catch unexpected sql errors by @inaod568 in #1077
- Validation by @zishanmirza in #1079
- add validation in schema for description by @inaod568 in #1080
- remove try except because not working by @inaod568 in #1081
- Add flask command for uploading file upload error log by @aanil in #1078
- fix bug in flask command by @inaod568 in #1085
- Remove banner on the homepage about testing by @ewels in #1087
- Change 'the user does not' to 'you do not' (tester feedback) by @inaod568 in #1088
- Add docs link to top navbar by @ewels in #1090
- Add catch of OperationalError in
files.py
by @inaod568 in #1089 - Catch operationalerror in s3.py by @inaod568 in #1092
- Validation by @zishanmirza in #1084
- Catch sqlalchemy.exc.OperationalError in user by @aanil in #1094
- trying to catch sqlalchemy.exc.OperationalError at project status change by @valyo in #1086
- add operational error by @inaod568 in #1093
- Add last operationalerror to dds_decorators by @inaod568 in #1095
- Better front-end styling for 2fa confirm page by @ewels in #1096
- Styled several forms - password reset etc. by @ewels in #1101
- Add Gitpod by @ewels in #1097
- Minor style improvements to 2fa email by @ewels in #1102
- Tidy user profile page by @ewels in #1103
- List-projects by @ewels in #1104
- Remove the Gitlens extension from gitpod by @ewels in #1111
- Add link to installation docs by @ewels in #1112
- Migrations without model by @alneberg in #1040
- Project Access Reset and Send Email by @zishanmirza in #1110
- Flask-Apscheduler by @inaod568 in #1109
- Bump minimist from 1.2.5 to 1.2.6 in /dds_web/static by @dependabot in #1114
- Fix bug which crashes after unanswered invite added to new project by @inaod568 in #1117
- Prep before production by @inaod568 in #1082
New Contributors
- @ewels made their first contribution in #445
- @talavis made their first contribution in #458
- @ErikDanielsson made their first contribution in #498
- @pericsson made their first contribution in #523
- @worukan made their first contribution in #553
- @alneberg made their first contribution in #559
- @aanil made their first contribution in #573
- @MatthiasZepper made their first contribution in #589
- @zishanmirza made their first contribution in #1023
- @valyo made their first contribution in #1086
Full Changelog: v0.2.0...v1.0.0