CHANGELOG.rst 33 KB
Newer Older
1 2 3 4 5 6
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.
polesye committed
7

8 9
Studio/LMS: Implement cohorted courseware. TNL-648

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
LMS: Student Notes: Eventing for Student Notes. TNL-931

LMS: Student Notes: Add course structure view. TNL-762

LMS: Student Notes: Scroll and opening of notes. TNL-784

LMS: Student Notes: Add styling to Notes page. TNL-932

LMS: Student Notes: Add more graceful error message.

LMS: Student Notes: Toggle all notes TNL-661

LMS: Student Notes: Use JWT ID-Token for authentication annotation requests. TNL-782

LMS: Student Notes: Add possibility to search notes. TNL-731

LMS: Student Notes: Toggle single note visibility. TNL-660

LMS: Student Notes: Add Notes page. TNL-797

LMS: Student Notes: Add possibility to add/edit/remove notes. TNL-655

32 33
Platform: Add group_access field to all xblocks.  TNL-670

34 35
LMS: Add support for user partitioning based on cohort.  TNL-710

36 37
Platform: Add base support for cohorted group configurations.  TNL-649

38 39
LMS: Support assigning students to cohorts via a CSV file upload. TNL-735

40 41
Common: Add configurable reset button to units

42 43
Studio: Add support xblock validation messages on Studio unit/container page. TNL-683

44 45 46 47 48 49
LMS: Support adding cohorts from the instructor dashboard. TNL-162

LMS: Support adding students to a cohort via the instructor dashboard. TNL-163

LMS: Show cohorts on the new instructor dashboard. TNL-161

50 51 52 53 54 55 56
LMS: Mobile API available for courses that opt in using the Course Advanced
Setting "Mobile Course Available" (only used in limited closed beta).

Studio: Video Module now has an optional advanced setting "EdX Video ID" for
courses where assets are managed entirely by the video team. This is optional
and opt-in (only used in a limited closed beta for now).

57 58
LMS: Do not allow individual due dates to be earlier than the normal due date. LMS-6563

59 60
Blades: Course teams can turn off Chinese Caching from Studio. BLD-1207

61 62 63
LMS: Instructors can request and see content of previous bulk emails sent in the instructor dashboard.

Studio: New course outline and unit/container pages with revised publishing model. STUD-1790 (part 1)
64

65 66
Studio: Backbone version of the course outline page. STUD-1726.

67 68 69 70 71 72
Studio: New advanced setting "invitation_only" for courses. This setting overrides the enrollment start/end dates
  if set. LMS-2670

LMS: Register button on About page was active even when greyed out. Now made inactive when appropriate and
displays appropriate context sensitive message to student. LMS-2717

73 74
Blades: Redirect Chinese students to a Chinese CDN for video. BLD-1052.

75 76 77
Studio: Show display names and help text in Advanced Settings. Also hide deprecated settings
by default.

78 79
Studio: Move Peer Assessment into advanced problems menu.

80 81 82
Studio: Support creation and editing of split_test instances (Content Experiments)
entirely in Studio. STUD-1658.

83 84
Blades: Add context-aware video index. BLD-933

85 86
Blades: Fix bug with incorrect link format and redirection. BLD-1049

polesye committed
87 88
Blades: Fix bug with incorrect RelativeTime value after XML serialization. BLD-1060

89 90 91
LMS: Update bulk email implementation to lessen load on the database
by consolidating chunked queries for recipients into a single query.

92 93
Blades: Fix link to javascript file in ChoiceTextResponse. BLD-1103.

Julia Hansbrough committed
94
All: refactored code to handle course_ids, module_ids, etc in a cleaner way.
95
See https://github.com/edx/edx-platform/wiki/Opaque-Keys for details.
Julia Hansbrough committed
96

97 98
Blades: Remove Video player outline. BLD-975.

polesye committed
99 100
Blades: Fix Youtube regular expression in video player editor. BLD-967.

101 102
Studio: Support editing of containers. STUD-1312.

103 104
Blades: Fix displaying transcripts on touch devices. BLD-1033.

105 106
Blades: Tolerance expressed in percentage now computes correctly. BLD-522.

107 108
Studio: Support add, delete and duplicate on the container page. STUD-1490.

109 110
Studio: Add drag-and-drop support to the container page. STUD-1309.

