CHANGELOG.rst 11 KB
Newer Older
1 2 3 4 5 6 7
Change Log
----------

These are notable changes in edx-platform.  This is a rolling list of changes,
in roughly chronological order, most recent first.  Add your entries at or near
the top.  Include a label indicating the component affected.

8 9 10
LMS: Added alphabetical sorting of forum categories and subcategories.
It is hidden behind a false defaulted course level flag.

Peter Fogg committed
11 12 13
Studio: Allow course authors to set their course image on the schedule
and details page, with support for JPEG and PNG images.

14 15 16
LMS, Studio: Centralized startup code to manage.py and wsgi.py files.
Made studio runnable using wsgi.

17 18
Blades: Took videoalpha out of alpha, replacing the old video player

19 20 21 22
Common: Allow instructors to input complicated expressions as answers to
`NumericalResponse`s. Prior to the change only numbers were allowed, now any
answer from '1/3' to 'sqrt(12)*(1-1/3^2+1/5/3^2)' are valid.

23 24 25 26
LMS: Enable beta instructor dashboard. The beta dashboard is a rearchitecture
of the existing instructor dashboard and is available by clicking a link at
the top right of the existing dashboard.

27 28 29 30 31 32 33 34 35
Common: CourseEnrollment has new fields `is_active` and `mode`. The mode will be
used to differentiate different kinds of enrollments (currently, all enrollments
are honor certificate enrollments). The `is_active` flag will be used to
deactivate enrollments without deleting them, so that we know what course you
*were* enrolled in. Because of the latter change, enrollment and unenrollment
logic has been consolidated into the model -- you should use new class methods
to `enroll()`, `unenroll()`, and to check `is_enrolled()`, instead of creating
CourseEnrollment objects or querying them directly.

36 37 38
Studio: Email will be sent to admin address when a user requests course creator
privileges for Studio (edge only).

39 40 41
Studio: Studio course authors (both instructors and staff) will be auto-enrolled
for their courses so that "View Live" works.

42 43 44 45
Common: Add a new input type ``<formulaequationinput />`` for Formula/Numerical
Responses. It periodically makes AJAX calls to preview and validate the
student's input.

Diana Huang committed
46 47
Common: Added ratelimiting to our authentication backend.

48 49
Common: Add additional logging to cover login attempts and logouts.

cahrens committed
50 51 52 53
Studio: Send e-mails to new Studio users (on edge only) when their course creator
status has changed. This will not be in use until the course creator table
is enabled.

54 55 56
Studio: Added improvements to Course Creation: richer error messaging, tip
text, and fourth field for course run.

57 58 59 60 61 62 63 64 65 66
Blades: New features for VideoAlpha player:
1.) Controls are auto hidden after a delay of mouse inactivity - the full video
becomes visible.
2.) When captions (CC) button is pressed, captions stick (not auto hidden after
a delay of mouse inactivity). The video player size does not change - the video
is down-sized and placed in the middle of the black area.
3.) All source code of Video Alpha 2 is written in JavaScript. It is not a basic
conversion from CoffeeScript. The structure of the player has been changed.
4.) A lot of additional unit tests.

67 68 69 70 71
LMS: Added user preferences (arbitrary user/key/value tuples, for which
which user/key is unique) and a REST API for reading users and
preferences. Access to the REST API is restricted by use of the
X-Edx-Api-Key HTTP header (which must match settings.EDX_API_KEY; if
the setting is not present, the API is disabled).
72

73 74 75
LMS: Added endpoints for AJAX requests to enable/disable notifications
(which are not yet implemented) and a one-click unsubscribe page.

76 77 78
Studio: Allow instructors of a course to designate other staff as instructors;
this allows instructors to hand off management of a course to someone else.

79 80
Common: Add a manage.py that knows about edx-platform specific settings and projects

jkarni committed
81 82
Common: Added *experimental* support for jsinput type.

83 84 85
Studio: Remove XML from HTML5 video component editor. All settings are
moved to be edited as metadata.

86 87
Common: Added setting to specify Celery Broker vhost

88 89
Common: Utilize new XBlock bulk save API in LMS and CMS.

90 91 92 93
Studio: Add table for tracking course creator permissions (not yet used).
Update rake django-admin[syncdb] and rake django-admin[migrate] so they
run for both LMS and CMS.

94 95 96 97
LMS: Added *experimental* crowdsource hinting manager page.

XModule: Added *experimental* crowdsource hinting module.

David Baumgold committed
98 99
Studio: Added support for uploading and managing PDF textbooks

100 101
Common: Student information is now passed to the tracking log via POST instead of GET.

102 103
Blades: Added functionality and tests for new capa input type: choicetextresponse.

104 105 106 107
Common: Add tests for documentation generation to test suite

Blades: User answer now preserved (and changeable) after clicking "show answer" in choice problems

108 109
LMS: Removed press releases

110 111
Common: Updated Sass and Bourbon libraries, added Neat library

Chris Dodge committed
112 113
LMS: Add a MixedModuleStore to aggregate the XMLModuleStore and MongoMonduleStore

Jason Bau committed
114 115 116 117
LMS: Users are no longer auto-activated if they click "reset password"
This is now done when they click on the link in the reset password
email they receive (along with usual path through activation email).

118 119
LMS: Fixed a reflected XSS problem in the static textbook views.

120 121 122 123 124
LMS: Problem rescoring.  Added options on the Grades tab of the
Instructor Dashboard to allow a particular student's submission for a
particular problem to be rescored.  Provides an option to see a
history of background tasks for a given problem and student.

Jason Bau committed
125
Blades: Small UX fix on capa multiple-choice problems.  Make labels only
Jason Bau committed
126 127
as wide as the text to reduce accidental choice selections.

