Skip to content

releases

Changes in release 3.1.9

New features

Important changes

The value of --%context annotation is no longer representing context name. This value is now context description (displayname). With this change, the --%context annotation is now aligned with --%test and --%suite annotation syntax.

New annotation --%name was introduced to facilitate naming of contexts.

Enhancements

  • Improved documentation for running tests
  • Improved documentation for tags #1003
  • Improved documentation for annotations

Bug fixes

  • Fixed bug with bad stacktrace showing in failing/erroring test #1000
  • Fixed issue with lack of validation for context name #966
  • Fixed problem with install script privilege check for installation with DDL trigger #992
  • Fixed issue with some common column names causing cursor comparison to fail #997
  • Fixed issue with invocation of standalone expectations on cursor #998

Internal improvements

  • Fixed runability of utplsql self-tests #968

Changes in release 3.1.8

Download from GitHub

New features

Enhancements

  • Improved framework table private data protection #922 #954
  • Improved install process. It is now unified for installation with both public and private synonyms #957 #954
  • Improved reporting of warnings for integration with SQLDeveloper #964
  • Improved query to retrieve coverage sources #981 #970
  • Improved security around malicious utPLSQL owner name #920

Bug fixes

  • Fixed cursor comparison on Oracle 11.2 #947
  • Fixed issue with retrieving suite data #977 #974 #978
  • Application context is now reset in session after test run #951

Changes in release 3.1.7