John Cox committed
111 112
Common: Add extensible third-party auth module.

113 114
Blades: Added new error message that displays when HTML5 video is not supported
altogether. Make sure spinner gets hidden when error message is shown. BLD-638.
115

116 117 118 119
LMS: Switch default instructor dashboard to the new (formerly "beta")
  instructor dashboard. Puts the old (now "legacy") dash behind a feature flag.
  LMS-1296

120 121 122
Blades: Handle situation if no response were sent from XQueue to LMS in Matlab
problem after Run Code button press. BLD-994.

123 124
Blades: Set initial video quality to large instead of default to avoid automatic
switch to HD when iframe resizes. BLD-981.
125

polesye committed
126 127 128
Blades: Add an upload button for authors to provide students with an option to
download a handout associated with a video (of arbitrary file format). BLD-1000.

129 130 131
Studio: Add "raw HTML" editor so that authors can write HTML that will not be
changed in any way. STUD-1562

132 133
Blades: Show the HD button only if there is an HD version available. BLD-937.

134 135
Studio: Add edit button to leaf xblocks on the container page. STUD-1306.

Oleg Marshev committed
136 137
Blades: Add LTI context_id parameter. BLD-584.

138 139
Blades: Update LTI resource_link_id parameter. BLD-768.

140 141
Blades: Transcript translations should be displayed in their source language (BLD-935).

142 143
Blades: Create an upload modal for video transcript translations (BLD-751).

144 145 146 147
Studio and LMS: Upgrade version of TinyMCE to 4.0.20. Switch from tabbed Visual/HTML
Editor for HTML modules to showing the code editor as a plugin within TinyMCE (triggered
from toolbar). STUD-1422

148 149
Studio: Add ability to reorder Pages and hide the Wiki page. STUD-1375

150 151
Blades: Added template for iFrames. BLD-611.

152 153
Studio: Support for viewing built-in tabs on the Pages page. STUD-1193

154 155 156
Blades: Fixed bug when image mapped input's Show Answer multiplies rectangles on
 many inputtypes. BLD-810.

157 158 159
LMS: Enabled screen reader feedback of problem responses.
  LMS-2158

160 161
Blades: Removed tooltip from captions. BLD-629.

162 163
Blades: Fix problem with loading YouTube API is it is not available. BLD-531.

164 165
Blades: Fix download subs for non youtube videos and non-en language. BLD-897.

166 167 168
Blades: Fix issues related to videos that have separate YouTube IDs for the
different video speeds. BLD-915, BLD-901.

169 170
Blades: Add .txt and .srt options to the "download transcript" button. BLD-844.

171 172
Blades: Fix bug when transcript cutting off view in full view mode. BLD-852.

173 174
Blades: Show start time or starting position on slider and VCR. BLD-823.

175 176 177
Common: Upgraded CodeMirror to 3.21.0 with an accessibility patch applied.
  LMS-1802

178 179
Studio: Add new container page that can display nested xblocks. STUD-1244.

180 181
Blades: Allow multiple transcripts with video. BLD-642.

Carson Gee committed
182 183 184
CMS: Add feature to allow exporting a course to a git repository by
specifying the giturl in the course settings.

185
Studio: Fix import/export bug with conditional modules. STUD-149
186

187 188
Blades: Persist student progress in video. BLD-385.

189 190 191 192 193
Blades: Fix for the list metadata editor that gets into a bad state where "Add"
  is disabled. BLD-821.

Blades: Add view for field type Dict in Studio. BLD-658.

194 195
Blades: Refactor stub implementation of LTI Provider. BLD-601.

Nick Parlante committed
196 197 198
LMS: multiple choice features: shuffle, answer-pool, targeted-feedback,
choice name masking, submission timer

199 200
Studio: Added ability to edit course short descriptions that appear on the course catalog page.

201 202 203
LMS: In left accordion and progress page, due dates are now displayed in time
zone specified by settings.TIME_ZONE, instead of UTC always

204 205 206 207
LMS:  If the course start date is kept at the default studio value (Jan 1, 2030)
and advertised_start is not set, the start date is not displayed in the
/courses tile view, the course about page, or the dashboard

208 209
LMS: Add ability to redirect to a splash screen.

210 211
Blades: Add role parameter to LTI. BLD-583.

