Skip to content

5.1.0

Latest

Choose a tag to compare

@MYilFun00 MYilFun00 released this 12 Oct 12:46
91fef11

Added

  • API: optional partialSuccess / ignoreInvalid query flag on
    POST /xAPI/statements for bulk backfill. Valid statements are indexed
    and invalid ones are reported per index (issue #622).
  • API: RALPH_LRS_PARTIAL_SUCCESS_DEFAULT enables partial-success
    ingestion for clients that do not send the query flag (opt out with
    ?partialSuccess=false).
  • API: reject statements containing Elasticsearch-incompatible dict keys
    (empty key or non-IRI key containing .) when RUNSERVER_BACKEND=es
    and RALPH_LRS_ELASTICSEARCH_VALIDATE_KEYS=true (default). xAPI
    extension IRI keys remain valid.
  • API: support for CORS request
  • Improve validation error reporting for empty or invalid values
    in xAPI statements
  • API: allow users with new authority/write scope to override authority
    when PUTting or POSTing statements
  • API: implement GET '/statements' 'related_agents' query parameter
  • Backends: (internal) add support for multiple authority queries

Removed

  • Drop support for Python 3.8

Fixed

  • Fix type of statement.result.score.scaled from int to Decimal
  • Fix optional member field in Identified Groups not actually being optional
  • Fix misregistered TypeError in Pydantic models validation
  • Fix check-changelog CI job by replacing the removed git whatchanged
    command with git log --name-only
  • Make MongoDB delete-failure tests tolerant to pymongo error message changes
  • Replace the check-changelog tag filter lookahead regex, no longer
    supported by CircleCI, with an ignore filter to fix all CI pipelines
  • Pin Arnold to 6.23.0 (was master) to fix the CircleCI tray job broken
    by the ansible-core 2.14.18 vault handling change
  • Pin the ECK operator and poll the Elasticsearch resource status in the
    test-helm CI job to fix flaky "no matching resources"/"status not found"
  • Drop the stale add_ssh_keys entry from the deploy-docs CI job so it
    pushes to gh-pages with the read-write checkout key
  • Bump the Elasticsearch test service to 8.8.1 so its bundled JDK can read
    cgroup v2 hosts, fixing the test-python CI jobs
  • Fix XAPI definitions extensions not accepting empty strings as values.
  • Keep CORS disabled by default in .env.dist so a bootstrapped .env no
    longer breaks the RUNSERVER_CORS_ALLOW_ORIGINS settings unit tests
  • Fix Ralph returning 500 errors on query parameter validation errors
  • Fix type of OIDC ID tokens
  • Fix error with OIDC scopes unrelated to Ralph
  • Fix oidc test test_api_auth_oidc_get_whoami_invalid_backend
    being misconfigured

Changed

  • API: partial-success mode skips Elasticsearch indexation failures per
    statement instead of failing the whole batch with HTTP 500.
  • Refactor statements' ExtensionMap
  • OIDC: cache IdP responses for 60 seconds
  • OIDC: Add query to /userinfo endpoint when receiving a
    token to support more OIDC IdPs
  • OIDC: Add token introspection to support querying from OIDC clients
    (Client Credentials flow)