Release history

v4.2.0

2024-03-25
Type Id Changes By
- Update Kubernetes module christophd
#1122 Gracefully shutdown test context on error bbortt
- Bump Quarkus 3.8.0 bbortt
- Bump Spring Integration 6.2.2 bbortt
- Bump Jetty 12.0.6 bbortt
- Bump Apache Camel 4.4.0 christophd
#1125 Use static access for CustomEditorConfigurer tschlat
#1116 Fix CitrusLifecycleHooks to not break Cucumber API christophd
#1115 Create new test context for each Cucumber scenario christophd
#1100 Empty file resource returns true on exist tschlat
- Test sharding bbortt
- Make JsonTextMessageValidator ignore the order of JsonArrays bbortt

v4.1.1

2024-01-25
Type Id Changes By
- (deps) update metrics-core to v4.2.25 christophd
- (deps) update json-schema-validator to v1.2.0 christophd
- (deps) update mockito to v5.10.0 bbort
- (deps) update org.apache.sshd to 2.12.0 bbort
- (deps) update selenium-java to v4.17.0 bbort
- (deps) update metrics-core to v4.2.24 bbort
- Improve FtpMarshaller and FtpMessage christophd
- Improve Camel endpoint builder support christophd
#1107 Support non Unicode remote file handle on SFTP server christophd
- Improve Citrus Quarkus extension information christophd
- Allow configuration of xml validator via constructor bbort
#1105 Fix some broken link formatting picimako
#1105 Fix some code snippet issues picimako
#1105 Fix some typos picimako

v4.1.0

2024-01-17
Type Id Changes By
- Easy Json response helpers bbort
- Add fill form Selenium test action christophd
#1083 Add OpenAPI connector christophd
#1086 Citrus Functions documentation gaps picimako
#1089 Kubernetes client config with auth token valisol
- XML validation add fail if no schema found attribute bbort
#1094 Fix nested jar url issue tschlat
- Fix nested jar loading with relative URL bbort
- Bump dependency versions christophd
#1090 Update TestNG to version 7.9 christophd

v4.0.2

2023-11-22
Type Id Changes By
#1057 Add marshaller type environment variable setting christophd
#1058 Introduce default fallback text message validator christophd
#1062 Enable SSL secure connection configuration christophd
#1018 Flaky parallel test action container unit test christophd
#1071 Resolve resources in fat jars tschlat
- Fix Json field reference in validation error message christophd
- Flaky sync JMS topic communication test christophd
- Avoid hiding exceptions in forked actions christophd
- Avoid NPE when reading file content of resource that does not exist christophd
- Properly initialize components added to CitrusContext christophd
#1066 Remove unnecessary validations, and reorganize jms template picimako
- Fix flaky date function test bbort
- Cookie on http response with status code bbort

v4.0.1

2023-11-13
Type Id Changes By
#1046 Resolve excessive class pass scanning tschlat
#1046 Fix bugs in resource path resolvers bbort
#1049 Starting JBang script support christophd
#1055 Avoid duplicate loading of configuration classes christophd
#1052 Provide ConversionService config bbort
- Improve MailServer known users configuration christophd
- Fix spring.schemas christophd
- Support loading data dictionary from xml bbort
- Vulnerability in bouncycastle bbort

v4.0.0

2023-10-25
Type Id Changes By
#922 Use Java JDK 17 bbort
#922 Update to Spring 6.0 bbort
#922 Update to Apache Camel 4.0 christophd
#938 Move to groupId org.citrusframework bbort
#922 Remove obsolete dependencies christophd
#922 Remove vintage modules bbort
#922 Remove deprecated code christophd
#922 Move citrus-jdbc module to citrus-db project christophd
#922 Move citrus-remote module to separate project christophd
#922 Update Citrus documentation christophd
- Improve Groovy actions script handling christophd
- Update dependency versions christophd
- Fix loading classpath resources when running from a jar turing85
- Fix build on Windows bbort
- Groovy action DSL support christophd
- XML action DSL support christophd
- YAML action DSL support christophd
#924 Fix false positive test report in DefaultTestLoader christophd
#965 Fix TransformAction builder charset setting on xslt resource christophd
#816 CitrusSpringExtension for JUnit5 does not always log the generatedReports christophd
#815 CitrusSpringExtension for JUnit5 occasionally clears all Results christophd
#973 Allow deactivation of standard LoggingReporter schalthoeltt
#341 Allow comma and brackets in matcher expressions schalthoeltt
#988 Add Hamcrest matchesPattern matcher schalthoeltt
#948 Log proper test step index on incremental Citrus tests christophd
#933 Add QuarkusTest runtime support christophd
#976 Disable/Override standard Citrus reporters schalthoeltt
#1031 Properly synchronize zip entries list tschlat
#1032 Deactivate standard reporters tschlat
#1003 Synchronize access to the zipEntries array cache schalthoeltt
#1014 Add a mechanism to provide a custom test case runner schalthoeltt
#978 Allow custom http status codes bbortt
#984 Allow with SQL keyword for query action bbortt
#922 Remove automatic sql variable extraction bbortt
#995 Fix code snippets in the documentation picimako
#922 Upgade and pin Netty 4.1.100.Final apupier
#922 Slim down dependency from docker-java to docker-java-core apupier
#1020 Use try-with-resource to close buffered readers picimako
#990 Improve schema resolving xml tom-29
#1033 Store messages on receiving action christophd