212 213 214
Blades: Bugfix "In Firefox YouTube video with start time plays from 00:00:00".
BLD-708.

polesye committed
215 216
Blades: Fix bug when image response in Firefox does not retain input. BLD-711.

217 218
Blades: Give numerical response tolerance as a range. BLD-25.

219 220 221 222
Common: Add a utility app for building databased-backed configuration
  for specific application features. Includes admin site customization
  for easier administration and tracking.

223 224 225 226
Common: Add the ability to dark-launch site translations. These languages
  will be unavailable to users except through the use of a specific query
  parameter.

227 228
Blades: Allow user with BetaTester role correctly use LTI. BLD-641.

229 230
Blades: Video player persist speed preferences between videos. BLD-237.

231 232 233
Blades: Change the download video field to a dropdown that will allow students
to download the first source listed in the alternate sources. BLD-364.

234 235 236
Blades: Change the track field to a dropdown that will allow students
to download the transcript of the video without timecodes. BLD-368.

237 238 239 240
Blades: Video player start-end time range is now shown even before Play is
clicked. Video player VCR time shows correct non-zero total time for YouTube
videos even before Play is clicked. BLD-529.

241 242
Studio: Add ability to duplicate components on the unit page.

polesye committed
243 244 245
Blades: Adds CookieStorage utility for video player that provides convenient
  way to work with cookies.

246 247
Blades: Fix comparison of float numbers. BLD-434.

248 249
Blades: Allow regexp strings as the correct answer to a string response question. BLD-475.

