Skip to content

Latest commit

 

History

History
162 lines (99 loc) · 4.78 KB

CHANGELOG.md

File metadata and controls

162 lines (99 loc) · 4.78 KB

Changelog

All notable changes to the protowhat project will be documented in this file.

2.1.0

  • Support Python version 3.9
  • Update dependencies to up-to-date versions

2.0.1

  • Expose prepare_validation from protowhat.checks

2.0.0

  • Refactor SCT syntax to be an execution graph and enable derived features
  • Split SCT syntax and SCT context code
  • Refactor exceptions to share an interface to simplify logic
  • Refactor feedback to be centralized and built from formalized components
  • Add support for embedding xwhats
  • Add prepare_validation helper for checking bash history
  • Add autodebug (_debug will be invoked automatically for instructor errors)

1.14.1

  • Fix final feedback message after append_messsage(s) from having duplicate information

1.14.0

  • Add (default off) append_message functionality to check_node, check_edge and has_eqaul_ast

1.13.0

  • Add include_head option to Selector

1.12.0

  • Add messaging helpers

1.11.2

  • Proper handling of ast.get_text returning None in has_code

1.11.1

  • Handle highlight position absence (in combination with antlr-ast v0.7.0)

1.11.0

  • Add bash history SCTs
  • Add State.is_root property
  • Return file path in feedback if set

1.10.0

  • Pass file path to SCT chain after check_file

1.9.0

  • Add allow_errors

1.8.2

  • Support unicode when checking files
  • Fix disabling parsing file content

1.8.0

  • Feedback doesn't need to be subclassed in depending SCT libraries.
  • _debug now has an on_error argument which can be set to True to show debugging info on the next failure or before finishing.
  • No NumPy dependency
  • Simplified State.report

1.7.0

This release improves the base functionality for all depending SCT libraries.

  • Add _debug SCT introspection function
  • Add State.parent_state and State.state_history as a general state linking mechanism (using State.creator)
  • Add TestRunner and TestRunnerProxy and make Reporter a TestRunnerProxy
  • Add AST and text offset support in Runner
  • Improve Dispatcher, Feedback and Test interfaces

1.6.0

This release enables protowhat to be the base for pythonwhat.

  • do_test now runs a Test as in pythonwhat, instead of accepting a feedback string.
  • the explicit Fail subclass should be used instead of relying on the old default implementation of Test
  • the report(feedback: Feedback) method on the State class reintroduces a short way to gather exercise feedback, equivalent to do_test(Fail(Feedback(msg))), while also setting highlight info.
  • the legacy_signature decorator enables to call a function using old argument names when they are passed as keyword arguments
  • AST utils to dump and load a tree structure to be used in e.g. dispatching are improved

1.5.0

  • Update parsing class interface for compatibility with antlr-ast
  • Support finding dynamic nodes in AST tree (instead of just custom defined nodes)
  • Change ckeck_edge default value of index argument from None to 0
    • This is done to break less content
    • Now: explicitly define the value of the index argument
    • Later: revert default change and remove unnecessary explicit setting of the index argument

1.4.0

  • Refactor based on refactor in antlr-ast>=0.4.1, antlr-plsql>=0.7.0 and antlr-tsql>=0.11.0

1.3.0

  • Support force_diagnose State option to force passing diagnose tests in check_correct.

1.2.0

  • Update to work with new ANTLR library versions

1.1.2

  • Fix in has_code() that was causing issues in some cases.

1.1.1

  • Maintenance on docs.

1.1.0

  • Update argument names and argument defaults for file-related checks.

1.0.2

  • Re-exposing the state_dec object in the SCT context so it can be used by shellwhat_ext and sqlwhat_ext.

1.0.1

  • In shellwhat, it is possible that _msg is None after calling state.ast_dispatcher.describe. This is now handled by including a default message for _msg.

1.0.0

Contains breaking changes!

Added

  • More tests
  • State now has functionality to stack messages in an array, so you can prepend messages from earlier check functions, similar to pythonwhat (using Jinja)

Changed

  • check_field renamed to check_edge.
  • test_student_typed renamed to has_code.
  • test_or, test_correct and test_not renamed to check_or, check_correct and check_not.
  • has_equal_ast messaging improved (more suggestive).
  • check_node and check_edge mesaging improved (more suggestive).
  • has_equal_ast argument names and defaults changed.
  • The way the reporter raises errors has been improved, allowing for interactive experimentation with SCT functions in the future and easier testing.
  • Error handling in the reporter has been cleaned up

Removed

  • Most of the AST-related documentation has been moved to sqlwhat.