v3.4.0

2023-01-27
Type Id Changes By
#893 Add YAML runtime christophd
#892 Support multiple jsonPath validations christophd
#887 Use standalone bom christophd
#846 Always debug log received message content christophd
- Spring context improvements christophd
- Bump hsqldb from 2.6.1 to 2.7.1 dependabot
- Bump snakeyaml from 1.26 to 1.32 dependabot
- Update dependencies, Apache Camel 3.20.1, Selenium 4.8.0, Spring 5.3.25 christophd
- Update dependencies, Cucumber 7.11.0, JUnit Jupiter 5.9.2, TestNG 7.7.1 christophd

v3.3.1

2023-01-10
Type Id Changes By
- Add citrus-xml module to BOM christophd
#885 Default test loader supports fluent configuration bbortt
#885 Respect citrus context in default test loader bbortt
#894 Avoid NullpointerException in citrus:env function christophd

v3.3.0

2022-08-26
Type Id Changes By
- Bump Apache Camel 3.14.0 to 3.16.0 christophd
- Bump Docker Java to 3.2.13 christophd
- Use JAXB directly instead of Spring OXM marshaller christophd
- Bump Cucumber version to 7.3.1 christophd
- Bump Selenium version to 4.1.0 christophd
- Bump Junit Jupiter version to 5.8.2 christophd
- Bump Mockito version to 4.5.0 christophd
- Bump TestNG version to 7.5 christophd
- Bump Spring from 5.3.19 to 5.3.20 christophd
- Bump jackson version to v2.13.3 christophd
#804 Add plain XML runtime christophd
#857 Add Groovy test runtime christophd
#859 Update default SshServer host key to RSA christophd
#861 Refactor wait action builder christophd
#879 Avoid concurrent modification exception christophd
- Avoid misleading type converter lookup warnings christophd
- Fix obsolete jaxb-core dependency christophd
- Make Spring oxm marshaller dependency optional christophd

v3.2.1

2022-04-05
Type Id Changes By
- Bump Jackson databind to 2.12.6.1 christophd
- Bump spring-core from 5.3.16 to 5.3.18 christophd
- Bump Spring Integration to 5.5.10 christophd
- Bump Spring WS to 3.1.3 christophd
- Fix outbound message logger christophd
- Avoid missing validation contexts christophd
- Fix Spring JUnit5 extension after all callback bbortt

v3.2.0

2022-03-04
Type Id Changes By
- Bump xstream from 1.4.18 to 1.4.19 christophd
- Bump xercesImpl from 2.12.1 to 2.12.2 christophd
- Bump snakeyaml from 1.15 to 1.26 in /vintage/citrus-arquillian christophd
#837 Fix platform specific test failures tschlat
#832 HttpActionBuilder should provide constructor with endpoint tschlat
#831 readFile() function does not honor variables when called with base64 encoding tschlat
#822 Schema validation of message on send tschlat
#818 Factory for TestCase/TestCaseMetaInfo tschlat
#820 Access indexed bean properties via TestContext tschlat
#837 jdk17 compatibility of org.citrusframework.citrus bbortt

v3.1.2

2022-01-12
Type Id Changes By
- Bump Log4j version to 2.17.1 christophd
- Bump Spring Framework to 5.3.6 christophd
- Bump Apache Camel to 3.14.0 christophd
- Bump Cucumber to 6.11.0 christophd
- Bump dependency versions christophd

v3.1.1

2021-12-14
Type Id Changes By
- Bump Log4j version to 2.16.0 christophd
#796 Mask sensitive data in logs christophd

v3.1.0

2021-08-27
Type Id Changes By
- Improved Apache Camel support christophd
- Fix Hamcrest dependency in validation module christophd
- Bump jetty from 9.4.41.v20210516 to 9.4.43.v20210629 christophd
- Bump sshd-core from 2.5.1 to 2.7.0 christophd

v3.0.0

2021-07-21
Type Id Changes By
- Refactor Citrus 3.x christophd
- Update Cucumber to 6.10 christophd
- Update Kafka to 2.8 christophd
- Update Jetty to 9.4 christophd
- Update JUnit to 5.7 christophd
- Update TestNG to 7.1 christophd
- Update Selenium to 3.141 christophd
- Update Apache Camel to 3.9 christophd
- Update Spring to 5.3 christophd
- Update to Java 11 christophd
- Improve Java DSL fluent API christophd
- Make Spring optional christophd
- Modularize Citrus christophd