250 251 252 253 254 255
Common: MixedModulestore is now the only approved access to the persistence layer
  - takes a new parameter 'reference_type' which can be 'Location' or 'Locator'. Mixed
  then tries to ensure that every reference in any xblock gets converted to that type on
  retrieval. Because we're moving to Locators, the default is Locator; so, you should change
  all existing configurations to 'Location' (unless you're using split)

256 257 258 259 260 261 262
Common: Add feature flags to allow developer use of pure XBlocks
  - ALLOW_ALL_ADVANCED_COMPONENTS disables the hard-coded list of advanced
    components in Studio, and allows any xblock to be added as an
    advanced component in Studio settings
  - XBLOCK_SELECT_FUNCTION allows the insertion of a custom function
    to limit loading of XBlocks with (including allowing pure xblocks)

263 264 265
Studio: Add sorting by column to the Files & Uploads page.
See mongo_indexes.md for new indices that should be added.

266 267 268 269 270
Common: Previously, theming was activated by providing a value for the THEME_NAME
  setting. Now, theming is activated by setting the "USE_CUSTOM_THEME" feature
  flag to True -- a THEME_NAME setting is still required to determine *which*
  theme to use.

271 272
Studio: Newly-created courses default to being published on Jan 1, 2030

273 274
Studio: Added pagination to the Files & Uploads page.

275 276
Common: Centralized authorization mechanisms and removed the app-specific ones.

277
Blades: Video player improvements:
polesye committed
278 279 280 281
  - Disable edX controls on iPhone/iPod (native controls are used).
  - Disable unsupported controls (volume, playback rate) on iPad/Android.
  - Controls becomes visible after click on video or play placeholder to avoid
    issues with YouTube API on iPad/Android.
282
  - Captions becomes visible just after full initialization of video player.
polesye committed
283
  - Fix blinking of captions after initialization of video player. BLD-206.
284

285 286
LMS: Fix answer distribution download for small courses. LMS-922, LMS-811

287 288
Blades: Add template for the zooming image in studio. BLD-206.

289 290
Blades: Update behavior of start/end time fields. BLD-506.

291 292
Blades: Make LTI module not send grade_back_url if has_score=False. BLD-561.

293 294
Blades: Show answer for imageresponse. BLD-21.

295 296 297
Blades: LTI additional Python tests. LTI must use HTTPS for
lis_outcome_service_url. BLD-564.

298 299 300
Studio: Enable Terms of Service and Privacy Policy links to be served by
  an alternate site. STUD-151.

polesye committed
301
Blades: Fix bug when Image mapping problems are not working for students in IE. BLD-413.
302

303 304 305
Blades: Add template that displays the most up-to-date features of
drag-and-drop. BLD-479.

306
Blades: LTI fix bug e-reader error when popping out window. BLD-465.
307

308 309 310 311
Common: Switch from mitx.db to edx.db for sqlite databases. This will effectively
  reset state for local instances of the code, unless you manually rename your
  mitx.db file to edx.db.

312 313 314 315 316
Common: significant performance improvement for authorization checks and location translations.
  Ensure all auth checks, check all possible permutations of the auth key (Instructor dashboard
  now shows when it should for all courses in lms).
  Made queries for Studio dashboard 2 orders of magnitude faster (and fewer).

317 318
Blades: Video Transcripts: Fix clear and download buttons. BLD-438.

319 320 321 322
Common: Switch over from MITX_FEATURES to just FEATURES. To override items in
  the FEATURES dict, the environment variable you must set to do so is also
  now called FEATURES instead of MITX_FEATURES.

323 324 325 326
LMS: Change the forum role granted to global staff on enrollment in a
course. Previously, staff were given the Moderator role; now, they are
given the Student role.

327 328
Blades: Fix Numerical input to support mathematical operations. BLD-525.

329 330 331
Blades: Improve calculator's tooltip accessibility. Add possibility to navigate
  through the hints via arrow keys. BLD-533.

332 333 334 335
LMS: Add feature for providing background grade report generation via Celery
  instructor task, with reports uploaded to S3. Feature is visible on the beta
  instructor dashboard. LMS-58

336 337 338 339
Blades: Added grading support for LTI module. LTI providers can now grade
student's work and send edX scores. OAuth1 based authentication
implemented. BLD-384.

340 341 342 343 344
LMS: Beta-tester status is now set on a per-course-run basis, rather than being
  valid across all runs with the same course name. Old group membership will
  still work across runs, but new beta-testers will only be added to a single
  course run.

345 346
Blades: Enabled several Video Jasmine tests. BLD-463.

347 348 349 350
Studio: Continued modification of Studio pages to follow a RESTful framework.
includes Settings pages, edit page for Subsection and Unit, and interfaces
for updating xblocks (xmodules) and getting their editing HTML.

351 352
LMS: Improve accessibility of inline discussions in courseware.

353 354 355
Blades: Put 2nd "Hide output" button at top of test box & increase text size for
code response questions. BLD-126.

356 357
Blades: Update the calculator hints tooltip with full information. BLD-400.

358 359
Blades: Fix transcripts 500 error in studio (BLD-530)

360 361 362
LMS: Add error recovery when a user loads or switches pages in an
inline discussion.

363 364
Blades: Allow multiple strings as the correct answer to a string response
question. BLD-474.
365

366 367
Blades: a11y - Videos will alert screenreaders when the video is over.

368 369 370
LMS: Trap focus on the loading element when a user loads more threads
in the forum sidebar to improve accessibility.

371
LMS: Add error recovery when a user loads more threads in the forum sidebar.
372

373 374
LMS: Add a user-visible alert modal when a forums AJAX request fails.

375 376
Blades: Add template for checkboxes response to studio. BLD-193.

377 378 379 380 381 382 383
Blades: Video player:
  - Add spinner;
  - Improve initialization of modules;
  - Speed up video resizing during page loading;
  - Speed up acceptance tests. (BLD-502)
  - Fix transcripts bug - when show_captions is set to false. BLD-467.

cahrens committed
384 385
Studio: change create_item, delete_item, and save_item to RESTful API (STUD-847).

386 387 388
Blades: Fix answer choices rearranging if user tries to stylize something in the
text like with bold or italics. (BLD-449)

389 390 391
LMS: Beta instructor dashboard will only count actively enrolled students for
course enrollment numbers.

392 393
Blades: Fix speed menu that is not rendered correctly when YouTube is
unavailable. (BLD-457).
394

395 396 397
LMS: Users with is_staff=True no longer have the STAFF label appear on
their forum posts.

398 399 400 401
Blades: Video start and end times now function the same for both YouTube and
HTML5 videos. If end time is set, the video can still play until the end, after
it pauses on the end time.

402 403
Blades: Disallow users to enter video url's in http.

404 405
Studio/LMS: Ability to cap the max number of active enrollments in a course

406 407
LMS: Improve the acessibility of the forum follow post buttons.

408 409 410
Blades: Latex problems are now enabled via use_latex_compiler
key in course settings. (BLD-426)

polesye committed
411 412
Blades: Fix bug when the speed can only be changed when the video is playing.

413 414 415
LMS: The dialogs on the wiki "changes" page are now accessible to screen
readers.  Now all wiki pages have been made accessible. (LMS-1337)

416 417 418
LMS: Change bulk email implementation to use less memory, and to better handle
duplicate tasks in celery.

419 420 421 422 423 424
LMS: When a topic is selected in the forums navigation sidebar, fetch
the thread list using the /threads endpoint of the comments service
instead of /search/threads, which does not sort and paginate
correctly. This requires at least version 31ef160 of
cs_comments_service.

425 426 427 428
LMS: Improve forum error handling so that errors in the logs are
clearer and HTTP status codes from the comments service indicating
client error are correctly passed through to the client.

polesye committed
429
LMS: Improve performance of page load and thread list load for
430 431
discussion tab

432 433
LMS: The wiki markup cheatsheet dialog is now accessible to screen readers.
(LMS-1303)
Diana Huang committed
434

435 436
Common: Add skip links for accessibility to CMS and LMS. (LMS-1311)

cahrens committed
437
Studio: Change course overview page, checklists, assets, import, export, and course staff
438 439
management page URLs to a RESTful interface. Also removed "\listing", which
duplicated "\index".
440

441 442
LMS: Fixed accessibility bug where users could not tab through wiki (LMS-1307)

443 444 445 446
Blades: When start time and end time are specified for a video, a visual range
will be shown on the time slider to highlight the place in the video that will
be played.

polesye committed
447 448
Studio: added restful interface for finding orphans in courses.
An orphan is an xblock to which no children relation points and whose type is not
449
in the set contentstore.views.item.DETACHED_CATEGORIES nor 'course'.
polesye committed
450
    GET http://host/orphan/org.course returns json array of ids.
451
        Requires course author access.
polesye committed
452
    DELETE http://orphan/org.course deletes all the orphans in that course.
453 454
        Requires is_staff access

455 456 457
Studio: Bug fix for text loss in Course Updates when the text exists
before the first tag.

458 459 460 461 462
Common: expect_json decorator now puts the parsed json payload into a json attr
on the request instead of overwriting the POST attr

---------- split mongo backend refactoring changelog section ------------

463
Studio: course catalog, assets, checklists, course outline pages now use course
464 465 466 467 468 469 470 471
id syntax w/ restful api style

Common:
  separate the non-sql db connection configuration from the modulestore (xblock modeling) configuration.
  in split, separate the the db connection and atomic crud ops into a distinct module & class from modulestore

Common: location mapper: % encode periods and dollar signs when used as key in the mapping dict

472
Common: location mapper: added a bunch of new helper functions for generating
473 474 475 476 477 478
old location style info from a CourseLocator

Common: locators: allow - ~ and . in course, branch, and block ids.

---------- end split mongo backend section ---------

479 480 481 482 483
Blades: Hovering over CC button in video player, when transcripts are hidden,
will cause them to show up. Moving the mouse from the CC button will auto hide
them. You can hover over the CC button and then move the mouse to the
transcripts which will allow you to select some video position in 1 click.

polesye committed
484 485
Blades: Add possibility to use multiple LTI tools per page.

486 487
Blades: LTI module can now load external content in a new window.

Adam Palay committed
488
LMS: Disable data download buttons on the instructor dashboard for large courses
Diana Huang committed
489

Adam Palay committed
490 491 492
Common: Adds ability to disable a student's account. Students with disabled
accounts will be prohibited from site access.

Diana Huang committed
493 494
LMS: Fix issue with CourseMode expiration dates

495 496
LMS: Ported bulk emailing to the beta instructor dashboard.

497 498
LMS: Add monitoring of bulk email subtasks to display progress on instructor dash.

Diana Huang committed
499 500
LMS: Refactor and clean student dashboard templates.

Diana Huang committed
501 502
LMS: Fix issue with CourseMode expiration dates

503 504 505 506
CMS: Add text_customization Dict to advanced settings which can support
string customization at particular spots in the UI.  At first just customizing
the Check/Final Check buttons with keys: custom_check and custom_final_check

Ned Batchelder committed
507 508
LMS: Add PaidCourseRegistration mode, where payment is required before course
registration.
Jason Bau committed
509

510 511
Studio: Switched to loading Javascript using require.js

Julian Arni committed
512 513
Studio: Better feedback during the course import process

514 515
Studio: Improve drag and drop on the course overview and subsection views.

Renzo Lucioni committed
516 517
LMS: Add split testing functionality for internal use.

518 519 520
CMS: Add edit_course_tabs management command, providing a primitive
editing capability for a course's list of tabs.

Ned Batchelder committed
521 522
Studio and LMS: add ability to lock assets (cannot be viewed unless registered
for class).
cahrens committed
523

524 525
Studio: add restful interface for paging assets (no UX yet, but just add
/start/45/max/50 to end of url to get items 45-95, e.g.)
Don Mitchell committed
526

527 528 529
LMS: First round of improvements to New (beta) Instructor Dash:
improvements, fixes, and internationalization to the Student Info section.

530 531
LMS: Improved accessibility of parts of forum navigation sidebar.

Ned Batchelder committed
532 533
LMS: enhanced accessibility labeling and aria support for the discussion forum
new post dropdown as well as response and comment area labeling.
534

535 536
Blades: Add Studio timed transcripts editor to video player.

Jason Bau committed
537
LMS: enhanced shib support, including detection of linked shib account
Jason Bau committed
538 539
at login page and support for the ?next= GET parameter.

540
LMS: Experimental feature using the ICE change tracker JS pkg to allow peer
Jason Bau committed
541 542
assessors to edit the original submitter's work.

543 544 545
LMS: Fixed a bug that caused links from forum user profile pages to
threads to lead to 404s if the course id contained a '-' character.

546 547
Studio/LMS: Add password policy enforcement to new account creation

Ned Batchelder committed
548 549 550
Studio/LMS: Added ability to set due date formatting through Studio's Advanced
Settings.  The key is due_date_display_format, and the value should be a format
supported by Python's strftime function.
551

552 553 554
Common: Added configurable backends for tracking events. Tracking events using
the python logging module is the default backend. Support for MongoDB and a
Django database is also available.
555

556
Blades: Added Learning Tools Interoperability (LTI) blade. Now LTI components
557 558
can be included to courses.

559 560 561
LMS: Added alphabetical sorting of forum categories and subcategories.
It is hidden behind a false defaulted course level flag.

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

565 566 567
LMS, Studio: Centralized startup code to manage.py and wsgi.py files.
Made studio runnable using wsgi.

568 569
Blades: Took videoalpha out of alpha, replacing the old video player

570 571 572 573
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.

574 575 576 577 578
Studio/LMS: Allow for 'preview' and 'published' in a single LMS instance. Use
middlware components to retain the incoming Django request and put in thread
local storage. It is recommended that all developers define a 'preview.localhost'
which maps to the same IP address as localhost in his/her HOSTS file.

579 580 581 582
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.

583 584 585 586 587 588 589 590 591
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.

592 593 594
LMS: Added bulk email for course feature, with option to optout of individual
course emails.

595 596 597
Studio: Email will be sent to admin address when a user requests course creator
privileges for Studio (edge only).

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

601 602 603 604
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
605 606
Common: Added ratelimiting to our authentication backend.

607 608
Common: Add additional logging to cover login attempts and logouts.

cahrens committed
609 610 611 612
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.

613 614 615
Studio: Added improvements to Course Creation: richer error messaging, tip
text, and fourth field for course run.

616 617 618 619 620 621 622 623 624 625
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.

626 627 628 629 630
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).
631

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

