
\begin{DoxyItemize}
\item Revert \char`\"{}\+Improve error message for \`{}null\`{}/\`{}undefined\`{} to \`{}res.\+status\`{}\char`\"{}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9515}{}\doxysection{4.\+17.\+0 / 2019-\/05-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9515}

\begin{DoxyItemize}
\item Add {\ttfamily express.\+raw} to parse bodies into {\ttfamily Buffer}
\item Add {\ttfamily express.\+text} to parse bodies into string
\item Improve error message for non-\/strings to {\ttfamily res.\+send\+File}
\item Improve error message for {\ttfamily null}/{\ttfamily undefined} to {\ttfamily res.\+status}
\item Support multiple hosts in {\ttfamily X-\/\+Forwarded-\/\+Host}
\item deps\+: accepts1.\+3.\+7
\item deps\+: \href{mailto:body-parser@1.19}{\texttt{ body-\/parser@1.\+19}}.0
\begin{DoxyItemize}
\item Add encoding MIK
\item Add petabyte ({\ttfamily pb}) support
\item Fix parsing array brackets after index
\item deps\+: bytes@3.\+1.\+0
\item deps\+: http-\/errors@1.\+7.\+2
\item deps\+: \href{mailto:iconv-lite@0.4.24}{\texttt{ iconv-\/lite@0.\+4.\+24}}
\item deps\+: qs@6.\+7.\+0
\item deps\+: raw-\/body@2.\+4.\+0
\item deps\+: type-\/is1.\+6.\+17
\end{DoxyItemize}
\item deps\+: content-\/disposition@0.\+5.\+3
\item deps\+: cookie@0.\+4.\+0
\begin{DoxyItemize}
\item Add {\ttfamily Same\+Site=None} support
\end{DoxyItemize}
\item deps\+: finalhandler1.\+1.\+2
\begin{DoxyItemize}
\item Set stricter {\ttfamily Content-\/\+Security-\/\+Policy} header
\item deps\+: parseurl1.\+3.\+3
\item deps\+: statuses1.\+5.\+0
\end{DoxyItemize}
\item deps\+: parseurl1.\+3.\+3
\item deps\+: proxy-\/addr2.\+0.\+5
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@1.\+9.\+0
\end{DoxyItemize}
\item deps\+: qs@6.\+7.\+0
\begin{DoxyItemize}
\item Fix parsing array brackets after index
\end{DoxyItemize}
\item deps\+: range-\/parser1.\+2.\+1
\item deps\+: \href{mailto:send@0.17}{\texttt{ send@0.\+17}}.1
\begin{DoxyItemize}
\item Set stricter CSP header in redirect \& error responses
\item deps\+: http-\/errors1.\+7.\+2
\item deps\+: mime@1.\+6.\+0
\item deps\+: ms@2.\+1.\+1
\item deps\+: range-\/parser1.\+2.\+1
\item deps\+: statuses1.\+5.\+0
\item perf\+: remove redundant {\ttfamily path.\+normalize} call
\end{DoxyItemize}
\item deps\+: \href{mailto:serve-static@1.14}{\texttt{ serve-\/static@1.\+14}}.1
\begin{DoxyItemize}
\item Set stricter CSP header in redirect response
\item deps\+: parseurl1.\+3.\+3
\item deps\+: \href{mailto:send@0.17}{\texttt{ send@0.\+17}}.1
\end{DoxyItemize}
\item deps\+: setprototypeof@1.\+1.\+1
\item deps\+: statuses1.\+5.\+0
\begin{DoxyItemize}
\item Add {\ttfamily 103 Early Hints}
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+18
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+24
\item perf\+: prevent internal {\ttfamily throw} on invalid type
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9516}{}\doxysection{4.\+16.\+4 / 2018-\/10-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9516}

\begin{DoxyItemize}
\item Fix issue where {\ttfamily \char`\"{}\+Request aborted\char`\"{}} may be logged in {\ttfamily res.\+sendfile}
\item Fix JSDoc for {\ttfamily Router} constructor
\item deps\+: \href{mailto:body-parser@1.18}{\texttt{ body-\/parser@1.\+18}}.3
\begin{DoxyItemize}
\item Fix deprecation warnings on Node.\+js 10+
\item Fix stack trace for strict json parse error
\item deps\+: depd1.\+1.\+2
\item deps\+: http-\/errors1.\+6.\+3
\item deps\+: \href{mailto:iconv-lite@0.4.23}{\texttt{ iconv-\/lite@0.\+4.\+23}}
\item deps\+: qs@6.\+5.\+2
\item deps\+: raw-\/body@2.\+3.\+3
\item deps\+: type-\/is1.\+6.\+16
\end{DoxyItemize}
\item deps\+: proxy-\/addr2.\+0.\+4
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@1.\+8.\+0
\end{DoxyItemize}
\item deps\+: qs@6.\+5.\+2
\item deps\+: safe-\/buffer@5.\+1.\+2
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9517}{}\doxysection{4.\+16.\+3 / 2018-\/03-\/12}\label{md_sfcode_node_modules_express_History_autotoc_md9517}

\begin{DoxyItemize}
\item deps\+: accepts1.\+3.\+5
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+18
\end{DoxyItemize}
\item deps\+: depd1.\+1.\+2
\begin{DoxyItemize}
\item perf\+: remove argument reassignment
\end{DoxyItemize}
\item deps\+: encodeurl1.\+0.\+2
\begin{DoxyItemize}
\item Fix encoding {\ttfamily \%} as last character
\end{DoxyItemize}
\item deps\+: finalhandler@1.\+1.\+1
\begin{DoxyItemize}
\item Fix 404 output for bad / missing pathnames
\item deps\+: encodeurl1.\+0.\+2
\item deps\+: statuses1.\+4.\+0
\end{DoxyItemize}
\item deps\+: proxy-\/addr2.\+0.\+3
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@1.\+6.\+0
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.16}{\texttt{ send@0.\+16}}.2
\begin{DoxyItemize}
\item Fix incorrect end tag in default error \& redirects
\item deps\+: depd1.\+1.\+2
\item deps\+: encodeurl1.\+0.\+2
\item deps\+: statuses1.\+4.\+0
\end{DoxyItemize}
\item deps\+: \href{mailto:serve-static@1.13}{\texttt{ serve-\/static@1.\+13}}.2
\begin{DoxyItemize}
\item Fix incorrect end tag in redirects
\item deps\+: encodeurl1.\+0.\+2
\item deps\+: \href{mailto:send@0.16}{\texttt{ send@0.\+16}}.2
\end{DoxyItemize}
\item deps\+: statuses1.\+4.\+0
\item deps\+: type-\/is1.\+6.\+16
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+18
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9518}{}\doxysection{4.\+16.\+2 / 2017-\/10-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9518}

\begin{DoxyItemize}
\item Fix {\ttfamily Type\+Error} in {\ttfamily res.\+send} when given {\ttfamily Buffer} and {\ttfamily ETag} header set
\item perf\+: skip parsing of entire {\ttfamily X-\/\+Forwarded-\/\+Proto} header
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9519}{}\doxysection{4.\+16.\+1 / 2017-\/09-\/29}\label{md_sfcode_node_modules_express_History_autotoc_md9519}

\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.16}{\texttt{ send@0.\+16}}.1
\item deps\+: \href{mailto:serve-static@1.13}{\texttt{ serve-\/static@1.\+13}}.1
\begin{DoxyItemize}
\item Fix regression when {\ttfamily root} is incorrectly set to a file
\item deps\+: \href{mailto:send@0.16}{\texttt{ send@0.\+16}}.1
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9520}{}\doxysection{4.\+16.\+0 / 2017-\/09-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9520}

\begin{DoxyItemize}
\item Add {\ttfamily \char`\"{}json escape\char`\"{}} setting for {\ttfamily res.\+json} and {\ttfamily res.\+jsonp}
\item Add {\ttfamily express.\+json} and {\ttfamily express.\+urlencoded} to parse bodies
\item Add {\ttfamily options} argument to {\ttfamily res.\+download}
\item Improve error message when autoloading invalid view engine
\item Improve error messages when non-\/function provided as middleware
\item Skip {\ttfamily Buffer} encoding when not generating ETag for small response
\item Use {\ttfamily safe-\/buffer} for improved Buffer API
\item deps\+: accepts1.\+3.\+4
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+16
\end{DoxyItemize}
\item deps\+: content-\/type1.\+0.\+4
\begin{DoxyItemize}
\item perf\+: remove argument reassignment
\item perf\+: skip parameter parsing when no parameters
\end{DoxyItemize}
\item deps\+: etag1.\+8.\+1
\begin{DoxyItemize}
\item perf\+: replace regular expression with substring
\end{DoxyItemize}
\item deps\+: finalhandler@1.\+1.\+0
\begin{DoxyItemize}
\item Use {\ttfamily res.\+headers\+Sent} when available
\end{DoxyItemize}
\item deps\+: parseurl1.\+3.\+2
\begin{DoxyItemize}
\item perf\+: reduce overhead for full URLs
\item perf\+: unroll the \char`\"{}fast-\/path\char`\"{} {\ttfamily Reg\+Exp}
\end{DoxyItemize}
\item deps\+: proxy-\/addr2.\+0.\+2
\begin{DoxyItemize}
\item Fix trimming leading / trailing OWS in {\ttfamily X-\/\+Forwarded-\/\+For}
\item deps\+: forwarded0.\+1.\+2
\item deps\+: ipaddr.\+js@1.\+5.\+2
\item perf\+: reduce overhead when no {\ttfamily X-\/\+Forwarded-\/\+For} header
\end{DoxyItemize}
\item deps\+: qs@6.\+5.\+1
\begin{DoxyItemize}
\item Fix parsing \& compacting very deep objects
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.16}{\texttt{ send@0.\+16}}.0
\begin{DoxyItemize}
\item Add 70 new types for file extensions
\item Add {\ttfamily immutable} option
\item Fix missing {\ttfamily $<$/html$>$} in default error \& redirects
\item Set charset as \char`\"{}\+UTF-\/8\char`\"{} for .js and .json
\item Use instance methods on steam to check for listeners
\item deps\+: mime@1.\+4.\+1
\item perf\+: improve path validation speed
\end{DoxyItemize}
\item deps\+: \href{mailto:serve-static@1.13}{\texttt{ serve-\/static@1.\+13}}.0
\begin{DoxyItemize}
\item Add 70 new types for file extensions
\item Add {\ttfamily immutable} option
\item Set charset as \char`\"{}\+UTF-\/8\char`\"{} for .js and .json
\item deps\+: \href{mailto:send@0.16}{\texttt{ send@0.\+16}}.0
\end{DoxyItemize}
\item deps\+: setprototypeof@1.\+1.\+0
\item deps\+: utils-\/merge@1.\+0.\+1
\item deps\+: vary1.\+1.\+2
\begin{DoxyItemize}
\item perf\+: improve header token parsing speed
\end{DoxyItemize}
\item perf\+: re-\/use options object when generating ETags
\item perf\+: remove dead {\ttfamily .charset} set in {\ttfamily res.\+jsonp}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9521}{}\doxysection{4.\+15.\+5 / 2017-\/09-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9521}

\begin{DoxyItemize}
\item deps\+: debug@2.\+6.\+9
\item deps\+: finalhandler1.\+0.\+6
\begin{DoxyItemize}
\item deps\+: debug@2.\+6.\+9
\item deps\+: parseurl1.\+3.\+2
\end{DoxyItemize}
\item deps\+: fresh@0.\+5.\+2
\begin{DoxyItemize}
\item Fix handling of modified headers with invalid dates
\item perf\+: improve ETag match loop
\item perf\+: improve {\ttfamily If-\/\+None-\/\+Match} token parsing
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.6
\begin{DoxyItemize}
\item Fix handling of modified headers with invalid dates
\item deps\+: debug@2.\+6.\+9
\item deps\+: etag1.\+8.\+1
\item deps\+: fresh@0.\+5.\+2
\item perf\+: improve {\ttfamily If-\/\+Match} token parsing
\end{DoxyItemize}
\item deps\+: \href{mailto:serve-static@1.12}{\texttt{ serve-\/static@1.\+12}}.6
\begin{DoxyItemize}
\item deps\+: parseurl1.\+3.\+2
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.6
\item perf\+: improve slash collapsing
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9522}{}\doxysection{4.\+15.\+4 / 2017-\/08-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9522}

\begin{DoxyItemize}
\item deps\+: debug@2.\+6.\+8
\item deps\+: depd1.\+1.\+1
\begin{DoxyItemize}
\item Remove unnecessary {\ttfamily Buffer} loading
\end{DoxyItemize}
\item deps\+: finalhandler1.\+0.\+4
\begin{DoxyItemize}
\item deps\+: debug@2.\+6.\+8
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+1.\+5
\begin{DoxyItemize}
\item Fix array argument being altered
\item deps\+: ipaddr.\+js@1.\+4.\+0
\end{DoxyItemize}
\item deps\+: qs@6.\+5.\+0
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.4
\begin{DoxyItemize}
\item deps\+: debug@2.\+6.\+8
\item deps\+: depd1.\+1.\+1
\item deps\+: http-\/errors1.\+6.\+2
\end{DoxyItemize}
\item deps\+: \href{mailto:serve-static@1.12}{\texttt{ serve-\/static@1.\+12}}.4
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.4
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9523}{}\doxysection{4.\+15.\+3 / 2017-\/05-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9523}

\begin{DoxyItemize}
\item Fix error when {\ttfamily res.\+set} cannot add charset to {\ttfamily Content-\/\+Type}
\item deps\+: debug@2.\+6.\+7
\begin{DoxyItemize}
\item Fix {\ttfamily DEBUG\+\_\+\+MAX\+\_\+\+ARRAY\+\_\+\+LENGTH}
\item deps\+: ms@2.\+0.\+0
\end{DoxyItemize}
\item deps\+: finalhandler1.\+0.\+3
\begin{DoxyItemize}
\item Fix missing {\ttfamily $<$/html$>$} in HTML document
\item deps\+: debug@2.\+6.\+7
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+1.\+4
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@1.\+3.\+0
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.3
\begin{DoxyItemize}
\item deps\+: debug@2.\+6.\+7
\item deps\+: ms@2.\+0.\+0
\end{DoxyItemize}
\item deps\+: \href{mailto:serve-static@1.12}{\texttt{ serve-\/static@1.\+12}}.3
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.3
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+15
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+15
\end{DoxyItemize}
\item deps\+: vary1.\+1.\+1
\begin{DoxyItemize}
\item perf\+: hoist regular expression
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9524}{}\doxysection{4.\+15.\+2 / 2017-\/03-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9524}

\begin{DoxyItemize}
\item deps\+: qs@6.\+4.\+0
\begin{DoxyItemize}
\item Fix regression parsing keys starting with {\ttfamily \mbox{[}}
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9525}{}\doxysection{4.\+15.\+1 / 2017-\/03-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9525}

\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.1
\begin{DoxyItemize}
\item Fix issue when {\ttfamily Date.\+parse} does not return {\ttfamily NaN} on invalid date
\item Fix strict violation in broken environments
\end{DoxyItemize}
\item deps\+: \href{mailto:serve-static@1.12}{\texttt{ serve-\/static@1.\+12}}.1
\begin{DoxyItemize}
\item Fix issue when {\ttfamily Date.\+parse} does not return {\ttfamily NaN} on invalid date
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.1
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9526}{}\doxysection{4.\+15.\+0 / 2017-\/03-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9526}

