2018-10-14 03:14:24 +02:00
## Changelog
2021-04-09 16:07:05 +02:00
### 0.15.0
#### Added
- Support of document charset in HTTP driver [#609 ](https://github.com/MontFerret/ferret/pull/609 )
- ``Walk`` method to FQL Parser [80c278e ](https://github.com/MontFerret/ferret/commit/80c278ec6c783e29a8df12865da8208d1c148c65 )
2021-04-23 21:45:29 +02:00
- Possibility to send keyboard events like 'Enter' or 'Shift' [#618 ](https://github.com/MontFerret/ferret/pull/618 )
2021-04-09 16:07:05 +02:00
#### Changed
- Moved CLI to a separate repository [#608 ](https://github.com/MontFerret/ferret/pull/608 )
#### Fixed
- Passing headers and cookies to HTTP driver [#614 ](https://github.com/MontFerret/ferret/pull/614 )
2021-04-23 21:45:29 +02:00
- Reading property of anyonymous object [#616 ](https://github.com/MontFerret/ferret/pull/616 )
- Clearing input text containing special characteers [#619 ](https://github.com/MontFerret/ferret/pull/619 )
2021-04-09 16:07:05 +02:00
2021-03-27 19:13:01 +02:00
### 0.14.1
#### Fixed
- Parsing HTTP headers and cookies [#598 ](https://github.com/MontFerret/ferret/pull/598 )
- Parsing cookie expiration datetime [#602 ](https://github.com/MontFerret/ferret/pull/602 )
2021-03-06 06:14:31 +02:00
### 0.14.0
#### Added
- Support of History API [#584 ](https://github.com/MontFerret/ferret/pull/584 )
- Support of custom http transport in HTTP driver [#586 ](https://github.com/MontFerret/ferret/pull/586 )
- ``LIKE`` operator [#591 ](https://github.com/MontFerret/ferret/pull/591 )
- Support of ignoring page resources [#592 ](https://github.com/MontFerret/ferret/pull/592 )
- Support of handling non-200 status codes in HTTP driver [#593 ](https://github.com/MontFerret/ferret/pull/593 )
- ``DOCUMENT_EXISTS`` function [#594 ](https://github.com/MontFerret/ferret/pull/594 )
#### Fixed
- ``RAND(0,100)`` always same result [#579 ](https://github.com/MontFerret/ferret/pull/579 )
- Element.children always returns empty array [#580 ](https://github.com/MontFerret/ferret/pull/580 )
- Passing parameters with a nested nil structure leads to panic [#587 ](https://github.com/MontFerret/ferret/pull/587 )
2020-11-11 04:55:11 +02:00
### 0.13.0
#### Added
- ``WHILE`` loop and ``ATTR_QUERY`` function [#567 ](https://github.com/MontFerret/ferret/pull/567 )
2020-11-24 03:23:04 +02:00
- Support of Element.nextElementSibling and Element.previousElement [#569 ](https://github.com/MontFerret/ferret/pull/569 )
- Support of Element.getParentElement [#571 ](https://github.com/MontFerret/ferret/pull/571 )
- Support of computed styles [#570 ](https://github.com/MontFerret/ferret/pull/570 )
#### Fixed
- HTML escaping [#573 ](https://github.com/MontFerret/ferret/pull/573 )
#### Updated
- Upgraded CDP client [#536 ](https://github.com/MontFerret/ferret/pull/563 )
- Upgraded GoQuery [#562 ](https://github.com/MontFerret/ferret/pull/562 )
- Upgraded XPath [#572 ](https://github.com/MontFerret/ferret/pull/572 )
2020-11-11 04:55:11 +02:00
2020-10-28 17:12:10 +02:00
### 0.12.1
#### Fixed
- Missing regexp FILTER operator [#558 ](https://github.com/MontFerret/ferret/pull/558 )
- Open tabs on page load error [#564 ](https://github.com/MontFerret/ferret/pull/564 )
- Docs for WAIT_NAVIGATION [#557 ](https://github.com/MontFerret/ferret/pull/557 )
2020-07-26 19:25:57 +02:00
### 0.12.0
#### Added
2020-09-15 04:25:32 +02:00
- iFrame navigation handling [#535 ](https://github.com/MontFerret/ferret/pull/535 )
- ``FRAMES`` function for fast frame lookup [#535 ](https://github.com/MontFerret/ferret/pull/535 )
2020-07-26 19:25:57 +02:00
- Assertion library [#526 ](https://github.com/MontFerret/ferret/pull/526 )
#### Changed
- Removed property caching and tracking [#531 ](https://github.com/MontFerret/ferret/pull/531 )
- Updated dependencies [#528 ](https://github.com/MontFerret/ferret/pull/528 ), [#525 ](https://github.com/MontFerret/ferret/pull/525 )
2020-08-08 04:10:28 +02:00
- ``IO::FS::WRITE`` accepts any type as a file content [#544 ](https://github.com/MontFerret/ferret/pull/544 )
2020-09-04 02:44:51 +02:00
- Print errors on stderr [#539 ](https://github.com/MontFerret/ferret/pull/539 )
2020-07-26 19:25:57 +02:00
2020-05-28 01:50:05 +02:00
#### Fixed
2020-07-26 19:25:57 +02:00
- ``WAIT`` does not respect cancellation signal [#524 ](https://github.com/MontFerret/ferret/pull/524 )
- Missed ``DATE_COMPARE`` [#537 ](https://github.com/MontFerret/ferret/pull/537 )
- Spelling [#534 ](https://github.com/MontFerret/ferret/pull/534 )
2020-09-04 02:44:51 +02:00
- ``SCREENSHOT`` param type check [#545 ](https://github.com/MontFerret/ferret/pull/545 )
- Wrong base for int formatter [e283722 ](https://github.com/MontFerret/ferret/commit/e283722d37f392f755ace2a42232c0d4b37d1838 )
2020-05-28 01:50:05 +02:00
2020-07-26 19:25:57 +02:00
### 0.11.1
#### Fixed
2020-05-28 01:50:05 +02:00
- Fixed use of unquoted scroll options [#521 ](https://github.com/MontFerret/ferret/pull/521 )
- Upgraded ANTLR version [#517 ](https://github.com/MontFerret/ferret/pull/517 )
2020-05-21 19:26:14 +02:00
### 0.11.0
#### Added
- USE statement. [#470 ](https://github.com/MontFerret/ferret/pull/470 )
- Scroll options. [#471 ](https://github.com/MontFerret/ferret/pull/471 )
- Functions for working with file paths. [#505 ](https://github.com/MontFerret/ferret/pull/505 )
- Fuzzer. [#501 ](https://github.com/MontFerret/ferret/pull/501 )
## Updated
- ``DECODED_URI_COMPONENT`` decodes unicode symbols now. [#499 ](https://github.com/MontFerret/ferret/pull/499 )
- Dependencies. [87265cf ](https://github.com/MontFerret/ferret/commit/87265cf470c4b614d144706020729dd453620a0c )
# Fixed
- ``RAND`` always returns same result . [#484 ](https://github.com/MontFerret/ferret/pull/484 )
- ``RAND`` does not work on Windows. [#497 ](https://github.com/MontFerret/ferret/pull/497 )
- ``IO::FS::WRITE`` does not add read permissions. [#494 ](https://github.com/MontFerret/ferret/pull/494 )
- Unable to use keywords in namespaces. [#481 ](https://github.com/MontFerret/ferret/pull/481 )
2020-04-20 19:30:05 +02:00
### 0.10.2
#### Updated
- Updated dependencies. [#466 ](https://github.com/MontFerret/ferret/pull/466 ) [#467 ](https://github.com/MontFerret/ferret/pull/467 )
2020-03-15 23:12:00 +02:00
### 0.10.1
#### Fixed
- Added string functions with correct names. [#461 ](https://github.com/MontFerret/ferret/pull/461 )
- Added missed datetime library. [#462 ](https://github.com/MontFerret/ferret/pull/462 )
2020-02-21 19:29:49 +02:00
### 0.10.0
#### Added
- Response information to drivers. [#391 ](https://github.com/MontFerret/ferret/pull/391 ), [#450 ](https://github.com/MontFerret/ferret/pull/450 )
2020-07-09 23:30:50 +02:00
- Compilation check whether parameter values are provided. [#396 ](https://github.com/MontFerret/ferret/pull/396 )
2020-02-21 19:29:49 +02:00
- Allowed HTTP response codes to HTTP driver. [#398 ](https://github.com/MontFerret/ferret/pull/398 )
- IO functions to standard library. [#403 ](https://github.com/MontFerret/ferret/pull/403 ), [#405 ](https://github.com/MontFerret/ferret/pull/405 ), [#452 ](https://github.com/MontFerret/ferret/pull/452 )
2020-07-09 23:30:50 +02:00
- Compilation check whether a variable name is unique. [#416 ](https://github.com/MontFerret/ferret/pull/416 )
2020-02-21 19:29:49 +02:00
- Loading HTML page into memory. Supported by all drivers. [#413 ](https://github.com/MontFerret/ferret/pull/434 )
#### Fixed
- Fixes in HTTP driver. [#390 ](https://github.com/MontFerret/ferret/pull/390 )
- Inability to handle redirects correctly. [#432 ](https://github.com/MontFerret/ferret/pull/432 )
- XPath selector gives faulty output. [#435 ](https://github.com/MontFerret/ferret/pull/435 )
- Typos in README and comments. [#446 ](https://github.com/MontFerret/ferret/pull/446 )
- ``PAGINATION`` fails during redirects. [#448 ](https://github.com/MontFerret/ferret/pull/448 )
#### Changed
- Made FQL keywords case insensitive. [#393 ](https://github.com/MontFerret/ferret/pull/393 )
- Performance boost in EventBroker. [#402 ](https://github.com/MontFerret/ferret/pull/402 ), [#407 ](https://github.com/MontFerret/ferret/pull/407 ), [#408 ](https://github.com/MontFerret/ferret/pull/408 )
- Updated dependencies.
2019-09-10 02:15:05 +02:00
### 0.9.0
#### Added
- ``INPUT_CLEAR`` function to clear input's value. [#366 ](https://github.com/MontFerret/ferret/pull/366 )
- Support of tick for string literals. [#367 ](https://github.com/MontFerret/ferret/pull/367 )
- Support of default headers and cookies. [#372 ](https://github.com/MontFerret/ferret/pull/372 )
- Support of use of params in dot notation. [#378 ](https://github.com/MontFerret/ferret/pull/378 )
- Optional count param to ``CLICK`` function. [#377 ](https://github.com/MontFerret/ferret/pull/377 )
- ``BLUR`` function. [#379 ](https://github.com/MontFerret/ferret/pull/379 )
#### Fixed
- Tabs don't get closed on page load error. [#359 ](https://github.com/MontFerret/ferret/pull/359 )
- ``CLICK`` function does not allow to use element with a selector. [#355 ](https://github.com/MontFerret/ferret/pull/355 )
- Unable to use member expression right after a function call. [#368 ](https://github.com/MontFerret/ferret/pull/368 )
#### Changed
- Updated zerolog. [#352 ](https://github.com/MontFerret/ferret/pull/352 )
- Runtime ``Object`` and ``Array`` values implement ``core.Getter`` interface. [#353 ](https://github.com/MontFerret/ferret/pull/353 )
- Externalized default timeout values. [#371 ](https://github.com/MontFerret/ferret/pull/371 )
- Refactored ``drivers.HTMLDocument`` and ``drivers.HTMLElement`` interfaces. [#376 ](https://github.com/MontFerret/ferret/pull/376 ), [#375 ](https://github.com/MontFerret/ferret/pull/375 )
2019-08-25 02:26:27 +02:00
### 0.8.3
#### Fixed
- Unable to click by selector using an element.
2019-08-02 02:27:26 +02:00
### 0.8.2
#### Fixed
2019-08-04 23:26:35 +02:00
- Scrolling position is not centered. [#343 ](https://github.com/MontFerret/ferret/pull/343 )
2019-08-04 23:27:28 +02:00
- Unable to set custom logger fields. [#346 ](https://github.com/MontFerret/ferret/pull/346 )
2019-08-06 01:57:02 +02:00
- Fixed ``INNER_HTML``, ``INNER_TEXT``, ``INNER_HTML_SET``, ``INNER_TEXT_SET`` functions. [#347 ](https://github.com/MontFerret/ferret/pull/347 )
2019-08-04 23:25:47 +02:00
- Unable to set custom headers. [#348 ](https://github.com/MontFerret/ferret/pull/348 )
2019-08-02 02:27:26 +02:00
2019-07-27 07:10:35 +02:00
### 0.8.1
#### Fixed
- Added existence check to ``CLICK`` and ``CLICK_ALL`` functions. [#341 ](https://github.com/MontFerret/ferret/pull/341 )
- Added a check whether an element is in the viewport before scrolling. [#342 ](https://github.com/MontFerret/ferret/pull/342 )
2019-07-17 17:50:51 +02:00
### 0.8.0
#### Added
- Delay randomization for inputs. [#283 ](https://github.com/MontFerret/ferret/pull/283 )
- Namespace support. [#269 ](https://github.com/MontFerret/ferret/pull/296 )
- iframe support. [#315 ](https://github.com/MontFerret/ferret/pull/315 )
- Better emulation of user interaction. [#316 ](https://github.com/MontFerret/ferret/pull/316 ), [#331 ](https://github.com/MontFerret/ferret/pull/331 )
- ``ESCAPE_HTML``, ``UNESCAPE_HTML`` and ``DECODE_URI_COMPONENT`` functions. [#318 ](https://github.com/MontFerret/ferret/pull/318 )
- XPath support. [#322 ](https://github.com/MontFerret/ferret/pull/322 )
- Regular expression operator. [#326 ](https://github.com/MontFerret/ferret/pull/326 )
- ``INNER_HTML_SET`` and ``INNER_TEXT_SET`` functions. [#329 ](https://github.com/MontFerret/ferret/pull/329 )
2019-07-17 19:30:29 +02:00
- Possibility to set viewport size. [#334 ](https://github.com/MontFerret/ferret/pull/334 )
2019-07-23 22:13:04 +02:00
- ``FOCUS`` function. [#340 ](https://github.com/MontFerret/ferret/pull/340 )
2019-07-17 17:50:51 +02:00
#### Changed
- ``RAND`` accepts optional upper and lower limits. [#271 ](https://github.com/MontFerret/ferret/pull/271 )
- Updated CDP definitions. [#328 ](https://github.com/MontFerret/ferret/pull/328 )
- Logic of iterator termination. [#330 ](https://github.com/MontFerret/ferret/pull/330 )
#### Fixed
- Order of arguments in ``SCROLL`` function. [#269 ](https://github.com/MontFerret/ferret/pull/269 )
- The command line parameter "--param" does not support colon. [#282 ](https://github.com/MontFerret/ferret/pull/282 )
- Race condition during ``WAIT_NAVIGATION`` call. [#281 ](https://github.com/MontFerret/ferret/pull/281 )
- Arithmetic operators. [#298 ](https://github.com/MontFerret/ferret/pull/298 )
- Missed UA setting for HTTP driver. [#318 ](https://github.com/MontFerret/ferret/pull/318 )
- Improper math operator used in calculating page load timeout. [#319 ](https://github.com/MontFerret/ferret/pull/319 )
- Wrong function names in README. [#321 ](https://github.com/MontFerret/ferret/pull/321 )
- JSON serialization for HTTPHeader type. [#323 ](https://github.com/MontFerret/ferret/pull/323 )
2019-03-19 03:07:15 +02:00
### 0.7.0
#### Added
- Autocomplete to CLI [#219 ](https://github.com/MontFerret/ferret/pull/219 ).
- New mouse functions - ``MOUSE(x, y)`` and ``SCROLL(x, y)`` [#237 ](https://github.com/MontFerret/ferret/pull/237 ).
- ``WAIT_NO_ELEMENT``, ``WAIT_NO_CLASS`` and ``WAIT_NO_CLASS_ALL`` functions [#249 ](https://github.com/MontFerret/ferret/pull/249 ).
- Computed ``HTMLElement.style`` property [#255 ](https://github.com/MontFerret/ferret/pull/255 ).
- ``ATTR_GET``, ``ATTR_SET``, ``ATTR_REMOVE``, ``STYLE_GET``, ``STYLE_SET`` and ``STYLE_REMOVE`` functions [#255 ](https://github.com/MontFerret/ferret/pull/255 ).
- ``WAIT_STYLE``, ``WAIT_NO_STYLE``, ``WAIT_STYLE_ALL`` and ``WAIT_NO_STYLE_ALL`` functions [#256 ](https://github.com/MontFerret/ferret/pull/260 ).
- Cookies support. Now a document can be loaded with preset cookies. Also, HTMLDocument has ``.cookies`` property.
In order to manipulate with cookies, ``COOKIE_DEL``, ``COOKIE_SET`` AND ``COOKIE_GET`` functions were added [#242 ](https://github.com/MontFerret/ferret/pull/242 ).
```
LET doc = DOCUMENT(url, {
driver: "cdp",
cookies: [{
name: "x-e2e",
value: "test"
}, {
name: "x-e2e-2",
value: "test2"
}]
})
```
#### Changed
- Renamed ParseTYPEP to MustParseTYPE [#231 ](https://github.com/MontFerret/ferret/pull/231 ).
- Added context to all HTML object [#235 ](https://github.com/MontFerret/ferret/pull/235 ).
#### Fixed
- Click events are not cancellable [#222 ](https://github.com/MontFerret/ferret/pull/222 ).
- Name collision [#223 ](https://github.com/MontFerret/ferret/pull/223 ).
- Invalid return in FQL Compiler constructor [#227 ](https://github.com/MontFerret/ferret/pull/227 ).
- Incorrect string length computation [#238 ](https://github.com/MontFerret/ferret/pull/238 ).
- Access to HTML object properties via dot notation [#239 ](https://github.com/MontFerret/ferret/pull/239 ).
- Graceful process termination [#240 ](https://github.com/MontFerret/ferret/pull/240 ).
- Browser launcher for macOS [#246 ](https://github.com/MontFerret/ferret/pull/246 ).
#### Breaking changes
- New runtime type system [#232 ](https://github.com/MontFerret/ferret/pull/232 ).
- Moved and renamed ``collections.IterableCollection`` and ```collections.CollectionIterator``` interfaces.
Now they are in ``core`` package and called ``Iterable`` and ``Iterator`` [1af8b37 ](https://github.com/MontFerret/ferret/commit/f8e061cc8034fd4cfa4ce2a094276d50137a4b98 ).
- Renamed ``collections.Collection`` interface to ``collections.Measurable`` [1af8b37 ](https://github.com/MontFerret/ferret/commit/f8e061cc8034fd4cfa4ce2a094276d50137a4b98 ).
- Moved html interfaces from ``runtime/values`` package into ``drivers`` package [#234 ](https://github.com/MontFerret/ferret/pull/234 ).
- Changed drivers initialization. Replaced old ``drivers.WithDynamic`` and ``drivers.WithStatic`` methods with a new ``drivers.WithContext`` method with optional parameter ``drivers.AsDefault()`` [#234 ](https://github.com/MontFerret/ferret/pull/234 ).
- New document load params [#234 ](https://github.com/MontFerret/ferret/pull/234 ).
```
LET doc = DOCUMENT(url, {
driver: "cdp"
})
```
2018-12-24 18:06:31 +02:00
### 0.6.0
#### Added
- Added support for ```context.Done()``` to interrupt an execution [#201 ](https://github.com/MontFerret/ferret/pull/201 ).
- Added support for custom HTML drivers [#209 ](https://github.com/MontFerret/ferret/pull/209 ).
- Added support for dot notation access and assignments for custom types [#214 ](https://github.com/MontFerret/ferret/pull/214/commits/0ea36e511540e569ef53b8748301512b6d8a046b )
- Added ```ELEMENT_EXISTS(doc, selector) -> Boolean``` function [#210 ](https://github.com/MontFerret/ferret/pull/210 ).
```
LET exists = ELEMENT_EXISTS(doc, ".nav")
```
- Added ```PageLoadParams``` to ```DOCUMENT``` function [#214 ](https://github.com/MontFerret/ferret/pull/214/commits/3434323cd08ca3186e90cb5ab1faa26e28a28709 ).
```
LET doc = DOCUMENT("https://www.google.com/", {
dynamic: true,
timeout: 10000
})
```
#### Fixed
- Math operators precedence [#202 ](https://github.com/MontFerret/ferret/pull/202 ).
- Memory leak in ```DOWNLOAD``` function [#213 ](https://github.com/MontFerret/ferret/pull/213 ).
#### Breaking change
- **(Embedded)** Removed builtin drivers initialization in Program [#198 ](https://github.com/MontFerret/ferret/pull/198 ).
The initialization must be done via context manually.
2018-11-30 21:31:13 +02:00
### 0.5.2
#### Fixed
- Does not close browser tab when fails to load a page [#193 ](https://github.com/MontFerret/ferret/pull/193 ).
- ```HTMLElement.value``` does not return actual value [#195 ](https://github.com/MontFerret/ferret/pull/195 )
- Compiles a query with duplicate variable in FOR statement [#196 ](https://github.com/MontFerret/ferret/pull/196 )
- Default CDP address [#197 ](https://github.com/MontFerret/ferret/pull/197 ).
2018-11-22 05:45:19 +02:00
2018-11-30 21:31:13 +02:00
### 0.5.1
2018-11-22 07:07:41 +02:00
#### Fixed
2018-11-22 05:45:19 +02:00
- Unable to change a page load timeout [#186 ](https://github.com/MontFerret/ferret/pull/186 ).
- ``RETURN doc`` returns an empty string [#187 ](https://github.com/MontFerret/ferret/pull/187 ).
- Unable to pass an HTML Node without a selector to ``INNER_TEXT`` and ``INNER_HTML`` [#187 ](https://github.com/MontFerret/ferret/pull/187 ).
- ``doc.innerText`` returns an error [#187 ](https://github.com/MontFerret/ferret/pull/187 ).
2018-11-22 19:19:02 +02:00
- Panics when ``WAIT_CLASS`` does not receive all required arguments [#192 ](https://github.com/MontFerret/ferret/pull/192 ).
2018-11-22 05:45:19 +02:00
2018-11-12 21:53:36 +02:00
### 0.5.0
#### Added
2018-11-20 03:37:51 +02:00
- ``FMT`` function [#151 ](https://github.com/MontFerret/ferret/pull/151 ).
- DateTime functions [#152 ](https://github.com/MontFerret/ferret/pull/152 ), [#153 ](https://github.com/MontFerret/ferret/pull/153 ), [#154 ](https://github.com/MontFerret/ferret/pull/154 ), [#156 ](https://github.com/MontFerret/ferret/pull/156 ), [#157 ](https://github.com/MontFerret/ferret/pull/157 ), [#165 ](https://github.com/MontFerret/ferret/pull/165 ), [#175 ](https://github.com/MontFerret/ferret/pull/175 ), [#182 ](https://github.com/MontFerret/ferret/pull/182 ).
- ``PAGINATION`` function [#173 ](https://github.com/MontFerret/ferret/pull/173 ).
- ``SCROLL_TOP``, ``SCROLL_BOTTOM`` and ``SCROLL_ELEMENT`` functions [#174 ](https://github.com/MontFerret/ferret/pull/174 ).
- ``HOVER`` function [#178 ](https://github.com/MontFerret/ferret/pull/178 ).
- Panic recovery mechanism [#158 ](https://github.com/MontFerret/ferret/pull/158 ).
2018-11-12 21:53:36 +02:00
#### Fixed
2018-11-20 04:13:49 +02:00
- Unable to define variables and make function calls before FILTER, SORT and etc statements [#148 ](https://github.com/MontFerret/ferret/pull/148 ).
- Unable to use params in LIMIT clause [#173 ](https://github.com/MontFerret/ferret/pull/173 ).
2018-11-20 03:37:51 +02:00
- ```RIGHT``` should return substr counting from right rather than left [#164 ](https://github.com/MontFerret/ferret/pull/164 ).
- ``INNER_HTML`` returns outer HTML instead for dynamic elements [#170 ](https://github.com/MontFerret/ferret/pull/170 ).
- ``INNER_TEXT`` returns HTML instead from dynamic elements [#170 ](https://github.com/MontFerret/ferret/pull/170 ).
#### Breaking change:
- Name collision between ```math``` and ```utils``` packages in standard library. Renamed ```LOG``` to ```PRINT``` [#162 ](https://github.com/MontFerret/ferret/pull/162 ).
2018-11-12 21:53:36 +02:00
2018-10-26 00:24:37 +02:00
### 0.4.0
#### Added
- ``COLLECT`` keyword [#141 ](https://github.com/MontFerret/ferret/pull/141 )
- ``VALUES`` function [#128 ](https://github.com/MontFerret/ferret/pull/128 )
- ``MERGE_RECURSIVE`` function [#140 ](https://github.com/MontFerret/ferret/pull/140 )
#### Fixed
- Unable to use string literals as object properties [commit ](https://github.com/MontFerret/ferret/commit/685c5872aaed42852ce32e7ab8b69b1a269185be )
2018-10-17 19:05:41 +02:00
### 0.3.0
#### Added
- ``FROM_BASE64`` function [commit ](https://github.com/MontFerret/ferret/commit/5db8df55db46336927ca32ab096569fa09df58d3 )
- Support for multi line strings [commit ](https://github.com/MontFerret/ferret/commit/cf70088fd84fa0e02887c0f34298793b98f96073 )
- ``DOWNLOAD`` function [commit ](https://github.com/MontFerret/ferret/commit/dd13878f80f340c4727d3ad5a6a70859dd958b92 )
- Binary expressions [commit ](https://github.com/MontFerret/ferret/commit/e5ca63bcdb83418b40792bc65bf83f58a0cb1b4e )
#### Fixed
- ``KEEP`` function does not perform deep cloning [commit ](https://github.com/MontFerret/ferret/commit/0f3128e8428cd3dc5377a2ead3134c1ae14cc9a0 )
- WaitForNavigation callback can get called more than once [commit ](https://github.com/MontFerret/ferret/commit/1d6a23fa967643a737cd052234d480052d3ec2d9 )
- Concurrent map iteration and map write [commit ](https://github.com/MontFerret/ferret/commit/1d6a23fa967643a737cd052234d480052d3ec2d9 )
2018-10-17 21:06:24 +02:00
#### Breaking changes
2018-10-17 19:05:41 +02:00
- Renamed ``.innerHtml`` to ``.innerHTML`` [commit ](https://github.com/MontFerret/ferret/commit/393980029976405d9e432faadd407e964c995fd4 )
2018-10-14 03:14:24 +02:00
### 0.2.0
#### Added
- Numeric functions [commit ](https://github.com/MontFerret/ferret/commit/5f94b77a39709846a922a3bf421f81e78c2b0c7e )
- ``PDF`` function [commit ](https://github.com/MontFerret/ferret/commit/2417be3f9da6db49dcee5ac6f061cc66142fbef5 )
- ``ZIP`` function [commit ](https://github.com/MontFerret/ferret/commit/5d0d9ec5374d42b0e882436955666c737d9dab0c )
2018-10-17 21:06:24 +02:00
- ``MERGE`` function [commit ](https://github.com/MontFerret/ferret/commit/446ce3ead5812fe105726bae16196fb7ce4a7185 )