635 636 637
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.

Ned Batchelder committed
638 639
Common: Add a manage.py that knows about edx-platform specific settings and
projects
640

jkarni committed
641 642
Common: Added *experimental* support for jsinput type.

643 644 645
Studio: Remove XML from HTML5 video component editor. All settings are
moved to be edited as metadata.

646 647
Common: Added setting to specify Celery Broker vhost

648 649
Common: Utilize new XBlock bulk save API in LMS and CMS.

650 651 652 653
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.

654 655 656 657
LMS: Added *experimental* crowdsource hinting manager page.

XModule: Added *experimental* crowdsource hinting module.

David Baumgold committed
658 659
Studio: Added support for uploading and managing PDF textbooks

Ned Batchelder committed
660 661
Common: Student information is now passed to the tracking log via POST instead
of GET.
662

Ned Batchelder committed
663 664
Blades: Added functionality and tests for new capa input type:
choicetextresponse.
665

666 667
Common: Add tests for documentation generation to test suite

Ned Batchelder committed
668 669
Blades: User answer now preserved (and changeable) after clicking "show answer"
in choice problems
670

671 672
LMS: Removed press releases

673 674
Common: Updated Sass and Bourbon libraries, added Neat library

Ned Batchelder committed
675 676
LMS: Add a MixedModuleStore to aggregate the XMLModuleStore and
MongoMonduleStore
Chris Dodge committed
677