\begin{DoxyItemize}
\item Add debug message when loading view engine
\item Add {\ttfamily next(\char`\"{}router\char`\"{})} to exit from router
\item Fix case where {\ttfamily router.\+use} skipped requests routes did not
\item Remove usage of {\ttfamily res.\+\_\+headers} private field
\begin{DoxyItemize}
\item Improves compatibility with Node.\+js 8 nightly
\end{DoxyItemize}
\item Skip routing when {\ttfamily req.\+url} is not set
\item Use {\ttfamily o} in path debug to tell types apart
\item Use {\ttfamily Object.\+create} to setup request \& response prototypes
\item Use {\ttfamily setprototypeof} module to replace {\ttfamily \+\_\+\+\_\+proto\+\_\+\+\_\+} setting
\item Use {\ttfamily statuses} instead of {\ttfamily http} module for status messages
\item deps\+: debug@2.\+6.\+1
\begin{DoxyItemize}
\item Allow colors in workers
\item Deprecated {\ttfamily DEBUG\+\_\+\+FD} environment variable set to {\ttfamily 3} or higher
\item Fix error when running under React Native
\item Use same color for same namespace
\item deps\+: ms@0.\+7.\+2
\end{DoxyItemize}
\item deps\+: etag1.\+8.\+0
\begin{DoxyItemize}
\item Use SHA1 instead of MD5 for ETag hashing
\item Works with FIPS 140-\/2 Open\+SSL configuration
\end{DoxyItemize}
\item deps\+: finalhandler1.\+0.\+0
\begin{DoxyItemize}
\item Fix exception when {\ttfamily err} cannot be converted to a string
\item Fully URL-\/encode the pathname in the 404
\item Only include the pathname in the 404 message
\item Send complete HTML document
\item Set `Content-\/\+Security-\/\+Policy\+: default-\/src \textquotesingle{}self'\`{} header
\item deps\+: debug@2.\+6.\+1
\end{DoxyItemize}
\item deps\+: fresh@0.\+5.\+0
\begin{DoxyItemize}
\item Fix false detection of {\ttfamily no-\/cache} request directive
\item Fix incorrect result when {\ttfamily If-\/\+None-\/\+Match} has both {\ttfamily $\ast$} and ETags
\item Fix weak {\ttfamily ETag} matching to match spec
\item perf\+: delay reading header values until needed
\item perf\+: enable strict mode
\item perf\+: hoist regular expressions
\item perf\+: remove duplicate conditional
\item perf\+: remove unnecessary boolean coercions
\item perf\+: skip checking modified time if ETag check failed
\item perf\+: skip parsing {\ttfamily If-\/\+None-\/\+Match} when no {\ttfamily ETag} header
\item perf\+: use {\ttfamily Date.\+parse} instead of {\ttfamily new Date}
\end{DoxyItemize}
\item deps\+: qs@6.\+3.\+1
\begin{DoxyItemize}
\item Fix array parsing from skipping empty values
\item Fix compacting nested arrays
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.0
\begin{DoxyItemize}
\item Fix false detection of {\ttfamily no-\/cache} request directive
\item Fix incorrect result when {\ttfamily If-\/\+None-\/\+Match} has both {\ttfamily $\ast$} and ETags
\item Fix weak {\ttfamily ETag} matching to match spec
\item Remove usage of {\ttfamily res.\+\_\+headers} private field
\item Support {\ttfamily If-\/\+Match} and {\ttfamily If-\/\+Unmodified-\/\+Since} headers
\item Use {\ttfamily res.\+get\+Header\+Names()} when available
\item Use {\ttfamily res.\+headers\+Sent} when available
\item deps\+: debug@2.\+6.\+1
\item deps\+: etag1.\+8.\+0
\item deps\+: fresh@0.\+5.\+0
\item deps\+: http-\/errors1.\+6.\+1
\end{DoxyItemize}
\item deps\+: \href{mailto:serve-static@1.12}{\texttt{ serve-\/static@1.\+12}}.0
\begin{DoxyItemize}
\item Fix false detection of {\ttfamily no-\/cache} request directive
\item Fix incorrect result when {\ttfamily If-\/\+None-\/\+Match} has both {\ttfamily $\ast$} and ETags
\item Fix weak {\ttfamily ETag} matching to match spec
\item Remove usage of {\ttfamily res.\+\_\+headers} private field
\item Send complete HTML document in redirect response
\item Set default CSP header in redirect response
\item Support {\ttfamily If-\/\+Match} and {\ttfamily If-\/\+Unmodified-\/\+Since} headers
\item Use {\ttfamily res.\+get\+Header\+Names()} when available
\item Use {\ttfamily res.\+headers\+Sent} when available
\item deps\+: \href{mailto:send@0.15}{\texttt{ send@0.\+15}}.0
\end{DoxyItemize}
\item perf\+: add fast match path for {\ttfamily $\ast$} route
\item perf\+: improve {\ttfamily req.\+ips} performance
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9527}{}\doxysection{4.\+14.\+1 / 2017-\/01-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9527}

\begin{DoxyItemize}
\item deps\+: content-\/disposition@0.\+5.\+2
\item deps\+: finalhandler@0.\+5.\+1
\begin{DoxyItemize}
\item Fix exception when {\ttfamily err.\+headers} is not an object
\item deps\+: statuses1.\+3.\+1
\item perf\+: hoist regular expressions
\item perf\+: remove duplicate validation path
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+1.\+3
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@1.\+2.\+0
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.14}{\texttt{ send@0.\+14}}.2
\begin{DoxyItemize}
\item deps\+: http-\/errors1.\+5.\+1
\item deps\+: ms@0.\+7.\+2
\item deps\+: statuses1.\+3.\+1
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+11.\+2
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.14}{\texttt{ send@0.\+14}}.2
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+14
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+13
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9528}{}\doxysection{4.\+14.\+0 / 2016-\/06-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9528}

\begin{DoxyItemize}
\item Add {\ttfamily accept\+Ranges} option to {\ttfamily res.\+send\+File}/{\ttfamily res.\+sendfile}
\item Add {\ttfamily cache\+Control} option to {\ttfamily res.\+send\+File}/{\ttfamily res.\+sendfile}
\item Add {\ttfamily options} argument to {\ttfamily req.\+range}
\begin{DoxyItemize}
\item Includes the {\ttfamily combine} option
\end{DoxyItemize}
\item Encode URL in {\ttfamily res.\+location}/{\ttfamily res.\+redirect} if not already encoded
\item Fix some redirect handling in {\ttfamily res.\+send\+File}/{\ttfamily res.\+sendfile}
\item Fix Windows absolute path check using forward slashes
\item Improve error with invalid arguments to {\ttfamily req.\+get()}
\item Improve performance for {\ttfamily res.\+json}/{\ttfamily res.\+jsonp} in most cases
\item Improve {\ttfamily Range} header handling in {\ttfamily res.\+send\+File}/{\ttfamily res.\+sendfile}
\item deps\+: accepts1.\+3.\+3
\begin{DoxyItemize}
\item Fix including type extensions in parameters in {\ttfamily Accept} parsing
\item Fix parsing {\ttfamily Accept} parameters with quoted equals
\item Fix parsing {\ttfamily Accept} parameters with quoted semicolons
\item Many performance improvements
\item deps\+: mime-\/types2.\+1.\+11
\item deps\+: negotiator@0.\+6.\+1
\end{DoxyItemize}
\item deps\+: content-\/type1.\+0.\+2
\begin{DoxyItemize}
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: cookie@0.\+3.\+1
\begin{DoxyItemize}
\item Add {\ttfamily same\+Site} option
\item Fix cookie {\ttfamily Max-\/\+Age} to never be a floating point number
\item Improve error message when {\ttfamily encode} is not a function
\item Improve error message when {\ttfamily expires} is not a {\ttfamily Date}
\item Throw better error for invalid argument to parse
\item Throw on invalid values provided to {\ttfamily serialize}
\item perf\+: enable strict mode
\item perf\+: hoist regular expression
\item perf\+: use for loop in parse
\item perf\+: use string concatenation for serialization
\end{DoxyItemize}
\item deps\+: finalhandler@0.\+5.\+0
\begin{DoxyItemize}
\item Change invalid or non-\/numeric status code to 500
\item Overwrite status message to match set status code
\item Prefer {\ttfamily err.\+status\+Code} if {\ttfamily err.\+status} is invalid
\item Set response headers from {\ttfamily err.\+headers} object
\item Use {\ttfamily statuses} instead of {\ttfamily http} module for status messages
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+1.\+2
\begin{DoxyItemize}
\item Fix accepting various invalid netmasks
\item Fix IPv6-\/mapped IPv4 validation edge cases
\item IPv4 netmasks must be contiguous
\item IPv6 addresses cannot be used as a netmask
\item deps\+: ipaddr.\+js@1.\+1.\+1
\end{DoxyItemize}
\item deps\+: qs@6.\+2.\+0
\begin{DoxyItemize}
\item Add {\ttfamily decoder} option in {\ttfamily parse} function
\end{DoxyItemize}
\item deps\+: range-\/parser1.\+2.\+0
\begin{DoxyItemize}
\item Add {\ttfamily combine} option to combine overlapping ranges
\item Fix incorrectly returning -\/1 when there is at least one valid range
\item perf\+: remove internal function
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.14}{\texttt{ send@0.\+14}}.1
\begin{DoxyItemize}
\item Add {\ttfamily accept\+Ranges} option
\item Add {\ttfamily cache\+Control} option
\item Attempt to combine multiple ranges into single range
\item Correctly inherit from {\ttfamily Stream} class
\item Fix {\ttfamily Content-\/\+Range} header in 416 responses when using {\ttfamily start}/{\ttfamily end} options
\item Fix {\ttfamily Content-\/\+Range} header missing from default 416 responses
\item Fix redirect error when {\ttfamily path} contains raw non-\/\+URL characters
\item Fix redirect when {\ttfamily path} starts with multiple forward slashes
\item Ignore non-\/byte {\ttfamily Range} headers
\item deps\+: http-\/errors1.\+5.\+0
\item deps\+: range-\/parser1.\+2.\+0
\item deps\+: statuses1.\+3.\+0
\item perf\+: remove argument reassignment
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+11.\+1
\begin{DoxyItemize}
\item Add {\ttfamily accept\+Ranges} option
\item Add {\ttfamily cache\+Control} option
\item Attempt to combine multiple ranges into single range
\item Fix redirect error when {\ttfamily req.\+url} contains raw non-\/\+URL characters
\item Ignore non-\/byte {\ttfamily Range} headers
\item Use status code 301 for redirects
\item deps\+: \href{mailto:send@0.14}{\texttt{ send@0.\+14}}.1
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+13
\begin{DoxyItemize}
\item Fix type error when given invalid type to match against
\item deps\+: mime-\/types2.\+1.\+11
\end{DoxyItemize}
\item deps\+: vary1.\+1.\+0
\begin{DoxyItemize}
\item Only accept valid field names in the {\ttfamily field} argument
\end{DoxyItemize}
\item perf\+: use strict equality when possible
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9529}{}\doxysection{4.\+13.\+4 / 2016-\/01-\/21}\label{md_sfcode_node_modules_express_History_autotoc_md9529}

\begin{DoxyItemize}
\item deps\+: content-\/disposition@0.\+5.\+1
\begin{DoxyItemize}
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: cookie@0.\+1.\+5
\begin{DoxyItemize}
\item Throw on invalid values provided to {\ttfamily serialize}
\end{DoxyItemize}
\item deps\+: depd1.\+1.\+0
\begin{DoxyItemize}
\item Support web browser loading
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: escape-\/html1.\+0.\+3
\begin{DoxyItemize}
\item perf\+: enable strict mode
\item perf\+: optimize string replacement
\item perf\+: use faster string coercion
\end{DoxyItemize}
\item deps\+: finalhandler@0.\+4.\+1
\begin{DoxyItemize}
\item deps\+: escape-\/html1.\+0.\+3
\end{DoxyItemize}
\item deps\+: merge-\/descriptors@1.\+0.\+1
\begin{DoxyItemize}
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: methods1.\+1.\+2
\begin{DoxyItemize}
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: parseurl1.\+3.\+1
\begin{DoxyItemize}
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+0.\+10
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@1.\+0.\+5
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: range-\/parser1.\+0.\+3
\begin{DoxyItemize}
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.13}{\texttt{ send@0.\+13}}.1
\begin{DoxyItemize}
\item deps\+: depd1.\+1.\+0
\item deps\+: destroy1.\+0.\+4
\item deps\+: escape-\/html1.\+0.\+3
\item deps\+: range-\/parser1.\+0.\+3
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+10.\+2
\begin{DoxyItemize}
\item deps\+: escape-\/html1.\+0.\+3
\item deps\+: parseurl1.\+3.\+0
\item deps\+: \href{mailto:send@0.13}{\texttt{ send@0.\+13}}.1
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9530}{}\doxysection{4.\+13.\+3 / 2015-\/08-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9530}

\begin{DoxyItemize}
\item Fix infinite loop condition using {\ttfamily merge\+Params\+: true}
\item Fix inner numeric indices incorrectly altering parent {\ttfamily req.\+params}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9531}{}\doxysection{4.\+13.\+2 / 2015-\/07-\/31}\label{md_sfcode_node_modules_express_History_autotoc_md9531}

\begin{DoxyItemize}
\item deps\+: accepts1.\+2.\+12
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+4
\end{DoxyItemize}
\item deps\+: array-\/flatten@1.\+1.\+1
\begin{DoxyItemize}
\item perf\+: enable strict mode
\end{DoxyItemize}
\item deps\+: path-\/to-\/regexp@0.\+1.\+7
\begin{DoxyItemize}
\item Fix regression with escaped round brackets and matching groups
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+6
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+4
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9532}{}\doxysection{4.\+13.\+1 / 2015-\/07-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9532}

\begin{DoxyItemize}
\item deps\+: accepts1.\+2.\+10
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+2
\end{DoxyItemize}
\item deps\+: qs@4.\+0.\+0
\begin{DoxyItemize}
\item Fix dropping parameters like {\ttfamily has\+Own\+Property}
\item Fix various parsing edge cases
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+4
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+2
\item perf\+: enable strict mode
\item perf\+: remove argument reassignment
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9533}{}\doxysection{4.\+13.\+0 / 2015-\/06-\/20}\label{md_sfcode_node_modules_express_History_autotoc_md9533}

\begin{DoxyItemize}
\item Add settings to debug output
\item Fix {\ttfamily res.\+format} error when only {\ttfamily default} provided
\item Fix issue where `next(\textquotesingle{}route'){\ttfamily in}app.\+param$<$tt$>$would incorrectly skip values
\item Fix hiding platform issues withdecode\+URIComponent{\ttfamily 
\begin{DoxyItemize}
\item OnlyURIError{\ttfamily s are a 400}
\end{DoxyItemize}}
\item {\ttfamily {\ttfamily Fix using}$\ast$\`{} before params in routes}
\item {\ttfamily Fix using capture groups before params in routes}
\item {\ttfamily Simplify {\ttfamily res.\+cookie} to call {\ttfamily res.\+append}}
\item {\ttfamily Use {\ttfamily array-\/flatten} module for flattening arrays}
\item {\ttfamily deps\+: accepts1.\+2.\+9
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+1
\item perf\+: avoid argument reassignment \& argument slice
\item perf\+: avoid negotiator recursive construction
\item perf\+: enable strict mode
\item perf\+: remove unnecessary bitwise operator
\end{DoxyItemize}}
\item {\ttfamily deps\+: cookie@0.\+1.\+3
\begin{DoxyItemize}
\item perf\+: deduce the scope of try-\/catch deopt
\item perf\+: remove argument reassignments
\end{DoxyItemize}}
\item {\ttfamily deps\+: escape-\/html@1.\+0.\+2}
\item {\ttfamily deps\+: etag1.\+7.\+0
\begin{DoxyItemize}
\item Always include entity length in ETags for hash length extensions
\item Generate non-\/\+Stats ETags using MD5 only (no longer CRC32)
\item Improve stat performance by removing hashing
\item Improve support for JXcore
\item Remove base64 padding in ETags to shorten
\item Support \char`\"{}fake\char`\"{} stats objects in environments without fs
\item Use MD5 instead of MD4 in weak ETags over 1KB
\end{DoxyItemize}}
\item {\ttfamily deps\+: finalhandler@0.\+4.\+0
\begin{DoxyItemize}
\item Fix a false-\/positive when unpiping in Node.\+js 0.\+8
\item Support {\ttfamily status\+Code} property on {\ttfamily Error} objects
\item Use {\ttfamily unpipe} module for unpiping requests
\item deps\+: escape-\/html@1.\+0.\+2
\item deps\+: on-\/finished2.\+3.\+0
\item perf\+: enable strict mode
\item perf\+: remove argument reassignment
\end{DoxyItemize}}
\item {\ttfamily deps\+: fresh@0.\+3.\+0
\begin{DoxyItemize}
\item Add weak {\ttfamily ETag} matching support
\end{DoxyItemize}}
\item {\ttfamily deps\+: on-\/finished2.\+3.\+0
\begin{DoxyItemize}
\item Add defined behavior for HTTP {\ttfamily CONNECT} requests
\item Add defined behavior for HTTP {\ttfamily Upgrade} requests
\item deps\+: ee-\/first@1.\+1.\+1
\end{DoxyItemize}}
\item {\ttfamily deps\+: path-\/to-\/regexp@0.\+1.\+6}
\item {\ttfamily deps\+: \href{mailto:send@0.13}{\texttt{ send@0.\+13}}.0
\begin{DoxyItemize}
\item Allow Node.\+js HTTP server to set {\ttfamily Date} response header
\item Fix incorrectly removing {\ttfamily Content-\/\+Location} on 304 response
\item Improve the default redirect response headers
\item Send appropriate headers on default error response
\item Use {\ttfamily http-\/errors} for standard emitted errors
\item Use {\ttfamily statuses} instead of {\ttfamily http} module for status messages
\item deps\+: escape-\/html@1.\+0.\+2
\item deps\+: etag1.\+7.\+0
\item deps\+: fresh@0.\+3.\+0
\item deps\+: on-\/finished2.\+3.\+0
\item perf\+: enable strict mode
\item perf\+: remove unnecessary array allocations
\end{DoxyItemize}}
\item {\ttfamily deps\+: serve-\/static1.\+10.\+0
\begin{DoxyItemize}
\item Add {\ttfamily fallthrough} option
\item Fix reading options from options prototype
\item Improve the default redirect response headers
\item Malformed URLs now {\ttfamily next()} instead of 400
\item deps\+: escape-\/html@1.\+0.\+2
\item deps\+: \href{mailto:send@0.13}{\texttt{ send@0.\+13}}.0
\item perf\+: enable strict mode
\item perf\+: remove argument reassignment
\end{DoxyItemize}}
\item {\ttfamily deps\+: type-\/is1.\+6.\+3
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+1.\+1
\item perf\+: reduce try block size
\item perf\+: remove bitwise operations
\end{DoxyItemize}}
\item {\ttfamily perf\+: enable strict mode}
\item {\ttfamily perf\+: isolate {\ttfamily app.\+render} try block}
\item {\ttfamily perf\+: remove argument reassignments in application}
\item {\ttfamily perf\+: remove argument reassignments in request prototype}
\item {\ttfamily perf\+: remove argument reassignments in response prototype}
\item {\ttfamily perf\+: remove argument reassignments in routing}
\item {\ttfamily perf\+: remove argument reassignments in {\ttfamily View}}
\item {\ttfamily perf\+: skip attempting to decode zero length string}
\item {\ttfamily perf\+: use saved reference to {\ttfamily http.\+STATUS\+\_\+\+CODES}}
\end{DoxyItemize}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9534}{}\doxysection{4.\+12.\+4 / 2015-\/05-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9534}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: accepts1.\+2.\+7
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+11
\item deps\+: negotiator@0.\+5.\+3
\end{DoxyItemize}
\item deps\+: debug2.\+2.\+0
\begin{DoxyItemize}
\item deps\+: ms@0.\+7.\+1
\end{DoxyItemize}
\item deps\+: depd1.\+0.\+1
\item deps\+: etag1.\+6.\+0
\begin{DoxyItemize}
\item Improve support for JXcore
\item Support \char`\"{}fake\char`\"{} stats objects in environments without {\ttfamily fs}
\end{DoxyItemize}
\item deps\+: finalhandler@0.\+3.\+6
\begin{DoxyItemize}
\item deps\+: debug2.\+2.\+0
\item deps\+: on-\/finished2.\+2.\+1
\end{DoxyItemize}
\item deps\+: on-\/finished2.\+2.\+1
\begin{DoxyItemize}
\item Fix {\ttfamily is\+Finished(req)} when data buffered
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+0.\+8
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@1.\+0.\+1
\end{DoxyItemize}
\item deps\+: qs@2.\+4.\+2
\begin{DoxyItemize}
\item Fix allowing parameters like {\ttfamily constructor}
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.3
\begin{DoxyItemize}
\item deps\+: debug2.\+2.\+0
\item deps\+: depd1.\+0.\+1
\item deps\+: etag1.\+6.\+0
\item deps\+: ms@0.\+7.\+1
\item deps\+: on-\/finished2.\+2.\+1
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+9.\+3
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.3
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+2
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+11
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9535}{}\doxysection{4.\+12.\+3 / 2015-\/03-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9535}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: accepts1.\+2.\+5
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+10
\end{DoxyItemize}
\item deps\+: debug2.\+1.\+3
\begin{DoxyItemize}
\item Fix high intensity foreground color for bold
\item deps\+: ms@0.\+7.\+0
\end{DoxyItemize}
\item deps\+: finalhandler@0.\+3.\+4
\begin{DoxyItemize}
\item deps\+: debug2.\+1.\+3
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+0.\+7
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@0.\+1.\+9
\end{DoxyItemize}
\item deps\+: qs@2.\+4.\+1
\begin{DoxyItemize}
\item Fix error when parameter {\ttfamily has\+Own\+Property} is present
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.2
\begin{DoxyItemize}
\item Throw errors early for invalid {\ttfamily extensions} or {\ttfamily index} options
\item deps\+: debug2.\+1.\+3
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+9.\+2
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.2
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+1
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+10
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9536}{}\doxysection{4.\+12.\+2 / 2015-\/03-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9536}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix regression where {\ttfamily \char`\"{}\+Request aborted\char`\"{}} is logged using {\ttfamily res.\+send\+File}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9537}{}\doxysection{4.\+12.\+1 / 2015-\/03-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9537}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix constructing application with non-\/configurable prototype properties
\item Fix {\ttfamily ECONNRESET} errors from {\ttfamily res.\+send\+File} usage
\item Fix {\ttfamily req.\+host} when using \char`\"{}trust proxy\char`\"{} hops count
\item Fix {\ttfamily req.\+protocol}/{\ttfamily req.\+secure} when using \char`\"{}trust proxy\char`\"{} hops count
\item Fix wrong {\ttfamily code} on aborted connections from {\ttfamily res.\+send\+File}
\item deps\+: merge-\/descriptors@1.\+0.\+0
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9538}{}\doxysection{4.\+12.\+0 / 2015-\/02-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9538}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily \char`\"{}trust proxy\char`\"{}} setting to inherit when app is mounted
\item Generate {\ttfamily ETag}s for all request responses
\begin{DoxyItemize}
\item No longer restricted to only responses for {\ttfamily GET} and {\ttfamily HEAD} requests
\end{DoxyItemize}
\item Use {\ttfamily content-\/type} to parse {\ttfamily Content-\/\+Type} headers
\item deps\+: accepts1.\+2.\+4
\begin{DoxyItemize}
\item Fix preference sorting to be stable for long acceptable lists
\item deps\+: mime-\/types2.\+0.\+9
\item deps\+: negotiator@0.\+5.\+1
\end{DoxyItemize}
\item deps\+: cookie-\/signature@1.\+0.\+6
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.1
\begin{DoxyItemize}
\item Always read the stat size from the file
\item Fix mutating passed-\/in {\ttfamily options}
\item deps\+: mime@1.\+3.\+4
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+9.\+1
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.1
\end{DoxyItemize}
\item deps\+: type-\/is1.\+6.\+0
\begin{DoxyItemize}
\item fix argument reassignment
\item fix false-\/positives in {\ttfamily has\+Body} {\ttfamily Transfer-\/\+Encoding} check
\item support wildcard for both type and subtype ({\ttfamily $\ast$/$\ast$})
\item deps\+: mime-\/types2.\+0.\+9
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9539}{}\doxysection{4.\+11.\+2 / 2015-\/02-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9539}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily res.\+redirect} double-\/calling {\ttfamily res.\+end} for {\ttfamily HEAD} requests
\item deps\+: accepts1.\+2.\+3
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+8
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+0.\+6
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@0.\+1.\+8
\end{DoxyItemize}
\item deps\+: type-\/is1.\+5.\+6
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+8
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9540}{}\doxysection{4.\+11.\+1 / 2015-\/01-\/20}\label{md_sfcode_node_modules_express_History_autotoc_md9540}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.11}{\texttt{ send@0.\+11}}.1
\begin{DoxyItemize}
\item Fix root path disclosure
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+8.\+1
\begin{DoxyItemize}
\item Fix redirect loop in Node.\+js 0.\+11.\+14
\item Fix root path disclosure
\item deps\+: \href{mailto:send@0.11}{\texttt{ send@0.\+11}}.1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9541}{}\doxysection{4.\+11.\+0 / 2015-\/01-\/13}\label{md_sfcode_node_modules_express_History_autotoc_md9541}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Add {\ttfamily res.\+append(field, val)} to append headers
\item Deprecate leading {\ttfamily \+:} in {\ttfamily name} for {\ttfamily app.\+param(name, fn)}
\item Deprecate {\ttfamily req.\+param()} -- use {\ttfamily req.\+params}, {\ttfamily req.\+body}, or {\ttfamily req.\+query} instead
\item Deprecate {\ttfamily app.\+param(fn)}
\item Fix {\ttfamily OPTIONS} responses to include the {\ttfamily HEAD} method properly
\item Fix {\ttfamily res.\+send\+File} not always detecting aborted connection
\item Match routes iteratively to prevent stack overflows
\item deps\+: accepts1.\+2.\+2
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+7
\item deps\+: negotiator@0.\+5.\+0
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.11}{\texttt{ send@0.\+11}}.0
\begin{DoxyItemize}
\item deps\+: debug2.\+1.\+1
\item deps\+: etag1.\+5.\+1
\item deps\+: ms@0.\+7.\+0
\item deps\+: on-\/finished2.\+2.\+0
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+8.\+0
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.11}{\texttt{ send@0.\+11}}.0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9542}{}\doxysection{4.\+10.\+8 / 2015-\/01-\/13}\label{md_sfcode_node_modules_express_History_autotoc_md9542}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix crash from error within {\ttfamily OPTIONS} response handler
\item deps\+: proxy-\/addr1.\+0.\+5
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@0.\+1.\+6
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9543}{}\doxysection{4.\+10.\+7 / 2015-\/01-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9543}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily Allow} header for {\ttfamily OPTIONS} to not contain duplicate methods
\item Fix incorrect \char`\"{}\+Request aborted\char`\"{} for {\ttfamily res.\+send\+File} when {\ttfamily HEAD} or 304
\item deps\+: debug2.\+1.\+1
\item deps\+: finalhandler@0.\+3.\+3
\begin{DoxyItemize}
\item deps\+: debug2.\+1.\+1
\item deps\+: on-\/finished2.\+2.\+0
\end{DoxyItemize}
\item deps\+: methods1.\+1.\+1
\item deps\+: on-\/finished2.\+2.\+0
\item deps\+: serve-\/static1.\+7.\+2
\begin{DoxyItemize}
\item Fix potential open redirect when mounted at root
\end{DoxyItemize}
\item deps\+: type-\/is1.\+5.\+5
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+7
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9544}{}\doxysection{4.\+10.\+6 / 2014-\/12-\/12}\label{md_sfcode_node_modules_express_History_autotoc_md9544}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix exception in {\ttfamily req.\+fresh}/{\ttfamily req.\+stale} without response headers
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9545}{}\doxysection{4.\+10.\+5 / 2014-\/12-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9545}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily res.\+send} double-\/calling {\ttfamily res.\+end} for {\ttfamily HEAD} requests
\item deps\+: accepts1.\+1.\+4
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+4
\end{DoxyItemize}
\item deps\+: type-\/is1.\+5.\+4
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+4
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9546}{}\doxysection{4.\+10.\+4 / 2014-\/11-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9546}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily res.\+sendfile} logging standard write errors
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9547}{}\doxysection{4.\+10.\+3 / 2014-\/11-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9547}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily res.\+send\+File} logging standard write errors
\item deps\+: etag1.\+5.\+1
\item deps\+: proxy-\/addr1.\+0.\+4
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@0.\+1.\+5
\end{DoxyItemize}
\item deps\+: qs@2.\+3.\+3
\begin{DoxyItemize}
\item Fix {\ttfamily array\+Limit} behavior
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9548}{}\doxysection{4.\+10.\+2 / 2014-\/11-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9548}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Correctly invoke async router callback asynchronously
\item deps\+: accepts1.\+1.\+3
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+3
\end{DoxyItemize}
\item deps\+: type-\/is1.\+5.\+3
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9549}{}\doxysection{4.\+10.\+1 / 2014-\/10-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9549}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix handling of URLs containing {\ttfamily \+://} in the path
\item deps\+: qs@2.\+3.\+2
\begin{DoxyItemize}
\item Fix parsing of mixed objects and values
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9550}{}\doxysection{4.\+10.\+0 / 2014-\/10-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9550}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Add support for `app.\+set(\textquotesingle{}views', array)\`{}
\begin{DoxyItemize}
\item Views are looked up in sequence in array of directories
\end{DoxyItemize}
\item Fix {\ttfamily res.\+send(status)} to mention {\ttfamily res.\+send\+Status(status)}
\item Fix handling of invalid empty URLs
\item Use {\ttfamily content-\/disposition} module for {\ttfamily res.\+attachment}/{\ttfamily res.\+download}
\begin{DoxyItemize}
\item Sends standards-\/compliant {\ttfamily Content-\/\+Disposition} header
\item Full Unicode support
\end{DoxyItemize}
\item Use {\ttfamily path.\+resolve} in view lookup
\item deps\+: debug2.\+1.\+0
\begin{DoxyItemize}
\item Implement {\ttfamily DEBUG\+\_\+\+FD} env variable support
\end{DoxyItemize}
\item deps\+: depd1.\+0.\+0
\item deps\+: etag1.\+5.\+0
\begin{DoxyItemize}
\item Improve string performance
\item Slightly improve speed for weak ETags over 1KB
\end{DoxyItemize}
\item deps\+: finalhandler@0.\+3.\+2
\begin{DoxyItemize}
\item Terminate in progress response only on error
\item Use {\ttfamily on-\/finished} to determine request status
\item deps\+: debug2.\+1.\+0
\item deps\+: on-\/finished2.\+1.\+1
\end{DoxyItemize}
\item deps\+: on-\/finished2.\+1.\+1
\begin{DoxyItemize}
\item Fix handling of pipelined requests
\end{DoxyItemize}
\item deps\+: qs@2.\+3.\+0
\begin{DoxyItemize}
\item Fix parsing of mixed implicit and explicit arrays
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.10}{\texttt{ send@0.\+10}}.1
\begin{DoxyItemize}
\item deps\+: debug2.\+1.\+0
\item deps\+: depd1.\+0.\+0
\item deps\+: etag1.\+5.\+0
\item deps\+: on-\/finished2.\+1.\+1
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+7.\+1
\begin{DoxyItemize}
\item deps\+: \href{mailto:send@0.10}{\texttt{ send@0.\+10}}.1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9551}{}\doxysection{4.\+9.\+8 / 2014-\/10-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9551}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily res.\+redirect} body when redirect status specified
\item deps\+: accepts1.\+1.\+2
\begin{DoxyItemize}
\item Fix error when media type has invalid parameter
\item deps\+: negotiator@0.\+4.\+9
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9552}{}\doxysection{4.\+9.\+7 / 2014-\/10-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9552}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix using same param name in array of paths
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9553}{}\doxysection{4.\+9.\+6 / 2014-\/10-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9553}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: accepts1.\+1.\+1
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+2
\item deps\+: negotiator@0.\+4.\+8
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+6.\+4
\begin{DoxyItemize}
\item Fix redirect loop when index file serving disabled
\end{DoxyItemize}
\item deps\+: type-\/is1.\+5.\+2
\begin{DoxyItemize}
\item deps\+: mime-\/types2.\+0.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9554}{}\doxysection{4.\+9.\+5 / 2014-\/09-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9554}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: etag1.\+4.\+0
\item deps\+: proxy-\/addr1.\+0.\+3
\begin{DoxyItemize}
\item Use {\ttfamily forwarded} npm module
\end{DoxyItemize}
\item deps\+: send@0.\+9.\+3
\begin{DoxyItemize}
\item deps\+: etag1.\+4.\+0
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+6.\+3
\begin{DoxyItemize}
\item deps\+: send@0.\+9.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9555}{}\doxysection{4.\+9.\+4 / 2014-\/09-\/19}\label{md_sfcode_node_modules_express_History_autotoc_md9555}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: qs@2.\+2.\+4
\begin{DoxyItemize}
\item Fix issue with object keys starting with numbers truncated
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9556}{}\doxysection{4.\+9.\+3 / 2014-\/09-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9556}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: proxy-\/addr1.\+0.\+2
\begin{DoxyItemize}
\item Fix a global leak when multiple subnets are trusted
\item deps\+: ipaddr.\+js@0.\+1.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9557}{}\doxysection{4.\+9.\+2 / 2014-\/09-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9557}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix regression for empty string {\ttfamily path} in {\ttfamily app.\+use}
\item Fix {\ttfamily router.\+use} to accept array of middleware without path
\item Improve error message for bad {\ttfamily app.\+use} arguments
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9558}{}\doxysection{4.\+9.\+1 / 2014-\/09-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9558}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily app.\+use} to accept array of middleware without path
\item deps\+: depd@0.\+4.\+5
\item deps\+: etag1.\+3.\+1
\item deps\+: send@0.\+9.\+2
\begin{DoxyItemize}
\item deps\+: depd@0.\+4.\+5
\item deps\+: etag1.\+3.\+1
\item deps\+: range-\/parser1.\+0.\+2
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+6.\+2
\begin{DoxyItemize}
\item deps\+: send@0.\+9.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9559}{}\doxysection{4.\+9.\+0 / 2014-\/09-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9559}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Add {\ttfamily res.\+send\+Status}
\item Invoke callback for sendfile when client aborts
\begin{DoxyItemize}
\item Applies to {\ttfamily res.\+send\+File}, {\ttfamily res.\+sendfile}, and {\ttfamily res.\+download}
\item {\ttfamily err} will be populated with request aborted error
\end{DoxyItemize}
\item Support IP address host in {\ttfamily req.\+subdomains}
\item Use {\ttfamily etag} to generate {\ttfamily ETag} headers
\item deps\+: accepts1.\+1.\+0
\begin{DoxyItemize}
\item update {\ttfamily mime-\/types}
\end{DoxyItemize}
\item deps\+: cookie-\/signature@1.\+0.\+5
\item deps\+: debug2.\+0.\+0
\item deps\+: finalhandler@0.\+2.\+0
\begin{DoxyItemize}
\item Set {\ttfamily X-\/\+Content-\/\+Type-\/\+Options\+: nosniff} header
\item deps\+: debug2.\+0.\+0
\end{DoxyItemize}
\item deps\+: fresh@0.\+2.\+4
\item deps\+: media-\/typer@0.\+3.\+0
\begin{DoxyItemize}
\item Throw error when parameter format invalid on parse
\end{DoxyItemize}
\item deps\+: qs@2.\+2.\+3
\begin{DoxyItemize}
\item Fix issue where first empty value in array is discarded
\end{DoxyItemize}
\item deps\+: range-\/parser1.\+0.\+2
\item deps\+: send@0.\+9.\+1
\begin{DoxyItemize}
\item Add {\ttfamily last\+Modified} option
\item Use {\ttfamily etag} to generate {\ttfamily ETag} header
\item deps\+: debug2.\+0.\+0
\item deps\+: fresh@0.\+2.\+4
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+6.\+1
\begin{DoxyItemize}
\item Add {\ttfamily last\+Modified} option
\item deps\+: send@0.\+9.\+1
\end{DoxyItemize}
\item deps\+: type-\/is1.\+5.\+1
\begin{DoxyItemize}
\item fix {\ttfamily hasbody} to be true for {\ttfamily content-\/length\+: 0}
\item deps\+: media-\/typer@0.\+3.\+0
\item deps\+: mime-\/types2.\+0.\+1
\end{DoxyItemize}
\item deps\+: vary1.\+0.\+0
\begin{DoxyItemize}
\item Accept valid {\ttfamily Vary} header string as {\ttfamily field}
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9560}{}\doxysection{4.\+8.\+8 / 2014-\/09-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9560}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: send@0.\+8.\+5
\begin{DoxyItemize}
\item Fix a path traversal issue when using {\ttfamily root}
\item Fix malicious path detection for empty string path
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+5.\+4
\begin{DoxyItemize}
\item deps\+: send@0.\+8.\+5
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9561}{}\doxysection{4.\+8.\+7 / 2014-\/08-\/29}\label{md_sfcode_node_modules_express_History_autotoc_md9561}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: qs@2.\+2.\+2
\begin{DoxyItemize}
\item Remove unnecessary cloning
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9562}{}\doxysection{4.\+8.\+6 / 2014-\/08-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9562}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: qs@2.\+2.\+0
\begin{DoxyItemize}
\item Array parsing fix
\item Performance improvements
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9563}{}\doxysection{4.\+8.\+5 / 2014-\/08-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9563}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: send@0.\+8.\+3
\begin{DoxyItemize}
\item deps\+: destroy@1.\+0.\+3
\item deps\+: on-\/finished@2.\+1.\+0
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+5.\+3
\begin{DoxyItemize}
\item deps\+: send@0.\+8.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9564}{}\doxysection{4.\+8.\+4 / 2014-\/08-\/14}\label{md_sfcode_node_modules_express_History_autotoc_md9564}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: qs@1.\+2.\+2
\item deps\+: send@0.\+8.\+2
\begin{DoxyItemize}
\item Work around {\ttfamily fd} leak in Node.\+js 0.\+10 for {\ttfamily fs.\+Read\+Stream}
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+5.\+2
\begin{DoxyItemize}
\item deps\+: send@0.\+8.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9565}{}\doxysection{4.\+8.\+3 / 2014-\/08-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9565}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: parseurl1.\+3.\+0
\item deps\+: qs@1.\+2.\+1
\item deps\+: serve-\/static1.\+5.\+1
\begin{DoxyItemize}
\item Fix parsing of weird {\ttfamily req.\+original\+Url} values
\item deps\+: parseurl1.\+3.\+0
\item deps\+: utils-\/merge@1.\+0.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9566}{}\doxysection{4.\+8.\+2 / 2014-\/08-\/07}\label{md_sfcode_node_modules_express_History_autotoc_md9566}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: qs@1.\+2.\+0
\begin{DoxyItemize}
\item Fix parsing array of objects
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9567}{}\doxysection{4.\+8.\+1 / 2014-\/08-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9567}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix incorrect deprecation warnings on {\ttfamily res.\+download}
\item deps\+: qs@1.\+1.\+0
\begin{DoxyItemize}
\item Accept urlencoded square brackets
\item Accept empty values in implicit array notation
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9568}{}\doxysection{4.\+8.\+0 / 2014-\/08-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9568}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add {\ttfamily res.\+send\+File}
\begin{DoxyItemize}
\item accepts a file system path instead of a URL
\item requires an absolute path or {\ttfamily root} option specified
\end{DoxyItemize}
\item deprecate {\ttfamily res.\+sendfile} -- use {\ttfamily res.\+send\+File} instead
\item support mounted app as any argument to {\ttfamily app.\+use()}
\item deps\+: qs@1.\+0.\+2
\begin{DoxyItemize}
\item Complete rewrite
\item Limits array length to 20
\item Limits object depth to 5
\item Limits parameters to 1,000
\end{DoxyItemize}
\item deps\+: send@0.\+8.\+1
\begin{DoxyItemize}
\item Add {\ttfamily extensions} option
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+5.\+0
\begin{DoxyItemize}
\item Add {\ttfamily extensions} option
\item deps\+: send@0.\+8.\+1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9569}{}\doxysection{4.\+7.\+4 / 2014-\/08-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9569}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix {\ttfamily res.\+sendfile} regression for serving directory index files
\item deps\+: send@0.\+7.\+4
\begin{DoxyItemize}
\item Fix incorrect 403 on Windows and Node.\+js 0.\+11
\item Fix serving index files without root dir
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+4.\+4
\begin{DoxyItemize}
\item deps\+: send@0.\+7.\+4
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9570}{}\doxysection{4.\+7.\+3 / 2014-\/08-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9570}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: send@0.\+7.\+3
\begin{DoxyItemize}
\item Fix incorrect 403 on Windows and Node.\+js 0.\+11
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+4.\+3
\begin{DoxyItemize}
\item Fix incorrect 403 on Windows and Node.\+js 0.\+11
\item deps\+: send@0.\+7.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9571}{}\doxysection{4.\+7.\+2 / 2014-\/07-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9571}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: depd@0.\+4.\+4
\begin{DoxyItemize}
\item Work-\/around v8 generating empty stack traces
\end{DoxyItemize}
\item deps\+: send@0.\+7.\+2
\begin{DoxyItemize}
\item deps\+: depd@0.\+4.\+4
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+4.\+2
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9572}{}\doxysection{4.\+7.\+1 / 2014-\/07-\/26}\label{md_sfcode_node_modules_express_History_autotoc_md9572}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: depd@0.\+4.\+3
\begin{DoxyItemize}
\item Fix exception when global {\ttfamily Error.\+stack\+Trace\+Limit} is too low
\end{DoxyItemize}
\item deps\+: send@0.\+7.\+1
\begin{DoxyItemize}
\item deps\+: depd@0.\+4.\+3
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+4.\+1
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9573}{}\doxysection{4.\+7.\+0 / 2014-\/07-\/25}\label{md_sfcode_node_modules_express_History_autotoc_md9573}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix {\ttfamily req.\+protocol} for proxy-\/direct connections
\item configurable query parser with `app.\+set(\textquotesingle{}query parser', parser){\ttfamily  -\/}app.\+set(\textquotesingle{}query parser\textquotesingle{}, \textquotesingle{}extended\textquotesingle{}){\ttfamily parse with \char`\"{}qs\char`\"{} module -\/}app.\+set(\textquotesingle{}query parser\textquotesingle{}, \textquotesingle{}simple\textquotesingle{}){\ttfamily parse with \char`\"{}querystring\char`\"{} core module -\/}app.\+set(\textquotesingle{}query parser\textquotesingle{}, false){\ttfamily disable query string parsing -\/}app.\+set(\textquotesingle{}query parser\textquotesingle{}, true){\ttfamily enable simple parsing}
\item {\ttfamily deprecate}res.\+json(status, obj){\ttfamily -\/-\/ use}res.\+status(status).json(obj){\ttfamily instead}
\item {\ttfamily deprecate}res.\+jsonp(status, obj){\ttfamily -\/-\/ use}res.\+status(status).jsonp(obj){\ttfamily instead}
\item {\ttfamily deprecate}res.\+send(status, body){\ttfamily -\/-\/ use}res.\+status(status).send(body)\`{} instead
\item deps\+: debug@1.\+0.\+4
\item deps\+: depd@0.\+4.\+2
\begin{DoxyItemize}
\item Add {\ttfamily TRACE\+\_\+\+DEPRECATION} environment variable
\item Remove non-\/standard grey color from color output
\item Support {\ttfamily -\/-\/no-\/deprecation} argument
\item Support {\ttfamily -\/-\/trace-\/deprecation} argument
\end{DoxyItemize}
\item deps\+: finalhandler@0.\+1.\+0
\begin{DoxyItemize}
\item Respond after request fully read
\item deps\+: debug@1.\+0.\+4
\end{DoxyItemize}
\item deps\+: parseurl1.\+2.\+0
\begin{DoxyItemize}
\item Cache URLs based on original value
\item Remove no-\/longer-\/needed URL mis-\/parse work-\/around
\item Simplify the \char`\"{}fast-\/path\char`\"{} {\ttfamily Reg\+Exp}
\end{DoxyItemize}
\item deps\+: send@0.\+7.\+0
\begin{DoxyItemize}
\item Add {\ttfamily dotfiles} option
\item Cap {\ttfamily max\+Age} value to 1 year
\item deps\+: debug@1.\+0.\+4
\item deps\+: depd@0.\+4.\+2
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+4.\+0
\begin{DoxyItemize}
\item deps\+: parseurl1.\+2.\+0
\item deps\+: send@0.\+7.\+0
\end{DoxyItemize}
\item perf\+: prevent multiple {\ttfamily Buffer} creation in {\ttfamily res.\+send}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9574}{}\doxysection{4.\+6.\+1 / 2014-\/07-\/12}\label{md_sfcode_node_modules_express_History_autotoc_md9574}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix {\ttfamily subapp.\+mountpath} regression for {\ttfamily app.\+use(subapp)}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9575}{}\doxysection{4.\+6.\+0 / 2014-\/07-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9575}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item accept multiple callbacks to {\ttfamily app.\+use()}
\item add explicit \char`\"{}\+Rosetta Flash JSONP abuse\char`\"{} protection
\begin{DoxyItemize}
\item previous versions are not vulnerable; this is just explicit protection
\end{DoxyItemize}
\item catch errors in multiple {\ttfamily req.\+param(name, fn)} handlers
\item deprecate {\ttfamily res.\+redirect(url, status)} -- use {\ttfamily res.\+redirect(status, url)} instead
\item fix {\ttfamily res.\+send(status, num)} to send {\ttfamily num} as json (not error)
\item remove unnecessary escaping when {\ttfamily res.\+jsonp} returns JSON response
\item support non-\/string {\ttfamily path} in {\ttfamily app.\+use(path, fn)}
\begin{DoxyItemize}
\item supports array of paths
\item supports {\ttfamily Reg\+Exp}
\end{DoxyItemize}
\item router\+: fix optimization on router exit
\item router\+: refactor location of {\ttfamily try} blocks
\item router\+: speed up standard {\ttfamily app.\+use(fn)}
\item deps\+: debug@1.\+0.\+3
\begin{DoxyItemize}
\item Add support for multiple wildcards in namespaces
\end{DoxyItemize}
\item deps\+: finalhandler@0.\+0.\+3
\begin{DoxyItemize}
\item deps\+: debug@1.\+0.\+3
\end{DoxyItemize}
\item deps\+: methods@1.\+1.\+0
\begin{DoxyItemize}
\item add {\ttfamily CONNECT}
\end{DoxyItemize}
\item deps\+: parseurl1.\+1.\+3
\begin{DoxyItemize}
\item faster parsing of href-\/only URLs
\end{DoxyItemize}
\item deps\+: path-\/to-\/regexp@0.\+1.\+3
\item deps\+: send@0.\+6.\+0
\begin{DoxyItemize}
\item deps\+: debug@1.\+0.\+3
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+3.\+2
\begin{DoxyItemize}
\item deps\+: parseurl1.\+1.\+3
\item deps\+: send@0.\+6.\+0
\end{DoxyItemize}
\item perf\+: fix arguments reassign deopt in some {\ttfamily res} methods
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9576}{}\doxysection{4.\+5.\+1 / 2014-\/07-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9576}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix routing regression when altering {\ttfamily req.\+method}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9577}{}\doxysection{4.\+5.\+0 / 2014-\/07-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9577}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add deprecation message to non-\/plural {\ttfamily req.\+accepts$\ast$}
\item add deprecation message to {\ttfamily res.\+send(body, status)}
\item add deprecation message to {\ttfamily res.\+vary()}
\item add {\ttfamily headers} option to {\ttfamily res.\+sendfile}
\begin{DoxyItemize}
\item use to set headers on successful file transfer
\end{DoxyItemize}
\item add {\ttfamily merge\+Params} option to {\ttfamily Router}
\begin{DoxyItemize}
\item merges {\ttfamily req.\+params} from parent routes
\end{DoxyItemize}
\item add {\ttfamily req.\+hostname} -- correct name for what {\ttfamily req.\+host} returns
\item deprecate things with {\ttfamily depd} module
\item deprecate {\ttfamily req.\+host} -- use {\ttfamily req.\+hostname} instead
\item fix behavior when handling request without routes
\item fix handling when {\ttfamily route.\+all} is only route
\item invoke {\ttfamily router.\+param()} only when route matches
\item restore {\ttfamily req.\+params} after invoking router
\item use {\ttfamily finalhandler} for final response handling
\item use {\ttfamily media-\/typer} to alter content-\/type charset
\item deps\+: accepts1.\+0.\+7
\item deps\+: send@0.\+5.\+0
\begin{DoxyItemize}
\item Accept string for {\ttfamily maxage} (converted by {\ttfamily ms})
\item Include link in default redirect response
\end{DoxyItemize}
\item deps\+: serve-\/static1.\+3.\+0
\begin{DoxyItemize}
\item Accept string for {\ttfamily max\+Age} (converted by {\ttfamily ms})
\item Add {\ttfamily set\+Headers} option
\item Include HTML link in redirect response
\item deps\+: send@0.\+5.\+0
\end{DoxyItemize}
\item deps\+: type-\/is1.\+3.\+2
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9578}{}\doxysection{4.\+4.\+5 / 2014-\/06-\/26}\label{md_sfcode_node_modules_express_History_autotoc_md9578}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: cookie-\/signature@1.\+0.\+4
\begin{DoxyItemize}
\item fix for timing attacks
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9579}{}\doxysection{4.\+4.\+4 / 2014-\/06-\/20}\label{md_sfcode_node_modules_express_History_autotoc_md9579}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix {\ttfamily res.\+attachment} Unicode filenames in Safari
\item fix \char`\"{}trim prefix\char`\"{} debug message in {\ttfamily express\+:router}
\item deps\+: accepts1.\+0.\+5
\item deps\+: buffer-\/crc32@0.\+2.\+3
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9580}{}\doxysection{4.\+4.\+3 / 2014-\/06-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9580}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix persistence of modified {\ttfamily req.\+params\mbox{[}name\mbox{]}} from {\ttfamily app.\+param()}
\item deps\+: accepts@1.\+0.\+3
\begin{DoxyItemize}
\item deps\+: negotiator@0.\+4.\+6
\end{DoxyItemize}
\item deps\+: debug@1.\+0.\+2
\item deps\+: send@0.\+4.\+3
\begin{DoxyItemize}
\item Do not throw uncatchable error on file open race condition
\item Use {\ttfamily escape-\/html} for HTML escaping
\item deps\+: debug@1.\+0.\+2
\item deps\+: finished@1.\+2.\+2
\item deps\+: fresh@0.\+2.\+2
\end{DoxyItemize}
\item deps\+: serve-\/static@1.\+2.\+3
\begin{DoxyItemize}
\item Do not throw uncatchable error on file open race condition
\item deps\+: send@0.\+4.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9581}{}\doxysection{4.\+4.\+2 / 2014-\/06-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9581}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix catching errors from top-\/level handlers
\item use {\ttfamily vary} module for {\ttfamily res.\+vary}
\item deps\+: debug@1.\+0.\+1
\item deps\+: proxy-\/addr@1.\+0.\+1
\item deps\+: send@0.\+4.\+2
\begin{DoxyItemize}
\item fix \char`\"{}event emitter leak\char`\"{} warnings
\item deps\+: debug@1.\+0.\+1
\item deps\+: finished@1.\+2.\+1
\end{DoxyItemize}
\item deps\+: serve-\/static@1.\+2.\+2
\begin{DoxyItemize}
\item fix \char`\"{}event emitter leak\char`\"{} warnings
\item deps\+: send@0.\+4.\+2
\end{DoxyItemize}
\item deps\+: type-\/is@1.\+2.\+1
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9582}{}\doxysection{4.\+4.\+1 / 2014-\/06-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9582}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: methods@1.\+0.\+1
\item deps\+: send@0.\+4.\+1
\begin{DoxyItemize}
\item Send {\ttfamily max-\/age} in {\ttfamily Cache-\/\+Control} in correct format
\end{DoxyItemize}
\item deps\+: serve-\/static@1.\+2.\+1
\begin{DoxyItemize}
\item use {\ttfamily escape-\/html} for escaping
\item deps\+: send@0.\+4.\+1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9583}{}\doxysection{4.\+4.\+0 / 2014-\/05-\/30}\label{md_sfcode_node_modules_express_History_autotoc_md9583}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item custom etag control with `app.\+set(\textquotesingle{}etag', val){\ttfamily  -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, function(body, encoding)\{ return \textquotesingle{}\char`\"{}etag\char`\"{}\textquotesingle{} \}){\ttfamily custom etag generation -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, \textquotesingle{}weak\textquotesingle{}){\ttfamily weak tag -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, \textquotesingle{}strong\textquotesingle{}){\ttfamily strong etag -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, false){\ttfamily turn off -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, true){\ttfamily standard etag}
\item {\ttfamily mark}res.\+send\`{} ETag as weak and reduce collisions
\item update accepts to 1.\+0.\+2
\begin{DoxyItemize}
\item Fix interpretation when header not in request
\end{DoxyItemize}
\item update send to 0.\+4.\+0
\begin{DoxyItemize}
\item Calculate ETag with md5 for reduced collisions
\item Ignore stream errors after request ends
\item deps\+: debug@0.\+8.\+1
\end{DoxyItemize}
\item update serve-\/static to 1.\+2.\+0
\begin{DoxyItemize}
\item Calculate ETag with md5 for reduced collisions
\item Ignore stream errors after request ends
\item deps\+: send@0.\+4.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9584}{}\doxysection{4.\+3.\+2 / 2014-\/05-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9584}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix handling of errors from {\ttfamily router.\+param()} callbacks
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9585}{}\doxysection{4.\+3.\+1 / 2014-\/05-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9585}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item revert \char`\"{}fix behavior of multiple \`{}app.\+VERB\`{} for the same path\char`\"{}
\begin{DoxyItemize}
\item this caused a regression in the order of route execution
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9586}{}\doxysection{4.\+3.\+0 / 2014-\/05-\/21}\label{md_sfcode_node_modules_express_History_autotoc_md9586}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add {\ttfamily req.\+base\+Url} to access the path stripped from {\ttfamily req.\+url} in routes
\item fix behavior of multiple {\ttfamily app.\+VERB} for the same path
\item fix issue routing requests among sub routers
\item invoke {\ttfamily router.\+param()} only when necessary instead of every match
\item proper proxy trust with `app.\+set(\textquotesingle{}trust proxy', trust){\ttfamily  -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, 1){\ttfamily trust first hop -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, \textquotesingle{}loopback\textquotesingle{}){\ttfamily trust loopback addresses -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, \textquotesingle{}10.\+0.\+0.\+1\textquotesingle{}){\ttfamily trust single IP -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, \textquotesingle{}10.\+0.\+0.\+1/16\textquotesingle{}){\ttfamily trust subnet -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, \textquotesingle{}10.\+0.\+0.\+1, 10.\+0.\+0.\+2\textquotesingle{}){\ttfamily trust list -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, false){\ttfamily turn off -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, true){\ttfamily trust everything}
\item {\ttfamily set proper}charset{\ttfamily in}Content-\/\+Type{\ttfamily for}res.\+send\`{}
\item update type-\/is to 1.\+2.\+0
\begin{DoxyItemize}
\item support suffix matching
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9587}{}\doxysection{4.\+2.\+0 / 2014-\/05-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9587}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deprecate {\ttfamily app.\+del()} -- use {\ttfamily app.\+delete()} instead
\item deprecate {\ttfamily res.\+json(obj, status)} -- use {\ttfamily res.\+json(status, obj)} instead
\begin{DoxyItemize}
\item the edge-\/case {\ttfamily res.\+json(status, num)} requires {\ttfamily res.\+status(status).json(num)}
\end{DoxyItemize}
\item deprecate {\ttfamily res.\+jsonp(obj, status)} -- use {\ttfamily res.\+jsonp(status, obj)} instead
\begin{DoxyItemize}
\item the edge-\/case {\ttfamily res.\+jsonp(status, num)} requires {\ttfamily res.\+status(status).jsonp(num)}
\end{DoxyItemize}
\item fix {\ttfamily req.\+next} when inside router instance
\item include {\ttfamily ETag} header in {\ttfamily HEAD} requests
\item keep previous {\ttfamily Content-\/\+Type} for {\ttfamily res.\+jsonp}
\item support PURGE method
\begin{DoxyItemize}
\item add {\ttfamily app.\+purge}
\item add {\ttfamily router.\+purge}
\item include PURGE in {\ttfamily app.\+all}
\end{DoxyItemize}
\item update debug to 0.\+8.\+0
\begin{DoxyItemize}
\item add {\ttfamily enable()} method
\item change from stderr to stdout
\end{DoxyItemize}
\item update methods to 1.\+0.\+0
\begin{DoxyItemize}
\item add PURGE
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9588}{}\doxysection{4.\+1.\+2 / 2014-\/05-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9588}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix {\ttfamily req.\+host} for IPv6 literals
\item fix {\ttfamily res.\+jsonp} error if callback param is object
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9589}{}\doxysection{4.\+1.\+1 / 2014-\/04-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9589}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix package.\+json to reflect supported node version
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9590}{}\doxysection{4.\+1.\+0 / 2014-\/04-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9590}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item pass options from {\ttfamily res.\+sendfile} to {\ttfamily send}
\item preserve casing of headers in {\ttfamily res.\+header} and {\ttfamily res.\+set}
\item support unicode file names in {\ttfamily res.\+attachment} and {\ttfamily res.\+download}
\item update accepts to 1.\+0.\+1
\begin{DoxyItemize}
\item deps\+: negotiator@0.\+4.\+0
\end{DoxyItemize}
\item update cookie to 0.\+1.\+2
\begin{DoxyItemize}
\item Fix for max\+Age == 0
\item made compat with expires field
\end{DoxyItemize}
\item update send to 0.\+3.\+0
\begin{DoxyItemize}
\item Accept API options in options object
\item Coerce option types
\item Control whether to generate etags
\item Default directory access to 403 when index disabled
\item Fix sending files with dots without root set
\item Include file path in etag
\item Make \char`\"{}\+Can\textquotesingle{}t set headers after they are sent.\char`\"{} catchable
\item Send full entity-\/body for multi range requests
\item Set etags to \char`\"{}weak\char`\"{}
\item Support \char`\"{}\+If-\/\+Range\char`\"{} header
\item Support multiple index paths
\item deps\+: \href{mailto:mime@1.2.11}{\texttt{ mime@1.\+2.\+11}}
\end{DoxyItemize}
\item update serve-\/static to 1.\+1.\+0
\begin{DoxyItemize}
\item Accept options directly to {\ttfamily send} module
\item Resolve relative paths at middleware setup
\item Use parseurl to parse the URL from request
\item deps\+: send@0.\+3.\+0
\end{DoxyItemize}
\item update type-\/is to 1.\+1.\+0
\begin{DoxyItemize}
\item add non-\/array values support
\item add {\ttfamily multipart} as a shorthand
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9591}{}\doxysection{4.\+0.\+0 / 2014-\/04-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9591}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item remove\+:
\begin{DoxyItemize}
\item node 0.\+8 support
\item connect and connect\textquotesingle{}s patches except for charset handling
\item express(1) -\/ moved to \href{https://github.com/expressjs/generator}{\texttt{ express-\/generator}}
\item {\ttfamily express.\+create\+Server()} -\/ it has been deprecated for a long time. Use {\ttfamily express()}
\item {\ttfamily app.\+configure} -\/ use logic in your own app code
\item {\ttfamily app.\+router} -\/ is removed
\item {\ttfamily req.\+auth} -\/ use {\ttfamily basic-\/auth} instead
\item {\ttfamily req.\+accepted$\ast$} -\/ use {\ttfamily req.\+accepts$\ast$()} instead
\item {\ttfamily res.\+location} -\/ relative URL resolution is removed
\item {\ttfamily res.\+charset} -\/ include the charset in the content type when using {\ttfamily res.\+set()}
\item all bundled middleware except {\ttfamily static}
\end{DoxyItemize}
\item change\+:
\begin{DoxyItemize}
\item {\ttfamily app.\+route} -\/$>$ {\ttfamily app.\+mountpath} when mounting an express app in another express app
\item {\ttfamily json spaces} no longer enabled by default in development
\item {\ttfamily req.\+accepts$\ast$} -\/$>$ {\ttfamily req.\+accepts$\ast$s} -\/ i.\+e. {\ttfamily req.\+accepts\+Encoding} -\/$>$ {\ttfamily req.\+accepts\+Encodings}
\item {\ttfamily req.\+params} is now an object instead of an array
\item {\ttfamily res.\+locals} is no longer a function. It is a plain js object. Treat it as such.
\item {\ttfamily res.\+header\+Sent} -\/$>$ {\ttfamily res.\+headers\+Sent} to match node.\+js Server\+Response object
\end{DoxyItemize}
\item refactor\+:
\begin{DoxyItemize}
\item {\ttfamily req.\+accepts$\ast$} with \href{https://github.com/expressjs/accepts}{\texttt{ accepts}}
\item {\ttfamily req.\+is} with \href{https://github.com/expressjs/type-is}{\texttt{ type-\/is}}
\item \href{https://github.com/component/path-to-regexp}{\texttt{ path-\/to-\/regexp}}
\end{DoxyItemize}
\item add\+:
\begin{DoxyItemize}
\item {\ttfamily app.\+router()} -\/ returns the app Router instance
\item {\ttfamily app.\+route()} -\/ Proxy to the app\textquotesingle{}s {\ttfamily Router\#route()} method to create a new route
\item Router \& Route -\/ public API
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9592}{}\doxysection{3.\+21.\+2 / 2015-\/07-\/31}\label{md_sfcode_node_modules_express_History_autotoc_md9592}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.30}{\texttt{ connect@2.\+30}}.2
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+13.\+3
\item deps\+: compression1.\+5.\+2
\item deps\+: errorhandler1.\+4.\+2
\item deps\+: method-\/override2.\+3.\+5
\item deps\+: serve-\/index1.\+7.\+2
\item deps\+: type-\/is1.\+6.\+6
\item deps\+: vhost3.\+0.\+1
\end{DoxyItemize}
\item deps\+: vary1.\+0.\+1
\begin{DoxyItemize}
\item Fix setting empty header from empty {\ttfamily field}
\item perf\+: enable strict mode
\item perf\+: remove argument reassignments
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9593}{}\doxysection{3.\+21.\+1 / 2015-\/07-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9593}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: basic-\/auth1.\+0.\+3
\item deps\+: \href{mailto:connect@2.30}{\texttt{ connect@2.\+30}}.1
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+13.\+2
\item deps\+: compression1.\+5.\+1
\item deps\+: errorhandler1.\+4.\+1
\item deps\+: morgan1.\+6.\+1
\item deps\+: pause@0.\+1.\+0
\item deps\+: qs@4.\+0.\+0
\item deps\+: serve-\/index1.\+7.\+1
\item deps\+: type-\/is1.\+6.\+4
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9594}{}\doxysection{3.\+21.\+0 / 2015-\/06-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9594}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: basic-\/auth@1.\+0.\+2
\begin{DoxyItemize}
\item perf\+: enable strict mode
\item perf\+: hoist regular expression
\item perf\+: parse with regular expressions
\item perf\+: remove argument reassignment
\end{DoxyItemize}
\item deps\+: \href{mailto:connect@2.30}{\texttt{ connect@2.\+30}}.0
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+13.\+1
\item deps\+: bytes@2.\+1.\+0
\item deps\+: compression1.\+5.\+0
\item deps\+: cookie@0.\+1.\+3
\item deps\+: cookie-\/parser1.\+3.\+5
\item deps\+: csurf1.\+8.\+3
\item deps\+: errorhandler1.\+4.\+0
\item deps\+: express-\/session1.\+11.\+3
\item deps\+: finalhandler@0.\+4.\+0
\item deps\+: fresh@0.\+3.\+0
\item deps\+: morgan1.\+6.\+0
\item deps\+: serve-\/favicon2.\+3.\+0
\item deps\+: serve-\/index1.\+7.\+0
\item deps\+: serve-\/static1.\+10.\+0
\item deps\+: type-\/is1.\+6.\+3
\end{DoxyItemize}
\item deps\+: cookie@0.\+1.\+3
\begin{DoxyItemize}
\item perf\+: deduce the scope of try-\/catch deopt
\item perf\+: remove argument reassignments
\end{DoxyItemize}
\item deps\+: escape-\/html@1.\+0.\+2
\item deps\+: etag1.\+7.\+0
\begin{DoxyItemize}
\item Always include entity length in ETags for hash length extensions
\item Generate non-\/\+Stats ETags using MD5 only (no longer CRC32)
\item Improve stat performance by removing hashing
\item Improve support for JXcore
\item Remove base64 padding in ETags to shorten
\item Support \char`\"{}fake\char`\"{} stats objects in environments without fs
\item Use MD5 instead of MD4 in weak ETags over 1KB
\end{DoxyItemize}
\item deps\+: fresh@0.\+3.\+0
\begin{DoxyItemize}
\item Add weak {\ttfamily ETag} matching support
\end{DoxyItemize}
\item deps\+: mkdirp@0.\+5.\+1
\begin{DoxyItemize}
\item Work in global strict mode
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.13}{\texttt{ send@0.\+13}}.0
\begin{DoxyItemize}
\item Allow Node.\+js HTTP server to set {\ttfamily Date} response header
\item Fix incorrectly removing {\ttfamily Content-\/\+Location} on 304 response
\item Improve the default redirect response headers
\item Send appropriate headers on default error response
\item Use {\ttfamily http-\/errors} for standard emitted errors
\item Use {\ttfamily statuses} instead of {\ttfamily http} module for status messages
\item deps\+: escape-\/html@1.\+0.\+2
\item deps\+: etag1.\+7.\+0
\item deps\+: fresh@0.\+3.\+0
\item deps\+: on-\/finished2.\+3.\+0
\item perf\+: enable strict mode
\item perf\+: remove unnecessary array allocations
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9595}{}\doxysection{3.\+20.\+3 / 2015-\/05-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9595}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.29}{\texttt{ connect@2.\+29}}.2
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+12.\+4
\item deps\+: compression1.\+4.\+4
\item deps\+: connect-\/timeout1.\+6.\+2
\item deps\+: debug2.\+2.\+0
\item deps\+: depd1.\+0.\+1
\item deps\+: errorhandler1.\+3.\+6
\item deps\+: finalhandler@0.\+3.\+6
\item deps\+: method-\/override2.\+3.\+3
\item deps\+: morgan1.\+5.\+3
\item deps\+: qs@2.\+4.\+2
\item deps\+: response-\/time2.\+3.\+1
\item deps\+: serve-\/favicon2.\+2.\+1
\item deps\+: serve-\/index1.\+6.\+4
\item deps\+: serve-\/static1.\+9.\+3
\item deps\+: type-\/is1.\+6.\+2
\end{DoxyItemize}
\item deps\+: debug2.\+2.\+0
\begin{DoxyItemize}
\item deps\+: ms@0.\+7.\+1
\end{DoxyItemize}
\item deps\+: depd1.\+0.\+1
\item deps\+: proxy-\/addr1.\+0.\+8
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@1.\+0.\+1
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.3
\begin{DoxyItemize}
\item deps\+: debug2.\+2.\+0
\item deps\+: depd1.\+0.\+1
\item deps\+: etag1.\+6.\+0
\item deps\+: ms@0.\+7.\+1
\item deps\+: on-\/finished2.\+2.\+1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9596}{}\doxysection{3.\+20.\+2 / 2015-\/03-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9596}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.29}{\texttt{ connect@2.\+29}}.1
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+12.\+2
\item deps\+: compression1.\+4.\+3
\item deps\+: connect-\/timeout1.\+6.\+1
\item deps\+: debug2.\+1.\+3
\item deps\+: errorhandler1.\+3.\+5
\item deps\+: express-\/session1.\+10.\+4
\item deps\+: finalhandler@0.\+3.\+4
\item deps\+: method-\/override2.\+3.\+2
\item deps\+: morgan1.\+5.\+2
\item deps\+: qs@2.\+4.\+1
\item deps\+: serve-\/index1.\+6.\+3
\item deps\+: serve-\/static1.\+9.\+2
\item deps\+: type-\/is1.\+6.\+1
\end{DoxyItemize}
\item deps\+: debug2.\+1.\+3
\begin{DoxyItemize}
\item Fix high intensity foreground color for bold
\item deps\+: ms@0.\+7.\+0
\end{DoxyItemize}
\item deps\+: merge-\/descriptors@1.\+0.\+0
\item deps\+: proxy-\/addr1.\+0.\+7
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@0.\+1.\+9
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.2
\begin{DoxyItemize}
\item Throw errors early for invalid {\ttfamily extensions} or {\ttfamily index} options
\item deps\+: debug2.\+1.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9597}{}\doxysection{3.\+20.\+1 / 2015-\/02-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9597}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily req.\+host} when using \char`\"{}trust proxy\char`\"{} hops count
\item Fix {\ttfamily req.\+protocol}/{\ttfamily req.\+secure} when using \char`\"{}trust proxy\char`\"{} hops count
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9598}{}\doxysection{3.\+20.\+0 / 2015-\/02-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9598}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily \char`\"{}trust proxy\char`\"{}} setting to inherit when app is mounted
\item Generate {\ttfamily ETag}s for all request responses
\begin{DoxyItemize}
\item No longer restricted to only responses for {\ttfamily GET} and {\ttfamily HEAD} requests
\end{DoxyItemize}
\item Use {\ttfamily content-\/type} to parse {\ttfamily Content-\/\+Type} headers
\item deps\+: \href{mailto:connect@2.29}{\texttt{ connect@2.\+29}}.0
\begin{DoxyItemize}
\item Use {\ttfamily content-\/type} to parse {\ttfamily Content-\/\+Type} headers
\item deps\+: body-\/parser1.\+12.\+0
\item deps\+: compression1.\+4.\+1
\item deps\+: connect-\/timeout1.\+6.\+0
\item deps\+: cookie-\/parser1.\+3.\+4
\item deps\+: cookie-\/signature@1.\+0.\+6
\item deps\+: csurf1.\+7.\+0
\item deps\+: errorhandler1.\+3.\+4
\item deps\+: express-\/session1.\+10.\+3
\item deps\+: http-\/errors1.\+3.\+1
\item deps\+: response-\/time2.\+3.\+0
\item deps\+: serve-\/index1.\+6.\+2
\item deps\+: serve-\/static1.\+9.\+1
\item deps\+: type-\/is1.\+6.\+0
\end{DoxyItemize}
\item deps\+: cookie-\/signature@1.\+0.\+6
\item deps\+: \href{mailto:send@0.12}{\texttt{ send@0.\+12}}.1
\begin{DoxyItemize}
\item Always read the stat size from the file
\item Fix mutating passed-\/in {\ttfamily options}
\item deps\+: mime@1.\+3.\+4
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9599}{}\doxysection{3.\+19.\+2 / 2015-\/02-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9599}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.28}{\texttt{ connect@2.\+28}}.3
\begin{DoxyItemize}
\item deps\+: compression1.\+3.\+1
\item deps\+: csurf1.\+6.\+6
\item deps\+: errorhandler1.\+3.\+3
\item deps\+: express-\/session1.\+10.\+2
\item deps\+: serve-\/index1.\+6.\+1
\item deps\+: type-\/is1.\+5.\+6
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+0.\+6
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@0.\+1.\+8
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9600}{}\doxysection{3.\+19.\+1 / 2015-\/01-\/20}\label{md_sfcode_node_modules_express_History_autotoc_md9600}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.28}{\texttt{ connect@2.\+28}}.2
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+10.\+2
\item deps\+: serve-\/static1.\+8.\+1
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.11}{\texttt{ send@0.\+11}}.1
\begin{DoxyItemize}
\item Fix root path disclosure
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9601}{}\doxysection{3.\+19.\+0 / 2015-\/01-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9601}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily OPTIONS} responses to include the {\ttfamily HEAD} method property
\item Use {\ttfamily readline} for prompt in {\ttfamily express(1)}
\item deps\+: commander@2.\+6.\+0
\item deps\+: \href{mailto:connect@2.28}{\texttt{ connect@2.\+28}}.1
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+10.\+1
\item deps\+: compression1.\+3.\+0
\item deps\+: connect-\/timeout1.\+5.\+0
\item deps\+: csurf1.\+6.\+4
\item deps\+: debug2.\+1.\+1
\item deps\+: errorhandler1.\+3.\+2
\item deps\+: express-\/session1.\+10.\+1
\item deps\+: finalhandler@0.\+3.\+3
\item deps\+: method-\/override2.\+3.\+1
\item deps\+: morgan1.\+5.\+1
\item deps\+: serve-\/favicon2.\+2.\+0
\item deps\+: serve-\/index1.\+6.\+0
\item deps\+: serve-\/static1.\+8.\+0
\item deps\+: type-\/is1.\+5.\+5
\end{DoxyItemize}
\item deps\+: debug2.\+1.\+1
\item deps\+: methods1.\+1.\+1
\item deps\+: proxy-\/addr1.\+0.\+5
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@0.\+1.\+6
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.11}{\texttt{ send@0.\+11}}.0
\begin{DoxyItemize}
\item deps\+: debug2.\+1.\+1
\item deps\+: etag1.\+5.\+1
\item deps\+: ms@0.\+7.\+0
\item deps\+: on-\/finished2.\+2.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9602}{}\doxysection{3.\+18.\+6 / 2014-\/12-\/12}\label{md_sfcode_node_modules_express_History_autotoc_md9602}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix exception in {\ttfamily req.\+fresh}/{\ttfamily req.\+stale} without response headers
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9603}{}\doxysection{3.\+18.\+5 / 2014-\/12-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9603}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.27}{\texttt{ connect@2.\+27}}.6
\begin{DoxyItemize}
\item deps\+: compression1.\+2.\+2
\item deps\+: express-\/session1.\+9.\+3
\item deps\+: http-\/errors1.\+2.\+8
\item deps\+: serve-\/index1.\+5.\+3
\item deps\+: type-\/is1.\+5.\+4
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9604}{}\doxysection{3.\+18.\+4 / 2014-\/11-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9604}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.27}{\texttt{ connect@2.\+27}}.4
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+9.\+3
\item deps\+: compression1.\+2.\+1
\item deps\+: errorhandler1.\+2.\+3
\item deps\+: express-\/session1.\+9.\+2
\item deps\+: qs@2.\+3.\+3
\item deps\+: serve-\/favicon2.\+1.\+7
\item deps\+: serve-\/static1.\+5.\+1
\item deps\+: type-\/is1.\+5.\+3
\end{DoxyItemize}
\item deps\+: etag1.\+5.\+1
\item deps\+: proxy-\/addr1.\+0.\+4
\begin{DoxyItemize}
\item deps\+: ipaddr.\+js@0.\+1.\+5
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9605}{}\doxysection{3.\+18.\+3 / 2014-\/11-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9605}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.27}{\texttt{ connect@2.\+27}}.3
\begin{DoxyItemize}
\item Correctly invoke async callback asynchronously
\item deps\+: csurf1.\+6.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9606}{}\doxysection{3.\+18.\+2 / 2014-\/10-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9606}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.27}{\texttt{ connect@2.\+27}}.2
\begin{DoxyItemize}
\item Fix handling of URLs containing {\ttfamily \+://} in the path
\item deps\+: body-\/parser1.\+9.\+2
\item deps\+: qs@2.\+3.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9607}{}\doxysection{3.\+18.\+1 / 2014-\/10-\/22}\label{md_sfcode_node_modules_express_History_autotoc_md9607}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix internal {\ttfamily utils.\+merge} deprecation warnings
\item deps\+: \href{mailto:connect@2.27}{\texttt{ connect@2.\+27}}.1
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+9.\+1
\item deps\+: express-\/session1.\+9.\+1
\item deps\+: finalhandler@0.\+3.\+2
\item deps\+: morgan1.\+4.\+1
\item deps\+: qs@2.\+3.\+0
\item deps\+: serve-\/static1.\+7.\+1
\end{DoxyItemize}
\item deps\+: \href{mailto:send@0.10}{\texttt{ send@0.\+10}}.1
\begin{DoxyItemize}
\item deps\+: on-\/finished2.\+1.\+1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9608}{}\doxysection{3.\+18.\+0 / 2014-\/10-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9608}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Use {\ttfamily content-\/disposition} module for {\ttfamily res.\+attachment}/{\ttfamily res.\+download}
\begin{DoxyItemize}
\item Sends standards-\/compliant {\ttfamily Content-\/\+Disposition} header
\item Full Unicode support
\end{DoxyItemize}
\item Use {\ttfamily etag} module to generate {\ttfamily ETag} headers
\item deps\+: \href{mailto:connect@2.27}{\texttt{ connect@2.\+27}}.0
\begin{DoxyItemize}
\item Use {\ttfamily http-\/errors} module for creating errors
\item Use {\ttfamily utils-\/merge} module for merging objects
\item deps\+: body-\/parser1.\+9.\+0
\item deps\+: compression1.\+2.\+0
\item deps\+: connect-\/timeout1.\+4.\+0
\item deps\+: debug2.\+1.\+0
\item deps\+: depd1.\+0.\+0
\item deps\+: express-\/session1.\+9.\+0
\item deps\+: finalhandler@0.\+3.\+1
\item deps\+: method-\/override2.\+3.\+0
\item deps\+: morgan1.\+4.\+0
\item deps\+: response-\/time2.\+2.\+0
\item deps\+: serve-\/favicon2.\+1.\+6
\item deps\+: serve-\/index1.\+5.\+0
\item deps\+: serve-\/static1.\+7.\+0
\end{DoxyItemize}
\item deps\+: debug2.\+1.\+0
\begin{DoxyItemize}
\item Implement {\ttfamily DEBUG\+\_\+\+FD} env variable support
\end{DoxyItemize}
\item deps\+: depd1.\+0.\+0
\item deps\+: \href{mailto:send@0.10}{\texttt{ send@0.\+10}}.0
\begin{DoxyItemize}
\item deps\+: debug2.\+1.\+0
\item deps\+: depd1.\+0.\+0
\item deps\+: etag1.\+5.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9609}{}\doxysection{3.\+17.\+8 / 2014-\/10-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9609}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.26}{\texttt{ connect@2.\+26}}.6
\begin{DoxyItemize}
\item deps\+: compression1.\+1.\+2
\item deps\+: csurf1.\+6.\+2
\item deps\+: errorhandler1.\+2.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9610}{}\doxysection{3.\+17.\+7 / 2014-\/10-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9610}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.26}{\texttt{ connect@2.\+26}}.5
\begin{DoxyItemize}
\item Fix accepting non-\/object arguments to {\ttfamily logger}
\item deps\+: serve-\/static1.\+6.\+4
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9611}{}\doxysection{3.\+17.\+6 / 2014-\/10-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9611}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.26}{\texttt{ connect@2.\+26}}.4
\begin{DoxyItemize}
\item deps\+: morgan1.\+3.\+2
\item deps\+: type-\/is1.\+5.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9612}{}\doxysection{3.\+17.\+5 / 2014-\/09-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9612}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.26}{\texttt{ connect@2.\+26}}.3
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+8.\+4
\item deps\+: serve-\/favicon2.\+1.\+5
\item deps\+: serve-\/static1.\+6.\+3
\end{DoxyItemize}
\item deps\+: proxy-\/addr1.\+0.\+3
\begin{DoxyItemize}
\item Use {\ttfamily forwarded} npm module
\end{DoxyItemize}
\item deps\+: send@0.\+9.\+3
\begin{DoxyItemize}
\item deps\+: etag1.\+4.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9613}{}\doxysection{3.\+17.\+4 / 2014-\/09-\/19}\label{md_sfcode_node_modules_express_History_autotoc_md9613}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.26}{\texttt{ connect@2.\+26}}.2
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+8.\+3
\item deps\+: qs@2.\+2.\+4
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9614}{}\doxysection{3.\+17.\+3 / 2014-\/09-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9614}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: proxy-\/addr1.\+0.\+2
\begin{DoxyItemize}
\item Fix a global leak when multiple subnets are trusted
\item deps\+: ipaddr.\+js@0.\+1.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9615}{}\doxysection{3.\+17.\+2 / 2014-\/09-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9615}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Use {\ttfamily crc} instead of {\ttfamily buffer-\/crc32} for speed
\item deps\+: \href{mailto:connect@2.26}{\texttt{ connect@2.\+26}}.1
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+8.\+2
\item deps\+: depd@0.\+4.\+5
\item deps\+: express-\/session1.\+8.\+2
\item deps\+: morgan1.\+3.\+1
\item deps\+: serve-\/favicon2.\+1.\+3
\item deps\+: serve-\/static1.\+6.\+2
\end{DoxyItemize}
\item deps\+: depd@0.\+4.\+5
\item deps\+: send@0.\+9.\+2
\begin{DoxyItemize}
\item deps\+: depd@0.\+4.\+5
\item deps\+: etag1.\+3.\+1
\item deps\+: range-\/parser1.\+0.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9616}{}\doxysection{3.\+17.\+1 / 2014-\/09-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9616}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix error in {\ttfamily req.\+subdomains} on empty host
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9617}{}\doxysection{3.\+17.\+0 / 2014-\/09-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9617}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Support {\ttfamily X-\/\+Forwarded-\/\+Host} in {\ttfamily req.\+subdomains}
\item Support IP address host in {\ttfamily req.\+subdomains}
\item deps\+: \href{mailto:connect@2.26}{\texttt{ connect@2.\+26}}.0
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+8.\+1
\item deps\+: compression1.\+1.\+0
\item deps\+: connect-\/timeout1.\+3.\+0
\item deps\+: cookie-\/parser1.\+3.\+3
\item deps\+: cookie-\/signature@1.\+0.\+5
\item deps\+: csurf1.\+6.\+1
\item deps\+: debug2.\+0.\+0
\item deps\+: errorhandler1.\+2.\+0
\item deps\+: express-\/session1.\+8.\+1
\item deps\+: finalhandler@0.\+2.\+0
\item deps\+: fresh@0.\+2.\+4
\item deps\+: media-\/typer@0.\+3.\+0
\item deps\+: method-\/override2.\+2.\+0
\item deps\+: morgan1.\+3.\+0
\item deps\+: qs@2.\+2.\+3
\item deps\+: serve-\/favicon2.\+1.\+3
\item deps\+: serve-\/index1.\+2.\+1
\item deps\+: serve-\/static1.\+6.\+1
\item deps\+: type-\/is1.\+5.\+1
\item deps\+: vhost3.\+0.\+0
\end{DoxyItemize}
\item deps\+: cookie-\/signature@1.\+0.\+5
\item deps\+: debug2.\+0.\+0
\item deps\+: fresh@0.\+2.\+4
\item deps\+: media-\/typer@0.\+3.\+0
\begin{DoxyItemize}
\item Throw error when parameter format invalid on parse
\end{DoxyItemize}
\item deps\+: range-\/parser1.\+0.\+2
\item deps\+: send@0.\+9.\+1
\begin{DoxyItemize}
\item Add {\ttfamily last\+Modified} option
\item Use {\ttfamily etag} to generate {\ttfamily ETag} header
\item deps\+: debug2.\+0.\+0
\item deps\+: fresh@0.\+2.\+4
\end{DoxyItemize}
\item deps\+: vary1.\+0.\+0
\begin{DoxyItemize}
\item Accept valid {\ttfamily Vary} header string as {\ttfamily field}
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9618}{}\doxysection{3.\+16.\+10 / 2014-\/09-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9618}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25.10}{\texttt{ connect@2.\+25.\+10}}
\begin{DoxyItemize}
\item deps\+: serve-\/static1.\+5.\+4
\end{DoxyItemize}
\item deps\+: send@0.\+8.\+5
\begin{DoxyItemize}
\item Fix a path traversal issue when using {\ttfamily root}
\item Fix malicious path detection for empty string path
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9619}{}\doxysection{3.\+16.\+9 / 2014-\/08-\/29}\label{md_sfcode_node_modules_express_History_autotoc_md9619}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.9
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+6.\+7
\item deps\+: qs@2.\+2.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9620}{}\doxysection{3.\+16.\+8 / 2014-\/08-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9620}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.8
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+6.\+6
\item deps\+: csurf1.\+4.\+1
\item deps\+: qs@2.\+2.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9621}{}\doxysection{3.\+16.\+7 / 2014-\/08-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9621}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.7
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+6.\+5
\item deps\+: express-\/session1.\+7.\+6
\item deps\+: morgan1.\+2.\+3
\item deps\+: serve-\/static1.\+5.\+3
\end{DoxyItemize}
\item deps\+: send@0.\+8.\+3
\begin{DoxyItemize}
\item deps\+: destroy@1.\+0.\+3
\item deps\+: on-\/finished@2.\+1.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9622}{}\doxysection{3.\+16.\+6 / 2014-\/08-\/14}\label{md_sfcode_node_modules_express_History_autotoc_md9622}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.6
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+6.\+4
\item deps\+: qs@1.\+2.\+2
\item deps\+: serve-\/static1.\+5.\+2
\end{DoxyItemize}
\item deps\+: send@0.\+8.\+2
\begin{DoxyItemize}
\item Work around {\ttfamily fd} leak in Node.\+js 0.\+10 for {\ttfamily fs.\+Read\+Stream}
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9623}{}\doxysection{3.\+16.\+5 / 2014-\/08-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9623}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.5
\begin{DoxyItemize}
\item Fix backwards compatibility in {\ttfamily logger}
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9624}{}\doxysection{3.\+16.\+4 / 2014-\/08-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9624}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix original URL parsing in {\ttfamily res.\+location}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.4
\begin{DoxyItemize}
\item Fix {\ttfamily query} middleware breaking with argument
\item deps\+: body-\/parser1.\+6.\+3
\item deps\+: compression1.\+0.\+11
\item deps\+: connect-\/timeout1.\+2.\+2
\item deps\+: express-\/session1.\+7.\+5
\item deps\+: method-\/override2.\+1.\+3
\item deps\+: on-\/headers1.\+0.\+0
\item deps\+: parseurl1.\+3.\+0
\item deps\+: qs@1.\+2.\+1
\item deps\+: response-\/time2.\+0.\+1
\item deps\+: serve-\/index1.\+1.\+6
\item deps\+: serve-\/static1.\+5.\+1
\end{DoxyItemize}
\item deps\+: parseurl1.\+3.\+0
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9625}{}\doxysection{3.\+16.\+3 / 2014-\/08-\/07}\label{md_sfcode_node_modules_express_History_autotoc_md9625}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.3
\begin{DoxyItemize}
\item deps\+: multiparty@3.\+3.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9626}{}\doxysection{3.\+16.\+2 / 2014-\/08-\/07}\label{md_sfcode_node_modules_express_History_autotoc_md9626}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.2
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+6.\+2
\item deps\+: qs@1.\+2.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9627}{}\doxysection{3.\+16.\+1 / 2014-\/08-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9627}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.1
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+6.\+1
\item deps\+: qs@1.\+1.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9628}{}\doxysection{3.\+16.\+0 / 2014-\/08-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9628}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.25}{\texttt{ connect@2.\+25}}.0
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+6.\+0
\item deps\+: compression1.\+0.\+10
\item deps\+: csurf1.\+4.\+0
\item deps\+: express-\/session1.\+7.\+4
\item deps\+: qs@1.\+0.\+2
\item deps\+: serve-\/static1.\+5.\+0
\end{DoxyItemize}
\item deps\+: send@0.\+8.\+1
\begin{DoxyItemize}
\item Add {\ttfamily extensions} option
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9629}{}\doxysection{3.\+15.\+3 / 2014-\/08-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9629}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix {\ttfamily res.\+sendfile} regression for serving directory index files
\item deps\+: \href{mailto:connect@2.24}{\texttt{ connect@2.\+24}}.3
\begin{DoxyItemize}
\item deps\+: serve-\/index1.\+1.\+5
\item deps\+: serve-\/static1.\+4.\+4
\end{DoxyItemize}
\item deps\+: send@0.\+7.\+4
\begin{DoxyItemize}
\item Fix incorrect 403 on Windows and Node.\+js 0.\+11
\item Fix serving index files without root dir
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9630}{}\doxysection{3.\+15.\+2 / 2014-\/07-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9630}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.24}{\texttt{ connect@2.\+24}}.2
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+5.\+2
\item deps\+: depd@0.\+4.\+4
\item deps\+: express-\/session1.\+7.\+2
\item deps\+: morgan1.\+2.\+2
\item deps\+: serve-\/static1.\+4.\+2
\end{DoxyItemize}
\item deps\+: depd@0.\+4.\+4
\begin{DoxyItemize}
\item Work-\/around v8 generating empty stack traces
\end{DoxyItemize}
\item deps\+: send@0.\+7.\+2
\begin{DoxyItemize}
\item deps\+: depd@0.\+4.\+4
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9631}{}\doxysection{3.\+15.\+1 / 2014-\/07-\/26}\label{md_sfcode_node_modules_express_History_autotoc_md9631}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.24}{\texttt{ connect@2.\+24}}.1
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+5.\+1
\item deps\+: depd@0.\+4.\+3
\item deps\+: express-\/session1.\+7.\+1
\item deps\+: morgan1.\+2.\+1
\item deps\+: serve-\/index1.\+1.\+4
\item deps\+: serve-\/static1.\+4.\+1
\end{DoxyItemize}
\item deps\+: depd@0.\+4.\+3
\begin{DoxyItemize}
\item Fix exception when global {\ttfamily Error.\+stack\+Trace\+Limit} is too low
\end{DoxyItemize}
\item deps\+: send@0.\+7.\+1
\begin{DoxyItemize}
\item deps\+: depd@0.\+4.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9632}{}\doxysection{3.\+15.\+0 / 2014-\/07-\/22}\label{md_sfcode_node_modules_express_History_autotoc_md9632}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fix {\ttfamily req.\+protocol} for proxy-\/direct connections
\item Pass options from {\ttfamily res.\+sendfile} to {\ttfamily send}
\item deps\+: \href{mailto:connect@2.24}{\texttt{ connect@2.\+24}}.0
\begin{DoxyItemize}
\item deps\+: body-\/parser1.\+5.\+0
\item deps\+: compression1.\+0.\+9
\item deps\+: connect-\/timeout1.\+2.\+1
\item deps\+: debug@1.\+0.\+4
\item deps\+: depd@0.\+4.\+2
\item deps\+: express-\/session1.\+7.\+0
\item deps\+: finalhandler@0.\+1.\+0
\item deps\+: method-\/override2.\+1.\+2
\item deps\+: morgan1.\+2.\+0
\item deps\+: multiparty@3.\+3.\+1
\item deps\+: parseurl1.\+2.\+0
\item deps\+: serve-\/static1.\+4.\+0
\end{DoxyItemize}
\item deps\+: debug@1.\+0.\+4
\item deps\+: depd@0.\+4.\+2
\begin{DoxyItemize}
\item Add {\ttfamily TRACE\+\_\+\+DEPRECATION} environment variable
\item Remove non-\/standard grey color from color output
\item Support {\ttfamily -\/-\/no-\/deprecation} argument
\item Support {\ttfamily -\/-\/trace-\/deprecation} argument
\end{DoxyItemize}
\item deps\+: parseurl1.\+2.\+0
\begin{DoxyItemize}
\item Cache URLs based on original value
\item Remove no-\/longer-\/needed URL mis-\/parse work-\/around
\item Simplify the \char`\"{}fast-\/path\char`\"{} {\ttfamily Reg\+Exp}
\end{DoxyItemize}
\item deps\+: send@0.\+7.\+0
\begin{DoxyItemize}
\item Add {\ttfamily dotfiles} option
\item Cap {\ttfamily max\+Age} value to 1 year
\item deps\+: debug@1.\+0.\+4
\item deps\+: depd@0.\+4.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9633}{}\doxysection{3.\+14.\+0 / 2014-\/07-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9633}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add explicit \char`\"{}\+Rosetta Flash JSONP abuse\char`\"{} protection
\begin{DoxyItemize}
\item previous versions are not vulnerable; this is just explicit protection
\end{DoxyItemize}
\item deprecate {\ttfamily res.\+redirect(url, status)} -- use {\ttfamily res.\+redirect(status, url)} instead
\item fix {\ttfamily res.\+send(status, num)} to send {\ttfamily num} as json (not error)
\item remove unnecessary escaping when {\ttfamily res.\+jsonp} returns JSON response
\item deps\+: basic-\/auth@1.\+0.\+0
\begin{DoxyItemize}
\item support empty password
\item support empty username
\end{DoxyItemize}
\item deps\+: \href{mailto:connect@2.23}{\texttt{ connect@2.\+23}}.0
\begin{DoxyItemize}
\item deps\+: debug@1.\+0.\+3
\item deps\+: express-\/session1.\+6.\+4
\item deps\+: method-\/override2.\+1.\+0
\item deps\+: parseurl1.\+1.\+3
\item deps\+: serve-\/static1.\+3.\+1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily deps\+: debug@1.\+0.\+3
\begin{DoxyItemize}
\item Add support for multiple wildcards in namespaces
\end{DoxyItemize}}