New Features

  • CLI is now runnable from Java 8-12 (and probably also upcoming versions)
  • CLI now uses Picocli instead of JCommander. This might have some impact on how parameters are interpreted, for example on windows machines when you define -f=ut_documentation_reporter -o="output.txt" you will have to enclose the "output.txt" part as shown
  • Support for Tags via --tags=tag1[,tag2[,tag3]]parameter (#157)
  • Support for random order of test execution via -r/--random-test-order and -seed/--random-test-order-seed (#139)
  • Ability to enable DBMS_OUTPUT from cli via -D/--dbms_output (#137)

Enhancements

  • Completely removed HikariCP (#158)
  • A warning is shown if orai18n.jar is not on the classpath. This is highly recommended due to some strange behaviour of the jdbc-driver otherwise (#146, #153)

Bugfixes

  • Type mapping (-type_mapping) parameter is now interpreted correctly (#143)

Internal enhancements

  • Improvement of tests
  • Refactoring towards immutability
  • Added some more debug information

Changes in release 3.1.7

Highlights

  • utPLSQL java-api now supports JDK 8-12
  • Support to call Tags
  • Support for random order of test execution

Changes in public API

  • CompatibilityProxy
  • It's possible to instantiate it with an optional assumedUtPlsql version. This replaces the former skipCompatibilityCheck parameter
  • Method getDatabaseVersion is now deprecated in favor of getUtPlsqlVersion and getRealDbPlsqlVersion
  • TestRunner
  • getOptions returns the current TestRunnerOptions now

Internal changes

  • Added several new tests
  • Several small refactorings
  • Additional logging
  • Preparations to completely rewrite the api

Download

https://packagecloud.io/utPLSQL/utPLSQL-java-api/packages/java/org.utplsql/java-api-3.1.7.jar

Maven

<dependency>
  <groupId>org.utplsql</groupId>
  <artifactId>java-api</artifactId>
  <version>3.1.7</version>
</dependency>

Gradle

compile 'org.utplsql:java-api:3.1.7'

utPLSQL v3.1.7 released

## New features

## Enhancements

  • Added optional install with DDL trigger to speed up framework start #901
  • Removed dependency on dbms_utility.name_resolve #569 #885
  • New output buffer table structures improving performance and addressing timeout issues #915

## Bug fixes

  • Fixed ut_realtime_reporter missing warnings in test and suite output structures #936
  • Fixed output_buffer purging error #934
  • Fixed join_by / exclude / include invalid syntax on collection in anydata compare #912
  • Fixed ut_junit_reporter producing invalid output on failing tests with long failure message #927
  • Fixed ut_sonar_test_reporter producing invalid output on failing tests with long failure message #925
  • Fixed ut_coverage_cobertura_reporter producing wrong line breaks which breaks the xml validation against DTD #917
  • Fixed exclude option for ref cursor where column order was not resolved correctly #911
  • Fixed unordered option for ref cursor with null values #914
  • Fixed number precision when selecting from dual #907
  • Fixed ref cursor errors with generated column names #902
  • Fixed ORA-00907 when comparing ref cursors with BINARY_ columns #899
  • Fixed wrong results when comparing CLOBs with to_be_like in Oracle Database 11.2.0.4 due to Oracle Bug 14402514 #891
  • Fixed performance issue with code coverage report on huge PL/SQL code base #882

## Documentation improvements

  • Added install instructions for DDL trigger #874

## Internal enhancements

  • Fixed SQL vulnerability on all input parameters used in dynamic SQL and PL/SQL #921
  • Fixed message id in output buffer #916
  • Included 19c database in self testing #909
  • Introduced testing with multiple schemas and different grants #893
  • Fixed installation script warnings #879

Changes in release 3.1.6

Compatibility

This version of utPLQL-cli is compatible with all versions of utPLSQL from 3.0.0 to 3.1.6. We encourage you to always use the latest version of cli to communicate with a v3 core.

New Features

  • CLI now logs some basic information to screen in addition to an eventually configured to-screen-reporter (#89, #76)
  • This output can be avoided with the new -q, --quiet parameter
  • Much more logging can be output with the new -d, --debug parameter
  • It's possible to connect as sysdba now via utplsql run "sys as sysdba"/pw@connectstring (#115)
  • The default timeout of 60 minutes is now configurable via the new -t, --timeout parameter (#124)

Enhancements

  • Timeout now returns error exit-code (#129)
  • In case of Oracle stuck-scenario during createStatement, a warning is written to the screen and the same call for running the tests is retried up to 5 times. (#20)
  • It's now possible to pass usernames containing / and passwords containing @ by encapsulating those in the connectstring with ": utplsql run "my/User"/"P@ssword"@server:1521/Service (#111)
  • API-version is now stored in a separate, non-compiled file

Bugfixes

  • Info command should now show the correct version information (#108)
  • Non-argument call will output help (#110)

Internal enhancements

  • Update of HikariCP
  • Improvement of passing user/pw/connect info to connection pool
  • Improvement of Error-Handling
  • Cleanup of tests

Bugfix release for v3.1.5

Bug fixes

  • Fixed a bug in release 3.1.5 where to_equal matcher was failing due to privileges when comparing non sql diffable types #870

Improvements

  • Reduced number of information displaying about user defined type. We will now display only type name instead of full structure #866

Changes in release 3.1.4

New features

  • Added to_contain matcher for collections and cursors #79
  • Added unordered_columns (uc) option for cursor comparison to ignore the order of the columns #779
  • Added ut_debug_reporter for debug logging #480
  • Added ut_realtime_reporter for utPLSQL-SQLDeveloper extension #795

Enhancements

  • Improved performance of cursor comparison #780
  • Added support for installation on databases with block size < 8KB #848
  • Added initial timeout to ut_output_buffer #840
  • Enhanced performance of get_reporters_list function #814
  • Moved calls of dbms_lock.sleep to dbms_session for newer DB versions #806
  • utPLSQL coverage will now work without re-install after DB-upgrade from 12.1 to 12.2 #803

Bug fixes

  • Fixed problem with REGEXP in annotation parsing with NLS CANADIAN FRENCH #844
  • Fixed issue with Rollback to savepoint failing on distributed transaction #839
  • Fixed reporting of differences when comparing collections scalar values #835
  • Fixed issue with test run failing due to too many transaction invalidators #834
  • Fixed randomly occurring error during cursor comparison #827
  • utPLSQL install script will now support special characters in passwords #804

Documentation improvements

  • Fixed documentation examples for context annotation #851
  • Added description on how to check version of utPLSQL #822

Internal enhancements

  • Implemented Sonar analysis on DBA Views #850
  • Finished migration from old-tests #475
  • Fixed shell scripts to support multiple unix dialects (especially for macOS) #796
  • Added info on project support from Redgate #841
  • Added code_of_conduct #836
  • Added issue tempates #842
  • Added utPLSQL logo #845

Changes in release 3.1.3

New features

  • added function ut_runner.is_test #788
  • added function ut_runner.is_suite #787
  • added function ut_runner.has_suites #786
  • added ability to disable automatic rollback for a test-run #784
  • when invoked with package name, utPLSQL will now run only tests from specified package even if package has child packages by suitepath #776

Enhancements

  • Improved performance of schema-scanning and utPLSQL startup #778
  • Improved performance of output-buffer #777
  • Improved documentation to mention ability to pass client encoding for HTML & XML reports #775
  • Improved documentation for cursor comparison to mention challenges with TIMESTAMP bind variables

Bug-fixes

  • utPLSQL code coverage will now work properly with long object names #716
  • utPLSQL installation will now also work properly, when user performing the install has ANY grants #737
  • fixed documentation bug for --%context with --%displayname #726
  • fixed Teamcity reporter issues with missing escape for some characters and long messages #747
  • fixed issue with sonar test results reporter when contexts are used #749
  • fixed issue with ORA-07455 getting thrown on cursor comparison #752
  • fixed issue with wrong failure message for unordered data #764
  • fixed missing privilege issue for unordered/join-by cursor data comparison #765 #770

Internal enhancements

  • added suite-level cache to allow for faster retrieval of suite contents and enable implementation of additional features #783