Skip to content

RAPyDo 2.0 (#41)

Choose a tag to compare

@mdantonio mdantonio released this 07 Aug 04:52
· 8 commits to master since this release
ed70e8a
* Bump RAPyDo version to 2.0

* Bump Flask from 1.1.4 to 2.0.1

* Bump Flask-RESTful from 0.3.8 to 0.3.9

* Restored json encoder from simplejson (no longer supported by default in flask 2.0)

* Skip wait_socket for connectors with nohost

* Upgraded sentry-sdk from 1.0.0 to 1.1.0

* Upgraded neomodel from 4.0.2 to 4.0.3

* Upgraded PyJWT from 2.0.1 to 2.1.0

* Security fix: remote IP is now extracted from X-Real-Ip by default. A fallback to X-Forwarded-For is allowed only if PROXIED_CONNECTION variable is explictly enabled

* Set lru_cache to localize_ip utility

* Added a preload decorator to implement custom authorization policies and endpoint parameters injection

* Stub of vulnerabilities test

* Introduced cypher query parameters to prevent injections

* Fixed vulnerabilities test endpoint to prevent injections

* Upgraded pytest-cov from 2.11.1 to 2.12.1

* Dropped deprecated Env.load_group utility, replaced by Env.load_variables_group in v1.0

* Dropped deprecated code in RestApiException, replaced by status_code in v1.0

* Dropped deprecated send_errors_by_email celery decorator, now enabled by default

* Dropped deprecated verify_staff and verify_coordinator utilities

* Upgraded telegram-bot from 13.4.1 to 13.6

* Added LOG_RETENTION env variable to control the log retention setting (180 days by default)

* Replaced unsupported CONTAINER_ID and IS_CELERY_CONTAINER variables with a HOST_TYPE variable determined from the hostname

* Fixed mypy configuration for v0.9+

* Removed option to disable the password strength checks, now it will be ALWAYS enabled

* Extended preload callbacks to automatically receive request.view_args as parameters

* Applied preload decorator to put and delete endpoints of admin groups

* Applied preload decorator to delete token admin endpoint

* Applied preload decorator to get and delete user admin endpoints

* Applied preload decorator to delete token endpoint

* Disabled flask json keys sort to preseve fields order as defined in Marshmallow schemas

* Modified preload callback return value from Optional[Dict[str, Any]] to Dict[str, Any]

* Upgraded schemathesis from 3.6.3 to 3.9.2

* Dropped deprecated endpoints multiple url mapping

* Env variable VANILLA_PACKAGE renamed as PROJECT_NAME

* configuration.load_yaml_file cleanup

* Added a check to prevent duplicated role names

* Added urls to security events log file

* Input strings are now automatically trimmed

* Merged all celery log file (previous hostname based) into a single log

* Added an explicit error when trying a do_login on projects without authentication

* Added flush_cache and clean methods to neo4j bulk importer

* Added a raise_warnings flag to get_remote_ip to silence warnings in case of non security-critical uses

* Replaced MATCH/CREATE with MERGE on neo4j bulk ingestion

* Added a test to fail relationship bulk ingestion in case of missing indexes

* Upgraded Telethon from 1.21.1 to 1.22.0

* Upgraded celery from 5.0.5 to 5.1.2

* Upgraded Flask-Migrate from 2.7.0 to 3.0.1

* Upgraded Flower from 0.9.5 to 1.0.0

* Modified task type from Type[Task] to Task

* Dropped TaskType in Celery connector

* Dropped get_token utility from definition

* Dropped _unpacked_user from endpoint definition, replaced by authorized_user uuid

* Replaced BaseExceptions with Exceptions

* Completed type hints and enabled --disallow-untyped-defs flag

* Added orjson to dependencies

* Replaced try/except tests with pytest.raises

* Introduced pytest.mark.skipif utility to replace custom checks

* Dropped deprecated verify_admin() method, replaced by auth.is_admin(user)

* Added password expiration (and first password expiration) events to security logs

* Enabled CORS origin from any port in dev mode

* Temporary fixed marshmallow version to 3.12.2 to silence deprecation warnings (to be changed in v2.1)

* Improved type hints of get_content test utility

* print_and_exit is now correctly typed

* Added psycopg2.OperationalError to sqlalchemy connection exceptions

* Temporary fixed apispec version to 4.7.1 due to incompatibility with marshmallow 3.12

* Upgraded Faker from 8.1.1 to 8.10.3

* Enhanced mypy configuration