{\ttfamily deps\+: methods@1.\+1.\+0
\begin{DoxyItemize}
\item add {\ttfamily CONNECT}
\end{DoxyItemize}}

{\ttfamily deps\+: parseurl1.\+1.\+3
\begin{DoxyItemize}
\item faster parsing of href-\/only URLs
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9634}{}\doxysection{3.\+13.\+0 / 2014-\/07-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9634}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add deprecation message to {\ttfamily app.\+configure}
\item add deprecation message to {\ttfamily req.\+auth}
\item use {\ttfamily basic-\/auth} to parse {\ttfamily Authorization} header
\item deps\+: \href{mailto:connect@2.22}{\texttt{ connect@2.\+22}}.0
\begin{DoxyItemize}
\item deps\+: csurf1.\+3.\+0
\item deps\+: express-\/session1.\+6.\+1
\item deps\+: multiparty@3.\+3.\+0
\item deps\+: serve-\/static1.\+3.\+0
\end{DoxyItemize}
\item deps\+: send@0.\+5.\+0
\begin{DoxyItemize}
\item Accept string for {\ttfamily maxage} (converted by {\ttfamily ms})
\item Include link in default redirect response
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9635}{}\doxysection{3.\+12.\+1 / 2014-\/06-\/26}\label{md_sfcode_node_modules_express_History_autotoc_md9635}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.21}{\texttt{ connect@2.\+21}}.1
\begin{DoxyItemize}
\item deps\+: cookie-\/parser@1.\+3.\+2
\item deps\+: cookie-\/signature@1.\+0.\+4
\item deps\+: express-\/session1.\+5.\+2
\item deps\+: type-\/is1.\+3.\+2
\end{DoxyItemize}
\item deps\+: cookie-\/signature@1.\+0.\+4
\begin{DoxyItemize}
\item fix for timing attacks
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9636}{}\doxysection{3.\+12.\+0 / 2014-\/06-\/21}\label{md_sfcode_node_modules_express_History_autotoc_md9636}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item use {\ttfamily media-\/typer} to alter content-\/type charset
\item deps\+: \href{mailto:connect@2.21}{\texttt{ connect@2.\+21}}.0
\begin{DoxyItemize}
\item deprecate {\ttfamily connect(middleware)} -- use {\ttfamily app.\+use(middleware)} instead
\item deprecate {\ttfamily connect.\+create\+Server()} -- use {\ttfamily connect()} instead
\item fix {\ttfamily res.\+set\+Header()} patch to work with with get -\/$>$ append -\/$>$ set pattern
\item deps\+: compression1.\+0.\+8
\item deps\+: errorhandler1.\+1.\+1
\item deps\+: express-\/session1.\+5.\+0
\item deps\+: serve-\/index1.\+1.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9637}{}\doxysection{3.\+11.\+0 / 2014-\/06-\/19}\label{md_sfcode_node_modules_express_History_autotoc_md9637}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deprecate things with {\ttfamily depd} module
\item deps\+: buffer-\/crc32@0.\+2.\+3
\item deps\+: \href{mailto:connect@2.20}{\texttt{ connect@2.\+20}}.2
\begin{DoxyItemize}
\item deprecate {\ttfamily verify} option to {\ttfamily json} -- use {\ttfamily body-\/parser} npm module instead
\item deprecate {\ttfamily verify} option to {\ttfamily urlencoded} -- use {\ttfamily body-\/parser} npm module instead
\item deprecate things with {\ttfamily depd} module
\item use {\ttfamily finalhandler} for final response handling
\item use {\ttfamily media-\/typer} to parse {\ttfamily content-\/type} for charset
\item deps\+: body-\/parser@1.\+4.\+3
\item deps\+: connect-\/timeout@1.\+1.\+1
\item deps\+: cookie-\/parser@1.\+3.\+1
\item deps\+: csurf@1.\+2.\+2
\item deps\+: errorhandler@1.\+1.\+0
\item deps\+: express-\/session@1.\+4.\+0
\item deps\+: multiparty@3.\+2.\+9
\item deps\+: serve-\/index@1.\+1.\+2
\item deps\+: type-\/is@1.\+3.\+1
\item deps\+: vhost@2.\+0.\+0
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9638}{}\doxysection{3.\+10.\+5 / 2014-\/06-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9638}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.19}{\texttt{ connect@2.\+19}}.6
\begin{DoxyItemize}
\item deps\+: body-\/parser@1.\+3.\+1
\item deps\+: compression@1.\+0.\+7
\item deps\+: debug@1.\+0.\+2
\item deps\+: serve-\/index@1.\+1.\+1
\item deps\+: serve-\/static@1.\+2.\+3
\end{DoxyItemize}
\item deps\+: debug@1.\+0.\+2
\item deps\+: send@0.\+4.\+3
\begin{DoxyItemize}
\item Do not throw uncatchable error on file open race condition
\item Use {\ttfamily escape-\/html} for HTML escaping
\item deps\+: debug@1.\+0.\+2
\item deps\+: finished@1.\+2.\+2
\item deps\+: fresh@0.\+2.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9639}{}\doxysection{3.\+10.\+4 / 2014-\/06-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9639}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.19}{\texttt{ connect@2.\+19}}.5
\begin{DoxyItemize}
\item fix \char`\"{}event emitter leak\char`\"{} warnings
\item deps\+: csurf@1.\+2.\+1
\item deps\+: debug@1.\+0.\+1
\item deps\+: serve-\/static@1.\+2.\+2
\item deps\+: type-\/is@1.\+2.\+1
\end{DoxyItemize}
\item deps\+: debug@1.\+0.\+1
\item deps\+: send@0.\+4.\+2
\begin{DoxyItemize}
\item fix \char`\"{}event emitter leak\char`\"{} warnings
\item deps\+: finished@1.\+2.\+1
\item deps\+: debug@1.\+0.\+1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9640}{}\doxysection{3.\+10.\+3 / 2014-\/06-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9640}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item use {\ttfamily vary} module for {\ttfamily res.\+vary}
\item deps\+: \href{mailto:connect@2.19}{\texttt{ connect@2.\+19}}.4
\begin{DoxyItemize}
\item deps\+: errorhandler@1.\+0.\+2
\item deps\+: method-\/override@2.\+0.\+2
\item deps\+: serve-\/favicon@2.\+0.\+1
\end{DoxyItemize}
\item deps\+: debug@1.\+0.\+0
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9641}{}\doxysection{3.\+10.\+2 / 2014-\/06-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9641}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.19}{\texttt{ connect@2.\+19}}.3
\begin{DoxyItemize}
\item deps\+: compression@1.\+0.\+6
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9642}{}\doxysection{3.\+10.\+1 / 2014-\/06-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9642}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.19}{\texttt{ connect@2.\+19}}.2
\begin{DoxyItemize}
\item deps\+: compression@1.\+0.\+4
\end{DoxyItemize}
\item deps\+: proxy-\/addr@1.\+0.\+1
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9643}{}\doxysection{3.\+10.\+0 / 2014-\/06-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9643}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deps\+: \href{mailto:connect@2.19}{\texttt{ connect@2.\+19}}.1
\begin{DoxyItemize}
\item deprecate {\ttfamily method\+Override()} -- use {\ttfamily method-\/override} npm module instead
\item deps\+: body-\/parser@1.\+3.\+0
\item deps\+: method-\/override@2.\+0.\+1
\item deps\+: multiparty@3.\+2.\+8
\item deps\+: response-\/time@2.\+0.\+0
\item deps\+: serve-\/static@1.\+2.\+1
\end{DoxyItemize}
\item deps\+: methods@1.\+0.\+1
\item deps\+: send@0.\+4.\+1
\begin{DoxyItemize}
\item Send {\ttfamily max-\/age} in {\ttfamily Cache-\/\+Control} in correct format
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9644}{}\doxysection{3.\+9.\+0 / 2014-\/05-\/30}\label{md_sfcode_node_modules_express_History_autotoc_md9644}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item custom etag control with `app.\+set(\textquotesingle{}etag', val){\ttfamily  -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, function(body, encoding)\{ return \textquotesingle{}\char`\"{}etag\char`\"{}\textquotesingle{} \}){\ttfamily custom etag generation -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, \textquotesingle{}weak\textquotesingle{}){\ttfamily weak tag -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, \textquotesingle{}strong\textquotesingle{}){\ttfamily strong etag -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, false){\ttfamily turn off -\/}app.\+set(\textquotesingle{}etag\textquotesingle{}, true)\`{} standard etag
\item Include ETag in HEAD requests
\item mark {\ttfamily res.\+send} ETag as weak and reduce collisions
\item update connect to 2.\+18.\+0
\begin{DoxyItemize}
\item deps\+: compression@1.\+0.\+3
\item deps\+: serve-\/index@1.\+1.\+0
\item deps\+: serve-\/static@1.\+2.\+0
\end{DoxyItemize}
\item update send to 0.\+4.\+0
\begin{DoxyItemize}
\item Calculate ETag with md5 for reduced collisions
\item Ignore stream errors after request ends
\item deps\+: debug@0.\+8.\+1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9645}{}\doxysection{3.\+8.\+1 / 2014-\/05-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9645}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect to 2.\+17.\+3
\begin{DoxyItemize}
\item deps\+: body-\/parser@1.\+2.\+2
\item deps\+: express-\/session@1.\+2.\+1
\item deps\+: method-\/override@1.\+0.\+2
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9646}{}\doxysection{3.\+8.\+0 / 2014-\/05-\/21}\label{md_sfcode_node_modules_express_History_autotoc_md9646}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item keep previous {\ttfamily Content-\/\+Type} for {\ttfamily res.\+jsonp}
\item set proper {\ttfamily charset} in {\ttfamily Content-\/\+Type} for {\ttfamily res.\+send}
\item update connect to 2.\+17.\+1
\begin{DoxyItemize}
\item fix {\ttfamily res.\+charset} appending charset when {\ttfamily content-\/type} has one
\item deps\+: express-\/session@1.\+2.\+0
\item deps\+: morgan@1.\+1.\+1
\item deps\+: serve-\/index@1.\+0.\+3
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9647}{}\doxysection{3.\+7.\+0 / 2014-\/05-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9647}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item proper proxy trust with `app.\+set(\textquotesingle{}trust proxy', trust){\ttfamily  -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, 1){\ttfamily trust first hop -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, \textquotesingle{}loopback\textquotesingle{}){\ttfamily trust loopback addresses -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, \textquotesingle{}10.\+0.\+0.\+1\textquotesingle{}){\ttfamily trust single IP -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, \textquotesingle{}10.\+0.\+0.\+1/16\textquotesingle{}){\ttfamily trust subnet -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, \textquotesingle{}10.\+0.\+0.\+1, 10.\+0.\+0.\+2\textquotesingle{}){\ttfamily trust list -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, false){\ttfamily turn off -\/}app.\+set(\textquotesingle{}trust proxy\textquotesingle{}, true)\`{} trust everything
\item update connect to 2.\+16.\+2
\begin{DoxyItemize}
\item deprecate {\ttfamily res.\+header\+Sent} -- use {\ttfamily res.\+headers\+Sent}
\item deprecate {\ttfamily res.\+on(\char`\"{}header\char`\"{})} -- use on-\/headers module instead
\item fix edge-\/case in {\ttfamily res.\+append\+Header} that would append in wrong order
\item json\+: use body-\/parser
\item urlencoded\+: use body-\/parser
\item dep\+: bytes@1.\+0.\+0
\item dep\+: cookie-\/parser@1.\+1.\+0
\item dep\+: csurf@1.\+2.\+0
\item dep\+: express-\/session@1.\+1.\+0
\item dep\+: method-\/override@1.\+0.\+1
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9648}{}\doxysection{3.\+6.\+0 / 2014-\/05-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9648}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item deprecate {\ttfamily app.\+del()} -- use {\ttfamily app.\+delete()} instead
\item deprecate {\ttfamily res.\+json(obj, status)} -- use {\ttfamily res.\+json(status, obj)} instead
\begin{DoxyItemize}
\item the edge-\/case {\ttfamily res.\+json(status, num)} requires {\ttfamily res.\+status(status).json(num)}
\end{DoxyItemize}
\item deprecate {\ttfamily res.\+jsonp(obj, status)} -- use {\ttfamily res.\+jsonp(status, obj)} instead
\begin{DoxyItemize}
\item the edge-\/case {\ttfamily res.\+jsonp(status, num)} requires {\ttfamily res.\+status(status).jsonp(num)}
\end{DoxyItemize}
\item support PURGE method
\begin{DoxyItemize}
\item add {\ttfamily app.\+purge}
\item add {\ttfamily router.\+purge}
\item include PURGE in {\ttfamily app.\+all}
\end{DoxyItemize}
\item update connect to 2.\+15.\+0
\begin{DoxyItemize}
\item Add {\ttfamily res.\+append\+Header}
\item Call error stack even when response has been sent
\item Patch {\ttfamily res.\+header\+Sent} to return Boolean
\item Patch {\ttfamily res.\+headers\+Sent} for node.\+js 0.\+8
\item Prevent default 404 handler after response sent
\item dep\+: compression@1.\+0.\+2
\item dep\+: connect-\/timeout@1.\+1.\+0
\item dep\+: debug@$^\wedge$0.8.\+0
\item dep\+: errorhandler@1.\+0.\+1
\item dep\+: express-\/session@1.\+0.\+4
\item dep\+: morgan@1.\+0.\+1
\item dep\+: serve-\/favicon@2.\+0.\+0
\item dep\+: serve-\/index@1.\+0.\+2
\end{DoxyItemize}
\item update debug to 0.\+8.\+0
\begin{DoxyItemize}
\item add {\ttfamily enable()} method
\item change from stderr to stdout
\end{DoxyItemize}
\item update methods to 1.\+0.\+0
\begin{DoxyItemize}
\item add PURGE
\end{DoxyItemize}
\item update mkdirp to 0.\+5.\+0
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9649}{}\doxysection{3.\+5.\+3 / 2014-\/05-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9649}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix {\ttfamily req.\+host} for IPv6 literals
\item fix {\ttfamily res.\+jsonp} error if callback param is object
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9650}{}\doxysection{3.\+5.\+2 / 2014-\/04-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9650}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect to 2.\+14.\+5
\item update cookie to 0.\+1.\+2
\item update mkdirp to 0.\+4.\+0
\item update send to 0.\+3.\+0
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9651}{}\doxysection{3.\+5.\+1 / 2014-\/03-\/25}\label{md_sfcode_node_modules_express_History_autotoc_md9651}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item pin less-\/middleware in generated app
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9652}{}\doxysection{3.\+5.\+0 / 2014-\/03-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9652}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item bump deps
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9653}{}\doxysection{3.\+4.\+8 / 2014-\/01-\/13}\label{md_sfcode_node_modules_express_History_autotoc_md9653}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item prevent incorrect automatic OPTIONS responses \#1868 @dpatti
\item update binary and examples for jade 1.\+0 \#1876 @yossi, \#1877 @reqshark, \#1892 @matheusazzi
\item throw 400 in case of malformed paths @rlidwka
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9654}{}\doxysection{3.\+4.\+7 / 2013-\/12-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9654}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9655}{}\doxysection{3.\+4.\+6 / 2013-\/12-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9655}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect (raw-\/body)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9656}{}\doxysection{3.\+4.\+5 / 2013-\/11-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9656}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item res.\+location\+: remove leading ./ \#1802 @kapouer
\item res.\+redirect\+: fix `res.\+redirect(\textquotesingle{}to\+String') \#1829 @michaelficarra
\item res.\+send\+: always send ETag when content-\/length $>$ 0
\item router\+: add Router.\+all() method
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9657}{}\doxysection{3.\+4.\+4 / 2013-\/10-\/29}\label{md_sfcode_node_modules_express_History_autotoc_md9657}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item update supertest
\item update methods
\item express(1)\+: replace body\+Parser() with urlencoded() and json() \#1795 @chirag04
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9658}{}\doxysection{3.\+4.\+3 / 2013-\/10-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9658}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9659}{}\doxysection{3.\+4.\+2 / 2013-\/10-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9659}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item downgrade commander
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9660}{}\doxysection{3.\+4.\+1 / 2013-\/10-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9660}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item update commander
\item jsonp\+: check if callback is a function
\item router\+: wrap encode\+URIComponent in a try/catch \#1735 (@lxe)
\item res.\+format\+: now includes charset @1747 (@sorribas)
\item res.\+links\+: allow multiple calls @1746 (@sorribas)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9661}{}\doxysection{3.\+4.\+0 / 2013-\/09-\/07}\label{md_sfcode_node_modules_express_History_autotoc_md9661}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add res.\+vary(). Closes \#1682
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9662}{}\doxysection{3.\+3.\+8 / 2013-\/09-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9662}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9663}{}\doxysection{3.\+3.\+7 / 2013-\/08-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9663}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9664}{}\doxysection{3.\+3.\+6 / 2013-\/08-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9664}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Revert \char`\"{}remove charset from json responses. Closes \#1631\char`\"{} (causes issues in some clients)
\item add\+: req.\+accepts take an argument list
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9665}{}\doxysection{3.\+3.\+4 / 2013-\/07-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9665}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update send and connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9666}{}\doxysection{3.\+3.\+3 / 2013-\/07-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9666}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9667}{}\doxysection{3.\+3.\+2 / 2013-\/07-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9667}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item update send
\item remove .version export
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9668}{}\doxysection{3.\+3.\+1 / 2013-\/06-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9668}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9669}{}\doxysection{3.\+3.\+0 / 2013-\/06-\/26}\label{md_sfcode_node_modules_express_History_autotoc_md9669}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item add support for multiple X-\/\+Forwarded-\/\+Proto values. Closes \#1646
\item change\+: remove charset from json responses. Closes \#1631
\item change\+: return actual booleans from req.\+accept$\ast$ functions
\item fix jsonp callback array throw
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9670}{}\doxysection{3.\+2.\+6 / 2013-\/06-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9670}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9671}{}\doxysection{3.\+2.\+5 / 2013-\/05-\/21}\label{md_sfcode_node_modules_express_History_autotoc_md9671}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item update node-\/cookie
\item add\+: throw a meaningful error when there is no default engine
\item change generation of ETags with res.\+send() to GET requests only. Closes \#1619
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9672}{}\doxysection{3.\+2.\+4 / 2013-\/05-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9672}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item fix {\ttfamily req.\+subdomains} when no Host is present
\item fix {\ttfamily req.\+host} when no Host is present, return undefined
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9673}{}\doxysection{3.\+2.\+3 / 2013-\/05-\/07}\label{md_sfcode_node_modules_express_History_autotoc_md9673}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect / qs
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9674}{}\doxysection{3.\+2.\+2 / 2013-\/05-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9674}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update qs
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9675}{}\doxysection{3.\+2.\+1 / 2013-\/04-\/29}\label{md_sfcode_node_modules_express_History_autotoc_md9675}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add app.\+VERB() paths array deprecation warning
\item update connect
\item update qs and remove all $\sim$ semver crap
\item fix\+: accept number as value of Signed Cookie
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9676}{}\doxysection{3.\+2.\+0 / 2013-\/04-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9676}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add \char`\"{}view\char`\"{} constructor setting to override view behaviour
\item add req.\+accepts\+Encoding(name)
\item add req.\+accepted\+Encodings
\item revert cookie signature change causing session race conditions
\item fix sorting of Accept values of the same quality
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9677}{}\doxysection{3.\+1.\+2 / 2013-\/04-\/12}\label{md_sfcode_node_modules_express_History_autotoc_md9677}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add support for custom Accept parameters
\item update cookie-\/signature
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9678}{}\doxysection{3.\+1.\+1 / 2013-\/04-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9678}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add X-\/\+Forwarded-\/\+Host support to {\ttfamily req.\+host}
\item fix relative redirects
\item update mkdirp
\item update buffer-\/crc32
\item remove legacy app.\+configure() method from app template.
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9679}{}\doxysection{3.\+1.\+0 / 2013-\/01-\/25}\label{md_sfcode_node_modules_express_History_autotoc_md9679}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add support for leading \char`\"{}.\char`\"{} in \char`\"{}view engine\char`\"{} setting
\item add array support to {\ttfamily res.\+set()}
\item add node 0.\+8.\+x to travis.\+yml
\item add \char`\"{}subdomain offset\char`\"{} setting for tweaking {\ttfamily req.\+subdomains}
\item add {\ttfamily res.\+location(url)} implementing {\ttfamily res.\+redirect()}-\/like setting of Location
\item use app.\+get() for x-\/powered-\/by setting for inheritance
\item fix colons in passwords for {\ttfamily req.\+auth}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9680}{}\doxysection{3.\+0.\+6 / 2013-\/01-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9680}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add http verb methods to Router
\item update connect
\item fix mangling of the {\ttfamily res.\+cookie()} options object
\item fix jsonp whitespace escape. Closes \#1132
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9681}{}\doxysection{3.\+0.\+5 / 2012-\/12-\/19}\label{md_sfcode_node_modules_express_History_autotoc_md9681}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add throwing when a non-\/function is passed to a route
\item fix\+: explicitly remove Transfer-\/\+Encoding header from 204 and 304 responses
\item revert \char`\"{}add \textquotesingle{}etag\textquotesingle{} option\char`\"{}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9682}{}\doxysection{3.\+0.\+4 / 2012-\/12-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9682}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add \textquotesingle{}etag\textquotesingle{} option to disable {\ttfamily res.\+send()} Etags
\item add escaping of urls in text/plain in {\ttfamily res.\+redirect()} for old browsers interpreting as html
\item change crc32 module for a more liberal license
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9683}{}\doxysection{3.\+0.\+3 / 2012-\/11-\/13}\label{md_sfcode_node_modules_express_History_autotoc_md9683}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item update cookie module
\item fix cookie max-\/age
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9684}{}\doxysection{3.\+0.\+2 / 2012-\/11-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9684}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add OPTIONS to cors example. Closes \#1398
\item fix route chaining regression. Closes \#1397
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9685}{}\doxysection{3.\+0.\+1 / 2012-\/11-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9685}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9686}{}\doxysection{3.\+0.\+0 / 2012-\/10-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9686}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add {\ttfamily make clean}
\item add \char`\"{}\+Basic\char`\"{} check to req.\+auth
\item add {\ttfamily req.\+auth} test coverage
\item add cb \&\& cb(payload) to {\ttfamily res.\+jsonp()}. Closes \#1374
\item add backwards compat for {\ttfamily res.\+redirect()} status. Closes \#1336
\item add support for {\ttfamily res.\+json()} to retain previously defined Content-\/\+Types. Closes \#1349
\item update connect
\item change {\ttfamily res.\+redirect()} to utilize a pathname-\/relative Location again. Closes \#1382
\item remove non-\/primitive string support for {\ttfamily res.\+send()}
\item fix view-\/locals example. Closes \#1370
\item fix route-\/separation example
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9687}{}\doxysection{3.\+0.\+0rc5 / 2012-\/09-\/18}\label{md_sfcode_node_modules_express_History_autotoc_md9687}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect
\item add redis search example
\item add static-\/files example
\item add \char`\"{}x-\/powered-\/by\char`\"{} setting (`app.\+disable(\textquotesingle{}x-\/powered-\/by')\`{})
\item add \char`\"{}application/octet-\/stream\char`\"{} redirect Accept test case. Closes \#1317
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9688}{}\doxysection{3.\+0.\+0rc4 / 2012-\/08-\/30}\label{md_sfcode_node_modules_express_History_autotoc_md9688}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add {\ttfamily res.\+jsonp()}. Closes \#1307
\item add \char`\"{}verbose errors\char`\"{} option to error-\/pages example
\item add another route example to express(1) so people are not so confused
\item add redis online user activity tracking example
\item update connect dep
\item fix etag quoting. Closes \#1310
\item fix error-\/pages 404 status
\item fix jsonp callback char restrictions
\item remove old OPTIONS default response
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9689}{}\doxysection{3.\+0.\+0rc3 / 2012-\/08-\/13}\label{md_sfcode_node_modules_express_History_autotoc_md9689}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect dep
\item fix signed cookies to work with {\ttfamily connect.\+cookie\+Parser()} (\char`\"{}s\+:\char`\"{} prefix was missing) \mbox{[}tnydwrds\mbox{]}
\item fix {\ttfamily res.\+render()} clobbering of \char`\"{}locals\char`\"{}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9690}{}\doxysection{3.\+0.\+0rc2 / 2012-\/08-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9690}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add CORS example
\item update connect dep
\item deprecate {\ttfamily .create\+Server()} \& remove old stale examples
\item fix\+: escape {\ttfamily res.\+redirect()} link
\item fix vhost example
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9691}{}\doxysection{3.\+0.\+0rc1 / 2012-\/07-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9691}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add more examples to view-\/locals
\item add scheme-\/relative redirects ({\ttfamily res.\+redirect(\char`\"{}//foo.\+com\char`\"{})}) support
\item update cookie dep
\item update connect dep
\item update send dep
\item fix {\ttfamily express(1)} -\/h flag, use -\/H for hogan. Closes \#1245
\item fix {\ttfamily res.\+sendfile()} socket error handling regression
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9692}{}\doxysection{3.\+0.\+0beta7 / 2012-\/07-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9692}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item update connect dep for {\ttfamily send()} root normalization regression
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9693}{}\doxysection{3.\+0.\+0beta6 / 2012-\/07-\/13}\label{md_sfcode_node_modules_express_History_autotoc_md9693}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add {\ttfamily err.\+view} property for view errors. Closes \#1226
\item add \char`\"{}jsonp callback name\char`\"{} setting
\item add support for \char`\"{}/foo/\+:bar$\ast$\char`\"{} non-\/greedy matches
\item change {\ttfamily res.\+sendfile()} to use {\ttfamily send()} module
\item change {\ttfamily res.\+send} to use \char`\"{}response-\/send\char`\"{} module
\item remove {\ttfamily app.\+locals.\+use} and {\ttfamily res.\+locals.\+use}, use regular middleware
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9694}{}\doxysection{3.\+0.\+0beta5 / 2012-\/07-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9694}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item add \char`\"{}make check\char`\"{} support
\item add route-\/map example
\item add {\ttfamily res.\+json(obj, status)} support back for BC
\item add \char`\"{}methods\char`\"{} dep, remove internal methods module
\item update connect dep
\item update auth example to utilize cores pbkdf2
\item updated tests to use \char`\"{}supertest\char`\"{}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9695}{}\doxysection{3.\+0.\+0beta4 / 2012-\/06-\/25}\label{md_sfcode_node_modules_express_History_autotoc_md9695}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily req.\+auth}
\item Added {\ttfamily req.\+range(size)}
\item Added {\ttfamily res.\+links(obj)}
\item Added {\ttfamily res.\+send(body, status)} support back for backwards compat
\item Added {\ttfamily .default()} support to {\ttfamily res.\+format()}
\item Added 2xx / 304 check to {\ttfamily req.\+fresh}
\item Revert \char`\"{}\+Added + support to the router\char`\"{}
\item Fixed {\ttfamily res.\+send()} freshness check, respect res.\+status\+Code
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9696}{}\doxysection{3.\+0.\+0beta3 / 2012-\/06-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9696}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added hogan {\ttfamily -\/-\/hjs} to express(1) \mbox{[}nullfirm\mbox{]}
\item Added another example to content-\/negotiation
\item Added {\ttfamily fresh} dep
\item Changed\+: {\ttfamily res.\+send()} always checks freshness
\item Fixed\+: expose connects mime module. Closes \#1165
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9697}{}\doxysection{3.\+0.\+0beta2 / 2012-\/06-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9697}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily +} support to the router
\item Added {\ttfamily req.\+host}
\item Changed {\ttfamily req.\+param()} to check route first
\item Update connect dep
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9698}{}\doxysection{3.\+0.\+0beta1 / 2012-\/06-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9698}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily res.\+format()} callback to override default 406 behaviour
\item Fixed {\ttfamily res.\+redirect()} 406. Closes \#1154
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9699}{}\doxysection{3.\+0.\+0alpha5 / 2012-\/05-\/30}\label{md_sfcode_node_modules_express_History_autotoc_md9699}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily req.\+ip}
\item Added {\ttfamily \{ signed\+: true \}} option to {\ttfamily res.\+cookie()}
\item Removed {\ttfamily res.\+signed\+Cookie()}
\item Changed\+: dont reverse {\ttfamily req.\+ips}
\item Fixed \char`\"{}trust proxy\char`\"{} setting check for {\ttfamily req.\+ips}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9700}{}\doxysection{3.\+0.\+0alpha4 / 2012-\/05-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9700}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added\+: allow {\ttfamily \mbox{[}\mbox{]}} in jsonp callback. Closes \#1128
\item Added {\ttfamily PORT} env var support in generated template. Closes \#1118 \mbox{[}benatkin\mbox{]}
\item Updated\+: connect 2.\+2.\+2
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9701}{}\doxysection{3.\+0.\+0alpha3 / 2012-\/05-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9701}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added public {\ttfamily app.\+routes}. Closes \#887
\item Added {\itshape view-\/locals} example
\item Added {\itshape mvc} example
\item Added {\ttfamily res.\+locals.\+use()}. Closes \#1120
\item Added conditional-\/\+GET support to {\ttfamily res.\+send()}
\item Added\+: coerce {\ttfamily res.\+set()} values to strings
\item Changed\+: moved {\ttfamily static()} in generated apps below router
\item Changed\+: {\ttfamily res.\+send()} only set ETag when not previously set
\item Changed connect 2.\+2.\+1 dep
\item Changed\+: {\ttfamily make test} now runs unit / acceptance tests
\item Fixed req/res proto inheritance
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9702}{}\doxysection{3.\+0.\+0alpha2 / 2012-\/04-\/26}\label{md_sfcode_node_modules_express_History_autotoc_md9702}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily make benchmark} back
\item Added {\ttfamily res.\+send()} support for {\ttfamily String} objects
\item Added client-\/side data exposing example
\item Added {\ttfamily res.\+header()} and {\ttfamily req.\+header()} aliases for BC
\item Added {\ttfamily express.\+create\+Server()} for BC
\item Perf\+: memoize parsed urls
\item Perf\+: connect 2.\+2.\+0 dep
\item Changed\+: make {\ttfamily express\+Init()} middleware self-\/aware
\item Fixed\+: use app.\+get() for all core settings
\item Fixed redis session example
\item Fixed session example. Closes \#1105
\item Fixed generated express dep. Closes \#1078
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9703}{}\doxysection{3.\+0.\+0alpha1 / 2012-\/04-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9703}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily app.\+locals.\+use(callback)}
\item Added {\ttfamily app.\+locals} object
\item Added {\ttfamily app.\+locals(obj)}
\item Added {\ttfamily res.\+locals} object
\item Added {\ttfamily res.\+locals(obj)}
\item Added {\ttfamily res.\+format()} for content-\/negotiation
\item Added {\ttfamily app.\+engine()}
\item Added {\ttfamily res.\+cookie()} JSON cookie support
\item Added \char`\"{}trust proxy\char`\"{} setting
\item Added {\ttfamily req.\+subdomains}
\item Added {\ttfamily req.\+protocol}
\item Added {\ttfamily req.\+secure}
\item Added {\ttfamily req.\+path}
\item Added {\ttfamily req.\+ips}
\item Added {\ttfamily req.\+fresh}
\item Added {\ttfamily req.\+stale}
\item Added comma-\/delimited / array support for {\ttfamily req.\+accepts()}
\item Added debug instrumentation
\item Added {\ttfamily res.\+set(obj)}
\item Added {\ttfamily res.\+set(field, value)}
\item Added {\ttfamily res.\+get(field)}
\item Added {\ttfamily app.\+get(setting)}. Closes \#842
\item Added {\ttfamily req.\+accepts\+Language()}
\item Added {\ttfamily req.\+accepts\+Charset()}
\item Added {\ttfamily req.\+accepted}
\item Added {\ttfamily req.\+accepted\+Languages}
\item Added {\ttfamily req.\+accepted\+Charsets}
\item Added \char`\"{}json replacer\char`\"{} setting
\item Added \char`\"{}json spaces\char`\"{} setting
\item Added X-\/\+Forwarded-\/\+Proto support to {\ttfamily res.\+redirect()}. Closes \#92
\item Added {\ttfamily -\/-\/less} support to express(1)
\item Added {\ttfamily express.\+response} prototype
\item Added {\ttfamily express.\+request} prototype
\item Added {\ttfamily express.\+application} prototype
\item Added {\ttfamily app.\+path()}
\item Added {\ttfamily app.\+render()}
\item Added {\ttfamily res.\+type()} to replace {\ttfamily res.\+content\+Type()}
\item Changed\+: {\ttfamily res.\+redirect()} to add relative support
\item Changed\+: enable \char`\"{}jsonp callback\char`\"{} by default
\item Changed\+: renamed \char`\"{}case sensitive routes\char`\"{} to \char`\"{}case sensitive routing\char`\"{}
\item Rewrite of all tests with mocha
\item Removed \char`\"{}root\char`\"{} setting
\item Removed `res.\+redirect(\textquotesingle{}home'){\ttfamily support}
\item {\ttfamily Removed}req.\+notify(){\ttfamily }
\item {\ttfamily Removed}app.\+register(){\ttfamily }
\item {\ttfamily Removed}app.\+redirect(){\ttfamily }
\item {\ttfamily Removed}app.\+is(){\ttfamily }
\item {\ttfamily Removed}app.\+helpers(){\ttfamily }
\item {\ttfamily Removed}app.\+dynamic\+Helpers(){\ttfamily }
\item {\ttfamily Fixed}res.\+sendfile()\`{} with non-\/\+GET. Closes \#723
\item Fixed express(1) public dir for windows. Closes \#866
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9704}{}\doxysection{2.\+5.\+9/ 2012-\/04-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9704}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added support for PURGE request method \mbox{[}pbuyle\mbox{]}
\item Fixed {\ttfamily express(1)} generated app {\ttfamily app.\+address()} before {\ttfamily listening} \mbox{[}mmalecki\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9705}{}\doxysection{2.\+5.\+8 / 2012-\/02-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9705}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Update mkdirp dep. Closes \#991
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9706}{}\doxysection{2.\+5.\+7 / 2012-\/02-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9706}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed {\ttfamily app.\+all} duplicate DELETE requests \mbox{[}mscdex\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9707}{}\doxysection{2.\+5.\+6 / 2012-\/01-\/13}\label{md_sfcode_node_modules_express_History_autotoc_md9707}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Updated hamljs dev dep. Closes \#953
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9708}{}\doxysection{2.\+5.\+5 / 2012-\/01-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9708}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed\+: set {\ttfamily filename} on cached templates \mbox{[}matthewleon\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9709}{}\doxysection{2.\+5.\+4 / 2012-\/01-\/02}\label{md_sfcode_node_modules_express_History_autotoc_md9709}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed {\ttfamily express(1)} eol on 0.\+4.\+x. Closes \#947
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9710}{}\doxysection{2.\+5.\+3 / 2011-\/12-\/30}\label{md_sfcode_node_modules_express_History_autotoc_md9710}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed {\ttfamily req.\+is()} when a charset is present
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9711}{}\doxysection{2.\+5.\+2 / 2011-\/12-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9711}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed\+: express(1) LF -\/$>$ CRLF for windows
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9712}{}\doxysection{2.\+5.\+1 / 2011-\/11-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9712}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Changed\+: updated connect to 1.\+8.\+x
\item Removed sass.\+js support from express(1)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9713}{}\doxysection{2.\+5.\+0 / 2011-\/10-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9713}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added ./routes dir for generated app by default
\item Added npm install reminder to express(1) app gen
\item Added 0.\+5.\+x support
\item Removed {\ttfamily make test-\/cov} since it wont work with node 0.\+5.\+x
\item Fixed express(1) public dir for windows. Closes \#866
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9714}{}\doxysection{2.\+4.\+7 / 2011-\/10-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9714}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added mkdirp to express(1). Closes \#795
\item Added simple {\itshape json-\/config} example
\item Added shorthand for the parsed request\textquotesingle{}s pathname via {\ttfamily req.\+path}
\item Changed connect dep to 1.\+7.\+x to fix npm issue...
\item Fixed {\ttfamily res.\+redirect()} {\bfseries{HEAD}} support. \mbox{[}reported by xerox\mbox{]}
\item Fixed {\ttfamily req.\+flash()}, only escape args
\item Fixed absolute path checking on windows. Closes \#829 \mbox{[}reported by andrewpmckenzie\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9715}{}\doxysection{2.\+4.\+6 / 2011-\/08-\/22}\label{md_sfcode_node_modules_express_History_autotoc_md9715}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed multiple param callback regression. Closes \#824 \mbox{[}reported by Troy\+Goode\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9716}{}\doxysection{2.\+4.\+5 / 2011-\/08-\/19}\label{md_sfcode_node_modules_express_History_autotoc_md9716}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added support for routes to handle errors. Closes \#809
\item Added {\ttfamily app.\+routes.\+all()}. Closes \#803
\item Added \char`\"{}basepath\char`\"{} setting to work in conjunction with reverse proxies etc.
\item Refactored {\ttfamily Route} to use a single array of callbacks
\item Added support for multiple callbacks for {\ttfamily app.\+param()}. Closes \#801 Closes \#805
\item Changed\+: removed .call(self) for route callbacks
\item Dependency\+: {\ttfamily qs $>$= 0.\+3.\+1}
\item Fixed {\ttfamily res.\+redirect()} on windows due to {\ttfamily join()} usage. Closes \#808
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9717}{}\doxysection{2.\+4.\+4 / 2011-\/08-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9717}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed {\ttfamily res.\+header()} intention of a set, even when {\ttfamily undefined}
\item Fixed {\ttfamily $\ast$}, value no longer required
\item Fixed {\ttfamily res.\+send(204)} support. Closes \#771
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9718}{}\doxysection{2.\+4.\+3 / 2011-\/07-\/14}\label{md_sfcode_node_modules_express_History_autotoc_md9718}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added docs for {\ttfamily status} option special-\/case. Closes \#739
\item Fixed {\ttfamily options.\+filename}, exposing the view path to template engines
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9719}{}\doxysection{2.\+4.\+2. / 2011-\/07-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9719}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Revert \char`\"{}removed jsonp stripping\char`\"{} for XSS
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9720}{}\doxysection{2.\+4.\+1 / 2011-\/07-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9720}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily res.\+json()} JSONP support. Closes \#737
\item Added {\itshape extending-\/templates} example. Closes \#730
\item Added \char`\"{}strict routing\char`\"{} setting for trailing slashes
\item Added support for multiple envs in {\ttfamily app.\+configure()} calls. Closes \#735
\item Changed\+: {\ttfamily res.\+send()} using {\ttfamily res.\+json()}
\item Changed\+: when cookie {\ttfamily path === null} don\textquotesingle{}t default it
\item Changed; default cookie path to \char`\"{}home\char`\"{} setting. Closes \#731
\item Removed {\itshape pids/logs} creation from express(1)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9721}{}\doxysection{2.\+4.\+0 / 2011-\/06-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9721}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added chainable {\ttfamily res.\+status(code)}
\item Added {\ttfamily res.\+json()}, an explicit version of {\ttfamily res.\+send(obj)}
\item Added simple web-\/service example
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9722}{}\doxysection{2.\+3.\+12 / 2011-\/06-\/22}\label{md_sfcode_node_modules_express_History_autotoc_md9722}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item \#express is now on freenode! come join!
\item Added {\ttfamily req.\+get(field, param)}
\item Added links to Japanese documentation, thanks @hideyukisaito!
\item Added; the {\ttfamily express(1)} generated app outputs the env
\item Added {\ttfamily content-\/negotiation} example
\item Dependency\+: connect $>$= 1.\+5.\+1 $<$ 2.\+0.\+0
\item Fixed view layout bug. Closes \#720
\item Fixed; ignore body on 304. Closes \#701
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9723}{}\doxysection{2.\+3.\+11 / 2011-\/06-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9723}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily npm test}
\item Removed generation of dummy test file from {\ttfamily express(1)}
\item Fixed; {\ttfamily express(1)} adds express as a dep
\item Fixed; prune on {\ttfamily prepublish}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9724}{}\doxysection{2.\+3.\+10 / 2011-\/05-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9724}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily req.\+route}, exposing the current route
\item Added {\itshape package.\+json} generation support to {\ttfamily express(1)}
\item Fixed call to {\ttfamily app.\+param()} function for optional params. Closes \#682
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9725}{}\doxysection{2.\+3.\+9 / 2011-\/05-\/25}\label{md_sfcode_node_modules_express_History_autotoc_md9725}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed bug-\/ish with `../' in {\ttfamily res.\+partial()} calls
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9726}{}\doxysection{2.\+3.\+8 / 2011-\/05-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9726}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed {\ttfamily app.\+options()}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9727}{}\doxysection{2.\+3.\+7 / 2011-\/05-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9727}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added route {\ttfamily Collection}, ex\+: `app.\+get('/user/\+:id\textquotesingle{}).remove();{\ttfamily }
\item {\ttfamily Added support for}app.\+param(fn){\ttfamily to define param logic}
\item {\ttfamily Removed}app.\+param()\`{} support for callback with return value
\item Removed module.\+parent check from express(1) generated app. Closes \#670
\item Refactored router. Closes \#639
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9728}{}\doxysection{2.\+3.\+6 / 2011-\/05-\/20}\label{md_sfcode_node_modules_express_History_autotoc_md9728}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Changed; using dev\+Dependencies instead of git submodules
\item Fixed redis session example
\item Fixed markdown example
\item Fixed view caching, should not be enabled in development
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9729}{}\doxysection{2.\+3.\+5 / 2011-\/05-\/20}\label{md_sfcode_node_modules_express_History_autotoc_md9729}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added export {\ttfamily .view} as alias for {\ttfamily .View}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9730}{}\doxysection{2.\+3.\+4 / 2011-\/05-\/08}\label{md_sfcode_node_modules_express_History_autotoc_md9730}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily ./examples/say}
\item Fixed {\ttfamily res.\+sendfile()} bug preventing the transfer of files with spaces
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9731}{}\doxysection{2.\+3.\+3 / 2011-\/05-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9731}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added \char`\"{}case sensitive routes\char`\"{} option.
\item Changed; split methods supported per rfc \mbox{[}slaskis\mbox{]}
\item Fixed route-\/specific middleware when using the same callback function several times
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9732}{}\doxysection{2.\+3.\+2 / 2011-\/04-\/27}\label{md_sfcode_node_modules_express_History_autotoc_md9732}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed view hints
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9733}{}\doxysection{2.\+3.\+1 / 2011-\/04-\/26}\label{md_sfcode_node_modules_express_History_autotoc_md9733}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily app.\+match()} as {\ttfamily app.\+match.\+all()}
\item Added {\ttfamily app.\+lookup()} as {\ttfamily app.\+lookup.\+all()}
\item Added {\ttfamily app.\+remove()} for {\ttfamily app.\+remove.\+all()}
\item Added {\ttfamily app.\+remove.\+VERB()}
\item Fixed template caching collision issue. Closes \#644
\item Moved router over from connect and started refactor
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9734}{}\doxysection{2.\+3.\+0 / 2011-\/04-\/25}\label{md_sfcode_node_modules_express_History_autotoc_md9734}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added options support to {\ttfamily res.\+clear\+Cookie()}
\item Added {\ttfamily res.\+helpers()} as alias of {\ttfamily res.\+locals()}
\item Added; json defaults to UTF-\/8 with {\ttfamily res.\+send()}. Closes \#632. \mbox{[}Daniel $\ast$ Dependency {\ttfamily connect $>$= 1.\+4.\+0}
\item Changed; auto set Content-\/\+Type in res.\+attachement \mbox{[}Aaron Heckmann\mbox{]}
\item Renamed \char`\"{}cache views\char`\"{} to \char`\"{}view cache\char`\"{}. Closes \#628
\item Fixed caching of views when using several apps. Closes \#637
\item Fixed gotcha invoking {\ttfamily app.\+param()} callbacks once per route middleware. Closes \#638
\item Fixed partial lookup precedence. Closes \#631 Shaw\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9735}{}\doxysection{2.\+2.\+2 / 2011-\/04-\/12}\label{md_sfcode_node_modules_express_History_autotoc_md9735}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added second callback support for {\ttfamily res.\+download()} connection errors
\item Fixed {\ttfamily filename} option passing to template engine
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9736}{}\doxysection{2.\+2.\+1 / 2011-\/04-\/04}\label{md_sfcode_node_modules_express_History_autotoc_md9736}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily layout(path)} helper to change the layout within a view. Closes \#610
\item Fixed {\ttfamily partial()} collection object support. Previously only anything with {\ttfamily .length} would work. When {\ttfamily .length} is present one must still be aware of holes, however now `\{ collection\+: \{foo\+: \textquotesingle{}bar'\}\}{\ttfamily is valid, exposes }key\+In\+Collection{\ttfamily and}keys\+In\+Collection\`{}.
\item Performance improved with better view caching
\item Removed {\ttfamily request} and {\ttfamily response} locals
\item Changed; error\+Handler page title is now {\ttfamily Express} instead of {\ttfamily Connect}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9737}{}\doxysection{2.\+2.\+0 / 2011-\/03-\/30}\label{md_sfcode_node_modules_express_History_autotoc_md9737}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily app.\+lookup.\+VERB()}, ex `app.\+lookup.\+put('/user/\+:id\textquotesingle{}){\ttfamily . Closes \#606}
\item {\ttfamily Added}app.\+match.\+VERB(){\ttfamily , ex}app.\+match.\+put(\textquotesingle{}/user/12\textquotesingle{}){\ttfamily . Closes \#606}
\item {\ttfamily Added}app.\+VERB(path){\ttfamily as alias of}app.\+lookup.\+VERB(){\ttfamily .}
\item {\ttfamily Dependency}connect $>$= 1.\+2.\+0\`{}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9738}{}\doxysection{2.\+1.\+1 / 2011-\/03-\/29}\label{md_sfcode_node_modules_express_History_autotoc_md9738}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added; expose {\ttfamily err.\+view} object when failing to locate a view
\item Fixed {\ttfamily res.\+partial()} call {\ttfamily next(err)} when no callback is given \mbox{[}reported by aheckmann\mbox{]}
\item Fixed; {\ttfamily res.\+send(undefined)} responds with 204 \mbox{[}aheckmann\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9739}{}\doxysection{2.\+1.\+0 / 2011-\/03-\/24}\label{md_sfcode_node_modules_express_History_autotoc_md9739}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily $<$root$>$/\+\_\+?$<$name$>$} partial lookup support. Closes \#447
\item Added {\ttfamily request}, {\ttfamily response}, and {\ttfamily app} local variables
\item Added {\ttfamily settings} local variable, containing the app\textquotesingle{}s settings
\item Added {\ttfamily req.\+flash()} exception if {\ttfamily req.\+session} is not available
\item Added {\ttfamily res.\+send(bool)} support (json response)
\item Fixed stylus example for latest version
\item Fixed; wrap try/catch around {\ttfamily res.\+render()}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9740}{}\doxysection{2.\+0.\+0 / 2011-\/03-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9740}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed up index view path alternative.
\item Changed; {\ttfamily res.\+locals()} without object returns the locals
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9741}{}\doxysection{2.\+0.\+0rc3 / 2011-\/03-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9741}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily res.\+locals(obj)} to compliment {\ttfamily res.\+local(key, val)}
\item Added {\ttfamily res.\+partial()} callback support
\item Fixed recursive error reporting issue in {\ttfamily res.\+render()}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9742}{}\doxysection{2.\+0.\+0rc2 / 2011-\/03-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9742}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Changed; {\ttfamily partial()} \char`\"{}locals\char`\"{} are now optional
\item Fixed {\ttfamily Slow\+Buffer} support. Closes \#584 \mbox{[}reported by tyrda01\mbox{]}
\item Fixed .filename view engine option \mbox{[}reported by drudge\mbox{]}
\item Fixed blog example
\item Fixed {\ttfamily \{req,res\}.app} reference when mounting \mbox{[}Ben Weaver\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9743}{}\doxysection{2.\+0.\+0rc / 2011-\/03-\/14}\label{md_sfcode_node_modules_express_History_autotoc_md9743}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed; expose {\ttfamily HTTPSServer} constructor
\item Fixed express(1) default test charset. Closes \#579 \mbox{[}reported by secoif\mbox{]}
\item Fixed; default charset to utf-\/8 instead of utf8 for lame IE \mbox{[}reported by NickP\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9744}{}\doxysection{2.\+0.\+0beta3 / 2011-\/03-\/09}\label{md_sfcode_node_modules_express_History_autotoc_md9744}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added support for {\ttfamily res.\+content\+Type()} literal The original `res.\+content\+Type('.json\textquotesingle{}){\ttfamily , }res.\+content\+Type(\textquotesingle{}application/json\textquotesingle{}){\ttfamily , and}res.\+content\+Type(\textquotesingle{}json\textquotesingle{})\`{} will work now.
\item Added {\ttfamily res.\+render()} status option support back
\item Added charset option for {\ttfamily res.\+render()}
\item Added {\ttfamily .charset} support (via connect 1.\+0.\+4)
\item Added view resolution hints when in development and a lookup fails
\item Added layout lookup support relative to the page view. For example while rendering {\ttfamily ./views/user/index.jade} if you create {\ttfamily ./views/user/layout.jade} it will be used in favour of the root layout.
\item Fixed {\ttfamily res.\+redirect()}. RFC states absolute url \mbox{[}reported by unlink\mbox{]}
\item Fixed; default {\ttfamily res.\+send()} string charset to utf8
\item Removed {\ttfamily Partial} constructor (not currently used)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9745}{}\doxysection{2.\+0.\+0beta2 / 2011-\/03-\/07}\label{md_sfcode_node_modules_express_History_autotoc_md9745}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added res.\+render() {\ttfamily .locals} support back to aid in migration process
\item Fixed flash example
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9746}{}\doxysection{2.\+0.\+0beta / 2011-\/03-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9746}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added HTTPS support
\item Added {\ttfamily res.\+cookie()} max\+Age support
\item Added {\ttfamily req.\+header()} {\itshape Referrer} / {\itshape Referer} special-\/case, either works
\item Added mount support for {\ttfamily res.\+redirect()}, now respects the mount-\/point
\item Added {\ttfamily union()} util, taking place of {\ttfamily merge(clone())} combo
\item Added stylus support to express(1) generated app
\item Added secret to session middleware used in examples and generated app
\item Added {\ttfamily res.\+local(name, val)} for progressive view locals
\item Added default param support to {\ttfamily req.\+param(name, default)}
\item Added {\ttfamily app.\+disabled()} and {\ttfamily app.\+enabled()}
\item Added {\ttfamily app.\+register()} support for omitting leading \char`\"{}.\char`\"{}, either works
\item Added {\ttfamily res.\+partial()}, using the same interface as {\ttfamily partial()} within a view. Closes \#539
\item Added {\ttfamily app.\+param()} to map route params to async/sync logic
\item Added; aliased {\ttfamily app.\+helpers()} as {\ttfamily app.\+locals()}. Closes \#481
\item Added extname with no leading \char`\"{}.\char`\"{} support to {\ttfamily res.\+content\+Type()}
\item Added {\ttfamily cache views} setting, defaulting to enabled in \char`\"{}production\char`\"{} env
\item Added index file partial resolution, eg\+: partial(\textquotesingle{}user\textquotesingle{}) may try {\itshape views/user/index.\+jade}.
\item Added {\ttfamily req.\+accepts()} support for extensions
\item Changed; {\ttfamily res.\+download()} and {\ttfamily res.\+sendfile()} now utilize Connect\textquotesingle{}s static file server {\ttfamily connect.\+static.\+send()}.
\item Changed; replaced {\ttfamily connect.\+utils.\+mime()} with npm {\itshape mime} module
\item Changed; allow {\ttfamily req.\+query} to be pre-\/defined (via middleware or other parent
\item Changed view partial resolution, now relative to parent view
\item Changed view engine signature. no longer {\ttfamily engine.\+render(str, options, callback)}, now {\ttfamily engine.\+compile(str, options) -\/$>$ Function}, the returned function accepts {\ttfamily fn(locals)}.
\item Fixed {\ttfamily req.\+param()} bug returning Array.\+prototype methods. Closes \#552
\item Fixed; using {\ttfamily Stream\#pipe()} instead of {\ttfamily sys.\+pump()} in {\ttfamily res.\+sendfile()}
\item Fixed; using {\itshape qs} module instead of {\itshape querystring}
\item Fixed; strip unsafe chars from jsonp callbacks
\item Removed \char`\"{}stream threshold\char`\"{} setting
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9747}{}\doxysection{1.\+0.\+8 / 2011-\/03-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9747}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Allow {\ttfamily req.\+query} to be pre-\/defined (via middleware or other parent app)
\item \char`\"{}connect\char`\"{}\+: \char`\"{}$>$= 0.\+5.\+0 $<$ 1.\+0.\+0\char`\"{}. Closes \#547
\item Removed the long deprecated {\bfseries{EXPRESS\+\_\+\+ENV}} support
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9748}{}\doxysection{1.\+0.\+7 / 2011-\/02-\/07}\label{md_sfcode_node_modules_express_History_autotoc_md9748}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed {\ttfamily render()} setting inheritance. Mounted apps would not inherit \char`\"{}view engine\char`\"{}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9749}{}\doxysection{1.\+0.\+6 / 2011-\/02-\/07}\label{md_sfcode_node_modules_express_History_autotoc_md9749}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed {\ttfamily view engine} setting bug when period is in dirname
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9750}{}\doxysection{1.\+0.\+5 / 2011-\/02-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9750}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added secret to generated app {\ttfamily session()} call
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9751}{}\doxysection{1.\+0.\+4 / 2011-\/02-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9751}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily qs} dependency to {\itshape package.\+json}
\item Fixed namespaced {\ttfamily require()}s for latest connect support
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9752}{}\doxysection{1.\+0.\+3 / 2011-\/01-\/13}\label{md_sfcode_node_modules_express_History_autotoc_md9752}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Remove unsafe characters from JSONP callback names \mbox{[}Ryan Grove\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9753}{}\doxysection{1.\+0.\+2 / 2011-\/01-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9753}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Removed nested require, using {\ttfamily connect.\+router}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9754}{}\doxysection{1.\+0.\+1 / 2010-\/12-\/29}\label{md_sfcode_node_modules_express_History_autotoc_md9754}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed for middleware stacked via {\ttfamily create\+Server()} previously the {\ttfamily foo} middleware passed to {\ttfamily create\+Server(foo)} would not have access to Express methods such as {\ttfamily res.\+send()} or props like {\ttfamily req.\+query} etc.
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9755}{}\doxysection{1.\+0.\+0 / 2010-\/11-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9755}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added; deduce partial object names from the last segment. For example by default `partial(\textquotesingle{}forum/post', post\+Object)\`{} will give you the {\itshape post} object, providing a meaningful default.
\item Added http status code string representation to {\ttfamily res.\+redirect()} body
\item Added; {\ttfamily res.\+redirect()} supporting {\itshape text/plain} and {\itshape text/html} via {\bfseries{Accept}}.
\item Added {\ttfamily req.\+is()} to aid in content negotiation
\item Added partial local inheritance \mbox{[}suggested by masylum\mbox{]}. Closes \#102 providing access to parent template locals.
\item Added {\itshape -\/s, --session\mbox{[}s\mbox{]}} flag to express(1) to add session related middleware
\item Added {\itshape --template} flag to express(1) to specify the template engine to use.
\item Added {\itshape --css} flag to express(1) to specify the stylesheet engine to use (or just plain css by default).
\item Added {\ttfamily app.\+all()} support \mbox{[}thanks aheckmann\mbox{]}
\item Added partial direct object support. You may now `partial(\textquotesingle{}user', user){\ttfamily providing the \char`\"{}user\char`\"{} local, vs previously}partial(\textquotesingle{}user\textquotesingle{}, \{ object\+: user \})\`{}.
\item Added {\itshape route-\/separation} example since many people question ways to do this with Common\+JS modules. Also view the {\itshape blog} example for an alternative.
\item Performance; caching view path derived partial object names
\item Fixed partial local inheritance precedence. \mbox{[}reported by Nick Poulden\mbox{]} Closes \#454
\item Fixed jsonp support; {\itshape text/javascript} as per mailinglist discussion
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9756}{}\doxysection{1.\+0.\+0rc4 / 2010-\/10-\/14}\label{md_sfcode_node_modules_express_History_autotoc_md9756}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\itshape NODE\+\_\+\+ENV} support, {\itshape EXPRESS\+\_\+\+ENV} is deprecated and will be removed in 1.\+0.\+0
\item Added route-\/middleware support (very helpful, see the \href{http://expressjs.com/guide.html\#Route-Middleware}{\texttt{ docs}})
\item Added {\itshape jsonp callback} setting to enable/disable jsonp autowrapping \mbox{[}Dav Glass\mbox{]}
\item Added callback query check on response.\+send to autowrap JSON objects for simple webservice implementations \mbox{[}Dav Glass\mbox{]}
\item Added {\ttfamily partial()} support for array-\/like collections. Closes \#434
\item Added support for swappable querystring parsers
\item Added session usage docs. Closes \#443
\item Added dynamic helper caching. Closes \#439 \mbox{[}suggested by maritz\mbox{]}
\item Added authentication example
\item Added basic Range support to {\ttfamily res.\+sendfile()} (and {\ttfamily res.\+download()} etc)
\item Changed; {\ttfamily express(1)} generated app using 2 spaces instead of 4
\item Default env to \char`\"{}development\char`\"{} again \mbox{[}aheckmann\mbox{]}
\item Removed {\itshape context} option is no more, use \char`\"{}scope\char`\"{}
\item Fixed; exposing \+\_\+./support\+\_\+ libs to examples so they can run without installs
\item Fixed mvc example
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9757}{}\doxysection{1.\+0.\+0rc3 / 2010-\/09-\/20}\label{md_sfcode_node_modules_express_History_autotoc_md9757}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added confirmation for {\ttfamily express(1)} app generation. Closes \#391
\item Added extending of flash formatters via {\ttfamily app.\+flash\+Formatters}
\item Added flash formatter support. Closes \#411
\item Added streaming support to {\ttfamily res.\+sendfile()} using {\ttfamily sys.\+pump()} when $>$= \char`\"{}stream threshold\char`\"{}
\item Added {\itshape stream threshold} setting for {\ttfamily res.\+sendfile()}
\item Added {\ttfamily res.\+send()} {\bfseries{HEAD}} support
\item Added {\ttfamily res.\+clear\+Cookie()}
\item Added {\ttfamily res.\+cookie()}
\item Added {\ttfamily res.\+render()} headers option
\item Added {\ttfamily res.\+redirect()} response bodies
\item Added {\ttfamily res.\+render()} status option support. Closes \#425 \mbox{[}thanks aheckmann\mbox{]}
\item Fixed {\ttfamily res.\+sendfile()} responding with 403 on malicious path
\item Fixed {\ttfamily res.\+download()} bug; when an error occurs remove {\itshape Content-\/\+Disposition}
\item Fixed; mounted apps settings now inherit from parent app \mbox{[}aheckmann\mbox{]}
\item Fixed; stripping Content-\/\+Length / Content-\/\+Type when 204
\item Fixed {\ttfamily res.\+send()} 204. Closes \#419
\item Fixed multiple {\itshape Set-\/\+Cookie} headers via {\ttfamily res.\+header()}. Closes \#402
\item Fixed bug messing with error handlers when {\ttfamily listen\+FD()} is called instead of {\ttfamily listen()}. \mbox{[}thanks guillermo\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9758}{}\doxysection{1.\+0.\+0rc2 / 2010-\/08-\/17}\label{md_sfcode_node_modules_express_History_autotoc_md9758}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added {\ttfamily app.\+register()} for template engine mapping. Closes \#390
\item Added {\ttfamily res.\+render()} callback support as second argument (no options)
\item Added callback support to {\ttfamily res.\+download()}
\item Added callback support for {\ttfamily res.\+sendfile()}
\item Added support for middleware access via {\ttfamily express.\+middleware\+Name()} vs {\ttfamily connect.\+middleware\+Name()}
\item Added \char`\"{}partials\char`\"{} setting to docs
\item Added default expresso tests to {\ttfamily express(1)} generated app. Closes \#384
\item Fixed {\ttfamily res.\+sendfile()} error handling, defer via {\ttfamily next()}
\item Fixed {\ttfamily res.\+render()} callback when a layout is used \mbox{[}thanks guillermo\mbox{]}
\item Fixed; {\ttfamily make install} creating $\sim$/.node\+\_\+libraries when not present
\item Fixed issue preventing error handlers from being defined anywhere. Closes \#387
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9759}{}\doxysection{1.\+0.\+0rc / 2010-\/07-\/28}\label{md_sfcode_node_modules_express_History_autotoc_md9759}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added mounted hook. Closes \#369
\item Added connect dependency to {\itshape package.\+json}
\item Removed \char`\"{}reload views\char`\"{} setting and support code development env never caches, production always caches.
\item Removed {\itshape param} in route callbacks, signature is now simply (req, res, next), previously (req, res, params, next). Use {\itshape req.\+params} for path captures, {\itshape req.\+query} for GET params.
\item Fixed \char`\"{}home\char`\"{} setting
\item Fixed middleware/router precedence issue. Closes \#366
\item Fixed; {\itshape configure()} callbacks called immediately. Closes \#368
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9760}{}\doxysection{1.\+0.\+0beta2 / 2010-\/07-\/23}\label{md_sfcode_node_modules_express_History_autotoc_md9760}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added more examples
\item Added; exporting {\ttfamily Server} constructor
\item Added {\ttfamily Server\#helpers()} for view locals
\item Added {\ttfamily Server\#dynamic\+Helpers()} for dynamic view locals. Closes \#349
\item Added support for absolute view paths
\item Added; {\itshape home} setting defaults to {\ttfamily Server\#route} for mounted apps. Closes \#363
\item Added Guillermo Rauch to the contributor list
\item Added support for \char`\"{}as\char`\"{} for non-\/collection partials. Closes \#341
\item Fixed {\itshape install.\+sh}, ensuring \+\_\+$\sim$/.node\+\_\+libraries\+\_\+ exists. Closes \#362 \mbox{[}thanks jf\mbox{]}
\item Fixed {\ttfamily res.\+render()} exceptions, now passed to {\ttfamily next()} when no callback is given \mbox{[}thanks guillermo\mbox{]}
\item Fixed instanceof {\ttfamily Array} checks, now {\ttfamily Array.\+is\+Array()}
\item Fixed express(1) expansion of public dirs. Closes \#348
\item Fixed middleware precedence. Closes \#345
\item Fixed view watcher, now async \mbox{[}thanks aheckmann\mbox{]}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9761}{}\doxysection{1.\+0.\+0beta / 2010-\/07-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9761}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Re-\/write
\begin{DoxyItemize}
\item much faster
\item much lighter
\item Check \href{http://expressjs.com}{\texttt{ Express\+JS.\+com}} for migration guide and updated docs
\end{DoxyItemize}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9762}{}\doxysection{0.\+14.\+0 / 2010-\/06-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9762}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Utilize relative requires
\item Added Static buffer\+Size option \mbox{[}aheckmann\mbox{]}
\item Fixed caching of view and partial subdirectories \mbox{[}aheckmann\mbox{]}
\item Fixed mime.\+type() comments now that \char`\"{}.\+ext\char`\"{} is not supported
\item Updated haml submodule
\item Updated class submodule
\item Removed bin/express
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9763}{}\doxysection{0.\+13.\+0 / 2010-\/06-\/01}\label{md_sfcode_node_modules_express_History_autotoc_md9763}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added node v0.\+1.\+97 compatibility
\item Added support for deleting cookies via Request\+::cookie(\textquotesingle{}key\textquotesingle{}, null)
\item Updated haml submodule
\item Fixed not-\/found page, now using using charset utf-\/8
\item Fixed show-\/exceptions page, now using using charset utf-\/8
\item Fixed view support due to fs.\+read\+File Buffers
\item Changed; mime.\+type() no longer accepts \char`\"{}.\+type\char`\"{} due to node extname() changes
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9764}{}\doxysection{0.\+12.\+0 / 2010-\/05-\/22}\label{md_sfcode_node_modules_express_History_autotoc_md9764}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added node v0.\+1.\+96 compatibility
\item Added view {\ttfamily helpers} export which act as additional local variables
\item Updated haml submodule
\item Changed ETag; removed inode, modified time only
\item Fixed LF to CRLF for setting multiple cookies
\item Fixed cookie compilation; values are now urlencoded
\item Fixed cookies parsing; accepts quoted values and url escaped cookies
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9765}{}\doxysection{0.\+11.\+0 / 2010-\/05-\/06}\label{md_sfcode_node_modules_express_History_autotoc_md9765}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added support for layouts using different engines
\begin{DoxyItemize}
\item this.\+render(\textquotesingle{}page.\+html.\+haml\textquotesingle{}, \{ layout\+: \textquotesingle{}super-\/cool-\/layout.\+html.\+ejs\textquotesingle{} \})
\item this.\+render(\textquotesingle{}page.\+html.\+haml\textquotesingle{}, \{ layout\+: \textquotesingle{}foo\textquotesingle{} \}) // assumes \textquotesingle{}foo.\+html.\+haml\textquotesingle{}
\item this.\+render(\textquotesingle{}page.\+html.\+haml\textquotesingle{}, \{ layout\+: false \}) // no layout
\end{DoxyItemize}
\item Updated ext submodule
\item Updated haml submodule
\item Fixed EJS partial support by passing along the context. Issue \#307
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9766}{}\doxysection{0.\+10.\+1 / 2010-\/05-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9766}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed binary uploads.
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9767}{}\doxysection{0.\+10.\+0 / 2010-\/04-\/30}\label{md_sfcode_node_modules_express_History_autotoc_md9767}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added charset support via Request\+::charset (automatically assigned to \textquotesingle{}UTF-\/8\textquotesingle{} when respond()\textquotesingle{}s encoding is set to \textquotesingle{}utf8\textquotesingle{} or \textquotesingle{}utf-\/8\textquotesingle{}.
\item Added \char`\"{}encoding\char`\"{} option to Request\+::render(). Closes \#299
\item Added \char`\"{}dump exceptions\char`\"{} setting, which is enabled by default.
\item Added simple ejs template engine support
\item Added error response support for text/plain, application/json. Closes \#297
\item Added callback function param to Request\+::error()
\item Added Request\+::send\+Head()
\item Added Request\+::stream()
\item Added support for Request\+::respond(304, null) for empty response bodies
\item Added ETag support to Request\+::sendfile()
\item Added options to Request\+::sendfile(), passed to fs.\+create\+Read\+Stream()
\item Added filename arg to Request\+::download()
\item Performance enhanced due to pre-\/reversing plugins so that plugins.\+reverse() is not called on each request
\item Performance enhanced by preventing several calls to to\+Lower\+Case() in Router\+::match()
\item Changed; Request\+::sendfile() now streams
\item Changed; Renamed Request\+::halt() to Request\+::respond(). Closes \#289
\item Changed; Using sys.\+inspect() instead of JSON.\+encode() for error output
\item Changed; run() returns the http.\+Server instance. Closes \#298
\item Changed; Defaulting Server\+::host to null (INADDR\+\_\+\+ANY)
\item Changed; Logger \char`\"{}common\char`\"{} format scale of 0.\+4f
\item Removed Logger \char`\"{}request\char`\"{} format
\item Fixed; Catching ENOENT in view caching, preventing error when \char`\"{}views/partials\char`\"{} is not found
\item Fixed several issues with http client
\item Fixed Logger Content-\/\+Length output
\item Fixed bug preventing Opera from retaining the generated session id. Closes \#292
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9768}{}\doxysection{0.\+9.\+0 / 2010-\/04-\/14}\label{md_sfcode_node_modules_express_History_autotoc_md9768}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added DSL level error() route support
\item Added DSL level not\+Found() route support
\item Added Request\+::error()
\item Added Request\+::not\+Found()
\item Added Request\+::render() callback function. Closes \#258
\item Added \char`\"{}max upload size\char`\"{} setting
\item Added \char`\"{}magic\char`\"{} variables to collection partials (\+\_\+\+\_\+index\+\_\+\+\_\+, \+\_\+\+\_\+length\+\_\+\+\_\+, \+\_\+\+\_\+is\+First\+\_\+\+\_\+, \+\_\+\+\_\+is\+Last\+\_\+\+\_\+). Closes \#254
\item Added \href{http://github.com/visionmedia/haml.js}{\texttt{ haml.\+js}} submodule; removed haml-\/js
\item Added callback function support to Request\+::halt() as 3rd/4th arg
\item Added preprocessing of route param wildcards using param(). Closes \#251
\item Added view partial support (with collections etc)
\item Fixed bug preventing falsey params (such as ?page=0). Closes \#286
\item Fixed setting of multiple cookies. Closes \#199
\item Changed; view naming convention is now NAME.\+TYPE.\+ENGINE (for example page.\+html.\+haml)
\item Changed; session cookie is now http\+Only
\item Changed; Request is no longer global
\item Changed; Event is no longer global
\item Changed; \char`\"{}sys\char`\"{} module is no longer global
\item Changed; moved Request\+::download to Static plugin where it belongs
\item Changed; Request instance created before body parsing. Closes \#262
\item Changed; Pre-\/caching views in memory when \char`\"{}cache view contents\char`\"{} is enabled. Closes \#253
\item Changed; Pre-\/caching view partials in memory when \char`\"{}cache view partials\char`\"{} is enabled
\item Updated support to node --version 0.\+1.\+90
\item Updated dependencies
\item Removed set(\char`\"{}session cookie\char`\"{}) in favour of use(Session, \{ cookie\+: \{ ... \}\})
\item Removed utils.\+mixin(); use Object\+::merge\+Deep()
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9769}{}\doxysection{0.\+8.\+0 / 2010-\/03-\/19}\label{md_sfcode_node_modules_express_History_autotoc_md9769}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added coffeescript example app. Closes \#242
\item Changed; cache api now async friendly. Closes \#240
\item Removed deprecated \textquotesingle{}express/static\textquotesingle{} support. Use \textquotesingle{}express/plugins/static\textquotesingle{}
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9770}{}\doxysection{0.\+7.\+6 / 2010-\/03-\/19}\label{md_sfcode_node_modules_express_History_autotoc_md9770}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added Request\+::is\+XHR. Closes \#229
\item Added {\ttfamily make install} (for the executable)
\item Added {\ttfamily express} executable for setting up simple app templates
\item Added \char`\"{}\+GET /public/$\ast$\char`\"{} to Static plugin, defaulting to $<$root$>$/public
\item Added Static plugin
\item Fixed; Request\+::render() only calls cache.\+get() once
\item Fixed; Namespacing View caches with \char`\"{}view\+:\char`\"{}
\item Fixed; Namespacing Static caches with \char`\"{}static\+:\char`\"{}
\item Fixed; Both example apps now use the Static plugin
\item Fixed set(\char`\"{}views\char`\"{}). Closes \#239
\item Fixed missing space for combined log format
\item Deprecated Request\+::sendfile() and \textquotesingle{}express/static\textquotesingle{}
\item Removed Server\+::running
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9771}{}\doxysection{0.\+7.\+5 / 2010-\/03-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9771}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added Request\+::flash() support without args, now returns all flashes
\item Updated ext submodule
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9772}{}\doxysection{0.\+7.\+4 / 2010-\/03-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9772}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed session reaper
\item Changed; class.\+js replacing js-\/oo Class implementation (quite a bit faster, no browser cruft)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9773}{}\doxysection{0.\+7.\+3 / 2010-\/03-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9773}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added package.\+json
\item Fixed requiring of haml / sass due to kiwi removal
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9774}{}\doxysection{0.\+7.\+2 / 2010-\/03-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9774}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Fixed GIT submodules (HAH!)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9775}{}\doxysection{0.\+7.\+1 / 2010-\/03-\/16}\label{md_sfcode_node_modules_express_History_autotoc_md9775}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Changed; Express now using submodules again until a PM is adopted
\item Changed; chat example using millisecond conversions from ext
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9776}{}\doxysection{0.\+7.\+0 / 2010-\/03-\/15}\label{md_sfcode_node_modules_express_History_autotoc_md9776}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added Request\+::pass() support (finds the next matching route, or the given path)
\item Added Logger plugin (default \char`\"{}common\char`\"{} format replaces Common\+Logger)
\item Removed Profiler plugin
\item Removed Common\+Logger plugin
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9777}{}\doxysection{0.\+6.\+0 / 2010-\/03-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9777}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added seed.\+yml for kiwi package management support
\item Added HTTP client query string support when method is GET. Closes \#205
\item Added support for arbitrary view engines. For example \char`\"{}foo.\+engine.\+html\char`\"{} will now require(\textquotesingle{}engine\textquotesingle{}), the exports from this module are cached after the first require().
\item Added async plugin support
\item Removed usage of RESTful route funcs as http client get() etc, use http.\+get() and friends
\item Removed custom exceptions
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9778}{}\doxysection{0.\+5.\+0 / 2010-\/03-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9778}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added ext dependency (library of js extensions)
\item Removed extname() / basename() utils. Use path module
\item Removed to\+Array() util. Use arguments.\+values
\item Removed escape\+Regexp() util. Use Reg\+Exp.\+escape()
\item Removed process.\+mixin() dependency. Use utils.\+mixin()
\item Removed Collection
\item Removed Element\+Collection
\item Shameless self promotion of ebook \char`\"{}\+Advanced Java\+Script\char`\"{} (\href{http://dev-mag.com}{\texttt{ http\+://dev-\/mag.\+com}}) ;)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9779}{}\doxysection{0.\+4.\+0 / 2010-\/02-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9779}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added flash() example to sample upload app
\item Added high level restful http client module (express/http)
\item Changed; RESTful route functions double as HTTP clients. Closes \#69
\item Changed; throwing error when routes are added at runtime
\item Changed; defaulting render() context to the current Request. Closes \#197
\item Updated haml submodule
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9780}{}\doxysection{0.\+3.\+0 / 2010-\/02-\/11}\label{md_sfcode_node_modules_express_History_autotoc_md9780}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Updated haml / sass submodules. Closes \#200
\item Added flash message support. Closes \#64
\item Added accepts() now allows multiple args. fixes \#117
\item Added support for plugins to halt. Closes \#189
\item Added alternate layout support. Closes \#119
\item Removed Route\+::run(). Closes \#188
\item Fixed broken specs due to use(\+Cookie) missing
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9781}{}\doxysection{0.\+2.\+1 / 2010-\/02-\/05}\label{md_sfcode_node_modules_express_History_autotoc_md9781}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added \char`\"{}plot\char`\"{} format option for Profiler (for gnuplot processing)
\item Added request number to Profiler plugin
\item Fixed binary encoding for multipart file uploads, was previously defaulting to UTF8
\item Fixed issue with routes not firing when not files are present. Closes \#184
\item Fixed process.\+Promise -\/$>$ events.\+Promise
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9782}{}\doxysection{0.\+2.\+0 / 2010-\/02-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9782}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added parse\+Param() support for name\mbox{[}\mbox{]} etc. (allows for file inputs with \char`\"{}multiple\char`\"{} attr) Closes \#180
\item Added Both Cache and Session option \char`\"{}reap\+Interval\char`\"{} may be \char`\"{}reap\+Every\char`\"{}. Closes \#174
\item Added expiration support to cache api with reaper. Closes \#133
\item Added cache Store.\+Memory\+::reap()
\item Added Cache; cache api now uses first class Cache instances
\item Added abstract session Store. Closes \#172
\item Changed; cache Memory.\+Store\+::get() utilizing Collection
\item Renamed Memory\+Store -\/$>$ Store.\+Memory
\item Fixed use() of the same plugin several time will always use latest options. Closes \#176
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9783}{}\doxysection{0.\+1.\+0 / 2010-\/02-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9783}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Changed; Hooks (before / after) pass request as arg as well as evaluated in their context
\item Updated node support to 0.\+1.\+27 Closes \#169
\item Updated dirname(\+\_\+\+\_\+filename) -\/$>$ \+\_\+\+\_\+dirname
\item Updated libxmljs support to v0.\+2.\+0
\item Added session support with memory store / reaping
\item Added quick uid() helper
\item Added multi-\/part upload support
\item Added Sass.\+js support / submodule
\item Added production env caching view contents and static files
\item Added static file caching. Closes \#136
\item Added cache plugin with memory stores
\item Added support to Static\+File so that it works with non-\/textual files.
\item Removed dirname() helper
\item Removed several globals (now their modules must be required)
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9784}{}\doxysection{0.\+0.\+2 / 2010-\/01-\/10}\label{md_sfcode_node_modules_express_History_autotoc_md9784}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Added view benchmarks; currently haml vs ejs
\item Added Request\+::attachment() specs. Closes \#116
\item Added use of node\textquotesingle{}s parse\+Query() util. Closes \#123
\item Added {\ttfamily make init} for submodules
\item Updated Haml
\item Updated sample chat app to show messages on load
\item Updated libxmljs parse\+String -\/$>$ parse\+Html\+String
\item Fixed {\ttfamily make init} to work with older versions of git
\item Fixed specs can now run independent specs for those who can\textquotesingle{}t build deps. Closes \#127
\item Fixed issues introduced by the node url module changes. Closes 126.
\item Fixed two assertions failing due to Collection\+::keys() returning strings
\item Fixed faulty Collection\+::to\+Array() spec due to keys() returning strings
\item Fixed {\ttfamily make test} now builds libxmljs.\+node before testing
\end{DoxyItemize}}

{\ttfamily }\hypertarget{md_sfcode_node_modules_express_History_autotoc_md9785}{}\doxysection{0.\+0.\+1 / 2010-\/01-\/03}\label{md_sfcode_node_modules_express_History_autotoc_md9785}
{\ttfamily }

{\ttfamily 
\begin{DoxyItemize}
\item Initial release 
\end{DoxyItemize}}