-
Notifications
You must be signed in to change notification settings - Fork 7
/
change_log.txt
269 lines (224 loc) · 9.33 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
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
Version 2.7.1 (11/25/2024)
--------------------------
* Handle generic types with more than one type argument
* Fixes for some parts of normalization for types
Version 2.7.0 (10/30/2024)
--------------------------
* Added `PIL` (Pillow) and fixed `drafter` type definitions for TIFA
* Fixed a bug with submodules not being imported correctly in TIFA
* Prevent more than 8 stack frames from being shown (critical for recursion going out of control)
Version 2.6.4 (9/20/2024)
-------------------------
* Standard environment now also reports compliments (positive feedback)
Version 2.6.3 (8/15/2024)
-------------------------
* Fixed bug with `SandboxResult` not handling integer/float operations correctly in some cases
* Changed Wheat Chaff game language to use "imposter" and "genuine" terminology
Version 2.6.2 (5/1/2024)
------------------------
* Changed spacing in the terminal environment
* Temporarily disabled unit_test as a context manager while the skulpt version is fixed
* Fixed TIFA bug with update assignment of attributes
* Initial type and runtime support for Drafter
* First version of Cloud tool
* Some of the code for the Pools feature
* Ongoing work related to fixing up the Score API
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