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-file
option indds put
(#134) --tree
option fordds ls
- display whole file tree (#136)
- Custom exceptions and code cleanup (#143)
- Install
pytest
in github action (#151) method
moved 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-sensitive
option 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
resolve
toabspath
(#175) - Option to display users involved in projects:
dds ls --users
(#174) invite
command (#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)
expanduser
added sinceos.path.abspath
does 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-prompt
flag,Session
->Auth
, newauth
subcommands:login
,logout
,info
(#198)- Tests for adding users and listing projects/files (#199)
--json
flag todds ls
to output list of project as json format (#201)
sphinx
for automatic generation of documentation (#202)status
command (#204)- Removed all occurrences of
os.umask
(#206) - Changed logging level back to
INFO
and output progress bars to stderr (#207) - Changed download procedure from
boto3
torequests
to handle presigned urls (#203)
- Updated token expiration information (#209)
- Group command
user
(#200) project
command and subcommandsgrant
&revoke
(#210)
- Grouped commands into
auth
,user
,project
anddata
. 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
ApiResponseError
to avoid huge error printout (#228)
- Add
dds project access fix
command for reseting user access when reset password (#236) - Save failed files to log and print out help message after (#237)
- Change
--is_sensitive
to--non-sensitive
(#246) - Display logged in user in header (#244)
- Updated token expiration information (#245)
- Introduced a
--no-mail
flag in the CLI respectively asend_email: True/False
json 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.1
to solve exception handling errors (#327) - Add a
--token-path
argument to tell where the token should be saved and which token to be used. (#329) - Remove
--username
option (#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
--version
and--help
options as requested in issue 338. - Explicit error message for
--destination
when the path exists (#371) - Escape variables that are printed in the cli (avoiding e.g. hidden text and bad coloring) (#364)
- New
dds user ls
command for listing unit users (#384) - When using
dds project access fix
, list the projects which where not possible to update access in (#379) - Add
Access
column to show user if they have access or not (#383) - New
--mount-dir
option fordds data put
where theDataDelivery...
folders will be created if specified (#393) - File permission fixing for the token on Windows (#395)
- New unit group command unit module (#398)
--unit
option for Super Admins to list unit users (#397)- Removed
dds project status abort
and added--abort
flag todds project status archive
(#404) - Delete temporary folder before
DownloadError
andUploadError
(#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-invite
option indds user delete
to 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)
motd
command 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-click
makes:nested: full
not work anymore (direct commit: https://github.com/ScilifelabDataCentre/dds_cli/commit/b91332b43e9cdee40a8132eab15e2fea3201bab6)
- Patch: Update help message about
--principal-investigator
option (#465) - Removed all CLI tests because needs redo (#469)
- (Re)Added parsing of project specific errors for
dds project access fix
anddds 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-all
flag 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 get
is used with either--get-all
or--source
/--source-path-fail
and display appropriate message (#564)
- Bug: Switch from using
os.path
topathlib
in order to facilitate cross-OS uploads-/downloads- and listing operations (#573)
- Dependency: Bump
jwcrypto
due 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 stats
to 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
cryptography
due to CVE-2023-0286 and dependabot (#635)
- Dependency: Bump
cryptography
to 41.0.3 due to security vulnerability alerts(s) (#639)
- Dependency: Bump
PyYAML
to 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-emails
for Super Admins to save emails to file (#641) - New version: 2.5.0 (#646)
- New command
dds maintenance status
for Super Admins to check current Maintenance mode status (#644) - Workflow: Github Pages action fixed by bumping versions (#648)
- Updated command:
dds stats
prints tables with stats collected from API (#643) - Dependency: Bump
requests
to 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 extend
to allow extension of project deadline (#661) - New version: 2.5.2 (#660)
- Catch
ApiRequestError
inupdate_db
in 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)