colors.js
のバージョンを1.4.0
に固定(colorsなどのnpmパッケージに悪意あるコードが含まれている問題について)
- 依存ライブラリを(ほぼ)最新バージョンに更新
set('browser', ...)
で指定する一部のブラウザのバージョンを一部更新- 一部テストがエラーになるケースを修正
- node.js v16で今までと一部挙動が異なるケースに対応
- カスタムUAを設定したメインインスタンスから
fork()
した際に警告が出るのを修正
- マルチインスタンス対応(
fork()
) - クッキーの読み書き対応(
importCookies()
、exportCookies()
) form
のファイルアップロード対応($('input[type=file]').file()
)
a
要素でもdownload()
が実行できるように変更- downloadストリームにファイル名を指定して保存を追加(
saveAs()
) - downloadストリームの
toBuffer()
でコールバックを省略したらプロミス形式で実行するように変更 set('browser', ...)
で指定する一部のブラウザのバージョンを一部更新set('browser', ...)
で指定するブラウザ種類にyandex
とswitch
を追加- 依存ライブラリを(ほぼ)最新バージョンに更新
- 郵便番号データダウンロードサンプル追加
- ファイルアップロードサンプル追加
- downloadストリームの
toBuffer()
でエラーが発生した時に例外を発生させるのではなく、コールバックの第1引数にエラーオブジェクトをセットして返すように変更 - サポート対象Node.jsバージョンを8に変更(6でも動くようには組んでいるが動作確認はしない)
- WEBサイトの仕様変更などで動作しなくなったサンプルを削除
- Webpack環境下(node)でもある程度動作するように対応(一部制限あり)
set('browser', ...)
で指定する一部のブラウザのバージョンを一部更新- 依存ライブラリを(ほぼ)最新バージョンに更新
- 画像ダウンロードのサンプルをtiqav.comからいらすとやに変更
- サポート対象Node.jsバージョンを6に変更
form
のaccept-charset
属性の複数のエンコーディング指定に対応(先頭で指定されているものを使用)- Node.jsバージョン10でテストが失敗したりDEPRECATEDメッセージが出るのを修正
- サポート対象Node.jsバージョンを4に変更
set('browser', ...)
で指定する一部のブラウザのバージョンを一部更新set('browser', ...)
で指定するブラウザ種類にps4
と3ds
を追加- exampleの2chを5chに変更
- 依存ライブラリを(ほぼ)最新バージョンに更新
- READMEにhttps接続に関するエラーについてのTipsを追加
agentOptions
追加- 内部で設定していたsecureOptionsを削除
- 依存ライブラリを(ほぼ)最新バージョンに更新
package.json
に残っていた不要なライブラリの削除
Download.Manager
がメソッドチェーンできるように型定義ファイルを修正- README.mdのリンク切れ修正
form
のaccept-charset
属性に対応- プロパティ更新時の値の型チェック追加
- 依存ライブラリを(ほぼ)最新バージョンに更新
- 主要ブラウザのUserAgent更新
src
のないimg
要素のdownload()
でエラーになるのを修正
- サポート対象Node.jsバージョンを0.12に変更
setBrowser()
が値を返さないように変更- DEPRECATEDな操作やメソッド実行時にメッセージを表示するように変更
setBrowser()
/setIconvEngine()
を将来廃止予定に- プロパティ値の直接更新を将来廃止予定に
- 依存ライブラリを最新バージョンに更新
set()
実装- TypeScript用定義ファイル更新
- 依存ライブラリを最新バージョンに更新
- 主要ブラウザのUserAgent更新
- Content-TypeやURLの拡張子からXMLであると判別された場合は
cheerio.load()
時にxmlMode
をtrue
にするように変更 - 上記自動判別を行わないオプション
forceHtml
を追加(デフォルト:false
) $.documentInfo()
にisXml
プロパティを追加(XMLモードでパースされたかどうか)- TypeScript用定義ファイル(ベータ版)同梱
- 依存ライブラリを最新バージョンに更新
- Electron上で同期リクエストは未サポートのメッセージを表示するように変更
- POST後のリダイレクト先が相対パスの時にエラーになっていたのを修正(#15)
$.html()
で取得するHTMLがエンティティ化されていたのを修正
- 依存ライブラリを最新バージョンに更新
reset()
実装- 一部promiseのテストが機能していなかったのを修正
field()
でフォーム部品の値をセットした後にメソッドチェーンできていなかったのを修正- 依存ライブラリを最新バージョンに更新
- eslintのdeprecatedなルールを修正して最新版でもlintできるように修正
fetch()
時にget-param
を省略してencode
を指定した時の引数調整がまだおかしかったのを修正fetchSync()
のエンコーディング指定オプションの説明を修正- README.mdのアンカー設定の修正
fetch()
時にget-param
を省略してencode
を指定した時の引数調整がおかしかったのを修正fetch()
のエンコーディング指定オプションの説明をREADME.mdに追加
- 依存ライブラリを最新バージョンに更新
followMetaRefresh
が有効でMETAタグのRefresh先のURLが相対パスの時にリダイレクトできない不具合を修正followMetaRefresh
のデフォルトをfalse
に変更
followMetaRefresh
オプション追加(METAタグRefreshでリダイレクトするかどうかの指定)
- package.jsonへの依存モジュール追加漏れ対応
- METAタグRefreshを検知してリダイレクトするように変更(ただしIE条件付きコメント内は除外)
- POST後の自力リダイレクト時にリクエストヘッダのHostを更新するようにした
- 同期リクエスト実装(
fetchSync()
/clickSync()
/submitSync()
) img
要素にdownload()
実装a
要素、img
要素にurl()
実装- submit系ボタンに
click()
を実装(押されたボタンの情報がフォーム送信時にパラメータとしてセットされる) checkbox
要素、radio
要素にtick()
/untick()
実装form
要素にfield()
実装
- 依存ライブラリを最新バージョンに更新
setBrowser()
で指定する一部のブラウザのバージョンを一部更新- Accept-Languageヘッダを指定していない場合は実行環境のロケールから言語を取得してセットするように変更(WindowsかつNode.js v0.10以下の環境では未対応)
- Acceptヘッダを指定していない場合は一般的なブラウザのAcceptヘッダをセットするように変更
data()
やattr()
などで元からエンティティ化されている文字列がデコードされるように修正- cheerioのオリジナルの
html()
を_html()
からentityHtml()
に変更(全部の文字がエンティティ化されたhtmlを返す) - example追加
$('form').submit()
時にsubmit系ボタンの情報を送信パラメータにセットしないように変更(1つのフォームに複数submit系ボタンがある場合の挙動がおかしくなっていたのを修正)setBrowser()
で指定するブラウザ種類のios
をipad
/iphone
/ipod
に分離
_text()
/_html()
を将来廃止予定に
- 0.3.7の修正がNode.js 0.10系だと不十分だったので再度修正
- 受信サイズ制限オプション(
maxDataSize
)追加(#8) - フォーム送信時のパラメータ名がURLエンコードされていなかったのを修正
- 不必要な空GETパラメータが入ってフォーム送信が上手く行かないケースを修正
- 生DOM要素から作成したcheerioオブジェクトでclickやsubmitがエラーになっていたのを修正(#7)
- submit時、input要素にvalue属性が無いとパラメータにundefinedが入るのを修正(#6)
- 依存ライブラリを最新バージョンに更新
- POST後のリダイレクト先の指定がおかしかったのを修正(#4)
submit()
時のパラメータ指定で数字の0を指定した場合に空扱いされてしまうのを修正- READMEにBasic認証についてのTips追加
- 依存ライブラリを最新バージョンに更新
debug
オプション追加setBrowser()
で指定するブラウザ種類にedge
とvivaldi
を追加- デフォルトのUser-AgentをIEからChromeに変更(現在のブラウザシェア率的に)
- 依存ライブラリを最新バージョンに更新
- 元からHTMLエンティティで表記されている文字列を
.text()
や.html()
で取得する際に可読文字にデコードするように変更(HTMLエンティティのままにしておきたい場合は._text()
および._html()
で可能) - Shift_JISのページをiconvでUTF-8に変換する際にチルダが波ダッシュ(0x301C)に変換されてしまう不具合を修正
- iconv-jpをデフォルトの文字コード変換エンジン候補から除外(長期間メンテされていないため)
- サイト側のHTML構成が変わって動かなくなっていたサンプルスクリプトを修正
- 依存ライブラリを最新バージョンに更新
.html()
で取得する文字列がHTMLエンティティに変換されないようにした
fetch()
をプロミス形式と従来のコールバック形式とのハイブリッド化fetch()
のcallback第2引数のcheerioオブジェクトのプロトタイプを独自拡張し、以下のメソッドを追加$.documentInfo()
$(<form element>).submit()
$(<link element>).click()
fetch()
のcallback第3引数のresponseオブジェクトにcookies
プロパティを追加fetch()
のcallback第4引数にUTF-8変換後の生HTMLコンテンツを追加setBrowser()
実装(ブラウザごとのUser-Agentの簡易指定)- 自動的にRefererをセットするオプション追加
- テスト機構を一新(mocha & power-assert & blanket)
- デフォルトでiconv-liteを使用するように変更(ネイティブモジュールをコンパイルするためのVisualStudioなどの開発環境のないWindowsでもインストールできるようになった)
- 文字コードの判別にjschardetを利用するようにした
- requestモジュールのクッキーを有効にした
- デフォルトのUser-Agent情報をIE11にした
- エラーオブジェクトに呼び出し時にセットした
param
を追加
- リクエストヘッダのHostを自動でセットするようにした
- gzip転送オプション追加
fetch()
のcallbackの第3引数にrequestモジュールのresponse
オブジェクトを追加- HTTPステータスコードが200以外によるエラーでもコンテンツを取得するようにした
- charset=xxxというようにダブル(or シングル)クォーテーションがない場合に文字コードの判定に失敗するケースを修正
- 初版リリース