Releases: d3an/finviz
Releases · d3an/finviz
v1.2.3
- Handle Cloudflare blocker bug by randomizing user agent upon request failure (untested).
- Refactor data export in CLI. Automatically detect output file type as csv or json (defaults to csv otherwise).
- Simplify News views from
by_source
tosource
andby_time
totime
. - Fix News article timestamps to follow
RFC3339
rather than cells with date xor time values. - Restrict view args in News CLI to
source
xortime
via enum method. - Upgrade Go version to
1.17.7
.
v1.2.2
v1.2.1
v1.2.0
- Added support for Economic Calendar
- Added corresponding cmd app
v1.1.0
Restructured GetQuotes
Method
Change to Function Signature
GetQuotes
now returns (Results, error)
. The error here should either be nil
or fmt.Errorf("error failed to generate rows from quote KVP map")
. If the latter occurs, feel free to raise an issue.
Results
is constructed as Results{Data: *dataframe.DataFrame, Warnings: []Warning, Errors: []Error}
. As follows:
Data
is the previously returned DataFrameWarnings
is a slice of newWarning
structs. An exampleWarning
is given byWarning{Ticker: "INVALID", Error: fmt.Errorf("resource not found")}
. Right now, warnings only indicate that Finviz does not support the given ticker.Errors
is a slice of newError
structs. An exampleError
is given byError{Ticker: "SNAP", Error: fmt.Errorf(...)}
. Errors could occur if Finviz has placed you on a block list (usually done via Cloudflare) or could be an internal library error.
If a Warning or Error exists for a Ticker, then the returned DataFrame will not have a row for that Ticker. The three sets, i.e., Data, Warnings, and Errors, are mutually exclusive.
Other Changes
- Added
Exchange
column to the returned DataFrame. - Fixed a bug that sometimes returned
S&P,500
as a stock's Index; now returnsS&P500
. - Added data cleaning to DataFrame results, i.e., most columns should now correspond to their actual data type.
- Added support for backoff algorithm on request frequency.
v1.0.8
v1.0.7
v1.0.6
- Stripped out Screener URL generation. Opted for users providing the URL.
- Decoupled app interfaces.
- Added full Screener result scraping (all pages).
- Added exponential backoff retry system for temporary failing requests.
- Moved client creation to singleton pattern. Users can provide custom User-Agents.
- Minor renaming.
- CLI upgrades.
v1.0.5
- Added support for
Quote.ashx
app.- All 73 table sections supported. Chart url supported. Basic details supported.
- Supports special sections:
Analyst Recommendations
,News
,Description
, andInsider Trading
- Does not support
Statements
section yet. Separate requests required.
- Added concurrent requests for quotes. Retry system handles blocked requests quickly.
- Added a CLI subcommand
quote
for the Quote app - Refactored test directory structure
- Refactored cmd directory structure
- Updated package Go version from
1.15.2
to1.15.3
- BUG: Encountered CSV export bug for some tickers (i.e. FB) for special sections.