forked from pedal-edu/pedal
-
Notifications
You must be signed in to change notification settings - Fork 0
/
change_log.txt
239 lines (199 loc) · 8.15 KB
/
change_log.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
Version 2.6.1 (3/19/2024)
-------------------------
* The explain, gently, guidance, and compliment functions can now take `message_template` as a keyword parameter INSTEAD of `message`
* Fixed a bug in assert_regex and assert_not_regex
* Added in assert_output_regex and assert_not_output_regex
* Custom resolvers now better supported from command line
* Added simple/single resolver to gradescope
Version 2.6.0 (3/16/2024)
-------------------------
* Allow unit_test to be used as a context manager
* Various documentation improvements
* Improved table output on terminal
* Provide Sandbox command get_function to wrap a function with call
* Testing libraries are now exposed in the top-level import
Version 2.5.9 (8/21/2023)
-------------------------
* Fix error where a blank file would break the terminal environment.
Version 2.5.8 (8/02/2023)
-------------------------
* Correctly importing close_output and correct_output from assertions.positive
Version 2.5.7 (7/25/2023)
-------------------------
* Considered feedback is now collected in the Final Feedback object's `considered` field
* Changed terminal to no longer allow output to a file
* (Hopefully) fix Cait's find_all function for visit_Num in 3.7
Version 2.5.6 (7/13/2023)
-------------------------
* Ported over `curriculum-sneks` good stuff: ensure_function_returns, prevent_function_prints, all the bakery test checks, etc.
Version 2.5.5 (7/10/2023)
-------------------------
* Changed output of Terminal environment's correct feedback to have an extra newline
Version 2.5.4 (6/30/2023)
-------------------------
* Fix Terminal checkmarks being the wrong color on some platforms
* Make Terminal mask filename output
* Start of logging code
* Fix bug with visit_Constant in CaitNode's `find_all` method for new Python versions.
Version 2.5.3 (6/23/2023)
-------------------------
* Fix bug where CaitNodes are not exportable to JSON
* New profile for analysis: BlockPy consenting (where the LinkSubject table is not present)
* Can filter Progsnap data in some more generic ways
* Fix tests for versions 3.7 through 3.11
* Improved documentation across codebase
* Fix terminal output for blockpy environment
* Feedback objects can now have overridden attributes, which can also be safely reset using `clear_report`
* Provided the `get_python_errors` function in Sandbox to get native runtime and syntax errors.
* Improvements to the Terminal environment
* Slight alterations to the syntax_error feedback message to include more of the original exception
Version 2.5.2 (6/14/2023)
-------------------------
* Further improve terminal environment
* Minor changes to how feedback mode outputs to console
* Allow easy JSON dumping for final feedback object
Version 2.5.1 (6/09/2023)
-------------------------
* Create terminal environment, with colored output
* Minor compatibilty fixes for Python 3.10+
* Superior runtime/syntax errors in Python 3.10+ (positions are shown)
Version 2.5.0 (5/26/2023)
-------------------------
* Upgrade minimum version to Python 3.7 (from 3.6)
* More sophisticated export of JSON format from Pedal
* Rename `success` field to `correct` field in Final Feedback
* Rename `set_success` to `set_correct` (provide compatiblity alias for now)
* Rename `set_success_no_errors` to `set_correct_no_errors`
* Export location data as a top-level Final field
Version 2.4.2 (5/22/2023)
-------------------------
* Expose a top-level set_formatter function
* TIFA feedback messages now correctly format their line numbers
Version 2.4.1 (5/22/2023)
-------------------------
* Fix mocking of flush when using Real IO
* Provide real_io parameter for run
Version 2.4.0 (5/18/2023)
-------------------------
* Allow for normal I/O in Sandbox (`allow_real_io` and `block_real_io`)
* Added `clear_mocked_function` to `Sandbox`
* Add print_resolve to top-level Pedal import
Version 2.3.9 (1/16/2023)
-------------------------
* Wheat/Chaff Game feature (needs work)
* Dataclass support
* Microbit stuff
* Fix bug with multiple reruns of Pedal not reseting type system
Version 2.3.8
-------------
* Bug fix for metadata of threaded Sandboxed function calls
* Bug fix for Standard environment's execution
Version 2.3.7
-------------
* Fixed bug with Full Feedback Resolver not sorting feedback by priority
* GradeScope resolver now allows custom messages (pre-alpha)
* GradeScope resolver now supports leaderboard
Version 2.3.6
-------------
* GradeScope environment has hidden unit tests
* unit_test can now take in an assertion function
* Suppressed TIFA warning message for unknown modules
* Fixed bug with error messages not rendering correctly in runtime errors
Version 2.3.5
-------------
* Pedal now supports loading IPYNB files directly
* NBGrader Environment can filter IPYNB cells
* Sandbox's open function will now respect Submission files better
* Online tests will now respect requirements_dev.txt
* GradeScope environment now outputs all Used feedback
* Fixed assert_group label in unit_test
* Bug fix for CAIT in classes
Version 2.3.4
-------------
* New environment: NBGrader (prototype)
* New hook for adding feedback to reports
* New Pedal logo (not yet integrated)
* New silent resolver
* New tracing mode for Sandbox that can track functions
* Remove dependency on Coverage module
Version 2.3.3
-------------
* Fixes for Sandbox's block/allow function mocking
* Fixing up GradeScope environment
* Feedback's field serialization can now be overridden
Version 2.3.2
-------------
* Add missing __index__ method to SandboxResult
* Fix SandboxResult's __int__ to return an integer
Version 2.3.1
-------------
* Fixed up the `log` command to work more like `print`
* Make VPL environment output System commands
* Fixed VPL environment's formatting
Version 2.3.0
-------------
* Added ProgSnap SQL-format support to command line
* Added shortcut for --create_output (-m)
* Fixed bug with normalizing string literal type annotations
* Fixed set literal support for Tifa/type normalizer
* Added support for `run` command line mode
* Fixed support for `sandbox` command line mode
* Fix default Formatter to be command-line friendly (no HTML output)
* Make Standard environment the default for the command line.
Version 2.2.1
-------------
* Added find_asts(node) to replace parse_program().find_all(node)
* Separated built documentation into a distinct branch
* Minor fixes for python 3.6 and 3.9 compatibility
* Updated documentation for latest version
* Fixed bug in ensure_correct_plot (failed for even correct plot)
* Now support ^ operator for XORing feedbacks
* Introduced new find_asts
* New environment, GradeScope
Version 2.2.0
-------------
* New scoring API, allowing string scores
* Allow "else_message" on feedback functions.
* Debug CLI gives more context
* ensure_function now allows compliment parameter
* Resolvers can now analyze ignored feedback
* The unit_test function now supports more features
* New environment, VPL
Version 2.1.1
-------------
* Fix TIFA issue with secondary branches
Version 2.1.0
-------------
* Published on 9/27/2020
* CLI interface improved
* More tests
Version 2.0.2
-------------
* Minor bug fixes in TIFA, and some other tools
* Added `printed` method for Sandbox
Version 2.0.1
-------------
* Added in `pedal.quick` to allow easy mass importing of all "core" modules.
Version 2.0.0
-------------
Massive rewrite to internals, formalizing certain system components and adding more metadata across the board.
Version 1.0.0
-------------
Operator's names can now be accessed with "op_name" instead of "op".
Nodes no longer have a .data_type field; instead you must use the data_type helper function
from pedal.cait.cait_api import data_type
names = ast.find_all("Name")
data_type(names[0]).is_equal("StrType")
Various instructor_* libraries have been moved into pedal.toolkits and pedal.mistakes
from instructor_printing -> from pedal.toolkit.printing import *
from instructor_utility -> from pedal.toolkit.utilities import *
from pedal.toolkit.printing import *
from pedal.toolkit.utilities import *
from pedal.toolkit.functions import *
Still to fix:
#20??: Needs to point the exampe out to the correct place
#22.5: Need to fix output_test in toolkit.functions
#25.3: Needs to point the example out to the correct place
#25.4: WE
#33.3: WE
#39.4: WE