forked from Chorus-bdd/Chorus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchangelist.xml
294 lines (294 loc) · 23.3 KB
/
changelist.xml
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="./changelist.xsl"?>
<changes>
<version>
<versionNumber>4.0.1</versionNumber>
<comment>Support for setting selenium driver log level</comment>
<change desc="Support setting selenium driver log level in selenium handler config, suppress excess output from Edge driver by default"/>
</version>
<version>
<versionNumber>4.0.0</versionNumber>
<comment>Promote release candidate version to main release</comment>
<change desc="Promote RC version"/>
</version>
<version>
<versionNumber>4.0.0-RC2</versionNumber>
<comment>Support gradle 6 pathing jars for classpath scanning</comment>
<change desc="Support scanning java exec classpaths from gradle 6+ which use a pathing jar to avoid problems with long classpaths on Windows platform"/>
</version>
<version>
<versionNumber>4.0.0-RC1</versionNumber>
<comment>New major version of Chorus with JDK 17 compatibility. 4.0.0-RC1 is a pre-release version for Chorus 4.0, 3.1.x is the latest stable branch</comment>
<change desc="A chorus interpreter built with JDK 17, maintaining source and target compatibility for Java 8"/>
<change desc="Support for Edge browser (msedgedriver) in chorus-selenium"/>
</version>
<version>
<versionNumber>3.1.3</versionNumber>
<comment>Support setting a custom WebDriverFactory in SeleniumHandler config</comment>
<change desc="The Selenium Handler config now supports setting a CUSTOM driver type and configuring a webDriverFactoryClass property. This factory class will be instantiated and used to create a WebDriver for Selenium testing"/>
</version>
<version>
<versionNumber>3.1.2</versionNumber>
<comment>Support secure JMX connection for Chorus Remoting Handler</comment>
<change desc="It is now possible to supply a username and password in the Remoting handler config and make a connection to component exporting Chorus Handlers on a secured JMX service"/>
</version>
<version>
<versionNumber>3.1.1</versionNumber>
<comment>Patch release to support binary distribution</comment>
<change desc="Add the CHORUS_CLASSPATH environment variable onto the classpath when running Chorus from the CLI using the binary distribution"/>
</version>
<version>
<versionNumber>3.1.0</versionNumber>
<comment>Support for JDK 11</comment>
<change desc="Build under JDK 11, support JDK 8+ as a runtime environment"/>
</version>
<version>
<versionNumber>3.0.0</versionNumber>
<comment>Major release of Chorus with lots of new capabilities</comment>
<change desc="Addition of chorus-js to connect browser-based apps to the Chorus interpreter"/>
<change desc="Addition of Web Sockets Handler to allow connections from browser-based apps using chorus-js (and other future wesocket client APIs)"/>
<change desc="Support for Docker in Chorus-Docker project, provides Chorus images to run a Chorus interpreter within a Docker container"/>
<change desc="Add extra summary stats and closing report on test failures"/>
<change desc="Show step catalogue feature (-b, -showStepCatalogue)"/>
<change desc="ExecutionPriority annotation to fix ordering of ExecutionListener lifecycle callbacks"/>
<change desc="Support for pluggable Subsystems - SubsystemManager classpath scanning for subsystems, @SubsystemConfig annotation"/>
<change desc="Addition of Selenium Handler and SeleniumManager to launch and interact with browsers"/>
<change desc="Build bundle to run Chorus from terminal"/>
<change desc="Colour highlighting for terminal output"/>
<change desc="Add SQL Handler"/>
</version>
<version>
<versionNumber>2.0.2</versionNumber>
<comment>Minor patch release with some small fixes and improvements</comment>
<change desc="Don't fail with duplicate steps if default handler is named in Uses list"/>
<change desc="Allow aliases for processes started with ProcessesHandler directives"/>
<change desc="Initialize Chorus output streams as early as possible to avoid other libraries on the classpath redirecting this"/>
<change desc="Fix for boolean switch evaluation"/>
<change desc="Patched feature file parsing to remove unnecessary limit on file size"/>
</version>
<version>
<versionNumber>2.0.1</versionNumber>
<comment>Set scope to FEATURE automatically for processes and connections established during Feauture-Start:</comment>
<change desc="Where a scope is not configured explicitly, Chorus can now intelligently set the scope to FEATURE for processes and remoting
connections established during the special Feauture-Start: scenario"/>
</version>
<version>
<versionNumber>2.0.0</versionNumber>
<comment>A major milestone release with a new modular chorus interpreter. This is not fully backwards compatible with major version 1.x.x due to some package renaming
which may require minor revisions to end user step logic, and a change to remoting jmx implementation. Additionally 2.x.x requires jdk 1.7+</comment>
<change desc="Initial chorus 2.0.0 with modular structure"/>
<change desc="New (pluggable) Subsystems for Remoting, Process management and Configuration"/>
<change desc="@ChorusResource - Support for injecting chorus subsystems for process management, remoting and configuration into a handler"/>
<change desc="@ChorusResource - Support for injecting handler instances"/>
<change desc="Revised handler configuration with ConfigurationManager subsystem"/>
<change desc="Support for directives #!"/>
<change desc="Added support for running with a profile - each profile can have associated config properties/property overrides"/>
<change desc="Refactored and improved jmx remoting and restructured remoting subsystem to permit new remoting protocols"/>
<change desc="Support disabling a process in config so it doesn't get started"/>
</version>
<version>
<versionNumber>1.6.9</versionNumber>
<comment>Some improvements to Remoting logic and addition of ProcessManager</comment>
<change desc="ProcessesHandler and RemotingHandler delegate to a ProcessManager and RemotingManager, cleaner division of responsibilities"/>
<change desc="When remoting to local process started with ProcessesHandler, we don't have to provide remoting config / remoting jmx port, so long as process configuration includes it"/>
<change desc="When starting multiple local processes with the same base config using ProcessesHandler, the jmx and debug ports are auto-incremented"/>
</version>
<version>
<versionNumber>1.6.8</versionNumber>
<comment>Add FailImmediatelyException to break out of a @PassesWithin or PolledAssertion</comment>
<change desc="Add FailImmediatelyException which can be used to fail a @PassesWithin step method immediately"/>
</version>
<version>
<versionNumber>1.6.7</versionNumber>
<comment>A minor fix to remove some unnecessary null results from the console output when connecting to components using chorus version before 1.6.6</comment>
<bugfix desc="Fix handling of null results in console output with earlier verisons of the chorus remoting api"/>
</version>
<version>
<versionNumber>1.6.6</versionNumber>
<comment>Set the lastResult variable into ChorusContext following each step</comment>
<change desc="Remove the legacy JUnitSuiteRunner (use @Uses(ChorusSuite.class) instead)"/>
<change desc="Improve exception output when step fails to ensure exception type is included"/>
<change desc="Set the lastResult variable into ChorusContext following each step"/>
<change desc="Coerce the String null to java null when captured as a step method parameter"/>
<change desc="Distinguish variable exists with a null value from variable doesn't exist in ChrousContextHandler"/>
</version>
<version>
<versionNumber>1.6.5</versionNumber>
<comment>Expand chorus context variables in steps prior to execution, improve ChorusContextHandler</comment>
<change desc="Where a step contains a variable in the form ${variableName} replace this with the value of the
variable from the chorus context if available"/>
<change desc="Support some basic mathematical operations in the Chorus Context Handler"/>
</version>
<version>
<versionNumber>1.6.4</versionNumber>
<comment>Warn when multiple step-macro match, Support Resource annotation on handler superclasses in chorus-spring</comment>
<change desc="When a step is matched by multiple step macro log a warning"/>
<change desc="Support the @Resource annotation on superclasses of handler classes in chorus-spring"/>
<change desc="Gracefully handle the case where chorus-spring is on the classpath but Spring isn't"/>
<change desc="Support @ChorusResource annotation on handler superclasses"/>
<bugfix desc="Fix an issue where ProcessesHandler would not always find a pattern when searching within lines"/>
</version>
<version>
<versionNumber>1.6.3</versionNumber>
<comment>Tagging for Scenario-Outline scenarios, OutputFormatter for interpreter output and logging, Console Mode for output</comment>
<change desc="Better description for Scenario-Outline scenarios - the first variable defined in each table row
is appended to the scenario name, to make it easier to match scenario to example in chorus' output"/>
<change desc="Enable tagging for Scenario-Outline examples - if the examples table defines a variable with the name
chorusTags then use any values in that column as chorus tags for the generated scenarios"/>
<change desc="Add support for configurable OutputFormatter, which can be used to change both Chorus interpreter output and logging output."/>
<change desc="Add an OutputFormatter for console output, and add a -c console mode switch to turn this on. In console mode Chorus shows an animated cursor for steps in progress"/>
<change desc="Show the parent step for a step macro in the console output up front, before the child steps are executed, rather than waiting for the child steps to complete"/>
<change desc="Add console output for long running test steps"/>
<bugfix desc="Fix ProcessHandler for Mac/OS X when using JDK 1.5/1.6"/>
</version>
<version>
<versionNumber>1.6.2</versionNumber>
<comment>Minor bugfix release</comment>
<bugfix desc="PassesWithin / PolledAssertion will now stop polling if the polled step method execution time overruns the specified period"/>
</version>
<version>
<versionNumber>1.6.1</versionNumber>
<comment>Add support to allow non-java processes or scripts to be launched and configured with properties in the same manner as java processes.</comment>
<change desc="Added a pathToExecutable property for the Processes Handler. This can be a relative path from the feature directory or an absolute path. Where set this causes Chorus to treat the process as a native process instead of launching a new jvm instance. The other non-java-specific properties may be set as usual so that native processes now have first class support."/>
</version>
<version>
<versionNumber>1.6.0</versionNumber>
<comment>A major release with some significant new features. Backwards compatible with 1.5.x apart from renaming of the class HandlerScope to Scope</comment>
<change desc="Add support for Feature-Start: and Feature-End: scenarios"/>
<change desc="Add support for @ChorusResource(scenario.token)"/>
<change desc="Add a Scope.FEATURE for handlers which get created once per feature and are reused during scenarios"/>
<change desc="Rename HandlerScope to Scope since the concept is now more generally applicable"/>
<change desc="Introduce an @Initialize annotation for handler initialization lifecycle methods"/>
<change desc="@Initialize and @Destroy methods on handlers can be scoped to HandlerScope.FEATURE or HandlerScope.SCENARIO"/>
<change desc="When using Chorus Context Handler, context variables set during Feature-Start: are made available to all scenarios"/>
<change desc="Added support for custom ExecutionListener"/>
</version>
<version>
<versionNumber>1.5.4</versionNumber>
<comment>Support extra characters in step macro parameter names and fix an issue with @PassesWithin under jdk 1.5</comment>
<change desc="Allow - and _ characters within step macro parameters"/>
<bugfix desc="Fix for @PassesWithin when used in remote process under jdk 1.5"/>
</version>
<version>
<versionNumber>1.5.3</versionNumber>
<comment>Addition of @PassesWithin annotation to help eliminate waits in scenarios</comment>
<change desc="Add the @PassesWithin annotation as a better alternative to the direct use of PolledAssertion"/>
</version>
<version>
<versionNumber>1.5.2</versionNumber>
<comment>Enhancements to process handling and JUnit suite</comment>
<change desc="When running under JDK 1.7, use ProcessBuilder to create a process. Set io redirect on std out/err atomically on process start"/>
<change desc="Add processCheckDelay for ProcessesHandler - check process shortly after start and fail the step if it terminated with an error code"/>
<change desc="Fail scenario if process is set to log to files, and the log directory is not writable"/>
<change desc="OutputMode for ProcessesHandler child processes. Can be set independently for std out and std err streams. One of FILE (log to file), INLINE (with interpreter out), CAPTURED (buffered by interpreter for pattern matching) or CAPTUREDWITHLOG (buffered and log processed output to file)"/>
<change desc="Add to ProcessesHandler pattern matching steps to match output from child processes when in CAPTURED mode"/>
<change desc="Add to ProcessesHandler steps to write text to child process input stream"/>
<change desc="New ChorusSuite runner for use with JUnit 4 @RunWith"/>
<change desc="Chorus JUnit runners now correctly observe tags / tagged tests"/>
<change desc="If all else fails kill hung interpreter after timeout expires"/>
</version>
<version>
<versionNumber>1.5.1</versionNumber>
<comment>Add support for Step-Macro language feature - resuable groups of steps which are preparsed and available within Scenario</comment>
<change desc="Support feature-local and global StepMacro"/>
<change desc="Steps may now have child steps (when the step matches a defined StepMacro the macro steps become child steps)"/>
<change desc="Support stepMacroPaths config parameter which defaults to be the same as featurePaths when not specified"/>
</version>
<version>
<versionNumber>1.5.0</versionNumber>
<comment>New milestone release of Chorus. This release provides better support for chorus tools via enhanced interpreter result Tokens. Work is underway in the chorus tools project to
provide a Chorus web agent which can receive results from the interpreter and allows viewing of test suite results in the browser, along with a run history, step timings and rss feed</comment>
<change desc="New configuration property modes to set certain interpreter properties to override value. This allows log level to be overridden as a classpath switch, for example"/>
<change desc="-h handlerPackages is once more a mandatory parameter. Problems with class loading during class scanning were too often a cause of issues"/>
<change desc="Better logging of interpreter switches"/>
<change desc="More interpreter state is now available in a revised set of serializable chorus Tokens which are sent to remote execution listeners"/>
<change desc="Each of the tokens apart from Step now has an EndState (passed, failed or pending), Step has its own more granular end states"/>
<change desc="Add timing information to tokens at step level and a total execution time in suite results"/>
<change desc="Add configurable scenario timeout which will attempt to interrupt a scenario if it takes too long. New interpreter switch to set the max time"/>
<change desc="Support the visitor pattern in Chorus results tokens"/>
</version>
<version>
<versionNumber>1.4.16</versionNumber>
<comment>Bugfixes</comment>
<bugfix desc="Fix premature closing of standard output stream which was causing some lost output when running Chorus tests as junit suites"/>
</version>
<version>
<versionNumber>1.4.15</versionNumber>
<comment>Minor enhancements</comment>
<change desc="Support check() method which validates conditions over the whole duration of a time period in PolledAssertion"/>
<change desc="Support setting time limit through await() parameters in PolledAssertion"/>
<change desc="Support for Spring's ContextConfiguration annotation is restored"/>
</version>
<version>
<versionNumber>1.4.14</versionNumber>
<comment>Minor enhancements</comment>
<change desc="Add shutdown hook to terminate child process under test in the event of early interpreter exit"/>
</version>
<version>
<versionNumber>1.4.13</versionNumber>
<comment>Enhancements to process logging and minor fixes and enhancements</comment>
<change desc="Support process property appendToLog, append to process log files instead of overwriting"/>
<change desc="Support process property createLogDir, turn off/on auto creation of log directory"/>
<change desc="log4j.xml process config can now be in local feature directory instead of in ./conf subdirectory"/>
<change desc="Add PolledAssertion class, a utility to remove sleeps in features by polling/waiting a limited time for an assertion to pass"/>
<change desc="RemotingHandler now supports steps in the form .* from componentName in addition to .* in componentName"/>
<change desc="Chorus Tools will now be released/maintained as a separate project"/>
</version>
<version>
<versionNumber>1.4.12</versionNumber>
<comment>Minor fixes and enhancements</comment>
<change desc="Now possible to start the interpreter using more succinct org.chorusbdd.Chorus instead of org.chorusbdd.chorus.Main"/>
<bugfix desc="Pending steps should not cause interpreter to exit with fail status.
Where all tests either pass or are pending the exit code should be zero (success).
The point of marking a step as pending is to prevent that step causing failure"/>
</version>
<version>
<versionNumber>1.4.11</versionNumber>
<comment>Minor fixes and enhancements for handler property files</comment>
<change desc="More logging when loading handler properties, logging when encountering an unsupported property"/>
<bugfix desc="Fixed a bug in which default properties not always applied"/>
</version>
<version>
<versionNumber>1.4.10</versionNumber>
<comment>A new release of chorus with some important enhancements. In particular this release includes more robust handling for establishing remote connections using Remoting handler jmx, and more flexible configuration options for handlers</comment>
<change desc="Remoting handler makes a configurable number of attempts to connect before failing when using JMX protocol. The number of attempts is configured using the connectionAttempts and the wait between each failed attempt and the next is configured using connectionAttemptMillis remoting handler properties"/>
<change desc="Changes to ChorusHandlerExporter to allow a remote process to export multiple handlers in one atomic operation"/>
<change desc="Process handler now supports a step to wait until a process terminates"/>
<change desc="Standardise property file loading logic across all built in handlers"/>
<change desc="Support loading a chorus.properties from the classpath, also support chorus.properties and featurename.properties local to feature directory"/>
<change desc="Handler property files may now be in either the main feature directory or the subdirectory conf"/>
<change desc="Where a property file name does not contain a suffix identifying the handler (e.g. -remoting.properties) then the handler type must be the first token of each property key e.g. remoting.myprocess.connectionAttempts=10"/>
<change desc="Support setting defaults for handler configuration properties in property files as handlerType.default.propertyName"/>
<change desc="Expand system properties and chorus properties ${chorus.featuredir} ${chorus.featurefile} ${chorus.featurename} ${chorus.featureconfig} in property file values loaded"/>
<change desc="Remote exceptions are named in the interpreter output and the class and line number where the exception occurred are provided to assist debugging"/>
<change desc="Better handling for exceptions with no messages set, especially NullPointer"/>
<change desc="New configurable property logDirectory for Processes handler - determines where the standard out and error go when logging is on"/>
<change desc="Handler property files for features with configurations now expect the configuration name before the handler type suffix. e.g. configA-remoting.properties instead of remoting-configA.properties"/>
</version>
<version>
<versionNumber>1.3.9</versionNumber>
<comment>General release, minor enhancements and fixes</comment>
<change desc="Better error logging during feature run, don't log as a feature parsing error when the error occurs during feature processing"/>
<change desc="StandardOutLogProvider is now the default even where apache commons logging is on the classpath. Use -DchorusLogProvider=org.chorusbdd.chorus.logging.ChorusCommonsLogProvider if you want Chorus to log using commons logging"/>
<change desc="ChorusJUnitRunner can now accept interpreter parameters as a String, as an alternative to setting sys props"/>
<bugfix desc="Set log level correctly when executing chorus tests as a JUnit suite with ChorusJUnitRunner"/>
<bugfix desc="Handle Runtime exceptions thrown by user defined handler @Destroy methods"/>
</version>
<version>
<versionNumber>1.3.8</versionNumber>
<comment>Full Chorus Release</comment>
<change desc="No functional changes, complete initial set of chorus self-tests"/>
</version>
<version>
<versionNumber>0.3.7</versionNumber>
<comment>Final beta release candidate for chorus</comment>
<change desc="Support a returned value from remote step invocations"/>
<change desc="Fixes for scenario tagging features"/>
<change desc="Renamed Jxm Handler to Remoting Handler to support future protocols"/>
</version>
<version>
<versionNumber>0.3.6</versionNumber>
<comment>First beta release of Chorus</comment>
<change desc="Set up Chorus for publication to Maven central"/>
</version>
</changes>