v2.8.0

2019-01-28
Type Id Changes By
#402 Spring 5.x support christophd
#403 Cucumber 3.x support christophd
#511 Use charset from http headers to parse the payload christophd
#152 Apache Kafka support christophd
#439 SAXParseException when sending SOAP request with empty payload or header ceazy79

v2.7.9

2019-01-27
Type Id Changes By
#561 Lost cookie entries except the last one svettwer
#551 Breaking change in selenium().browser().type() public API martinmaher
#547 Breaking change in waitFor().http() public API svettwer
#557 Breaking change in waitFor().file(String) martinmaher
#558 Breaking change in waitFor().file(File) martinmaher
#552 MessageContentBuilder interface broken for buildMessageContent martinmaher
#569 duplicated cookie entries in http request svettwer
#535 Citrus functions - Inconsistent values of global variables martinmaher
#556 Breaking change in waitFor().message() martinmaher
#584 Update com.fasterxml.jackson.core:jackson-databind to version 2.9.8 or later svettwer
#559 Breaking change in MessageContentBuilder svettwer
#555 WaitBuilder.condition() changed return type svettwer
#554 Change of class signature and typing of WaitConditionBuilder svettwer
#553 Scp client builder does not offer autoReadFiles anymore martinmaher
#455 Cookies are not recognized by HTTP client svettwer
#591 Improve documentation concerning parallel messages svettwer
#562 maven plugin creates invalid testNG Citrus tests svettwer

v2.7.8

2018-11-13
Type Id Changes By
#524 Initial local build failing in citrus-arquillian christophd
#520 update vertx-core because of vulnerabilities svettwer
#509 Inconsistencies in Java doc for RepeatOnError svettwer
#516 Exception in async container is suppressed when used with TestNGCitrusTestRunner svettwer
#505 Maven Goal citrus:create-test generate test class with compile error sparsick
#428 Citrus reports containing invalid XML svettwer
#418 Thread leak in TestCase.finish() bwittwer
#451 Citrus-Maven-Plugin Generate Docs-Mojo fails due to broken path mischcon
#483 Add SFTP client preferred authentications setting christophd

v2.7.7

2018-09-14
Type Id Changes By
#426 XML Serializer is creating new line instead of empty node christophd
#416 How to replace xpath variables in http:put or post christophd
#364 Include Travis CI svettwer
#423 Webservice Basic Auth not working svettwer
#435 Make FTP client passive mode configurable christophd
#437 Http query param header validator breaks with validation matcher expression christophd
#436 Empty Http query params not empty christophd
#424 Cucumber XML steps not loaded christophd
#421 XML Selenium page action does not support multiple arguments christophd
#419 Missing testcase schemas in citrus-config before/after suite christophd
#420 Selenium set-input operation not supporting test variables christophd
#417 Test action container usage in test behavior broken christophd

v2.7.6

2018-06-12
Type Id Changes By
#405 FtpClient does not support variables when storing files christophd
#389 Add Hamcrest Primitive Number Matchers christophd
#411 Add wait for action condition christophd
#398 Improve FTP samples & documentation christophd
#406 Add SFTP/SCP support christophd
#408 JMS topic subscription christophd
#395 Improve Http query param handling christophd
#404 Static message content build breaks with null header value christophd
#394 Add ignore new line validation matcher christophd
#397 Add channel endpoint config and parser christophd
#385 Specifying a DomXmlMessageValidator as validator deactivates XPath validations christophd
#380 Add citrus-jdbc message schema to defaults christophd
#348 CitrusRuntimeException when using JDBC XML tests with schemaRepository christophd
#378 Logging reporter does not print test results in 2.7.5 christophd

v2.7.5

2018-05-06
Type Id Changes By
#357 Unable to initialize Citrus instance - instance has already been initialized christophd
#374 Message selector on non-XML payloads christophd
#375 Send and receive zip archives christophd
#345 Add “.headers” declaration that takes a Map for validation christophd
#363 Remove unnecessary surefire excludes christophd
#369 Default responses for JDBC requests christophd
#376 Support test variables in endpoint names christophd
#356 Support FTP store and retrieve file operations christophd
#355 Remote Citrus test report contains double entries christophd
#362 Correct documentation concerning maven commands svettwer
#371 Replace parameter instead of adding them in JdbcPreparedStatement svettwer
#367 Add binary stream validator christophd
#366 SQL query action requires FROM keyword christophd
#359 HTTP client always converts responses to String christophd
#353 HttpMessageController is not thread-safe imezhenkov
#358 Transfer previously set header/contentType to Message svettwer

v2.7.4