128
Studio:
129 130 131 132 133 134
- use xblock field defaults to initialize all new instances' fields and
only use templates as override samples.
- create new instances via in memory create_xmodule and related methods rather
than cloning a db record.
- have an explicit method for making a draft copy as distinct from making a new module.

135 136 137
Studio: Remove XML from the video component editor. All settings are
moved to be edited as metadata.

138 139
XModule: Only write out assets files if the contents have changed.

140 141
Studio: Course settings are now saved explicitly.

142 143 144 145
XModule: Don't delete generated xmodule asset files when compiling (for
instance, when XModule provides a coffeescript file, don't delete
the associated javascript)

146 147 148
Studio: For courses running on edx.org (marketing site), disable fields in
Course Settings that do not apply.

149 150 151
Common: Make asset watchers run as singletons (so they won't start if the
watcher is already running in another shell).

152 153
Common: Use coffee directly when watching for coffeescript file changes.

154 155
Common: Make rake provide better error messages if packages are missing.

156 157
Common: Repairs development documentation generation by sphinx.

Brian Wilson committed
158 159 160 161 162 163 164
LMS: Problem rescoring.  Added options on the Grades tab of the
Instructor Dashboard to allow all students' submissions for a
particular problem to be rescored.  Also supports resetting all
students' number of attempts to zero.  Provides a list of background
tasks that are currently running for the course, and an option to
see a history of background tasks for a given problem.

165 166
LMS: Fixed the preferences scope for storing data in xmodules.

Valera Rozuvan committed
167
LMS: Forums.  Added handling for case where discussion module can get `None` as
Jason Bau committed
168
value of lms.start in `lms/djangoapps/django_comment_client/utils.py`
169

170 171 172 173
Studio, LMS: Make ModelTypes more strict about their expected content (for
instance, Boolean, Integer, String), but also allow them to hold either the
typed value, or a String that can be converted to their typed value. For example,
an Integer can contain 3 or '3'. This changed an update to the xblock library.
174

175 176 177
LMS: Courses whose id matches a regex in the COURSES_WITH_UNSAFE_CODE Django
setting now run entirely outside the Python sandbox.

Valera Rozuvan committed
178
Blades: Added tests for Video Alpha player.
179

180 181
Common: Have the capa module handle unicode better (especially errors)

182 183 184 185 186
Blades: Video Alpha bug fix for speed changing to 1.0 in Firefox.

Blades: Additional event tracking added to Video Alpha: fullscreen switch, show/hide
captions.

187 188
CMS: Allow editors to delete uploaded files/assets

189 190 191 192
XModules: `XModuleDescriptor.__init__` and `XModule.__init__` dropped the
`location` parameter (and added it as a field), and renamed `system` to `runtime`,
to accord more closely to `XBlock.__init__`

193 194 195 196 197
LMS: Some errors handling Non-ASCII data in XML courses have been fixed.

LMS: Add page-load tracking using segment-io (if SEGMENT_IO_LMS_KEY and
SEGMENT_IO_LMS feature flag is on)

Peter Baratta committed
198 199
Blades: Simplify calc.py (which is used for the Numerical/Formula responses); add trig/other functions.

200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
LMS: Background colors on login, register, and courseware have been corrected
back to white.

LMS: Accessibility improvements have been made to several courseware and
navigation elements.

LMS: Small design/presentation changes to login and register views.

LMS: Functionality added to instructor enrollment tab in LMS such that invited
student can be auto-enrolled in course or when activating if not current
student.

Blades: Staff debug info is now accessible for Graphical Slider Tool problems.

Blades: For Video Alpha the events ready, play, pause, seek, and speed change
215
are logged on the server (in the logs).
216

217 218 219
Common: all dates and times are not time zone aware datetimes. No code should create or use struct_times nor naive
datetimes.

220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
Common: Developers can now have private Django settings files.

Common: Safety code added to prevent anything above the vertical level in the
course tree from being marked as version='draft'. It will raise an exception if
the code tries to so mark a node. We need the backtraces to figure out where
this very infrequent intermittent marking was occurring. It was making courses
look different in Studio than in LMS.

Deploy: MKTG_URLS is now read from env.json.

Common: Theming makes it possible to change the look of the site, from
Stanford.

Common: Accessibility UI fixes.

Common: The "duplicate email" error message is more informative.

Studio: Component metadata settings editor.

239
Studio: Autoplay for Video Alpha is disabled (only in Studio).
240 241 242 243 244 245 246 247 248 249 250

Studio: Single-click creation for video and discussion components.

Studio: fixed a bad link in the activation page.

LMS: Changed the help button text.

LMS: Fixed failing numeric response (decimal but no trailing digits).

LMS: XML Error module no longer shows students a stack trace.

Chris Dodge committed
251 252 253 254
Studio: Add feedback to end user if there is a problem exporting a course

Studio: Improve link re-writing on imports into a different course-id

Chris Dodge committed
255 256
Studio: Allow for intracourse linking in Capa Problems

257 258 259 260 261 262 263 264
Blades: Videoalpha.

XModules: Added partial credit for foldit module.

XModules: Added "randomize" XModule to list of XModule types.

XModules: Show errors with full descriptors.

265 266 267 268
Studio: Add feedback to end user if there is a problem exporting a course

Studio: Improve link re-writing on imports into a different course-id

269 270 271 272 273 274 275 276 277 278 279 280 281
XQueue: Fixed (hopefully) worker crash when the connection to RabbitMQ is
dropped suddenly.

XQueue: Upload file submissions to a specially named bucket in S3.

Common: Removed request debugger.

Common: Updated Django to version 1.4.5.

Common: Updated CodeJail.

Common: Allow setting of authentication session cookie name.

282 283
LMS: Option to email students when enroll/un-enroll them.