Please add a short line describing the PR you make, if the PR implements a specific feature or functionality, or refactor. Not needed if you add very small and unnoticable changes. Not needed when PR includes only tests for already existing feature.
- Progress bar glitch fixed by creating console object in utils.py (#130)
- Log messages about successful checksum verification (#131)
- Removed reduntant message in
dds ls(#132) - Pagination of tables if too long (#133)
- Warning about non existent files when using
--source-path-fileoption indds put(#134) --treeoption fordds ls- display whole file tree (#136)
- Custom exceptions and code cleanup (#143)
- Install
pytestin github action (#151) methodmoved to base class (#152)- Module used in testing (#154)
- Make error message readable (#155)
- Changed CLI to match the new authentication in the API (#156)
- Tests removed (#169)
- Project creation functionality (#167)
--is-sensitiveoption added to project creation (#171)- Changes to match the web changes regarding user inheritance and roles: #627 (#172)
- Errors during upload logged directly instead of waiting for clean up at the end (#173)
- Changed from
resolvetoabspath(#175) - Option to display users involved in projects:
dds ls --users(#174) invitecommand (#158)
- Refactoring of
dds rm(#179) - Formatting of the project lists moved to the CLI (#184)
- Removed the update of the project size after upload (#185)
- Bug fix regarding usage values (#189)
- Functionality to associate users with projects (#186)
- Config option removed (#190)
expanduseradded sinceos.path.abspathdoes not expand the~symbol (#191)- Save encrypted token after authentication and use for subsequent commands(#193)
- Username not required since sessions used (#195)
- Color in
pytest(#197) - Filename displayed in bucket replaced by UUID (#196)
--no-promptflag,Session->Auth, newauthsubcommands:login,logout,info(#198)- Tests for adding users and listing projects/files (#199)
--jsonflag todds lsto output list of project as json format (#201)
sphinxfor automatic generation of documentation (#202)statuscommand (#204)- Removed all occurrences of
os.umask(#206) - Changed logging level back to
INFOand output progress bars to stderr (#207) - Changed download procedure from
boto3torequeststo handle presigned urls (#203)
- Updated token expiration information (#209)
- Group command
user(#200) projectcommand and subcommandsgrant&revoke(#210)
- Grouped commands into
auth,user,projectanddata. Created common options and arguments. (#213) - Command for displaying user info (#214)
- Timestamps converted to local timezone when displaying (#217)
- Project ID always sent in request as
param- consistency changes (#220)
- File paths replaced by UUID to prevent sensitive information in Safespring storage (#225)
- Commands to activate and deactivate users (#226)
- Authentication with HOTP (#222)
- Handling of
ApiResponseErrorto avoid huge error printout (#228)
- Add
dds project access fixcommand for reseting user access when reset password (#236) - Save failed files to log and print out help message after (#237)
- Change
--is_sensitiveto--non-sensitive(#246) - Display logged in user in header (#244)
- Updated token expiration information (#245)
- Introduced a
--no-mailflag in the CLI respectively asend_email: True/Falsejson parameter to fix issue 924 (#253) - Added documentation and test protocol (#252)
- Temporary unit option when adding user (#261)
- Added windows docs (by Matthias Zepper) (#276)
- Removed pinned package versions and bumped rick-click, should work for Python 3.7 up to 3.10 (#288)
- Remove local token when requesting deletion of own account (297/303)
- Add Role when listing project users (#316)
- Pin rich-click
>=1.2.1to solve exception handling errors (#327) - Add a
--token-pathargument to tell where the token should be saved and which token to be used. (#329) - Remove
--usernameoption (#331) - Add support for the zero-conf environment in dds_web (#337)
- Increase request timeout to 30 (#344)
- Make sure "already uploaded" does not give an error output (#341)
- URL in the logo changing with DDS_CLI_ENV (#349)
- Show message "Any users with errors were not added to the project" when emails failed to validate during project creation (#356)
- Ask user confirmation for project abort, archive and delete(#357)
- Replaced the default help messages of Click for the
--versionand--helpoptions as requested in issue 338. - Explicit error message for
--destinationwhen the path exists (#371) - Escape variables that are printed in the cli (avoiding e.g. hidden text and bad coloring) (#364)
- New
dds user lscommand for listing unit users (#384) - When using
dds project access fix, list the projects which where not possible to update access in (#379) - Add
Accesscolumn to show user if they have access or not (#383) - New
--mount-diroption fordds data putwhere theDataDelivery...folders will be created if specified (#393) - File permission fixing for the token on Windows (#395)
- New unit group command unit module (#398)
--unitoption for Super Admins to list unit users (#397)- Removed
dds project status abortand added--abortflag todds project status archive(#404) - Delete temporary folder before
DownloadErrorandUploadError(#407). - Allow delete of both folder and files (#411)
- Report number of files deleted for "rm folder" (#408)
- Change log to correct json (#426)
--is-inviteoption indds user deleteto allow delete of invites (temporary) (#415)- Github Action to automatically build the executables (with help from @zishanmirza) and the documentations with Sphinx.(#419,#423)
- Github Action to automatically deploy the documentation to Github Pages. (#436)
- Refactor version handling to allow PyInstaller builds. (#439)
- Patch: Add a message when the project access would be fixed for a user. (#446)
motdcommand to add new message of the day via new endpoint (#449)- Patch: Message in docstrings to urge users to reauthenticate before upload and download (#450)
- Pin versions in
requirements-dev.txt: New version ofsphinx-clickmakes:nested: fullnot work anymore (direct commit: https://github.com/ScilifelabDataCentre/dds_cli/commit/b91332b43e9cdee40a8132eab15e2fea3201bab6)
- Patch: Update help message about
--principal-investigatoroption (#465) - Removed all CLI tests because needs redo (#469)
- (Re)Added parsing of project specific errors for
dds project access fixanddds user add -p(#491)
- Enable use of app for second factor authentication instead of email. (#259)
- Display message of the day at top before output (#498)
- Change token check message for Windows to more user friendly (#500)
- New command: List all users as Super Admin and find existing users (#504)
- Add possibility of allowing group access to authenticated session (#502)
- Check for DDS_CLI_ENV = "test-instance" in order to allow testing of features before production (#506)
- List all active motds instead of latest and new command for deactivating motds (#505)
- New spinner when getting project private (#510)
- Change in command: twofactor - activate and deactivate (#519)
- Add storage usage information in the Units listing table for Super Admin (#523)
- Set project as busy / not busy when starting / finishing a upload (#525)
- Set project as busy / not busy when starting / finishing a download (#526)
- Set project as busy / not busy when starting / finishing a deletion (#527)
- New command:
dds motd send [id]to send MOTds to users (#532) - Add project public_id to the temporary DDS directory to allow deliveries initiated at the same time (#533)
- New command:
dds maintenance [setting]to set maintenance mode (#535) - New command:
dds project status busy [OPTIONS]to check for / list busy projects as Super Admin (#536)
- Improved message displayed to user when data already uploaded (#541)
- New message displayed when KeyboardInterrupt used during upload / download (#542)
- Do not set projects as busy when uploading/downloading/deleting (#549)
- Command for listing invites (#547)
- Limit projects listing to active projects only; a
--show-allflag can be used for listing all projects, active and inactive (#556) - Display name of creator when listing projects (#557)
- New command:
dds project info [OPTIONS]to display information about specific project (#561) - New option for
dds data put:--destination- allow upload to existing or new directory (#559)
- Bug: Catch Timeout exception for when requests are too slow (#563)
- Check that
dds data getis used with either--get-allor--source/--source-path-failand display appropriate message (#564)
- Bug: Switch from using
os.pathtopathlibin order to facilitate cross-OS uploads-/downloads- and listing operations (#573)
- Dependency: Bump
jwcryptodue to CVE-2022-3102 (#557) - New command:
dds project info change [OPTIONS]to change project information (#575) - Documentation: Structure changes and examples (#585)
- Workflow: Python-setup action v1 bumped to v2 (#588)
- Workflow: Scan with Trivy on PR and schedule (#591)
- Workflow: Publish to TestPyPi on PR and release (#592)
- Workflow: Scan with Snyk on PR and schedule (#593)
- Documentation: Important testing instructions and instructions on how to install from TestPyPi (#597)
- Workflow: Lint yaml files (#605)
- Logging: Reduce debug level logging and remove logging from root (#606)
- Add separate executables for Ubuntu latest (currently 22.04) and Ubuntu 20.04 (#604)
- Bug: PyInstaller command not valid for Linux and macOS (#612)
Nothing merged in CLI during this sprint
- Bug: Return error code 1 if error during upload (#615)
- Clarification: Users should check that the error-file has been generated, and keep it in case we need it for debugging purposes (#616)
- Bug: Catch UnicodeEncodeError during API request to avoid unclear error message upon usage of non-latin1 characters in username and password (#617)
- Workflow: Restructure and clarify PR template (#618)
- Workflow: Changelog changed to Sprintlog and CHANGELOG.rst created for version changes (#621)
- New command:
dds statsto get project and data statistics (#624) - Logging: Removed debug level logs (#625)
Nothing merged in CLI during this sprint
- Documentation: How to set environment variables in Windows (#626)
- Documentation: Password management recommendations (#627)
- Workflow: Added Pylint to scan code (#630)
- Url to testing instance updated after move to new cluster (#631)
- Dependency: Bump
cryptographydue to CVE-2023-0286 and dependabot (#635)
- Dependency: Bump
cryptographyto 41.0.3 due to security vulnerability alerts(s) (#639)
- Dependency: Bump
PyYAMLto 6.0.1 due to docker issues (#642)
- Print understandable message when request response doesn't contain json (#638)
- New option in
dds user ls:--save-emailsfor Super Admins to save emails to file (#641) - New version: 2.5.0 (#646)
- New command
dds maintenance statusfor Super Admins to check current Maintenance mode status (#644) - Workflow: Github Pages action fixed by bumping versions (#648)
- Updated command:
dds statsprints tables with stats collected from API (#643) - Dependency: Bump
requeststo 2.31.0 (#649)
- GitHub Actions to generate the documentation fixed (#650)
- Print project information and ask user for confirmation when deleting or archiving projects (#655)
Empty sprint
- Change "Checksum verification successful. File integrity verified." logging level from INFO to DEBUG in order to not print for all files (#662)
- New command
dds project status extendto allow extension of project deadline (#661) - New version: 2.5.2 (#660)
- Catch
ApiRequestErrorinupdate_dbin order to get more error information (#663) - Make a single last request to update the database in the case of failed files during upload (#656
- New version: 2.6.0 (#666)
- Minor update jwcrypto package to address cve (#674)
- Criptography update to address cve (#676)
- Use of a fix version of black and linted files to 24.1.1 (#675)
- New extra release, outside maintenance window, version 2.6.3 (#682)
- Update jwcrypto package to address cve (#1523)
- New version: 2.6.4 (#687)
- Update requests to solve CVE (#690)
- Update docs for Testing instance migration, including removing use of 'dev' (#691)
- Fix GitHub Pages action, that broke due to update in the action's image (#695)
- Fix Action that builds the executable files due to update in MacOs default architecture (#700
- Update documentation to have correct executable name (#702)
- Improve docs related to the testing instance (#705)
Empty sprint
- Remove pinned version in requirements-dev.txt to resolve CVE (#706)
- Add CODEOWNERS file in order to define Team Hermes as owners of all files in repository (#707)
- Update documentation and related libraries for pyton 3.12, dropped support for python 3.7 (#709)
- Added new dev instance url to cli config (#712)
- Clarify documentation about password managers (#711)
- New version and changelog(#714)
- Added a new option to the motd send command to allow sending to unit personnel only (#717)
- 'Upload' or 'Download' added to end of delivery directory name depending on command (#726)
- New version: 2.9.0 (#728)
- Include legacy packages (removed in Python 3.13) in development requirements to fix documentation on GitHub Pages (#730)
- Remove executable for Ubuntu 20.04 and add one for Ubuntu 22.04 (#733).
- Inform users that data deletion has started when
dds data rmis run (#738).
- New version: 2.10.0 (#742)
- Re-introduce executable for ubuntu-20.04 (#744)
- Update upload-artifact action to v4 (#743)
- New version: 2.10.1 (#746)
- Generate log file by default for put and get (#737)
- Release Drafter configuration (#749)
- New Github Action for automatically creating release draft: Release Drafter (#750)
- Remove "Changes" title from release-drafter template (#751)
- Edit structure of release template (#752)
- New version: 2.10.2 (#754)
- Update instructions regarding release procedure (#755)
- Update PR template and remove duplicates in release procedure (#756)
- Refactoring the authentication code to work for both the cli and the gui (#762)
- Add ARD's for GUI
- Refactor MOTD to work for both the CLI and the GUI (#771)
- Implement MOTD for GUI (#772)
- Bug: Add missing f-string to logging when cancelling file with KeyboardInterrupt (#777)
- Fix text when extending deadline (#802)
- Verify file size after download and decryption (#775)
- New version: 2.12.0 (#824)
- New PR template and moved all instructions to other files (#832)
- Workflow: Add action to run pytest on Windows (#734)
- Add Dardel-related information to the documentation (#774)
- Implement Project Info in GUI (#838)
- Fix error handling bug in GUI authentication (#839)
- Specify upload timeouts to avoid s3 errors (#840)
- Bump requests library from 2.32.2 to 2.32.4 to solve vulnerabities (#842)
- Specify download timeouts to avoid s3 errors (#846)
- Prompt for username and password if either of them are empty (#847)
- Bump cryptography library from 42.0.4 to 44.0.1 to solve vulnerabities (#845)
- Add loading to GUI project listing (#850)
- Revert Windows version to 2022 in pytest workflow (#853)
- Update Textual version to 6.2.1 (#852)
- Fix style according to guidelines and drop support for python 3.8 and 3.9 due to CVE, added new tests (#843)
- Remove custom button styling (#854)
- Latex action for documentation failing due to emojis (#855)
- Add project download to the GUI (#851)
- Display project access in the GUI (#856)
- Bump Python from 3.9 to 3.12 in workflows (#860)
- Solve error when uploading same file/dir twice (#861)
- Add non positive deadline validation (#865)
- Remove GUI code (#866)
- Bump black from 24.1.1 to 24.3.0 (#867)
- Bump pynacl from 1.5.0 to 1.6.2 (#869)
- New version 2.14.0 (#871)
- Bump cryptography from 44.0.1 to 46.0.5 (#875)
- Add retry with exponential backoff for downloads (#877)
- Configure Renovate (#876)
- replace click-pathlib dependency with
click.Path(path_type=pathlib.Path)(#926) - Switch from pylint+black to ruff(#927)
- Update dependency Flask to v3 (#940)
- Bump requests to v2.33.0 (#937)
- Update cryptography to v46.0.6 (#941)
- Update codecov/codecov-action action to v6 (#939)
- Update dependency pytz to v2026 (#933)
- Update dependency rich to v14 (#918)
- New version 2.14.2 (#944)
- HMS-2655 fix assets names (#954)