Jason Bau committed
678 679 680 681
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).

682 683
LMS: Fixed a reflected XSS problem in the static textbook views.

684 685 686 687 688
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
689
Blades: Small UX fix on capa multiple-choice problems.  Make labels only
Jason Bau committed
690 691
as wide as the text to reduce accidental choice selections.

692
Studio:
693
- use xblock field defaults to initialize all new instances' fields and
Ned Batchelder committed
694
  only use templates as override samples.
695
- create new instances via in memory create_xmodule and related methods rather
Ned Batchelder committed
696 697 698
  than cloning a db record.
- have an explicit method for making a draft copy as distinct from making a
  new module.
699

700 701 702
Studio: Remove XML from the video component editor. All settings are
moved to be edited as metadata.

703 704
XModule: Only write out assets files if the contents have changed.

705 706
Studio: Course settings are now saved explicitly.

707 708 709 710
XModule: Don't delete generated xmodule asset files when compiling (for
instance, when XModule provides a coffeescript file, don't delete
the associated javascript)

711 712 713
Studio: For courses running on edx.org (marketing site), disable fields in
Course Settings that do not apply.

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

717 718
Common: Use coffee directly when watching for coffeescript file changes.

719 720
Common: Make rake provide better error messages if packages are missing.

721 722
Common: Repairs development documentation generation by sphinx.

