Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
Added¶
- Implement xAPI virtual classroom pydantic models
- Allow to insert custom endpoint url for S3 service
Changed¶
- Clean xAPI pydantic models naming convention
- Upgrade
fastapi
to0.95.2
- Upgrade
sentry_sdk
to1.24.0
- Upgrade
httpx
to0.24.1
- Force a valid (JSON-formatted) IFI to be passed for the
/statements
GET queryagent
filtering
Removed¶
verb
.display
field no longer mandatory in xAPI models and for converter
3.6.0 - 2023-05-17¶
Added¶
- Allow to ignore health check routes for Sentry transactions
Changed¶
- Upgrade
sentry_sdk
to1.22.2
- Upgrade
uvicorn
to0.22.0
- LRS
/statements
GET
method returns a code 400 with certain parameters as per the xAPI specification - Use batch/v1 api in cronjob_pipeline manifest
- Use autoscaling/v2 in HorizontalPodAutoscaler manifest
Fixed¶
- Fix the
more
IRL building in LRS/statements
GET requests
3.5.1 - 2023-04-18¶
Changed¶
- Upgrade
httpx
to0.24.0
- Upgrade
fastapi
to0.95.1
- Upgrade
sentry_sdk
to1.19.1
- Upgrade
uvicorn
to0.21.1
Fixed¶
- An issue with starting Ralph in pre-built Docker containers
- Fix double quoting in ClickHouse backend server parameters
- An issue Ralph starting when ClickHouse is down
3.5.0 - 2023-03-08¶
Added¶
- Implement PUT verb on statements endpoint
- Add ClickHouse database backend support
Changed¶
- Make trailing slashes optional on statements endpoint
- Upgrade
sentry_sdk
to1.16.0
3.4.0 - 2023-03-01¶
Changed¶
- Upgrade
fastapi
to0.92.0
- Upgrade
sentry_sdk
to1.15.0
Fixed¶
- Restore sentry integration in the LRS server
3.3.0 - 2023-02-03¶
Added¶
- Restore python 3.7+ support for library usage (models)
Changed¶
- Allow xAPI extra fields in
extensions
fields
3.2.1 - 2023-02-01¶
Changed¶
- Relax required Python version to
3.7
+
3.2.0 - 2023-01-25¶
Added¶
- Add a new
auth
subcommand to generate required credentials file for the LRS - Add an official Helm Chart (experimental)
- Implement support for AWS S3 storage backend
- Add CLI
--version
option
Changed¶
- Upgrade
fastapi
to0.89.1
- Upgrade
httpx
to0.23.3
- Upgrade
sentry_sdk
to1.14.0
- Upgrade
uvicorn
to0.20.0
- Tray: add the
ca_certs
path for the ES backend client option (LRS) - Improve Sentry integration for the LRS
- Update handbook link to
https://handbook.openfun.fr
- Upgrade base python version to 3.11 for the development stack and Docker image
Fixed¶
- Restore ES and Mongo backends ability to use client options
3.1.0 - 2022-11-17¶
Added¶
- EdX to xAPI converters for video events
Changed¶
- Improve Ralph’s library integration by unpinning dependencies (and prefer ranges)
- Upgrade
fastapi
to0.87.0
Removed¶
- ModelRules constraint
3.0.0 - 2022-10-19¶
Added¶
- Implement edx video browser events pydantic models
- Create a
post
endpoint for statements implementing the LRS spec - Implement support for the MongoDB database backend
- Implement support for custom queries when using database backends
get
method (used in thefetch
command) - Add dotenv configuration file support and
python-dotenv
dependency - Add
host
andport
options for therunserver
cli command - Add support for database selection when running the Ralph LRS server
- Implement support for xAPI statement forwarding
- Add database backends
status
checking - Add
health
LRS router - Tray: add LRS server support
Changed¶
- Migrate to
python-legacy
handler formkdocstrings
package - Upgrade
click
to8.1.3
- Upgrade
elasticsearch
to8.3.3
- Upgrade
fastapi
to0.79.1
- Upgrade
ovh
to1.0.0
- Upgrade
pydantic
to1.9.2
- Upgrade
pymongo
to4.2.0
- Upgrade
python-keystoneclient
to5.0.0
- Upgrade
python-swiftclient
to4.0.1
- Upgrade
requests
to2.28.1
- Upgrade
sentry_sdk
to1.9.5
- Upgrade
uvicorn
to0.18.2
- Upgrade
websockets
to10.3
- Make backends yield results instead of writing to standard streams (BC)
- Use pydantic settings management instead of global variables in defaults.py
- Rename backend and parser parameter environment variables (BC)
- Make project dependencies management more modular for library usage
Removed¶
- Remove YAML configuration file support and
pyyaml
dependency (BC)
Fixed¶
- Tray: do not create a cronjobs list when no cronjob has been defined
- Restore history mixin logger
2.1.0 - 2022-04-13¶
Added¶
- Implement edx problem interaction events pydantic models
- Implement edx textbook interaction events pydantic models
ws
websocket stream backend (compatible with thefetch
command)- bundle
jq
,curl
andwget
in thefundocker/ralph
Docker image - Tray: enable ralph app deployment command configuration
- Add a
runserver
command with basic auth and aWhoami
route - Create a
get
endpoint for statements implementing the LRS spec - Add optional fields to BaseXapiModel
Changed¶
- Upgrade
uvicorn
to0.17.4
- Upgrade
elasticsearch
to7.17.0
- Upgrade
sentry_sdk
to1.5.5
- Upgrade
fastapi
to0.73.0
- Upgrade
pyparsing
to3.0.7
- Upgrade
pydantic
to1.9.0
- Upgrade
python-keystoneclient
to4.4.0
- Upgrade
python-swiftclient
to3.13.0
- Upgrade
pyyaml
to6.0
- Upgrade
requests
to2.27.1
- Upgrade
websockets
to10.1
2.0.1 - 2021-07-15¶
Changed¶
- Upgrade
elasticsearch
to7.13.3
Fixed¶
- Restore elasticsearch backend datastream compatibility for bulk operations
2.0.0 - 2021-07-09¶
Added¶
- xAPI video
interacted
pydantic models - xAPI video
terminated
pydantic models - xAPI video
completed
pydantic models - xAPI video
seeked
pydantic models - xAPI video
initialized
pydantic models - xAPI video
paused
pydantic models convert
command to transform edx events to xAPI format- EdX to xAPI converters for page
viewed
andpage_close
events - Implement core event format converter
- xAPI video
played
pydantic models - xAPI page
viewed
and pageterminated
pydantic models - Implement edx navigational events pydantic models
- Implement edx enrollment events pydantic models
- Install security updates in project Docker images
- Model selector to retrieve associated pydantic model of a given event
validate
command to lint edx events using pydantic models- Support all available bulk operation types for the elasticsearch backend
(create, index, update, delete) using the
--es-op-type
option
Changed¶
- Upgrade
elasticsearch
to7.13.2
- Upgrade
python-swiftclient
to3.12.0
- Upgrade
click
to8.0.1
- Upgrade
click-option-group
to0.5.3
- Upgrade
pydantic
to1.8.2
- Upgrade
sentry_sdk
to1.1.0
- Rename edx models
- Migrate model tests from factories to hypothesis strategies
- Tray: switch from openshift to k8s (BC)
- Tray: remove useless deployment probes
Fixed¶
- Tray: remove
version
immutable field in DC selector
1.2.0 - 2021-02-26¶
Added¶
- EdX server event pydantic model and factory
- EdX page_close browser event pydantic model and factory
- Tray: allow to specify a self-generated elasticsearch cluster CA certificate
Fixed¶
- Tray: add missing Swift variables in the secret
- Tray: fix pods anti-affinity selector
Removed¶
pandas
is no longer required
1.1.0 - 2021-02-04¶
Added¶
- Support for Swift storage backend
- Use the
push
command--ignore-errors
option to ignore ES bulk import errors - The elasticsearch backend now accepts passing all supported client options
Changed¶
- Upgrade
pyyaml
to5.4.1
- Upgrade
pandas
to1.2.1
Removed¶
click_log
is no longer required as we are able to configure logging
1.0.0 - 2021-01-13¶
Added¶
- Implement base CLI commands (list, extract, fetch & push) for supported backends
- Support for ElasticSearch database backend
- Support for LDP storage backend
- Support for FS storage backend
- Parse (gzipped) tracking logs in GELF format
- Support for application’s configuration file
- Add optional sentry integration
- Distribute Arnold’s tray to deploy Ralph in a k8s cluster as cronjobs