Nbgrader Versions Save

A system for assigning and grading notebooks

v0.8.0

1 year ago

0.8.0

(Full Changelog)

Enhancements made

Bugs fixed

Maintenance and upkeep improvements

Documentation improvements

Contributors to this release

(GitHub contributors page for this release)

@brichet | @dependabot | @jhamrick | @jtpio | @minrk | @perllaghu | @rkdarst

v0.8.0a2

1 year ago

0.8.0a2

(Full Changelog)

Bugs fixed

Contributors to this release

(GitHub contributors page for this release)

@brichet

v0.8.0a1

1 year ago

0.8.0a1

(Full Changelog)

Enhancements made

Maintenance and upkeep improvements

  • Move the jupyter_releaser hooks from package.json to pyproject.toml #1617 (@brichet)

Contributors to this release

(GitHub contributors page for this release)

@brichet

v0.8.0a0

1 year ago

0.8.0a0

(Full Changelog)

Enhancements made

Bugs fixed

Maintenance and upkeep improvements

Documentation improvements

Contributors to this release

(GitHub contributors page for this release)

@brichet | @jhamrick | @jtpio | @minrk | @perllaghu | @rkdarst

v0.7.1

1 year ago

The following PRs were merged for the 0.7.1 milestone:

  • PR #1607: More informative error messages in ClearSolutions
  • PR #1598: Fix mathjax in formgrade templates
  • PR #1593: Pin traitlets dependency for 0.7.x
  • PR #1590: Ensure html files aren't copied over from documentation
  • PR #1582: Trivial typo: "int the database"
  • PR #1579: Only add extra_template_basedirs if it has not been set
  • PR #1576: Revert "[converters/autograde] Fix autograded notebook permission"
  • PR #1518: [converters/autograde] Fix autograded notebook permission

Thanks to the following users who submitted PRs or reported issues that were merged or fixed for the 0.7.1 release:

  • Anmol23oct
  • brichet
  • jhamrick
  • kno10
  • mhwasil
  • szazs89
  • tmetzl

v0.7.0

2 years ago

