MarkdownUtils.asTwoParts
now correctly joins two document parts with separation line, by @HardNorth
- Some new types to
ContentType
class, by @HardNorth
Retrofit
version updated on version 2.11.0, by @HardNorth
rp.launch.uuid.creation.skip
configuration properties to control Launch start on provided UUID, by @HardNorth
@Issue
and@Issues
annotations handling in certain cases, by @HardNorth
- Issue Locator lookup by value in
@Issue
annotation, by @HardNorth
IssueUtils
class, common code to process@Issue
and@Issues
annotations, by @HardNorth
- Issue #210 Ability to call methods without parameters in templates, by @HardNorth
ExceptionUtils
class to unify exceptions format, by @HardNorth
MarkdownUtils
,TemplateConfiguration
andTemplateProcessing
was moved toutils.formatting
package, by @HardNorth
rp.client.join.launch.timeout.value
andrp.client.join.launch.timeout.unit
configuration properties to control SecondaryLaunch start timeout on client join, by @HardNorthrp.bts.project
,rp.bts.url
,rp.bts.issue.url
,rp.bts.issue.fail
configuration properties to control manual issue set by Agents, by @HardNorth
- Disable Launch start wait for Secondary Launches if async reporting is enabled, by @HardNorth
- Disable Statistics for Secondary Launches, by @HardNorth
commons-model
dependency version updated to5.3.3
, by @HardNorth
MarkdownUtils.asTwoParts(String, String)
method, by @HardNorth
- Return back
ContentType#parse
method for backward compatibility, by @HardNorth
- Extend
ContentType
class functionality, by @HardNorth
- Cookies duplication on requests, by @HardNorth
- Cookies logging on requests, by @HardNorth
- Mark
aspectjrt
dependency asimplementation
, by @HardNorth - Move
CookieJar
object to static final field in ReportPortal class to use one instance for all HTTP clients, by @HardNorth
- Some more binary file types detection, by @HardNorth
jackson-databind
dependency reverted toapi
type, by @HardNorth
- Mark
jackson-databind
dependency asimplementation
, by @HardNorth
aop-ajc.xml
file, since not all agents have ability to use AspectJ, by @HardNorth
Description
annotation, by @HardNorthDisplayName
annotation, by @HardNorthTmsLink
andTmsLinks
annotations, by @HardNorthIssue
andExternalIssue
annotations, by @HardNorthrp.bts.project
,rp.bts.url
,rp.bts.issue.url
,rp.bts.issue.fail
properties, which controls these annotations, by @HardNorthTestFilter
,TestNameFilter
,TestParamFilter
annotations to control Issue apply on Parameterized and Dynamic Tests, by @HardNorth
ReportPortalClient.getProjectSettings
method, by @HardNorth
Utils.copyFiles
static method to use in examples, by @HardNorth
- Improve MIME type detection in
MimeTypeDetector.detect
, methods, by @HardNorth
- Improve MIME type detection in
MimeTypeDetector.detect(java.io.File)
,ReportPortal.emitLog
andReportPortal.emitLaunchLog
methods, by @HardNorth
- Table size limit in
MarkdownUtils.formatDataTable(List, int)
method, by @HardNorth - Transpose table logic if column number is bigger than row number in
MarkdownUtils.formatDataTable(List, int)
method, by @HardNorth MarkdownUtils.formatDataTable(Map<String, String>)
method, by @HardNorth
Accessible.method(java.lang.String, java.lang.Class<?>...)
method, by @HardNorth
- Guava library dependency was removed, by @HardNorth
- Deprecated code, by @HardNorth
- Guava version update to address a vulnerability on
33.0.0-android
, by @HardNorth - Okhttp version update to address a vulnerability on
4.12.0
, by @HardNorth - Logback version update to address a vulnerability on
1.3.12
, by @HardNorth
MarkdownUtils.formatDataTable
andParameterUtils.formatParametersAsTable
methods to support parameter reporting for BDD frameworks, by @HardNorth
- Static methods of
AttributeParser
are now public, Javadoc and JSR annotations added, by @HardNorth
ReportPortalClient.updateLaunch
method, by @matt-richardson
SecondaryLaunchFinishCondition
class was separated to resolve fat jar issues, by @HardNorthrxjava
was forcibly excluded fromretrofit2:adapter-rxjava2
transitive dependencies to resolve fat jar issues, by @HardNorth
- Unified ReportPortal product naming, by @HardNorth
- Async reporting is now used by default, by @HardNorth
rp.launch.uuid.print
andrp.launch.uuid.print.output
configuration parameters, by @HardNorth
- Slf4j version updated on version 2.0.4 to support newer versions of Logback with security fixes, by @HardNorth
- AspectJ version updated on 1.9.19 to support newer versions of Java and bug fixes, by @HardNorth
- Some classes were refactored to less use Guava library and more core Java, by @HardNorth
ClientIdProvider
class to store and read a client's unique ID, by @HardNorthStepReporter.setStepStatus
method to change nested step status in runtime, by @HardNorth
rp.http.proxy.username
andrp.http.proxy.password
parameters, by @HardNorth
NullPointerException
inTestCaseIdUtils
class for case with null-value parameters, by @HardNorth
class
andclassRef
keywords for@TestCaseId
templating, by @HardNorth
PropertiesLoader.overrideWith(java.util.Properties)
method, by @HardNorth
MemoizingSupplier
class was refactored to get rid ofsynchronized
keyword, by @HardNorthLogBatchingFlowable
class was refactored to get rid ofsynchronized
keyword, by @HardNorthLaunchIdLockSocket
class was refactored to get rid ofsynchronized
keyword, by @HardNorthStatisticsService
was rewritten on new protocol version, by @HardNorth
class
andclassRef
keywords for@Step
templating, by @HardNorthPropertiesLoader.getPropertyFilePath
method, by @HardNorth
- Issue #198 Property file customization with
rp.properties.path
property, by @HardNorth
jackson-databind
dependency was forcibly updated to address vulnerabilities, by @HardNorth
- Launch finish time in case of fork-join launch, by @PavelSakharchuk
rp.launch.uuid
property, to append to and existing launch without start/finish launch calls, by @HardNorth- Attribute values truncation and its properties, by @HardNorth
- Some javadocs, by @HardNorth
Launch
objects do not modify request objects which were passed to them now, cloning them instead, by @HardNorth- Some refactoring, by @HardNorth
StepReporter#step(ItemStatus, String, Supplier<T>)
method, by @HardNorth- Log batching payload size tracking, by @HardNorth
rp.batch.payload.limit
configuration parameter, by @HardNorth
finally
keyword, see JEP 421, by @HardNorth
- Logging RxJava flow refactoring, by @HardNorth
- public
StepNameUtils.getStepName
methods to ease template processing customizations, by @HardNorth
jackson-databind
dependency was forcibly updated to address vulnerabilities, by @HardNorth
- Issue #70
@Step
templating now supportsthis
object reference - Issue #130
@TestCaseId
now supports templating
@Attributes
annotation inheritanceLaunch.getLaunch
method, which returns current Launch UUID or emptyMaybe
LoggingContext.context()
public static method which allows get current logging context
- Issue #182: Duplicate key error
- Issue #147: Logging context loose in child thread
- Null-pointer cases in LoggingContext class
- Slf4j version updated on 1.7.32 to support newer versions of Logback with security fixes
- JVM arg parameters have more priority than Environment variables now.
- Property loader doesn't throw any errors now, just logs warnings.
- HTTP timeout parameters
- TestNG NestedStep mixing issue
- Method
StepReporter.finishNestedStep(ItemStatus)
- Exception logging on lambda-style nested step was removed to avoid double-logging, since it should be logged on test level.
- Nested Step finish refactoring
- More JSR-305 annotations
- StepRequestUtils refactoring
StepReporter#finishPreviousStep(@Nullable ItemStatus status);
method
StepReporter#step
methods, issue #127
- Refactoring of StepAspect class
- StepRequestUtils class now public
- Error message on incompatible OkHttp dependency version
- It's now possible to obtain ReportPortal client by
Launch.currentLaunch().getClient()
- Lock wait timeout property initialization
- Incorrect MIME type attachment upload
- New distributed Launch join mechanism: sockets
- New properties:
rp.client.join.mode
,rp.client.join.file.lock.name
,rp.client.join.file.sync.name
,rp.client.join.timeout.value
,rp.client.join.timeout.unit
,rp.client.join.lock.timeout.value
,rp.client.join.lock.timeout.unit
,rp.client.join.port
- UniqueID annotation deprecated
- It's now possible to assign Attributes annotation on classes
- Property deprecation:
rp.client.join.lock.file.name
,rp.client.join.sync.file.name
,rp.client.join.file.wait.timeout.ms
- Apache Tika dependency
- Tags annotation since it looks like it is not in use anywhere
- Apache Tika version degraded on 1.19 for Android compatibility
- Common Jackson ObjectMapper moved to HttpRequestUtils class
- try-catch refactoring in
ReportPortal.Builder
class to get better stack traces - Introducing "Retrofit 2" as RP client
- Item names truncation, issue #154
- try-catch refactoring in
ReportPortal.Builder
class to get better stack traces
rp.rx.buffer.size
property handling
- A static Issue Launch.NOT_ISSUE to use in agents and avoid issue creation duplication
- StatusEvaluation class with an
evaluateStatus
method
- All client threads now marked as daemon to not prevent JVM shutting down
- 'AGENT_NO_ANALYTICS' environment variable
- MemoizingSupplier class for agents lazy init
- A method to emit a log entry for a certain item: com.epam.reportportal.service.ReportPortal.emitLog(io.reactivex.Maybe<java.lang.String>, java.util.function.Function<java.lang.String,com.epam.ta.reportportal.ws.model.log.SaveLogRQ>)
- Apache Tika was updated on version 1.20
- Test Case ID generation methods now accepts
Executable
as a parameter instead ofMethod
- A lot of code style warnings (e.g. legacy java 6 code updated, etc)
- TestItemTree.TestItemLeaf now supports attribute storing
- Properties loader now ignores property case
- Null-value handling for inner fields for step templates of annotation-based nested steps
- It's now possible to bypass a null-value client to ReportPortal class constructor, as a result user will get a NOOP launch
- ReportPortal does not throw any exceptions if 'reportportal.properties' not found
- Additional ParameterUtils methods to use inside Cucumber agents
- Manual Nested Step failure now also fails all the ancestors, not only the nearest one
- StepAspect.setParentId and StepAspect.removeParentId now handled inside LaunchImpl class
- Utilities
- More Test Case ID methods
- CodeRef generation method
- A proxy parameter handling:
rp.http.proxy=http://localhost:8981
- Issue #117 multithreaded reporting of nested steps
- AnalyticsService class to publish Google Analytics events
- LaunchImpl now publish Analytics Events
- ParameterUtils class which will be responsible for ParameterResource lists generation based on methods/constructors
- @NotNull annotations replaced with @Nonnull as the latter is shorter and comes with Java SE
- reportportal/reportportal#293 - Re-licence client side
- Get rid of HTTP Apache Async Client in favor of synchronous version
- Better extensibility
- reportportal/reportportal#142 - Java client parameters are not UTF-8 encoded