<commit_before># About the Project

The Geb home page can be found at [http://www.gebish.org](http://www.gebish.org).

## API Reference

The API reference can be found [here](api/index.html).

## Support & Development

Support for Geb is offered on the <EMAIL> mailing list, which can be subscribed to [here](http://xircles.codehaus.org/lists/<EMAIL>).

Ideas and new features for Geb can be discussed on the <EMAIL> mailing list, which can be subscribed to [here](http://xircles.codehaus.org/lists/<EMAIL>).

## Credits

### Committers

* [<NAME>](http://ldaley.com)
* [<NAME>](http://blog.proxerd.pl)
* [<NAME>](http://adhockery.blogspot.com/)
* [<NAME>](http://pniederw.wordpress.com/)

### Contributors

* [<NAME>](http://github.com/zolotov) - TestNG Integration
* [<NAME>](http://c089.wordpress.com/) - Various fixes and patches
* [<NAME>](http://www.desirableobjects.co.uk/) - Various fixes and patches, doc improvements
* [<NAME>](http://hennr.name/imprint/) - Doc improvements
* [<NAME>](http://fbflex.wordpress.com/) - Doc improvements

## History

This page lists the high level changes between versions of Geb.

### @geb-version@

#### New Features

* New `via()` method that behaves the same way as `to()` behaved previously - it sets the page on the browser and does not verify the at checker of that page\[[GEB-249](http://jira.codehaus.org/browse/GEB-249)\].
* It is now possible to provide your own [`Navigator`][navigator-api] implementations by specifying a custom [`NavigatorFactory`](api/geb/navigator/factory/NavigatorFactory.html), see [this manual section](configuration.html#navigator_factory) for more information \[[GEB-96](http://jira.codehaus.org/browse/GEB-96)\].
* New variants of `withFrame()` method that allow to switch into frame context and change the page in one go and also automatically change it back to the original page after the call, see [switching pages and frames at once][switch-frame-and-page] in the manual \[[GEB-213](http://jira.codehaus.org/browse/GEB-213)\].
* `wait`, `page` and `close` options can be passed to `withNewWindow()` calls, see [this manual section](browser.html#passing_options_when_working_with_newly_opened_windows) for more information \[[GEB-167](http://jira.codehaus.org/browse/GEB-167)\].
* Improved message of UnresolvablePropertyException to include a hint about forgetting to import the class \[[GEB-240](http://jira.codehaus.org/browse/GEB-240)\].

#### Fixes

* Fixed an issue where waitFor would throw a WaitTimeoutException even if the last evaluation before timeout returned a truthy value \[[GEB-215](http://jira.codehaus.org/browse/GEB-215)\].
* Fixed taking screenshots for reporting when the browser is not on a HTML page (e.g. XML file) \[[GEB-126](http://jira.codehaus.org/browse/GEB-126)\].
* Return the last evaluation value for a `(wait: true, required: false)` content instead of always returning null \[[GEB-216](http://jira.codehaus.org/browse/GEB-216)\].
* `isAt()` behaves the same as `at()` in regards to updating the browser's page instance to the given page type if its at checker is successful \[[GEB-227](http://jira.codehaus.org/browse/GEB-227)\].
* Handling of `select` elements has been reworked to be far more efficient \[[GEB-229](http://jira.codehaus.org/browse/GEB-229)\].
* Modules support accessing base attributes' values using @attributeName notation \[[GEB-237](http://jira.codehaus.org/browse/GEB-237)\].
* Use of text matchers in module base definitions is supported \[[GEB-241](http://jira.codehaus.org/browse/GEB-241)\].

#### Breaking Changes

* `to()` method now changes the page on the browser and verifies the at checker of that page in one method call \[[GEB-1](http://jira.codehaus.org/browse/GEB-1)\], \[[GEB-249](http://jira.codehaus.org/browse/GEB-249)\]; use `via()` if you need the old behaviour
* `getAttribute(String)` on `Navigator` now returns `null` for boolean attributes that are not present.
* `at()` and `to()` methods on `Browser` now return a page instance if they succeed and `via()` method always returns a page instance \[[GEB-217](http://jira.codehaus.org/browse/GEB-217)\].
* `withFrame()` calls that don't take a page argument now change the browser page to what it was before the call, after the call \[[GEB-222](http://jira.codehaus.org/browse/GEB-222)\].
* due to performance improvements duplicate elements are not removed when creating new `Navigator`s anymore; the new `unique()` method on `Navigator` can be used to remove duplicates if needed \[[GEB-223](http://jira.codehaus.org/browse/GEB-223)\].
* `at(Page)` and `isAt(Page)` methods on `Browser` have been removed as they were inconsistent with the rest of the API \[[GEB-242](http://jira.codehaus.org/browse/GEB-242)\].

### 0.7.2

#### Fixes<commit_msg>Added note about improving generic signatures of Browser.to() and Browser.at().<commit_after># About the Project

The Geb home page can be found at [http://www.gebish.org](http://www.gebish.org).

## API Reference

The API reference can be found [here](api/index.html).

## Support & Development

Support for Geb is offered on the <EMAIL> mailing list, which can be subscribed to [here](http://xircles.codehaus.org/lists/<EMAIL>).

Ideas and new features for Geb can be discussed on the <EMAIL> mailing list, which can be subscribed to [here](http://xircles.codehaus.org/lists/<EMAIL>).

## Credits

### Committers

* [<NAME>](http://ldaley.com)
* [<NAME>](http://blog.proxerd.pl)
* [<NAME>](http://adhockery.blogspot.com/)
* [<NAME>](http://pniederw.wordpress.com/)

### Contributors

* [<NAME>](http://github.com/zolotov) - TestNG Integration
* [<NAME>](http://c089.wordpress.com/) - Various fixes and patches
* [<NAME>](http://www.desirableobjects.co.uk/) - Various fixes and patches, doc improvements
* [<NAME>](http://hennr.name/imprint/) - Doc improvements
* [<NAME>](http://fbflex.wordpress.com/) - Doc improvements

## History

This page lists the high level changes between versions of Geb.

### @geb-version@

#### New Features

* New `via()` method that behaves the same way as `to()` behaved previously - it sets the page on the browser and does not verify the at checker of that page\[[GEB-249](http://jira.codehaus.org/browse/GEB-249)\].
* It is now possible to provide your own [`Navigator`][navigator-api] implementations by specifying a custom [`NavigatorFactory`](api/geb/navigator/factory/NavigatorFactory.html), see [this manual section](configuration.html#navigator_factory) for more information \[[GEB-96](http://jira.codehaus.org/browse/GEB-96)\].
* New variants of `withFrame()` method that allow to switch into frame context and change the page in one go and also automatically change it back to the original page after the call, see [switching pages and frames at once][switch-frame-and-page] in the manual \[[GEB-213](http://jira.codehaus.org/browse/GEB-213)\].
* `wait`, `page` and `close` options can be passed to `withNewWindow()` calls, see [this manual section](browser.html#passing_options_when_working_with_newly_opened_windows) for more information \[[GEB-167](http://jira.codehaus.org/browse/GEB-167)\].
* Improved message of UnresolvablePropertyException to include a hint about forgetting to import the class \[[GEB-240](http://jira.codehaus.org/browse/GEB-240)\].
* Improved signature of `Browser.at()` and `Browser.to()` to return the exact type of the page that was asserted to be at / was navigated to.

#### Fixes

* Fixed an issue where waitFor would throw a WaitTimeoutException even if the last evaluation before timeout returned a truthy value \[[GEB-215](http://jira.codehaus.org/browse/GEB-215)\].
* Fixed taking screenshots for reporting when the browser is not on a HTML page (e.g. XML file) \[[GEB-126](http://jira.codehaus.org/browse/GEB-126)\].
* Return the last evaluation value for a `(wait: true, required: false)` content instead of always returning null \[[GEB-216](http://jira.codehaus.org/browse/GEB-216)\].
* `isAt()` behaves the same as `at()` in regards to updating the browser's page instance to the given page type if its at checker is successful \[[GEB-227](http://jira.codehaus.org/browse/GEB-227)\].
* Handling of `select` elements has been reworked to be far more efficient \[[GEB-229](http://jira.codehaus.org/browse/GEB-229)\].
* Modules support accessing base attributes' values using @attributeName notation \[[GEB-237](http://jira.codehaus.org/browse/GEB-237)\].
* Use of text matchers in module base definitions is supported \[[GEB-241](http://jira.codehaus.org/browse/GEB-241)\].

#### Breaking Changes

* `to()` method now changes the page on the browser and verifies the at checker of that page in one method call \[[GEB-1](http://jira.codehaus.org/browse/GEB-1)\], \[[GEB-249](http://jira.codehaus.org/browse/GEB-249)\]; use `via()` if you need the old behaviour
* `getAttribute(String)` on `Navigator` now returns `null` for boolean attributes that are not present.
* `at()` and `to()` methods on `Browser` now return a page instance if they succeed and `via()` method always returns a page instance \[[GEB-217](http://jira.codehaus.org/browse/GEB-217)\].
* `withFrame()` calls that don't take a page argument now change the browser page to what it was before the call, after the call \[[GEB-222](http://jira.codehaus.org/browse/GEB-222)\].
* due to performance improvements duplicate elements are not removed when creating new `Navigator`s anymore; the new `unique()` method on `Navigator` can be used to remove duplicates if needed \[[GEB-223](http://jira.codehaus.org/browse/GEB-223)\].
* `at(Page)` and `isAt(Page)` methods on `Browser` have been removed as they were inconsistent with the rest of the API \[[GEB-242](http://jira.codehaus.org/browse/GEB-242)\].

### 0.7.2

#### Fixes
{'fraction_non_alphanumeric': 0.14779033915724563, 'fraction_numerical': 0.02219938335046249, 'mean_word_length': 4.592528735632184, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 6, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2541845', 'n_tokens_mistral': 3267, 'n_tokens_neox': 2914, 'n_words': 1019}