The following PRs were merged for the 0.7.0 milestone:

  • PR #1572: Fix a false positive test
  • PR #1571: Add workflow to enforce GitHub labels
  • PR #1569: Add Python 3.10 to CI pipeline
  • PR #1568: Update markupsafe requirement from <2.1.0 to <2.2.0
  • PR #1567: Upgrade nbconvert
  • PR #1565: Bump pytest from 6.2.4 to 7.1.2
  • PR #1564: Pin to notebook<7 for now
  • PR #1561: Add missing 'self' argument to late_submission_penalty
  • PR #1559: Fix breaking tests due to changes in the newest Jinja2 release
  • PR #1558: Bump pytest-xdist from 2.4.0 to 2.5.0
  • PR #1557: Update jupyter-client requirement from <7 to <8
  • PR #1541: Update setup.py with dependency ranges
  • PR #1539: Improve CI by running sphinx linkcheck
  • PR #1519: Make generate solutions preprocessors configurable
  • PR #1504: Bump sqlalchemy from 1.4.23 to 1.4.25
  • PR #1503: Bump pytest-xdist from 2.2.1 to 2.4.0
  • PR #1502: Bump alembic from 1.7.1 to 1.7.3
  • PR #1498: Bump rapidfuzz from 1.5.1 to 1.6.2
  • PR #1497: Bump notebook from 6.4.3 to 6.4.4
  • PR #1496: docs/index: Move setup-related topics to configuration section
  • PR #1494: docs: update highlights to introduce the notebook format
  • PR #1493: docs: revise "Managing assignment files" pages
  • PR #1489: Bump rapidfuzz from 1.4.1 to 1.5.1
  • PR #1488: Bump traitlets from 5.0.5 to 5.1.0
  • PR #1487: Bump alembic from 1.6.5 to 1.7.1
  • PR #1480: Bump sqlalchemy from 1.4.22 to 1.4.23
  • PR #1478: Bump notebook from 6.4.2 to 6.4.3
  • PR #1477: Bump notebook from 6.4.1 to 6.4.2
  • PR #1476: Fix Issue with Courses tab on Multi courses
  • PR #1475: Bump notebook from 6.4.0 to 6.4.1
  • PR #1472: Bump sqlalchemy from 1.4.21 to 1.4.22
  • PR #1470: Update badges in README
  • PR #1469: Bump python-dateutil from 2.8.1 to 2.8.2
  • PR #1468: Bump sqlalchemy from 1.4.20 to 1.4.21
  • PR #1467: Bump sqlalchemy from 1.4.18 to 1.4.20
  • PR #1466: Bump requests from 2.25.1 to 2.26.0
  • PR #1458: Lock setup dependencies
  • PR #1457: Add missing rollbacks to try/except clauses that execute db commits
  • PR #1450: Update autograding_resources.rst
  • PR #1444: Remove continuous integration for python 3.6
  • PR #1442: Bump traitlets from 4.3.3 to 5.0.5
  • PR #1441: Update pytest requirement from <6.0.0,>=4.5 to 6.2.4
  • PR #1440: Bump pytest-xdist from 1.34.0 to 2.2.1
  • PR #1438: Validate pre and post convert hooks
  • PR #1437: Make converter exporter class configurable
  • PR #1431: Add dependabot configuration
  • PR #1425: Use NBGRADER_VALIDATING env var during autograding
  • PR #1422: Fix docs building
  • PR #1420: Fix various SQLAlchemy errors and warnings
  • PR #1419: Update releasing docs and tools
  • PR #1394: Added CLI for generating solution notebooks
  • PR #1381: find cell failure when stderr is used
  • PR #1376: Make preprocessors of generate assignment, autograde and generate feedback configurable
  • PR #1330: Update azure pipelines matrix to add Python 3.8
  • PR #1329: Update the test matrix on Travis to Python 3.6+
  • PR #1324: Ensure errors are written to cell outputs to prevent the autograder from awarding points for failed tests
  • PR #1320: Add nbgrader collect --before-duedate option
  • PR #1315: ExchangeFetchAssignment deleting the wrong config
  • PR #1287: Add mypy for type checking
  • PR #1282: Further type annotations across the codebase
  • PR #1276: remove db_assignments db_students
  • PR #1274: Further Python 3 type annotations on top-level files
  • PR #1268: Type annotations for the api
  • PR #1259: Remove Python 2 compatibility code
  • PR #1257: Deprecate Python 2 support
  • PR #1238: Pluggable exchange
  • PR #1222: CourseDir.format_path: supports absolute paths in nbgrader_step

Thanks to the following users who submitted PRs or reported issues that were merged or fixed for the 0.7.0 release:

  • aliniknejad
  • AnotherCodeArtist
  • bbhopesh
  • BertR
  • brichet
  • elesiuta
  • gymreklab
  • HanTeo
  • jgwerner
  • jhamrick
  • jnishii
  • jtpio
  • LaurentHayez
  • liuq
  • lzach
  • nthiery
  • omelnikov
  • QuantumEntangledAndy
  • rkdarst
  • ryanlovett
  • samarthbhargav
  • sigurdurb
  • Tebinski
  • tmetzl
  • Wildcarde
  • willingc
  • ykazakov

v0.6.2

3 years ago

nbgrader version 0.6.2 is a bugfix release. The following PRs were merged:

  • PR #1443: Fix broken windows tests
  • PR #1410: partial credit returns zero when score is zero
  • PR #1388: Move from travis ci to github actions
  • PR #1384: Fix migrations.
  • PR #1369: Pin nbconvert to 5.6.1, traitlets to 4.3.3 and pytest to <6.0.0
  • PR #1362: Fix migration, grade cells were looking for a non-existing column
  • PR #1356: add SAS codestub and autograde for metakernel based non-python kernels
  • PR #1352: Description of "what is nbgrader?"
  • PR #1343: Update deprecated jquery functions and update jquery
  • PR #1341: Make format_path behave the same for absolute paths
  • PR #1319: use rapidfuzz instead of fuzzywuzzy
  • PR #1308: docs: Fix formgrader group name in docs
  • PR #1288: Fixes #1283: Replace AppVeyor badge with Azure Devops badge
  • PR #1281: Demos using Python3
  • PR #1249: timestamp_format raises an exception

