Skip to content

RAPyDo 2.1 (#42)

Choose a tag to compare

@mdantonio mdantonio released this 27 Nov 16:27
· 7 commits to master since this release
2a62153
* Bump RAPyDo version to 2.1

* Bump marshmallow to 3.13.0

* Deprecated custom marshmallow fields, to be replaced by standard metadata dictionaries

* Replaced deprecated use of -s service commands with new command service syntax

* Fixed marshmallow deprecation warnings introduced with version 3.13

* Replaced json.loads with orjson.loads

* Dropped unused marshmallow render_module

* Dropped unused simplejson package

* Injected autenticated user from auth.required and auth.optional decorators

* Deprecated get_user in definition and replaced by injected user

* Added GitGuardian to pre-commit hooks

* Bump schemathesis to 3.10.0

* Bump sentry to 1.3.1

* Bump Telethon to 1.23.0

* Bump webargs to 8.0.1

* Bump telegram-bot to 13.7

* Bump apispec to 5.1.0

* Bump flask-migrate to 3.1.0

* Preload callbacks now automatically inject parameters from both view_args and kwargs

* Bug fix: decimals was serialized as str instead of float

* Added Content-Length header to streamed downloads

* Raised specific exception in case of invalid totp encryption key

* Dropped back compatibility with Werkzeug 0.16.1

* Improved smtp connection

* Improved type checking in injected parameters

* Added additional check to skip missing arguments with default in injection

* Bug fix: verify subclasses in endpoints injected parameters

* Introduced new coverage action

* Bump flask to 2.0.2

* Bug fix: user properly injected in inject_token callback

* Bump pytest-cov to 3.0.0

* Bump PyJWT o 2.2.0

* Replaced mocked FlaskClient type with flask.testing.FlaskClient

* Included tests folder to mypy workflow

* Added guessed mimetype to basic download if not specified

* Filename argument in download wrapper is now typed as string (Dropped default to None)

* Dropped unsecure path parameter in send_file_streamed and replaced with filename + subfolder

* Updated codeql workflow

* Enabled ossar and semgrep analyses

* Added upload/download folder validation to prevent requests outside the upload root and to reject relative paths or paths containing double-dots

* Dropped Uploader.absolute_upload_file wrapper

* Uploader.upload method now only accepts absolute paths

* Replaced os.path with pathlib in commands and allowed tests folder full path on tests command

* Download methods now only accept absolute paths

* Replaced all os.path with pathlib

* Env.get wrapper now returns str instead of Optional[str] and default parameter is mandatory

* Renamed UPLOAD_PATH into DATA_PATH

* Replaced unsafe yaml.load_all with yaml.safe_load_all

* Added Pathlib.Path json serializaton

* Bump Faker to 9.5.0

* Renamed Downloader.download into Downloader.send_file_content to prevent ambiguities

* AUTH_MAX_LOGIN_ATTEMPTS is now enabled by default with 8 attempts

* Added a check to prevent the backend to start if the log files are not writeable

* Bug fix: status of failed task was not properly updated

* Healthcheck requests are now logged on debug level

* Extended verify command with a real connection to the service to also verify the credentials

* Bug fix: sqlalchemy connector now correctly tests the connection the instantiated

* Bug fix: mongodb connector now correctly tests the connection when instantiated

* Dropped deprecated --no-tty flag

* Forced testing mode when using the restapi tests wrapper

* Added pytest-sugar to test environment

* Replaced deprecated (sqlalchemy > 1.3) session.close_all() with close_all_sessions()

* CELERY_BROKER renamed into CELERY_BROKER_SERVICE to prevent config clashes during service reload. Renamed CELERY_BACKEND into CELERY_BACKEND_SERVICE for homogeneity

* Forced the execution of send_task tests within the /code folder

* Fixed path of coverage.xml file to prevent any writes to /code

* Bug fix to prevent timeouts when connecting to rabbit in case of SSL enabled with a self signed certificate (used SSL_FORCE_SELF_SIGNED env variable to force the certificate as CA)

* # Bug fix to prevent timeouts when connecting to rabbit in case of SSL enabled with a self signed certificate (used SSL_FORCE_SELF_SIGNED env variable to force the certificate as CA)

* Enabled worker_cancel_long_running_tasks_on_connection_loss on celery. Introduced in celery 5.1 this flag cancels all currently executed tasks with late acknowledgement enabled on connection loss. These tasks cannot be acknowledged as the connection is gone, and the tasks are automatically redelivered back to the queue. The flag will be enabled by default in Celery 6.0