2018-03-12
Type Id Changes By
#327 JsonPath array result type christophd
#322 Add JDBC db server support christophd
#344 Send Http request with encoded URI christophd
#332 Update dependency versions christophd
#343 Add function to resolve system properties christophd
#334 AntPath matching Hamcrest matcher christophd
#330 URL en/decode function christophd
#331 Missing global namespace support in send message XPath evaluation christophd
#329 Async test action container christophd
#328 SOAP server Response with MTOM attachment does not work christophd

v2.7.3

2018-01-15
Type Id Changes By
#326 Validation of http headers should be case insensitive christophd
#318 TestRunner doFinally block position documentation christophd
#304 Multipart file upload christophd
#148 JSON schema validation christophd
#265 Http error handling thread safety christophd
#271 Variable in HTTP request within template not updated christophd
#298 TestNG Dataprovider parameters cannot be used in block christophd
#314 Extend Hamcrest matcher support in XML DSL christophd
#313 How to ignore text parts in plain text validator christophd
#312 HTTP basic authentication doesn’t work christophd
#310 Introduce global dictionary message direction christophd
#307 Package scan with custom file name pattern christophd
#282 How to create a container with port mapping? christophd
#284 Failed to convert value of type ‘java.nio.HeapByteBuffer’ christophd
#143 Add JUnit 5 support christophd
#302 ConcurrentModificationException at com.consol.citrus.message.DefaultMessage.toString() christophd
#303 waitFor() not working with external file system resources christophd
#299 Remove @Autowired from sample methods christophd
#300 MailMessageConverter cannot handle base64 text content christophd
#291 Validating XPath numbers with Hamcrest matchers fails with ClassCastException christophd
#297 Missing variable support in receive timeout action christophd
#266 Cannot use context variables for XPath in message extractor christophd
#183 CitrusTest does not fail if assertEquals fails christophd
#287 Reporting of test results christophd
#280 Provide listener for final actions christophd
#292 Update dependency versions christophd
#272 DelegatingTestAction should implement setName/setActor/setDescription christophd
#268 How to support SOAP 1.2 over JMS christophd
#290 Http server basic auth broken christophd
#288 Update validation.adoc christophd
#277 JSONPath validator doesn’t return array length correctly christophd
#270 Support node list translation in data dictionary christophd
#226 fixed minor typo christophd

v2.7.2

2017-07-07
Type Id Changes By
#265 Http error handling thread safety christophd
#262 Switch to asciidoctor christophd
#243 Access test case variables in Camel Routes definitions christophd
#246 charset=UTF-8 appending to Content-Type for client defined in xml christophd
#244 SQL Testaction does not handle transactions christophd
#263 Update dependency versions christophd
#264 Support environment properties christophd
#187 Unable to retrieve X-CSRF-TOKEN using Header christophd
#184 Needing extractFromCookies() christophd
#231 Http client squeezed double slashes christophd
#238 SoapJmsMessageConverter does not create a SOAP Header christophd
#235 Documentation for custom servlet filters christophd
#229 Add documentation on Cucumber injection mode christophd
#239 Support header child elements christophd
#241 WsdlXsdSchema NullPointerException for valid WSDLs christophd
#245 How to Query ?WSDL from a WebService or HTTP Endpoint christophd
#242 Camel Documentation does not state citrusCamelContext as default name christophd
#256 JMS Endpoints should allow dynamic destination name christophd
#257 Purge JMS queue action doesn’t support variable substitution christophd
#258 HTTP client send doesn’t support variable substitution for header names s1hofmann
#247 Charset cannot be set per file for resources christophd
#248 PlainTextValidator does not ignore whitespaces christophd
#249 Validation fails with null edge case christophd
#250 missing variable support in wait action file condition christophd
#260 custom web-driver is not working with citrus-selenium christophd
#233 Support Hamcrest matchers in header validation christophd
#234 Handle JMS priority header christophd
#228 Java DSL depends on citrus-selenium although declared optional christophd

v2.7.1

2017-03-15
Type Id Changes By
#224 Add ignore validation matcher christophd
#216 Enabled mtomEnabled flag for soap send actions in Java DSL chris-weber
#214 Line separators in plain text validation christophd
#221 Overwriting TestContext in AbstractServer christophd
#197 Citrus validates text content although I did not tell it christophd
#218 Auto select message type for validation christophd
#217 Cucumber Http steps christophd
#213 Cucumber Selenium steps christophd
#212 Cucumber Docker steps christophd
#219 Customize default message type christophd
#201 Http header validation skipped christophd
#200 Maven Archetype for Citrus christophd
#211 Mix XML and Java DSL test methods christophd
#210 Fixed parentheses in examples for matchers rhuss
#209 Sporadic IllegalStateException christophd
#206 Link to templates was written wrong christophd
#204 StopTime action holding static state christophd

v2.7

