Revision: 3756 Author: pekka.klarck Date: Thu Jun 10 05:18:37 2010 Log: initial version of the final release notes http://code.google.com/p/robotframework/source/detail?r=3756
Added: /wiki/ReleaseNotes25Final.wiki ======================================= --- /dev/null +++ /wiki/ReleaseNotes25Final.wiki Thu Jun 10 05:18:37 2010 @@ -0,0 +1,194 @@ +#summary Release notes for Robot Framework 2.5 series + +<wiki:toc max_depth="1"/> + += Robot Framework 2.5 = + +Robot Framework (RF) 2.5 is a new major release with loads of bigger +and smaller enhancements and bug fixes. It was released after few +[PreviewReleases25 preview releases] on Thursday 2010-06-10. + +Questions and comments related to the +release can be sent to the [MailingLists mailing lists] and possible +bugs submitted to +the [http://code.google.com/p/robotframework/issues issue tracker]. + += Downloads = + +Installers and other packages can be downloaded from the +[http://code.google.com/p/robotframework/downloads/list download page]. +See [Installation installation instructions] for installation +and upgrading information. + + += Most important new features = + +== Continuing test execution on failure == + +Being able to continue the test execution after failures was the most +requested feature in RF 2.5. There are now several ways to accomplish it: + + * Raising a _continuable_ exception from a test library (issue 137). + * Using `Run Keyword And Continue On Failure` keyword (issue 545). + * In teardowns all keywords are automatically executed even if there are +failures (issue 544). + +In all these cases the test will be marked failed at the end. Its +final error message is created by combining the messages from the +occurred failures together. + +TODO: UG link + +== Stopping test execution gracefully == + +Another important test execution related feature is the ability to +stop the test execution fully so that reports and logs are +generated. Nowadays there are several ways to do it: + + * Pressing `Ctrl-C` (issue 108). + * Using signals `SIGINT` and `SIGTERM` (issue 349). + * Raising a _fatal_ exception from a test library (issue 366). + * Using `Fatal Error` keyword (issue 546). + +TODO: UG link + +== Support for named arguments == + +The named arguments syntax (issue 215) makes it possible to use +keywords that have several arguments with default values so that only +certain arguments are overridden. For example, the keyword below +could be used like `| Named Arg Example | zap=42 |` and first two +arguments would get their default values. + +{{{ + def named_arg_example(foo=1, bar=2, zap=3): + print foo, bar, zap +}}} + +== Possibility to specify test template to ease data-driven testing == + +Test templates (issue 500) allow specifying the keyword to use in test +cases only once. This makes data-driven testing, where the same +keyword is executed with the same input and/or output values, easier +and reduces duplication. An added benefit is that when a test has +multiple steps, all of them will be executed even if one of the steps +fails. + +This functionality can be enabled for all tests in a file with in the +setting table with the setting `Test Template` or for individual tests +with the setting `[Template]`. The example below illustrates the +latter usage. + +{{{ +***Test Case*** +Invalid login + [Template] Login with invalid user name and password should fail + ${VALID USER} invalid password + invalid user ${VALID PASSWORD} + invalid user xxx + ${VALID USER} ${EMPTY} + ${EMPTY} ${VALID PASSWORD} + ${EMPTY} ${EMPTY} +}}} + +TODO: UG link + +== Possibility to validate test data using dry-run == + +A new command line option `--runmode dryrun` was added to support +validation of test data without actually executing the lowest level +keywords (issue 452). + +== Full Jython 2.5 support == + +Robot Framework 2.1.3 already works with Jython 2.5 but there were +some rough edges . Nowadays Jython 2.5 is fully and officially +supported (issue 198), and even installation using it works (issue +547). + + += Backwards incompatible changes = + +== Minimum Python/Jython version is 2.5 == + +Robot Framework 2.5 only runs on Python and Jython 2.5 or newer (but +on 3.x yet). If you cannot upgrade your Python/Jython installation, +you can use older Robot Framework releases that support Jython 2.2 and +Python 2.3 and newer. + +== Not compatible with previous RIDE and Mabot releases == + +The internal changes in the framework have made it incompatible with +the previous [http://code.google.com/p/robotframework-ride RIDE] and +[http://code.google.com/p/robotframework-mabot Mabot] +releases. RF 2.5 compatible RIDE release is under development. + +== Parsing modules have been rewritten == + +In order to support RIDE better in the future, Robot Framework's +internal parsing modules were rewritten (issue 486). These changes do +not affect test execution but custom tools using the parsing modules +need to be updated. The good news is that the new parsing modules are +much easier to use externally than the old ones. + +== Parallel execution of keywords was removed == + +The special `:PARALLEL` syntax was removed because it was buggy, +fixing it fully would have been too big task, and supporting the +special syntax in the core framework, in RIDE, and elsewhere is extra +work. For more information see issue 490. + +== `Default Tags` and `Test Timeout` removed from initialization files == + +It is not possible to use `Default Tags` or `Test Timeout` settings +in test suite initialization files anymore. See issue 398 for details. + +== List variables are not supported with certain settings == + +It is not possible to use `...@{list}` variables anymore with settings +that require a scalar value. Issue 564 explains this limitation more +throughly. + +== Other backwards incompatible changes == + + * Old syntax for repeating single keyword multiple times was + removed (issue 194). + * Several helper methods were removed from the `robot.utils` module + (issue 481). + * Built-in keywords executing other keywords (`Run Keyword And + Ignore/Expect Error`, `Wait Until Keyword Succeeds`) do not hide + syntax errors or timeouts (issue 521). + * Running all the keywords in teardowns even if there are failures + (issue 544) may cause problems because keywords previously skipped + after failures are not run. + * `robotidy.py` tool was removed (issue 553). + * `:FOR` loops without body or without values to loop over fail + (issue 560). + * New automatic variable `${SUITE SOURCE}` may overwrite existing + variables with the same name (issue 346). + * The way how test suite, test case, user keyword, and metadata + names are created was changed (issue 377 and issue 562). + * Deprecated `mode` argument of `Create File` keyword was changed to + `encoding` (issue 256). + * Deprecated `pattern_type` argument was removed from `Grep File` + and `List Directory` keywords (issue 258 and issue 260). + * Deprecated `return_mode` argument was removed from `Run` keyword + (issue 358). + * Deprecated `mode` argument of `Read Process Output` was removed. + * Deprecated keywords `Syslog` and `Grep` were removed (issue 271 + and issue 287). + * Deprecated `--transform` and `--colormonitor` options were removed + (issue 526 and issue 527). + +== Deprecated features == + +These features have been deprecated and will be removed in RF 2.6: + + * The possibility to create scalar variables with a list value in + the Variable table (issue 401). + * The possibility to have scalar and list variables with the same + base name (e.g. `${VAR}` and `...@{var}`) (issue 484). + * `Create File With Encoding` keyword (issue 256). + + +