Thanks to the following users who submitted PRs or reported issues that were merged or fixed for the 0.6.1 release:

  • BertR
  • chinery
  • echuber2
  • enisnazif
  • fredcallaway
  • HanTeo
  • jgwerner
  • jhamrick
  • jld23
  • kcranston
  • lzach
  • maxbachmann
  • nklever
  • Patil2099
  • rkdarst
  • tmetzl

v0.6.1

4 years ago

nbgrader version 0.6.1 is a bugfix release. The following PRs were merged:

  • PR #1280: Fix inappropriate use of sum with newer sqlite
  • PR #1278: Fix course list hanging when exchange has not been created
  • PR #1272: Improve test coverage in auth folder
  • PR #1270: Add requirements for readthedocs
  • PR #1267: Improve the error message on the assignments page
  • PR #1260: Set up CI with Azure Pipelines
  • PR #1245: Move away from using the internal Traitles API to load default configuration.
  • PR #1243: Fix project name typo
  • PR #1228: Fix formgrader API
  • PR #1227: Bump pytest required version to 4.5 for custom marker support
  • PR #1208: Improve coverage of nbgraderformat
  • PR #1205: Check for newer feedback in nbgrader list
  • PR #1204: Force generate feedback by default in API
  • PR #1200: Associate feedback files with unique submission attempts
  • PR #1197: Do not duplicate assignments when fetching feedback
  • PR #1196: Fix config warning in ExchangeReleaseAssignment
  • PR #1194: Update releasing instructions

Thanks to the following users who submitted PRs or reported issues that were merged or fixed for the 0.6.1 release:

  • BertR
  • enisnazif
  • jhamrick
  • kinow
  • nthiery
  • sir-dio

v0.6.0

4 years ago

nbgrader version 0.6.0 is a major release, involving over 100 PRs and 60 issues. This includes many bug fixes, small enhancements, and improved docs. The major new features include:

  • Better support for multiple classes with JupyterHub. In particular, a new "Course List" extension has been added which provides instructors access to separate formgrader instances for all the classes they can manage. Additionally, JupyterHub authentication is used to control which students have access to which assignments.
  • Better LMS integration (for example, adding a lms_user_id column in the Student table of the database).
  • Better support for feedback. In particular, there is now the ability to generate and return feedback to students through nbgrader with the generate_feedback and release_feedback commands, and the ability for students to fetch feedback with the fetch_feedback command. This functionality is also available through the formgrader and Assignment List extensions.
  • Instructions for how to do grading inside a Docker container, for increased protection against malicious code submitted by students.
  • A new type of nbgrader cell called a "task" cell which supports more open-ended solutions which may span multiple cells.

Important: Users updating from 0.5.x to 0.6.0 should be aware that they will need to do the following (please make sure to back up your files before doing so, just in case anything goes wrong!):

  • Update their nbgrader database using nbgrader db upgrade.
  • Update the metadata in their assignments using nbgrader update.
  • Reinstall the nbgrader extensions (see :doc:/user_guide/installation).

Please also note that some of the nbgrader commands have been renamed, for consistency with the new feedback commands:

  • nbgrader assign is now nbgrader generate_assignment
  • nbgrader release is now nbgrader release_assignment
  • nbgrader fetch is now nbgrader fetch_assignment