Brian Wilson committed
723 724 725 726 727 728 729
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.

730 731
LMS: Fixed the preferences scope for storing data in xmodules.

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

735 736
Studio, LMS: Make ModelTypes more strict about their expected content (for
instance, Boolean, Integer, String), but also allow them to hold either the
Ned Batchelder committed
737 738 739
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.
740

741 742 743
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
744
Blades: Added tests for Video Alpha player.
745

746 747
Common: Have the capa module handle unicode better (especially errors)

748 749
Blades: Video Alpha bug fix for speed changing to 1.0 in Firefox.

Ned Batchelder committed
750 751
Blades: Additional event tracking added to Video Alpha: fullscreen switch,
show/hide captions.
752

753 754
CMS: Allow editors to delete uploaded files/assets

755
XModules: `XModuleDescriptor.__init__` and `XModule.__init__` dropped the
Ned Batchelder committed
756 757
`location` parameter (and added it as a field), and renamed `system` to
`runtime`, to accord more closely to `XBlock.__init__`
758

759 760 761 762 763
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)

Ned Batchelder committed
764 765
Blades: Simplify calc.py (which is used for the Numerical/Formula responses);
add trig/other functions.
Peter Baratta committed
766

767 768 769 770 771 772 773 774 775 776 777 778 779 780 781
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
782
are logged on the server (in the logs).
783

Ned Batchelder committed
784 785
Common: all dates and times are not time zone aware datetimes. No code should
create or use struct_times nor naive datetimes.
786

787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805
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.

806
Studio: Autoplay for Video Alpha is disabled (only in Studio).
807 808 809 810 811 812 813 814 815 816 817

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
818 819 820 821
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
822 823
Studio: Allow for intracourse linking in Capa Problems

824 825 826 827 828 829 830 831
Blades: Videoalpha.

XModules: Added partial credit for foldit module.

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

XModules: Show errors with full descriptors.

832 833 834 835
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

836 837 838 839 840 841 842 843 844 845 846 847 848
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.

849
LMS: Option to email students when enroll/un-enroll them.
jmclaus committed
850 851

Blades: Added WAI-ARIA markup to the video player controls. These are now fully
852
accessible by screen readers.
853 854

Common: Added advanced_module for annotating images to go with the ones for text and videos.