url-metadata
Version:
Request a url and scrape the metadata from its HTML using Node.js or the browser.
188 lines (134 loc) • 4.75 kB
Markdown
# CHANGELOG
5.2.0
- add `agent` option for Node v6+
5.1.1
- return relevant `responseHeaders` with metadata (see `lib/extract-headers.js`)
- improve package.json browser bundling support
5.1.0
- separate entry points for browser and node.js for more efficient bundling (see package.json) & SSRF support
- switch to `node-fetch` v2 on node.js side to support proper SSRF filtering
- add `options.compress` from `node-fetch` to our node.js user options
- add `options.size` to set a max size for the response in Node.js envs
- added npm url to the default `User-Agent` header
- improve cleanup of memory leaks when a fetch attempt errors out
- switch `/example-typescript` to webpack (vs. parcel)
- update both /example- dirs to use the 5.1.0, ensure build works as expected
5.0.5
- add `/example-vite` directory (per issue #99)
5.0.4
- bugfix issue #99: conditional useAgent for vite (browser) builds & Node.js < v18
5.0.3
- improve README & readability UX
5.0.2
- README: clarfiy support for SSRF prevention/ Node.js versioning
- update default request headers `User-Agent` string
5.0.1
- in `/example-typescript`: update `parcel` version in `devDependencies`
5.0.0
- issue #97: prevent SSRF attacks
- issue #97: add `maxRedirects` option to prevent infinite redirect loops
4.1.4
- bugfix issue #90: ignore meta tags outside of <head> tag
4.1.3
- issue #90: temporarily remove support for itemprop meta
4.1.2
- update/fix failing tests
4.1.1
- support favicons rel='shortcut icon'
4.1.0
- support json-ld `@graph` syntax
4.0.1
- update `/example-typescript` to use version 4.0.0
4.0.0
- bugfix: allow multiple json-ld objects. this is a breaking change, previous versions returned `jsonld` as a single object but is now an array of objects.
3.5.6
- update typescript def so `url` param can be `null` when in `parseResponseObject` option mode
- add this mode to /example-typescript
3.5.5
- update example browser usage dir /example-typescript to use parcel instead of browserify
- README changes
3.5.4
- add new test for parsing from string to /test/options.test.js
- add as new test as example to README
3.5.3
- bug: missing option `parseResponseObject` from Typescript definition
- add Checklist to PR template so this doesn't happen again
3.5.2
- README changes only
3.5.1
- README changes only
3.5.0
- new option: parseResponseObject
- bug: 'unsupported content type' errors hang
3.4.9
- bugs with `ensureSecureImageRequest` opt `true`
- favicons not obeying opt when scheme is missing ex: '//:'
- handle img tags w `data:` URIs
3.4.8
- improve favicon support & tests
3.4.7
- return imgTags on page (obey `ensureSecureImageRequest` opt)
- bug: update TS `Result` definition to fit complex/varied json-ld use-cases in wild
- change from 3.4.4: `heading.content` -> `heading.text`
3.4.6
- return `requestUrl` (the url the user passed in to this module) alongside `url`, the final hop in request chain
3.4.5
- handle multiple meta tags with same key, diff values by concatenating & comma-delimiting in one string
- bug: fix meta tag charset
- headings: strip newlines and extra spaces
3.4.4
- h1-h6 headings
3.4.3
- tighten up regex in extract-charset.js
3.4.2
- return lang attribute
3.4.1
- README, keyword changes
3.4.0
- opts.decode defaults to auto-detecting charset & supports user-specificed charset overrides
3.3.1
- add troubleshooting section to README
3.3.0
- citations handling & tests, explainer in README
3.2.0
- fix title bug
3.1.1
- update Typescript definitions index.d.ts to account for favicons
3.1.0
- scrape favicon(s) & add test
3.0.3
- test: add test for `descriptionLength` option
3.0.1
- bug: missing option from index.d.ts
3.0
- replace `request`, `q` modules with js-native `fetch` and async/await
- update dependencies
- add test suite
2.5
- add support for JSON-LD https://moz.com/blog/json-ld-for-beginners
2.4
- Typescript definitions index.d.ts
2.3
- options.decode() to handle custom encodings:
https://github.com/LevelNewsOrg/url-metadata/pull/14
- example/decode.js sample decode() for EUC-JP (Japanese)
2.2.3
- handle mixed case in options.sourceMap keys
2.2.2
- fix YouTube source mapping by updating the DOM selector it is derived from
- better sourceMap example in README
2.2.1
- update to linter to [standard](https://www.npmjs.com/package/standard) 12.0.1
2.2.0
- add support for metatags: `price`, `pricecurrency`, `availability`
- add support for metatags with attribute `itemprop`, in addition to `property`
2.1.9
- bugfix: truncated `og:image` (issue #9)
2.1.8
- bugfix: bad responses neither rejecting nor resolving
2.1.7
- README typo in usage instructions
2.1.6
- add keywords to package.json
2.1.5
- make options usage more explicit in README