-
Notifications
You must be signed in to change notification settings - Fork 4
/
CHANGELOG
219 lines (219 loc) · 11 KB
/
CHANGELOG
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
3.0.2:
- (cmeiklejohn) Minor UX refactoring.
3.0.1:
- (cmeiklejohn) Failed release.
3.0.0:
- (cmeiklejohn) Bad release, same as 2.2.3.
2.3.0:
- (cmeiklejohn) Switch to jackson for GRPC value serialization.
- (cmeiklejohn) Remove errorprone.
- (cmeiklejohn) Remove dependency locking.
- (cmeiklejohn) Disabled two flaky tests.
2.2.3:
- (cmeiklejohn) Add Daikon instrumentors.
2.2.2:
- (MichaelA-ops) Implement transformers wrapping DB exceptions.
2.2.1:
- (cmeiklejohn) Add default injection of ResponseTimeoutException.
2.2.0:
- (cmeiklejohn) Clean up reporting to use GSON response.
2.1.10:
- (cmeiklejohn) Render nested RPCs properly in the UX.
2.1.9:
- (MichaelA-ops) Encapsulate Byzantine faults in transformers.
- (cmeiklejohn) Add analysisResourceFile property.
- (cmeiklejohn) Clarify error messages.
- (cmeiklejohn) Add fault mismatching failure option.
2.1.8:
- (cmeiklejohn) Add option for deferment of exception to server interceptor.
- (cmeiklejohn) Add sleep option with deferment for injection of fault at server interceptor.
2.1.7:
- (cmeiklejohn) Fix bug where UX incorrectly displayed HTTP errors as warnings.
- (cmeiklejohn) Remove HTTP transformer fault support due to incompatibility with HTTP chunking.
- (cmeiklejohn) Revert to status code reporting for HTTP.
- (cmeiklejohn) Accumulate chunked responses.
- (cmeiklejohn) Fix display of query string in the UX.
2.1.6:
- (cmeiklejohn) Fix percentage error.
2.1.5:
- (cmeiklejohn) Improve UX.
- (MichaelA-ops) Attach transformer faults to Postgres/CockroachDB int, boolean, byte[] and string field types.
2.1.4:
- (MichaelA-ops) Attach transformer faults to nested fields of JSONObjects.
- (MichaelA-ops) Inject boolean, string and JSONObject transformer faults in Redis values encoded as string or byte array.
- (cmeiklejohn) Add tool tips.
2.1.3:
- (cmeiklejohn) Improve support for HTTP.
2.1.2:
- (cmeiklejohn) Add missing Armeria Kotlin dependency.
2.1.1:
- (MichaelA-ops) Implement GatewayTransformer for injecting Byzantine faults.
- (MichaelA-ops) Implement Transformer class for inverting booleans.
- (MichaelA-ops) Implement Transformer class for dropping JSONObject keys.
2.1.0:
- (cmeiklejohn) Update assertion API to clarify usage.
- (MichaelA-ops) Support gRPC non-primitive Protobuf types and show them in the plugin.
- (MichaelA-ops) Fix bug where the plugin does not show all intercepted methods in a test iteration.
- (cmeiklejohn) Change RPC type to enum, requires breaking change from grpc to GRPC in any analysis configuration files.
- (cmeiklejohn) Alter dependencies.
- (cmeiklejohn) Improve the server invocation report.
2.0.1:
- (MichaelA-ops) Add tests combining GRPC and Byzantine transformer faults.
2.0.0:
- (MichaelA-ops) Use dynamic proxy interceptor for Redis and Cockroach.
- (MichaelA-ops) Introduce transformer faults.
- (MichaelA-ops) Generate transformer faults inductively, not up front.
- (MichaelA-ops) Use a generic accumulator in transformer faults.
- (MichaelA-ops) Implement String transformers.
- (MichaelA-ops) Implement byte[] transformers.
- (MichaelA-ops) Use different background colours in the plugin for Byzantine and transformer faults.
- (MichaelA-ops) Implement afterInvocationWithByzantineFault and afterInvocationWithTransformerFault.
- (MichaelA-ops) Add new test scenarios for transformer and Byzantine faults.
- (MichaelA-ops) Add test services and unit tests for DynamoDB, Cassandra, CockroachDB and Postgres.
- (MichaelA-ops) Add exception config files for DynamoDB, Cassandra, CockroachDB and Postgres.
- (MichaelA-ops) Inject RedisConnectionException.
- (MichaelA-ops) Support null transformer fault injection for HTTP and GRPC.
- (MichaelA-ops) Inject faults on Future objects when they are resolved at a later point.
- (MichaelA-ops) Add Filibuster option and property FailIfFaultNotInjected.
- (MichaelA-ops) Implement feature to track invocations of a specific method on an intercepted object.
- (MichaelA-ops) Add Filibuster option and property FailIfFaultNotInjectedAndATrackedMethodIsInvoked.
1.9.13:
- (cmeiklejohn) Don't assume class name is the service name.
1.9.12:
- (cmeiklejohn) Add second constructor for invocation interceptor that takes a class directly.
1.9.11:
- (cmeiklejohn) Invocation reporting fixes.
- (cmeiklejohn) Add invocation report into the main UX.
- (cmeiklejohn) Add option to fail on any organic failures.
- (cmeiklejohn) Add filters for fault injection.
1.9.10:
- (MichaelA-ops) UI: Show fix messages on plugin for FilibusterGrpcTestRuntimeException.
1.9.9:
- (cmeiklejohn) Fix overloads for consistency.
1.9.8:
- (cmeiklejohn) Rebuild of bad package.
- (cmeiklejohn) New test UX/UI.
1.9.7:
- (cmeiklejohn) Refactor compositional testing interface.
- (MichaelA-ops) UI: Underline currently selected test iteration.
1.9.5:
- (cmeiklejohn) Fix of bad build.
1.9.4:
- (cmeiklejohn) Fix a UX bug where the page is empty when Filibuster is disabled.
1.9.3:
- (cmeiklejohn) Update invocation report to show hit endpoints.
1.9.2:
- (cmeiklejohn) Minor API cleanup and documentation.
1.9.1:
- (cmeiklejohn) Fix javadoc for proper publishing.
1.9.0:
- (cmeiklejohn) Improve test interface.
1.8.0:
- (cmeiklejohn) New test interface style.
- (cmeiklejohn) Fix bug in getAvoidInjectionsOnOrganicFailures.
- (cmeiklejohn) Fix UX rendering issues.
- (cmeiklejohn) Warn on bypassed executions.
- (MichaelA-ops) Implement generic dynamic proxy interceptor
- (MichaelA-ops) Add test service for CockroachDB
- (cmeiklejohn) Clean up snippets.
- (cmeiklejohn) Add new end to end test.
- (cmeiklejohn) Add new fault helper API that records test block type.
- (cmeiklejohn) Report types in UX when scope counter is enabled.
- (cmeiklejohn) Add end to end test with Redis FI.
- (cmeiklejohn) Fix several UX issues.
1.7.6:
- (MichaelA-ops) Use fully qualified method names for callsite in RedisInterceptor
- (MichaelA-ops) Implement temporary fix for wasFaultInjectedOnService method
1.7.5:
- (cmeiklejohn) Add conditional assertion snippets.
1.7.4:
- (cmeiklejohn) Add prototype excel reporting.
- (cmeiklejohn) Fix UX bug.
- (MichaelA-ops) Add support and test scenarios for byzantine fault injection.
1.7.3:
- (MichaelA-ops) Add support for injecting more Redis exceptions.
1.7.2:
- (cmeiklejohn) Provide a warning if maxIterations value is less than the under-approximated iterations remaining.
1.7.1:
- (cmeiklejohn) Fix ordering of writes of the UX report.
1.7.0:
- (cmeiklejohn) Bug fix for UX rendering of failures.
- (MichaelA-ops) Add prototype Redis fault injection support.
1.6.5:
- (jiujiu1123) small font fix
- (cmeiklejohn) Add new property filibuster.test.avoid_injections_on_organic_failures.
1.6.4:
- (jiujiu1123) Fix the issue where failing test in after block is not reported
- (jiujiu1123) Allow for test failure stack traces to be propagated up to the UI
1.6.3:
- (cmeiklejohn) Fix bug with call site generation using incorrect frame for call site.
- (cmeiklejohn) Add avoid redundant RPC option for caching use cases.
- (cmeiklejohn) Add option to hide cached entries from the UX.
1.6.2:
- (cmeiklejohn) Add support for M1 macs.
1.6.1:
- (cmeiklejohn) Replace prototype implementation of fault scope counter with test scope counter DEI implementation.
- (cmeiklejohn) Fix issue where redundant RPC warning didn't consider test scopes.
- (cmeiklejohn) Remove FILIBUSTER_DISABLED option.
- (cmeiklejohn) Display test scopes in UX.
- (cmeiklejohn) Fix bug with + vs , usage on splits.
1.6.0:
- (cmeiklejohn) Refactor assertion API.
- (cmeiklejohn) Add new property for controlling inclusion of test scope into DEI computation.
- (cmeiklejohn) Add DEI debugging back into the UX.
- (cmeiklejohn) Add new fault scope management that keeps track of assertion block usage.
- (cmeiklejohn) Add new faultFree assertion block to prohibit fault injection.
- (cmeiklejohn) Restore original throwable assertion API.
- (cmeiklejohn) Move assertion API to Assertions.Grpc module.
- (cmeiklejohn) Test cleanup.
- (cmeiklejohn) Add prototype implementation of scoped DEIs.
1.5.7:
- (jiujiu1123) Fix minor UI issues for test suite report
- (jiujiu1123) Add class name to better identify test reports
- (cmeiklejohn) Ensure warnings do not display by default.
- (cmeiklejohn) Fix visibility and pluralization of warnings indicator.
- (cmeiklejohn) Fix assertion failure font size.
- (cmeiklejohn) Properly escape HTML in the assertion error.
- (cmeiklejohn) Add number of tests before select.
1.5.6:
- (cmeiklejohn) Fix regression where the warning did not display.
1.5.5:
- (cmeiklejohn) Fix possible NPE for analysis file.
- (cmeiklejohn) Revise UX, fix spacing in all areas.
- (cmeiklejohn) Add test name to UX.
- (cmeiklejohn) Add test failure into UX.
1.5.4:
- (cmeiklejohn) Use IFRAME for the list of tests.
1.5.3:
- (cmeiklejohn) Deprecate analysisFile property for analysisResourceFile property now.
1.5.2:
- (cmeiklejohn) UX cleanup.
- (cmeiklejohn) Rename annotation to @TestWithFilibuster.
1.5.1:
- (cmeiklejohn) Added new assertPassesAndThrowsOnlyUnderFault API.
- (cmeiklejohn) Add system properties for data nondeterminism, combination suppression, max iterations, and analysis configuration.
1.5.0:
- (cmeiklejohn) Annotation now requires setting the filibuster.enabled system property to inject faults.
1.4.2:
- (jiujiu1123) Fix small memory leak issue where references to FilibusterCore was kept
1.4.1:
- (jiujiu1123) Add the ability for a test suite report to be generated
1.4.0:
- (cmeiklejohn) Rename the test annotation from FilibusterTest to TestWithFaultInjection.
1.3.2:
- (cmeiklejohn) Empty release for Sonatype debugging.
1.3.1:
- (cmeiklejohn) Alter the generated test names to make clear the first execution is fault-free.
- (cmeiklejohn) Add degraded mode (FILIBUSTER_DEGRADED=true) which only executes the first, fault-free execution.
1.3.0:
- (cmeiklejohn) Ensure causeMessage renders in the UX, when supplied.
- (cmeiklejohn) Ensure the description of the exception renders in the UX, when supplied.
- (cmeiklejohn) Change default analysis configuration for JUnit to inject the UNKNOWN grpc error code.
- (cmeiklejohn) Add additional tests for causeMessage, description, circuit breaker, UNKNOWN exception types and codes.
1.2.1:
- (cmeiklejohn) Add support for custom descriptions in injectable cause messages.
- (cmeiklejohn) Fix issue where missing cause in grpc fault injection would crash Filibuster.
1.2.0:
- (cmeiklejohn) First prototype of compositional Filibuster.
- (cmeiklejohn) Add ability to write assertions using ServiceModuleGrpc.getMethodNamedThis().
- (cmeiklejohn) Fix issue where the FILIBUSTER_DISABLED=true option introduced too much overhead in test generation by introducing the @FilibusterConditionalByEnvironmentSuite annotation.