mirror of
https://github.com/MontFerret/ferret.git
synced 2024-12-02 09:21:54 +02:00
24 KiB
24 KiB
Changelog
0.16.6
Fixed
Updated
- Small tweak in FQL Parser for FQL Formatter #723
0.16.5
Fixed
- Query fails if an element is not found (regression) #722
Updated
- Small tweak in FQL Parser for FQL Formatter #723
0.16.4
Fixed
- Fixed inability to parse custom date formats with DATE function #720
0.16.3
Fixed
- Panic during XPath execution by HTTP driver #715
0.16.2
Fixed
- Unable to use dynamic values in LIMIT clause #706
- HTTP driver does not allow to override header values #707, #709
- Cleaned up deps #710, #711
0.16.1
Fixed
- Logical precedence in ternary operator condition #704
0.16.0
Added
- New
WAITFOR EVENT
syntax #590 - Support of optional chaining #634
- Tracing to CDP driver #648
- Support of errors suppression in function calls #652
- Support of error suppression in inline expressions #671
- Support of XPath selectors throughout drivers API #657
- Zero-allocation in
FOR
loops returningNONE
#673 - Ignorable
_
variable #673
Changed
Fixed
values.Parse
does not parse int64 #621- CPU leakage #635, 90792bc
- Nil pointer exception #636
- Use of deprecated CDP API methods #637
- HTTP driver makes multiple requests #642
- Log level is ignored aeb1247
Dependencies
- Upgraded github.com/mafredri/cdp
- Upgraded github.com/antchfx/xpath
- Upgraded github.com/PuerkitoBio/goquery
- Upgraded github.com/rs/zerolog
Other
0.15.0
Added
- Support of document charset in HTTP driver #609
Walk
method to FQL Parser 80c278e- Possibility to send keyboard events like 'Enter' or 'Shift' #618
Changed
- Moved CLI to a separate repository #608
Fixed
- Passing headers and cookies to HTTP driver #614
- Reading property of anyonymous object #616
- Clearing input text containing special characteers #619
0.14.1
Fixed
0.14.0
Added
- Support of History API #584
- Support of custom http transport in HTTP driver #586
LIKE
operator #591- Support of ignoring page resources #592
- Support of handling non-200 status codes in HTTP driver #593
DOCUMENT_EXISTS
function #594
Fixed
RAND(0,100)
always same result #579- Element.children always returns empty array #580
- Passing parameters with a nested nil structure leads to panic #587
0.13.0
Added
WHILE
loop andATTR_QUERY
function #567- Support of Element.nextElementSibling and Element.previousElement #569
- Support of Element.getParentElement #571
- Support of computed styles #570
Fixed
- HTML escaping #573
Updated
0.12.1
Fixed
0.12.0
Added
Changed
- Removed property caching and tracking #531
- Updated dependencies #528, #525
IO::FS::WRITE
accepts any type as a file content #544- Print errors on stderr #539
Fixed
WAIT
does not respect cancellation signal #524- Missed
DATE_COMPARE
#537 - Spelling #534
SCREENSHOT
param type check #545- Wrong base for int formatter e283722
0.11.1
Fixed
0.11.0
Added
Updated
Fixed
RAND
always returns same result . #484RAND
does not work on Windows. #497IO::FS::WRITE
does not add read permissions. #494- Unable to use keywords in namespaces. #481
0.10.2
Updated
0.10.1
Fixed
0.10.0
Added
- Response information to drivers. #391, #450
- Compilation check whether parameter values are provided. #396
- Allowed HTTP response codes to HTTP driver. #398
- IO functions to standard library. #403, #405, #452
- Compilation check whether a variable name is unique. #416
- Loading HTML page into memory. Supported by all drivers. #413
Fixed
- Fixes in HTTP driver. #390
- Inability to handle redirects correctly. #432
- XPath selector gives faulty output. #435
- Typos in README and comments. #446
PAGINATION
fails during redirects. #448
Changed
- Made FQL keywords case insensitive. #393
- Performance boost in EventBroker. #402, #407, #408
- Updated dependencies.
0.9.0
Added
INPUT_CLEAR
function to clear input's value. #366- Support of tick for string literals. #367
- Support of default headers and cookies. #372
- Support of use of params in dot notation. #378
- Optional count param to
CLICK
function. #377 BLUR
function. #379
Fixed
- Tabs don't get closed on page load error. #359
CLICK
function does not allow to use element with a selector. #355- Unable to use member expression right after a function call. #368
Changed
- Updated zerolog. #352
- Runtime
Object
andArray
values implementcore.Getter
interface. #353 - Externalized default timeout values. #371
- Refactored
drivers.HTMLDocument
anddrivers.HTMLElement
interfaces. #376, #375
0.8.3
Fixed
- Unable to click by selector using an element.
0.8.2
Fixed
- Scrolling position is not centered. #343
- Unable to set custom logger fields. #346
- Fixed
INNER_HTML
,INNER_TEXT
,INNER_HTML_SET
,INNER_TEXT_SET
functions. #347 - Unable to set custom headers. #348
0.8.1
Fixed
- Added existence check to
CLICK
andCLICK_ALL
functions. #341 - Added a check whether an element is in the viewport before scrolling. #342
0.8.0
Added
- Delay randomization for inputs. #283
- Namespace support. #269
- iframe support. #315
- Better emulation of user interaction. #316, #331
ESCAPE_HTML
,UNESCAPE_HTML
andDECODE_URI_COMPONENT
functions. #318- XPath support. #322
- Regular expression operator. #326
INNER_HTML_SET
andINNER_TEXT_SET
functions. #329- Possibility to set viewport size. #334
FOCUS
function. #340
Changed
RAND
accepts optional upper and lower limits. #271- Updated CDP definitions. #328
- Logic of iterator termination. #330
Fixed
- Order of arguments in
SCROLL
function. #269 - The command line parameter "--param" does not support colon. #282
- Race condition during
WAIT_NAVIGATION
call. #281 - Arithmetic operators. #298
- Missed UA setting for HTTP driver. #318
- Improper math operator used in calculating page load timeout. #319
- Wrong function names in README. #321
- JSON serialization for HTTPHeader type. #323
0.7.0
Added
- Autocomplete to CLI #219.
- New mouse functions -
MOUSE(x, y)
andSCROLL(x, y)
#237. WAIT_NO_ELEMENT
,WAIT_NO_CLASS
andWAIT_NO_CLASS_ALL
functions #249.- Computed
HTMLElement.style
property #255. ATTR_GET
,ATTR_SET
,ATTR_REMOVE
,STYLE_GET
,STYLE_SET
andSTYLE_REMOVE
functions #255.WAIT_STYLE
,WAIT_NO_STYLE
,WAIT_STYLE_ALL
andWAIT_NO_STYLE_ALL
functions #256.- 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
ANDCOOKIE_GET
functions were added #242.
LET doc = DOCUMENT(url, {
driver: "cdp",
cookies: [{
name: "x-e2e",
value: "test"
}, {
name: "x-e2e-2",
value: "test2"
}]
})
Changed
Fixed
- Click events are not cancellable #222.
- Name collision #223.
- Invalid return in FQL Compiler constructor #227.
- Incorrect string length computation #238.
- Access to HTML object properties via dot notation #239.
- Graceful process termination #240.
- Browser launcher for macOS #246.
Breaking changes
- New runtime type system #232.
- Moved and renamed
collections.IterableCollection
andcollections.CollectionIterator
interfaces. Now they are incore
package and calledIterable
andIterator
1af8b37. - Renamed
collections.Collection
interface tocollections.Measurable
1af8b37. - Moved html interfaces from
runtime/values
package intodrivers
package #234. - Changed drivers initialization. Replaced old
drivers.WithDynamic
anddrivers.WithStatic
methods with a newdrivers.WithContext
method with optional parameterdrivers.AsDefault()
#234. - New document load params #234.
LET doc = DOCUMENT(url, {
driver: "cdp"
})
0.6.0
Added
- Added support for
context.Done()
to interrupt an execution #201. - Added support for custom HTML drivers #209.
- Added support for dot notation access and assignments for custom types #214
- Added
ELEMENT_EXISTS(doc, selector) -> Boolean
function #210.
LET exists = ELEMENT_EXISTS(doc, ".nav")
- Added
PageLoadParams
toDOCUMENT
function #214.
LET doc = DOCUMENT("https://www.google.com/", {
dynamic: true,
timeout: 10000
})
Fixed
Breaking change
- (Embedded) Removed builtin drivers initialization in Program #198. The initialization must be done via context manually.
0.5.2
Fixed
- Does not close browser tab when fails to load a page #193.
HTMLElement.value
does not return actual value #195- Compiles a query with duplicate variable in FOR statement #196
- Default CDP address #197.
0.5.1
Fixed
- Unable to change a page load timeout #186.
RETURN doc
returns an empty string #187.- Unable to pass an HTML Node without a selector to
INNER_TEXT
andINNER_HTML
#187. doc.innerText
returns an error #187.- Panics when
WAIT_CLASS
does not receive all required arguments #192.
0.5.0
Added
FMT
function #151.- DateTime functions #152, #153, #154, #156, #157, #165, #175, #182.
PAGINATION
function #173.SCROLL_TOP
,SCROLL_BOTTOM
andSCROLL_ELEMENT
functions #174.HOVER
function #178.- Panic recovery mechanism #158.
Fixed
- Unable to define variables and make function calls before FILTER, SORT and etc statements #148.
- Unable to use params in LIMIT clause #173.
RIGHT
should return substr counting from right rather than left #164.INNER_HTML
returns outer HTML instead for dynamic elements #170.INNER_TEXT
returns HTML instead from dynamic elements #170.
Breaking change:
- Name collision between
math
andutils
packages in standard library. RenamedLOG
toPRINT
#162.
0.4.0
Added
Fixed
- Unable to use string literals as object properties commit
0.3.0
Added
FROM_BASE64
function commit- Support for multi line strings commit
DOWNLOAD
function commit- Binary expressions commit
Fixed
KEEP
function does not perform deep cloning commit- WaitForNavigation callback can get called more than once commit
- Concurrent map iteration and map write commit
Breaking changes
- Renamed
.innerHtml
to.innerHTML
commit