2017-02-01
Type Id Changes By
#133 Update to Java 8 christophd
#150 Kubernetes integration christophd
#68 Selenium support christophd
#188 MS SQL Compatibility fix christophd
#180 LoggingClientInterceptor gets disabled when some interceptor is set christophd
#163 Enable/disable before/after suite based on env parameter christophd
#193 WsAddressing header customization christophd
#192 Hamcrest validation matcher with numeric values christophd
#175 Add JsonPathDataDictionary christophd
#164 Add test behavior documentation christophd
#139 MessageConstructionInterceptor causes StackOverflowError christophd
#185 Always give current Json element in error messages christophd
#179 HTTP server autostart with JavaConfig fails christophd
#177 MailServerBuilder in Spring Java config not working christophd
#176 Exception when executing single Cucumber scenario christophd
#172 Simply copy byte array out of input stream christophd
#174 JsonMappingDataDictionary breaks non string values christophd
#166 Test fails with enabled global dictionary christophd
#167 Explicit dictionary vs. global dictionary message overwrite christophd
#162 Remove deprecated API christophd

v2.6.2

2016-11-14
Type Id Changes By
#160 Escape variable expression syntax christophd
#159 Add custom servlet filters to http server christophd
#158 Support Gzip message compression christophd
#156 Add message wait condition christophd
#155 Add JsonPath function christophd
#154 Add Xpath function christophd
#147 Improve XSD schema documentation christophd
#146 Exception handling bug on forked actions christophd
#145 Gradle sample christophd
#142 DataProvider explicit name support christophd
#141 Validation of JMS SoapAction not working christophd
#137 Support dynamic endpoints uri for https christophd
#130 ignore Xpath only matches first element christophd
#128 escapeXml function still buggy christophd
#122 Add variables and test context support in static response adapter christophd
#118 EscapeXml function not working with comments christophd
#113 Add configurable XML serializer christophd
#112 Allow Http accept header setting christophd

v2.6.1

2016-10-07
Type Id Changes By
#132 Support variable object path christophd
#129 Add JsonPathFunctions to variable extractor christophd
#126 Handle BLOB column values in sql query action christophd
#121 Add payload file resource in static response adapter christophd
#120 Http client annotation config christophd
#119 XHTML message validation XPath support christophd
#117 EscapeXml function not working with commas christophd
#116 Cucumber messaging steps ambiguously defined christophd
#115 TestRunnerComponent TestContext initialization christophd
#110 Before/after suite methods in java DSL   christophd
#109 Before test methods in Java DSL   christophd
#107 Documentation wrong XML tags christophd
#106 Documentation wait wrong argument in Java DSL christophd
#105 Documentation missing maven dependencies christophd

v2.6

2016-06-27
Type Id Changes By
#101 NoSuchElementException with custom action container in test runner christophd
#100 Java DSL should support test behavior inside test container christophd
#57 Hamcrest matcher in iteration conditions christophd
#56 Cucumber BDD support christophd
#53 Spring RestDocs support christophd
#7 Zookeeper support maherma
#99 Set custom message type in Java DSL christophd
#97 Support configurable paths for reporters christophd
#96 Unique particle attribution #cos-nonambig violation in citrus-ws-testcase XSD christophd
#95 HttpStatus validation broken for BAD_REQUEST status code christophd
#94 escapeXml() not working with ',' in sub-XML christophd
#93 Links to blogs on front page is 404 christophd

v2.5.2

2016-04-01
Type Id Changes By
#50 Support Hamcrest matchers christophd
#49 Support Json object functions in JsonPath validation christophd
#47 BinaryBase64 message validator christophd
#46 Annotation config support for all modules christophd
#89 StringIndexOutOfBoundsException in XMLUtils.getTargetCharset() christophd
#90 Send binary messages with XML DSL christophd
#87 Validation matcher support in PlainTextMessageValidator christophd
#86 XML comments will counted as “normal” child element christophd
#85 XML comments before root element skip validation christophd
#84 Custom-Function, unclear Exception-Message christophd
#83 TestNG DataProvider and CitrusResource injection of TestRunner not working properly christophd
#82 Multithreaded selectors throw a ConcurrentModificationException christophd
#80 Empty message payload support in JSON data dictionary christophd
#79 SQL query file resource produces SQLSyntaxError christophd

v2.5.1

2016-03-03
Type Id Changes By
#46 Annotation config support christophd
#41 Citrus main application class christophd
#78 Dynamic endpoints not working for http DSL christophd
#77 Missing 2.5 xsd references in spring.schemas christophd
#76 Nullpointer in after suite christophd
#74 MailServer stops on emtpy line gucce
#73 Cant mvn install citrus with Java 1.7 christophd
#70 Message payload lost for Http PATCH method christophd
#67 Form urlencoded marshaller using wrong xsd location christophd
#66 Empty Http request headers missing on server receive christophd
#65 Variable extractor not working in http:receive-response XML christophd

v2.5

