- Deleted Datadog diagnostics plugin app and middleware, which are no longer in use in edxapp.
- Datadog diagnostics middleware can now attempt to close anomalous spans. Can be enabled via Waffle flag
datadog.diagnostics.close_anomalous_spans
(controlled separately from logging feature).
- Datadog diagnostics now logs ancestor spans when an anomaly is encountered, up to a limit of 10 (controlled by new Django setting
DATADOG_DIAGNOSTICS_LOG_SPAN_DEPTH
). Spans are logged in full and on separate lines, so this logging is now much more verbose; consider only enabling this logging for short periods. Log format of first line has also changed slightly.
- Added celery lifecycle logging for Datadog diagnostics, to be enabled using
DATADOG_DIAGNOSTICS_CELERY_LOG_SIGNALS
.
- Fixed loading of
DATADOG_DIAGNOSTICS_ENABLE
, which was previously not loaded properly and therefore was always True. Also fixed loading ofDATADOG_DIAGNOSTICS_MAX_SPANS
, which was presumably broken as well.
- Removed early span-start logging. It never worked properly, possibly because workers are continually being destroyed and created, leading to high log volume.
- Datadog diagnostics will now log all span-starts for the first minute after server startup
- WARNING: Do not use this version; see 4.2.0 release notes.
- Dropped support for Python 3.8; only testing with 3.11 and above now.
DatadogDiagnosticMiddleware
can now detect and log anomalous traces, enabled by Waffle flagdatadog.diagnostics.detect_anomalous_trace
- New middleware
edx_arch_experiments.datadog_diagnostics.middleware.DatadogDiagnosticMiddleware
for logging diagnostics on traces in Datadog.
- Added
federated-content-connector
to the generate_code_owners script.
- Toggle
DATADOG_DIAGNOSTICS_ENABLE
for disabling that plugin quickly if needed. (Feature remains enabled by default.)
- Limit the number of spans collected via new setting
DATADOG_DIAGNOSTICS_MAX_SPANS
, defaulting to 100. This may help avoid memory leaks. - Make accidental class variables into member variables in
datadog_diagnostics
- Added
datadog_diagnostics
plugin app
- Added
translatable-xblocks
to the generate_code_owners script.
- Added support for
Python 3.12
- Updated
ConfigWatcher
to include the IDA's name in change messages ifCONFIG_WATCHER_SERVICE_NAME
is set - Enabled
ConfigWatcher
as a plugin for CMS
- Add
codejail_service
app for transition to containerized codejail
- ConfigWatcher should now respond to model events properly now that it registers receivers with strong references. (Tested in sandbox.)
- Add log message for each model the ConfigWatcher is listening to
- Ensure that ConfigWatcher only attaches receivers once
- Renamed
ConfigWatcherApp
toConfigWatcher
to be less redundant. This is technically a breaking change but the app was not in use yet. - Enabled
ConfigWatcher
as a plugin for LMS
- Add
edx_arch_experiments.config_watcher
Django app for monitoring Waffle changes - Add script to get github action errors
- Add script to republish failed events
- Add ORA2 to our code owner mapping script.
- Removes summary hook aside, now in the ai-aside repo
- Update summary hook to trigger on videos
- Remove text selection data key from summary hook html
- Add course and block ID to summary hook html
- Removed
default_app_config
(deprecated in Django 3)
- Add "staff only" summary hook flag
- Revise summary hook HTML
- Add summary hook xblock aside
- Breaking change: Remove
kafka_consumer
package and plugin (migrated toedx-event-bus-kafka
)
- Add new target to Makefile
- Update openedx-events
- Update consumer to use bridge and signals
- Fix GitHub actions
- First release on PyPI.