The full list of PRs is:

  • PR #1191: Allow access to formgrader when not using JuptyerHub auth
  • PR #1190: Add JupyterHub demos
  • PR #1186: Remove student_id and change root to cache, permission check to only execute
  • PR #1184: Move the fetch feedback API from formgrader to assignment_list
  • PR #1183: Feedback: update fetch_feedback command line help
  • PR #1180: Fix versions of pytest and nbconvert
  • PR #1179: Add CourseDir.student_id_exclude option to exclude students
  • PR #1169: Fix minor typo in js extension helper text
  • PR #1164: assignment_dir: Add into several missing places
  • PR #1152: Rename 'nbgrader fetch' to 'nbgrader fetch_assignment'
  • PR #1151: Rename 'nbgrader release' to 'nbgrader release_assignment'
  • PR #1147: Add test to ensure that db upgrade succeeds before running assign
  • PR #1145: Rename nbgrader feedback to nbgrader generate_feedback
  • PR #1140: A few more updates to the docs for multiple classes
  • PR #1139: Additional docs sanitization
  • PR #1138: Ensure that cell type changes result in valid nbgrader metadata
  • PR #1137: Rename "nbgrader assign" to "nbgrader generate_assignment"
  • PR #1135: section on grading in docker container
  • PR #1131: Better support for multiple classes
  • PR #1127: Better documentation of nbgrader_config.py
  • PR #1126: Remove the third party resources page
  • PR #1125: Check that the course directory is a subdirectory of the notebook dir
  • PR #1124: Only run nbextensions tests on oldest and newest versions of python
  • PR #1123: Ensure course directory root path has no trailing slashes
  • PR #1122: Fix incorrect usage of Exchange.course_id
  • PR #1121: Fix logfile
  • PR #1120: Integrate feedback distribution within nbgrader
  • PR #1119: added a sanatizing step to the doc creation.
  • PR #1118: Integrate course_id into the api and apps
  • PR #1116: Autograde & Assign: create missing students/assignments by default
  • PR #1115: Fix typo in tmp filename prefix in conftest.py
  • PR #1114: Documentation for multiple classes
  • PR #1113: Add a course list extension that shows all courses an instructor can manage
  • PR #1112: Locate all configurable classes for generate_config subcommand
  • PR #1111: Optional consistency check between owner and student_id upon collect
  • PR #1110: Systematic use of utils.get_username instead of $USER
  • PR #1109: naming the temporary directories in tests
  • PR #1108: Extended support for filtering files copied in the exchange
  • PR #1106: Remove testing of python 3.4
  • PR #1105: Remove extra keys in nbgrader metadata and better schema mismatch errors
  • PR #1102: Only build docs with one version of python
  • PR #1101: Add jupyter education book to third party resources
  • PR #1100: Run test in the python group in parallel using pytest-xdist
  • PR #1099: Add course table, add course_id column to assignment
  • PR #1098: Customizable student ID in nbgrader submit
  • PR #1094: Update license
  • PR #1093: Add authentication plugin support
  • PR #1090: partial credit for autograde test cells
  • PR #1088: Remove version requirement from urllib3
  • PR #1084: Fix miscellaneous bugs
  • PR #1080: compatibility with SQLAlchemy 1.3+
  • PR #1075: Give ExecutePreprocessor the Traitlets config during validation
  • PR #1071: student and assignment selection in exportapp implemented
  • PR #1064: Validate all cells
  • PR #1061: Set env var NBGRADER_VALIDATING when validating
  • PR #1054: Raise error when executed task fails
  • PR #1053: Remove changes to sitecustomize.py and dependency on invoke
  • PR #1051: Remove spellcheck and enchant dependency
  • PR #1040: Restrict access for students to different courses
  • PR #1036: Add a general lms user id column to the student table
  • PR #1032: fix: return info of reper function is wrong in api.py
  • PR #1029: Documentation fix to add info re: timeout errors.
  • PR #1028: Some improvements to the contributor list script
  • PR #1026: Mark test_same_part_navigation as flaky
  • PR #1025: Fixing failing tests, take 2
  • PR #1024: Fix deprecation warning with timezones
  • PR #1023: Ensure nbgrader list still works with random strings
  • PR #1021: Fix tests, all of which are failing :(
  • PR #1019: Make nbgrader quickstart work with existing directories
  • PR #1018: Add missing close > for url to display correctly
  • PR #1017: Fix all redirection
  • PR #1014: a mistake in comment
  • PR #1005: Add random string to submission filenames for better hiding
  • PR #1002: Change to notebook directory when validating (repeat of #880)
  • PR #1001: Allow setting a different assignment dir for students than the root notebook directory
  • PR #1000: Allow instructors to share files via shared group id
  • PR #994: Add link to jupyter in education map
  • PR #991: Fix broken documentation
  • PR #990: Include section on mocking (autograding resources)
  • PR #989: Update developer installation instructions
  • PR #984: Adding global graded tasks
  • PR #975: Fix the link to the activity magic
  • PR #972: Use mathjax macro for formgrader
  • PR #967: Added note in FAQ about changing cell ids
  • PR #964: Added "if name == "main":"
  • PR #963: Add third party resources to the documentation
  • PR #962: Add grant_extension method to the gradebook
  • PR #959: Allow apps to use -f and --force
  • PR #958: Do some amount of fuzzy problem set name matching
  • PR #957: Remove underscores from task names
  • PR #955: Ignore .pytest_cache in .gitignore
  • PR #954: Fix bug in find_all_files that doesn't properly ignore directories
  • PR #953: update log.warn (deprecated) to log.warning
  • PR #948: Move config file generation to a separate app
  • PR #947: Exclude certain assignment files from being overwritten during autograding
  • PR #946: Fix failing tests
  • PR #937: Strip whitespace from assignment, student, and course ids
  • PR #936: Switch from PhamtomJS to Firefox
  • PR #934: Skip filtering notebooks when ExchangeSubmit.strict == True
  • PR #933: Fix failing tests
  • PR #932: Prevent assignments from being created with invalid names
  • PR #911: Update installation.rst
  • PR #909: Friendlier error messages when encountering a schema mismatch
  • PR #908: Better validation errors when cell type changes
  • PR #906: Resolves issues with UTF-8
  • PR #905: Update changelog and rebuild docs from 0.5.4
  • PR #900: Improve issue template to explain logic behind filling it out
  • PR #899: Help for csv import
  • PR #897: Give more details on how to use formgrader and jupyterhub
  • PR #892: Format code blocks in installation instructions
  • PR #886: Add nbval for non-Windows tests/CI
  • PR #877: Create issue_template.md
  • PR #871: Fix NbGraderAPI.timezone handling
  • PR #870: added java, matlab, and octave codestubs to clearsolutions.py
  • PR #853: Update changelog from 0.5.x releases
  • PR #838: Fetch multiple assignments in one command