2016-01-28
Type Id Changes By
#39 TestContext injection christophd
#37 x-www-form-urlencoded message validator christophd
#62 DataDictionary not settable via Java DSL christophd
#61 Global scoped data dictionaries breaking message receipt christophd
#60 ClassPathResource name needs correction in User Guide christophd
#59 Docker action sharing docker command instance christophd
#58 JUnit4CitrusTestDesigner validateScript doesn’t work properly christophd
#55 x-www-form-urlencoded payload lost christophd
#50 allow variable value definition in cdata section christophd
#36 RMI support christophd
#34 Cleanup validation matcher support maherma
#32 Use Mockito instead of EasyMock christophd
#31 Date range validation matcher maherma
#29 Read file resource function christophd
#24 Timer action container maherma
#23 Optimize Jett-9 startup maherma
#17 Update to Vert.x 3.0 maherma

v2.4

2015-11-03
Type Id Changes By
#47 JSON data dictionary throws NullPointerException christophd
#27 Validation callback with TestContext christophd
#26 Improved REST support christophd
#22 Wait-Condition Action maherma
#21 Camel route test actions christophd
#20 Http DELETE with payload christophd
#19 Purge endpoints action christophd
#14 Update plugin versions christophd
#13 Update dependency versions christophd
#12 Release archetypes to central christophd
#11 Release to Maven central christophd
#6 Docker support christophd

v2.3

2015-08-18
Type Id Changes By
#45 Assertion error in parallel not causing test case to fail christophd
#264 Camel direct endpoint consumer caching christophd
#263 Customize message validators christophd
#262 Boolean expression evaluation in Java DSL christophd
#255 Refactor Java DSL test action execution (TestRunner) christophd
#253 Update Jetty version maherma
#248 Websocket support maherma
#196 JSONPath support christophd

v2.2

2015-06-26
Type Id Changes By
#261 Http server response message tracing christophd
#260 Customize dynamic endpoint names christophd
#259 Nullpointer in SoapMessageConverter christophd
#254 Citrus annotation support in JUnit christophd
#252 ANT tasks and tutorial christophd
#250 Start/Stop server action christophd
#249 Arquillian integration christophd
#245 Iterating action container in loops christophd

v2.1

2015-02-20
Type Id Changes By
#244 Keep SOAP envelope for incoming requests christophd
#243 Ssh request/response XSD schema christophd
#242 WSDL includes not working in schema validation christophd
#241 SOAP MTOM support christophd
#240 Missing Java 7 requirements in user guide christophd
#239 Java test action cahing String[] method parameters christophd
#238 Conversion exception when logging object message payloads christophd
#237 TestNG data provider handling christophd
#236 Fallback endpoint adapter not settable christophd
#235 SOAP 1.2 server support missing christophd
#208 Namespaces lost in SOAP envelope christophd
#206 Mail message payload namespace christophd
#193 Improve TestNG data provider documentation christophd

v2.0

2014-11-01
Type Id Changes By
#234 Remove deprecated classes christophd
#233 Separate citrus-jms module christophd
#232 Use message converter pattern christophd
#231 Schema validation on xs:any christophd
#230 Upgrade to Spring 4.x christophd
#229 Update dependency and Maven plugin versions christophd
#228 TestNG parameters in Java DSL christophd
#227 Use TestContext in validation matcher interface christophd
#226 Use TestContext in function interface christophd
#225 Create variable validation matcher christophd
#224 Namespace context configuration component christophd
#223 Correlate messages by default christophd
#222 Multiple SOAP attachments christophd
#221 Multiple SOAP header fragments christophd
#220 Data dictionary schema component christophd
#219 Auto sleep in milliseconds christophd
#218 Sleep action in milliseconds christophd
#217 Rework MessageListener interface christophd
#216 Log Citrus version christophd
#215 Rework root application context christophd
#214 ValidationMatcher XML schema component christophd
#213 Function library component christophd
#212 Sequence after test component christophd
#211 Sequence before/after suite components christophd
#210 Rework sample applications christophd
#209 Rework Maven plugin christophd
#188 Fail fast when validator is missing christophd
#171 Ftp server adapter christophd
#191 JMS Soap message converter christophd
#90 Citrus Jms header mapper christophd

v1.4.1

2014-07-11
Type Id Changes By
#207 Dynamic endpoint components christophd
#205 Apache Camel support christophd
#203 Vert.x support christophd
#202 Missing soap must understand interceptor support christophd
#201 Custom interceptors in citrus-ws server component not loaded christophd

v1.4

2014-05-02
Type Id Changes By
#200 Global variables component christophd
#199 Auto sleep < 1 second christophd
#198 JSON text validator strict mode christophd
#197 Attachment spelling in Java DSL christophd
#195 Java DSL Http specific send options christophd
#194 Misleading create variables action in Java DSL christophd
#192 Nested anonymous test actions fail christophd
#190 Dokumentation FTP adapter description christophd
#187 Class cast exceptions when using object variable value christophd
#186 AssertionErrors not handled christophd
#185 SSHClient with just username/password christophd
#184 Mail adapter christophd
#183 SOAP Http Uri as header christophd
#166 XML data dictionary christophd

