Releases: citrusframework/citrus
Releases · citrusframework/citrus
v4.10.0
Citrus Release v4.10.0
What's Changed
- fix(#1480): Use more precise file pattern for yaml test case files by @christophd in #1481
- fix(#1480): Use more precise file pattern for Groovy test case files by @christophd in #1482
- fix(#1402): Fix Camel JBang integration status verification by @christophd in #1483
- fix(#1484): Fix YAML schema being too restrictive in additionalProperties by @christophd in #1485
- chore(deps): bump org.eclipse.jetty:jetty-server from 12.0.31 to 12.0.32 by @dependabot[bot] in #1486
- Improve Citrus JBang run command by @christophd in #1487
- fix(#1489): Auto resolve additional dependencies in Citrus JBang by @christophd in #1490
- fix(#1491): Add inspect command in Citrus JBang by @christophd in #1492
- chore: Reduce dependencies in citrus-agent and citrus-jbang by @christophd in #1493
Full Changelog: v4.9.4...v4.10.0
v4.9.4
Citrus release v4.9.4
v4.9.3
What's Changed
- chore(ci): Fix Spring config acceptance test by @christophd in #1478
- fix(#1476): Support Cygwin Windows environments when using Citrus JBang connector by @christophd in #1477
- fix(#1474): close InputStream in FileUtils#readToString to prevent fi… by @tschlat in #1475
- Provide stricter json schema for test case by @apupier in #1479
Full Changelog: v4.9.2...v4.9.3
v4.9.2
Citrus release v4.9.2
v4.9.1
Citrus release v4.9.1
v4.9.0
Citrus v4.9.0
✨ New Features
- Combined validation mode (#1419)
Introduces a new validation mode that allows combining multiple validation strategies in a single test. - Timezone selection for current date (#1081)
Allows selecting a specific timezone when working with the current date in tests. - JSON Patch function (#1444)
Adds a new jsonPatch function for flexible JSON manipulation. - Test flow reporter (#1449)
Implements a reporter to visualize and analyze test execution flow. - JBang test engine support
Adds a dedicated JBang test engine for running Citrus tests. - Kubernetes test actions
New connect and disconnect test actions for Kubernetes. - Camel JBang receive command support
Extends Camel JBang integration with receive command support.
🛠 Improvements & Enhancements
- YAML DSL
- Significantly improved YAML DSL support and schema generation.
- Generated YAML DSL schemas for:
- Core DSL
- Functions
- Validation matchers (#1395)
- Improved schema support for
waitFortest actions. - Improved auto-remove behavior for Camel JBang XML and YAML DSL.
- Citrus Agent
- Improved Citrus agent functionality and defaults.
- Fixed multi-platform Docker image support.
- Fixed default Docker image registry.
- Included default modules in the Citrus agent Docker image.
- Camel & Kubernetes
- Improved Camel JBang Kubernetes test actions.
- Set Camel version dynamically from test variables (#1439).
- Registry & Test Actions
- Register test endpoint definitions as Spring beans.
- Ensure proper test action names for alias actions.
- Added validation matcher support for text message validation.
🐞 Bug Fixes
- YAML DSL schema generation fixes (#1395)
Corrected schema generation for DSL, functions, and validation matchers. - String concatenation fix (#506)
Fixed concatenation behavior when handling single quotes. - Dependency cleanup
- Fixed duplicate Jackson versions in the POM.
- Fixed duplicate dependencies in citrus-bom.
v4.8.2
Citrus release v4.8.2
v4.8.1
Citrus Release v4.8.0
🚀 New Features
- OpenAPI Codegen: Added test-api-core to Citrus BOM.
- Camel Integration: Added Kubernetes test actions API.
- Cucumber: Incorporated YAKS Cucumber steps into Citrus.
🔧 Improvements
- Documentation updates and fixes (Groovy script action examples, CitrusRestDocConfigurer DSL, Cucumber steps, general code samples).
- Dependency upgrades: Spring Core 6.2.11, AWS SDK v2.34.0, SnakeYAML v2.5, Jetty v12.0.27, ZooKeeper v3.9.4, JAXB API v4.0.4, Fabric8 v7.4.0, JSON Schema Validator v1.5.9, Dropwizard Metrics v4.2.37, Cucumber v7.29.0, Jackson v2.20.0, Mockito v5.20.0, BouncyCastle v1.82, Swagger v2.2.37, PostgreSQL v42.7.8, Maven Surefire/Failsafe plugins.
- Added allow list for test keys.
🐞 Bug Fixes
- OpenAPI / REST API:
- Reduced strictness of
TestAPI.xsd. - Applies REST API parameters correctly to a copy of the builder message.
- Filles required path & cookie params with random values.
- Writes original OpenAPI source into codebase.
- Reduced strictness of
- Spring Integration: Properly encoded namespace handler in
spring.handlers. - Camel:
- Fixed NPE when integration STATUS info is missing.
- Supported Camel JBang send command.
- JUnit: Added support for parameterized tests.
- Dynamic Endpoints: Auto-close mechanism added.
- Random Generator: Made
.handles()methods null-safe. - Cucumber: Fixed unit tests for new steps integration.
- Selenium: Fixed optional web element property in XML DSL.
- Simulator: Dependency update + simulator fix.
v4.8.0
Citrus Release v4.8.0
🚀 New Features & Preparations
- Java Fluent API (Preview)
Major groundwork has been introduced for the upcoming fluent Java DSL.
This includes modular APIs for defining test actions across many integrations
🛠 Improvements
- Action Builder Enhancements
Improved builder APIs for send/receive and SQL actions, making them easier to use in the new DSL. - Output Listener Support
Introduced an output listener on the Camel JBang process for better integration feedback. - Documentation Updates
- Added guides for Camel JBang and Kubernetes plugin usage.
- Fixed documentation on
@BeforeSuiteand@AfterSuiteannotations (#1372).
🐞 Bug Fixes
- Fixed handling of
nullvalues when receiving message types. - Fixed backward compatibility issues in Selenium and HTTP APIs.
- Corrected return types in the Java DSL APIs to improve chaining and usability.
v4.7.0
Citrus Release v4.7.0
🚀 New Features
- YAML Validation Support
- Added support for validating test data and configuration in YAML format (#1343).
- OpenAPI Schema Validation
- Citrus can now validate OpenAPI specifications using schema-based checks, including support for references (#1175).
- Random JSON Object Generator
- Introduced a utility to generate random JSON objects for test data preparation.
- LocalStack Service Client Options
- Added dedicated client configuration options to better support LocalStack services (#1353).
- Camel Infrastructure Support
- Added infrastructure service support for Apache Camel to simplify integration scenarios (#1335).
- Create-Endpoint Test Action
- New action for dynamically creating endpoints during test execution (#1360).
🛠 Improvements
- System Output Management
- Redirected System.out to a log4j-managed PrintStream for consistent logging (#1347).
- Camel Bean Registry Propagation
- Beans can now be propagated to the Camel registry for smoother integration flows.
- Maven Central Deployment
- Updated the release process to use the Maven Central portal (#1345).
- Dependency Updates
- Kafka updated to v3.9.1
- Amazon AWS SDK updated to v2.31.46
- Spring WS updated to v4.0.14
- Spring Framework dependencies updated to 6.2.8
- PostgreSQL driver updated to 42.7.7
- Build & Tooling
- Citrus JBang distribution scripts improved for consistency
- Managed dependency versions consolidated in the parent POM
🧪 Test & Tooling Enhancements
- Camel Infra Documentation
- Enhanced documentation for Apache Camel infrastructure services.