Huge thanks to the following users who submitted PRs or reported issues that were merged or fixed for the 0.6.0 release:

  • 00Kai0
  • Alexanderallenbrown
  • aliandra
  • amellinger
  • BertR
  • Carreau
  • cdvv7788
  • Ciemaar
  • consideRatio
  • damianavila
  • danielmaitre
  • DavidNemeskey
  • davidpwilliamson
  • davis68
  • ddbourgin
  • ddland
  • dechristo
  • destitutus
  • dsblank
  • edouardtheron
  • fenwickipedia
  • fm75
  • FranLucchini
  • gertingold
  • hcastilho
  • JanBobolz
  • jedbrown
  • jhamrick
  • jnak12
  • kcranston
  • kthyng
  • lgpage
  • liffiton
  • mikezawitkowski
  • mozebdi
  • mpacer
  • nabriis
  • nthiery
  • perllaghu
  • QuantumEntangledAndy
  • rgerkin
  • rkdarst
  • Ruin0x11
  • rwest
  • ryanlovett
  • samhinshaw
  • Sefriol
  • sigurdurb
  • slel
  • soldis
  • swarnava
  • takluyver
  • thotypous
  • vahtras
  • VETURISRIRAM
  • vidartf
  • willingc
  • yangkky
  • zonca

v0.5.6

4 years ago

nbgrader version 0.5.6 is a small release that only unpins the version of IPython and Jupyter console.