v1.3.1

2013-09-06
Type Id Changes By
#182 Support multiple test methods in Java DSL TestBuilder class christophd
#181 Add true/false to BooleanExpressionParser christophd
#180 Attribute validation xsi:type namespace dependent christophd
#179 XHTML user guide missing tidy dependency christophd
#178 Groovy message header validation skipped christophd
#177 ProcessContents strategy for xs:any elements in testcase.xsd christophd
#176 Improve message dispatching handler christophd
#175 Empty control message disables validation christophd
#174 JAXBHelperImpl using jdk internal NamespacePrefixMapper christophd
#173 MatchWeekday function christophd
#172 ChangeDate function christophd
#169 FileUtils read to String encoding christophd
#168 Add XSD schema repository bean definition parser christophd
#167 Move message constructing interceptor to base interface christophd

v1.3

2013-04-01
Type Id Changes By
#165 Add Http params to basic authentication christophd
#164 Support Jetty server with security handler christophd
#163 Support multiple SOAP fault detail elements christophd
#162 Random number function leading zero numbers christophd
#161 SOAP 1.2 fault detail validation christophd
#160 CurrentDateFunction not threadsafe with custom date format pattern christophd
#159 MessageSelectorBuilder breaks with ‘A’ ‘N’ ‘D’ characters christophd
#158 Http error code simulation christophd
#157 SSH adapter for mocking SSH requests roland
#156 Extend schema repository with pattern resolver christophd
#155 Add WSDL support for schema repository christophd
#154 Add SOAP fault actor support christophd
#153 Test actors christophd
#152 JUnit test execution broken christophd
#151 Resolve function throwing StringIndexOutOfBounds christophd
#150 WebServiceEndpoint - NullPointerException when there´s no response christophd
#149 XPath breaks message selector with “=” character christophd
#148 Java action with String argument type christophd
#147 Comma character breaks concat function christophd
#146 Support variables in file resource paths christophd
#145 JSONArray as top level element christophd
#143 SOAP fault detail schema validation christophd
#142 Add new test action for running ANT build targets christophd
#91 JUnit samples christophd
#84 JMS durable subscribers christophd
#82 Fork Http send action christophd
#68 Java DSL for writing test cases christophd

v1.2

2012-07-05
Type Id Changes By
#368 Add XML validation matcher christophd
#367 Add JSON slurper Groovy validation support danielp
#366 Fixed issue with JSONArray and simple object values christophd
#365 Message tracing log files christophd
#364 Schema mappings on receive action definition christophd
#363 Typed message headers christophd
#362 Purge message channel action christophd
#361 Schema mapping strategy chain christophd
#360 Root QName schema mapping strategy christophd
#359 Local host address function christophd
#358 Function for digest authentication header creation christophd
#356 Message selector support for message channels christophd
#357 Root QName message selector on message channels christophd
#355 Fixed JBoss Maven repository christophd
#352 Upgrade to Spring 3.1.1 christophd
#353 Upgrade to Spring WS 2.1.0 christophd
#354 Upgrade to Spring Integration 2.1.2 christophd
#348 Custom validation matchers cwied
#339 Work on Sonar reported warnings christophd
#362 Do not use ParseException christophd
#331 Custom actions tutorial jza
#346 Validation matchers cwied
#400 Validate REST Http error status codes christophd
#369 Write blog entry on TestNG parameter support christophd
#363 Unknown test error reporting christophd
#366 Documentation bug on JmsConnectingMessageHandler package christophd
#301 Variable support in Java action christophd
#367 Setter on messaging template attribute in message-channel sender/receiver christophd
#365 property marker escaping in HTML reporter christophd
#364 JSON null value validation christophd
#312 REST support (client and server side) christophd
#247 Autowired tasks before/after suite christophd
#248 TestNG parameter as variables christophd
#299 Maven3 support christophd
#300 Update Maven plugin versions christophd
#361 Fixed Http server connections from other machines christophd
#316 Mime headers in SOAP client christophd
#303 Fork mode for SOAP message sending christophd
#317 Create variable from Groovy script jblipphaus
#314 HTML test report philkom
#323 Citrus Maven archetype christophd
#350 Variable support in templates christophd
#330 Groovy SQL result set validation christophd
#347 Custom imports in Groovy scripts christophd
#349 Objects as test variables christophd
#344 Plain text message validator christophd
#343 JSON message validator christophd
#345 No XML specifica in TestContext christophd
#324 Multi-line SQL validation stmts philkom
#322 onFinish() of JUnitReporter called too late christophd
#342 Global namespace mappings for XPath christophd
#195 Validate namespaces support is broken christophd
#336 Support message channel name resolving christophd
#321 Add custom connectors to Citrus Jetty server christophd
#338 WsAddressing support in Soap message sender christophd
#308 Maven plugin for test generation from WSDL and XSD christophd
#334 Dynamic Http endpoint uri resolver christophd
#333 Dynamic SOAP endpoint uri resolver christophd
#332 Handle errors in before suite/class annotated methods christophd
#325 Log SOAP client errors properly christophd
#328 Handle and log errors during ApplicationContext setup christophd
#329 Log SOAP messages in pure nature christophd
#320 CDATA vs. any-element philkom
#139 Dependency cleanup and version updates christophd
#315 HTTP headers in SOAP message validation christophd
#241 Validate multiple db rows philkom
#305 Groovy XML message validation philkom
#306 Groovy MarkupBuilder philkom
#304 TestContext in Groovy action philkom
#272 Variable support in property loader christophd

