
\begin{DoxyItemize}
\item Don\textquotesingle{}t mutate buffers passed in by the application when masking
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33950}{}\doxysubsection{0.\+6.\+4 / 2016-\/01-\/07}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33950}

\begin{DoxyItemize}
\item If a number is given as input for a frame payload, send it as a string
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33951}{}\doxysubsection{0.\+6.\+3 / 2015-\/11-\/06}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33951}

\begin{DoxyItemize}
\item Reject draft-\/76 handshakes if their Sec-\/\+Web\+Socket-\/\+Key headers are invalid
\item Throw a more helpful error if a client is created with an invalid URL
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33952}{}\doxysubsection{0.\+6.\+2 / 2015-\/07-\/18}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33952}

\begin{DoxyItemize}
\item When the peer sends a close frame with no error code, emit 1000
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33953}{}\doxysubsection{0.\+6.\+1 / 2015-\/07-\/13}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33953}

\begin{DoxyItemize}
\item Use the {\ttfamily buffer.\{read,write\}UInt\{16,32\}BE} methods for reading/writing numbers to buffers rather than including duplicate logic for this
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33954}{}\doxysubsection{0.\+6.\+0 / 2015-\/07-\/08}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33954}

\begin{DoxyItemize}
\item Allow the parser to recover cleanly if event listeners raise an error
\item Add a {\ttfamily pong} method for sending unsolicited pong frames
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33955}{}\doxysubsection{0.\+5.\+4 / 2015-\/03-\/29}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33955}

\begin{DoxyItemize}
\item Don\textquotesingle{}t emit extra close frames if we receive a close frame after we already sent one
\item Fail the connection when the driver receives an invalid {\ttfamily Sec-\/\+Web\+Socket-\/\+Extensions} header
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33956}{}\doxysubsection{0.\+5.\+3 / 2015-\/02-\/22}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33956}

\begin{DoxyItemize}
\item Don\textquotesingle{}t treat incoming data as Web\+Socket frames if a client driver is closed before receiving the server handshake
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33957}{}\doxysubsection{0.\+5.\+2 / 2015-\/02-\/19}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33957}

\begin{DoxyItemize}
\item Fix compatibility with the HTTP parser on io.\+js
\item Use {\ttfamily websocket-\/extensions} to make sure messages and close frames are kept in order
\item Don\textquotesingle{}t emit multiple {\ttfamily error} events
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33958}{}\doxysubsection{0.\+5.\+1 / 2014-\/12-\/18}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33958}

\begin{DoxyItemize}
\item Don\textquotesingle{}t allow drivers to be created with unrecognized options
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33959}{}\doxysubsection{0.\+5.\+0 / 2014-\/12-\/13}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33959}

\begin{DoxyItemize}
\item Support protocol extensions via the websocket-\/extensions module
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33960}{}\doxysubsection{0.\+4.\+0 / 2014-\/11-\/08}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33960}

\begin{DoxyItemize}
\item Support connection via HTTP proxies using {\ttfamily CONNECT}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33961}{}\doxysubsection{0.\+3.\+6 / 2014-\/10-\/04}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33961}

\begin{DoxyItemize}
\item It is now possible to call {\ttfamily close()} before {\ttfamily start()} and close the driver
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33962}{}\doxysubsection{0.\+3.\+5 / 2014-\/07-\/06}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33962}

\begin{DoxyItemize}
\item Don\textquotesingle{}t hold references to frame buffers after a message has been emitted
\item Make sure that {\ttfamily protocol} and {\ttfamily version} are exposed properly by the TCP driver
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33963}{}\doxysubsection{0.\+3.\+4 / 2014-\/05-\/08}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33963}

\begin{DoxyItemize}
\item Don\textquotesingle{}t hold memory-\/leaking references to I/O buffers after they have been parsed
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33964}{}\doxysubsection{0.\+3.\+3 / 2014-\/04-\/24}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33964}

\begin{DoxyItemize}
\item Correct the draft-\/76 status line reason phrase
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33965}{}\doxysubsection{0.\+3.\+2 / 2013-\/12-\/29}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33965}

\begin{DoxyItemize}
\item Expand {\ttfamily max\+Length} to cover sequences of continuation frames and {\ttfamily draft-\/\{75,76\}}
\item Decrease default maximum frame buffer size to 64MB
\item Stop parsing when the protocol enters a failure mode, to save CPU cycles
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33966}{}\doxysubsection{0.\+3.\+1 / 2013-\/12-\/03}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33966}

\begin{DoxyItemize}
\item Add a {\ttfamily max\+Length} option to limit allowed frame size
\item Don\textquotesingle{}t pre-\/allocate a message buffer until the whole frame has arrived
\item Fix compatibility with Node v0.\+11 {\ttfamily HTTPParser}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33967}{}\doxysubsection{0.\+3.\+0 / 2013-\/09-\/09}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33967}

\begin{DoxyItemize}
\item Support client URLs with Basic Auth credentials
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33968}{}\doxysubsection{0.\+2.\+2 / 2013-\/07-\/05}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33968}

\begin{DoxyItemize}
\item No functional changes, just updates to package.\+json
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33969}{}\doxysubsection{0.\+2.\+1 / 2013-\/05-\/17}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33969}

\begin{DoxyItemize}
\item Export the is\+Secure\+Request() method since faye-\/websocket relies on it
\item Queue sent messages in the client\textquotesingle{}s initial state
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33970}{}\doxysubsection{0.\+2.\+0 / 2013-\/05-\/12}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33970}

\begin{DoxyItemize}
\item Add API for setting and reading headers
\item Add Driver.\+server() method for getting a driver for TCP servers
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33971}{}\doxysubsection{0.\+1.\+0 / 2013-\/05-\/04}\label{md_sfcode_node_modules_websocket_driver_CHANGELOG_autotoc_md33971}

\begin{DoxyItemize}
\item First stable release 
\end{DoxyItemize}