v1.1

2010-08-12
Type Id Changes By
#313 Log message when validation fails maherma
#290 Log XSD schema validation errors properly maherma
#297 SubstringAfterFunction cwied
#296 Attachment support for webservice replies cwied
#295 Support for namespace uri containing “xmlns” phrase christophd
#287 SOAP header XML support christophd
#246 MessageChannelConnecting MessageHandler christophd
#294 Template parameter variable support dimovelev
#293 Template parameter as CDATA dimovelev
#292 MapValueFunction dimovelev
#291 RandomEnumValueFunction dimovelev
#286 Ignore placeholder christophd
#289 Fixed Spring wiring bug in AbstractTestNGCitrusTest in test set up methods maherma
#288 Support setting variables in TestNG tests maherma
#285 Finally block not executed in failure state christophd
#284 Provide line numbers in failure messages christophd
#283 Improve exception tracing in parallel container christophd
#191 TestExecutionAspect not working christophd
#268 NPE in ws:receive without attachment data christophd
#281 XPath result type support (boolean, string, number, node) christophd
#277 XML namespace context support in XPath expressions christophd
#274 Added SOAP fault support for sending SOAP responses christophd
#273 XML processing instruction in inline XML data christophd
#271 citrus-ant-tasks Unix file path translation christophd
#270 Automatic UTF-8 to UTF-16 conversion when sending messages christophd
#269 Receive timeout ignored when using message selector string christophd
#244 Purge Jms queues - adjust receive timeout christophd
#243 Premature EOF in Citrus WS endpoint christophd
#226 SOAP header to JMS header conversion using WebLogic JMS Server christophd
#240 Read database values to variables without validation christophd
#237 Variable replacement in file resource christophd
#236 Handle large SOAP attachments christophd
#235 Inline attachment data setter in ws:send christophd
#222 Template parameter in parallel container christophd
#227 Overwrite message validator instance in test case christophd
#225 Validate SOAP attachment with unknown content-id christophd
#224 Set SOAP attachment validator in test case christophd
#196 Add documentation for auto-sleep in repeat-on-error-until-true christophd
#194 Add documentation for Groovy support christophd
#221 JMS to SOAP header conversion christophd
#220 Purge JMS queue destinations (JNDI support) christophd
#219 Validating SOAP attachments christophd
#216 Improved JMS Topic support in sender/receiver christophd
#217 Fixed sender/receiver configuration when using JMS topics christophd
#215 Parallel container failing meaningful when handling single exception christophd
#212 JMSTemplate interference with default destination setting christophd
#210 Creating new test cases with ant christophd
#211 SOAP header mapping for WSEndpoint implementation christophd
#205 Receive timeout configuration not compliant with PropertyPlaceholderConfigurer christophd
#207 Sync reply destination holder not threadsafe christophd
#206 Sync reply message handler not threadsafe christophd
#208 JMS receiver ignoring timeout setting when adding JMS selector christophd
#203 Sending SOAP attachments as a client christophd
#189 SOAP Fault validation christophd
#187 Extended exception validation christophd
#204 Generate test documentation in Excel christophd
#202 Extend test case meta-info with custom elements christophd
#201 Write custom actions / extend test case with custom actions christophd
#213 Interactive test creation in Maven plugin christophd
#214 Interactive Excel doc generation in Maven plugin christophd
#186 XML validation - fixed assert error messages christophd
#184 Avoid lower case test names christophd
#183 Set targetPackage for test creation in Maven plugin christophd
#185 Parallel container not failing correctly christophd

v1.0

2009-09-25
Type Id Changes By
#xxx Switch to Maven build system christophd
#xxx Code refactoring christophd
#xxx Documentation update christophd
#xxx Installation process christophd
#xxx Maven plugin for test case creation christophd
#xxx Citrus ANT tasks christophd
#xxx Custom Spring 2.x XML configuration schema christophd

Release 0.0.0 / 2006-05-01