
\begin{DoxyItemize}
\item Add support for promisified {\ttfamily fs.\+realpath.\+native} in Node v9.\+2+ (\href{https://github.com/jprichardson/node-fs-extra/issues/650}{\texttt{ \#650}}, \href{https://github.com/jprichardson/node-fs-extra/pull/682}{\texttt{ \#682}})
\item Update {\ttfamily graceful-\/fs} dependency (\href{https://github.com/jprichardson/node-fs-extra/pull/700}{\texttt{ \#700}})
\item Use {\ttfamily graceful-\/fs} everywhere (\href{https://github.com/jprichardson/node-fs-extra/pull/700}{\texttt{ \#700}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28949}{}\doxysection{8.\+0.\+1 / 2019-\/05-\/13}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28949}

\begin{DoxyItemize}
\item Fix bug {\ttfamily Maximum call stack size exceeded} error in {\ttfamily util/stat} (\href{https://github.com/jprichardson/node-fs-extra/pull/679}{\texttt{ \#679}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28950}{}\doxysection{8.\+0.\+0 / 2019-\/05-\/11}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28950}
{\bfseries{NOTE\+:}} Node.\+js v6 support is deprecated, and will be dropped in the next major release.


\begin{DoxyItemize}
\item Use {\ttfamily rename\+Sync()} under the hood in {\ttfamily move\+Sync()}
\item Fix bug with bind-\/mounted directories in {\ttfamily copy$\ast$()} (\href{https://github.com/jprichardson/node-fs-extra/issues/613}{\texttt{ \#613}}, \href{https://github.com/jprichardson/node-fs-extra/pull/618}{\texttt{ \#618}})
\item Fix bug in {\ttfamily move()} with case-\/insensitive file systems
\item Use {\ttfamily fs.\+stat()}\textquotesingle{}s {\ttfamily bigint} option in {\ttfamily copy$\ast$()} \& {\ttfamily move$\ast$()} where possible (\href{https://github.com/jprichardson/node-fs-extra/issues/657}{\texttt{ \#657}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28951}{}\doxysection{7.\+0.\+1 / 2018-\/11-\/07}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28951}

\begin{DoxyItemize}
\item Fix {\ttfamily remove\+Sync()} on Windows, in some cases, it would error out with {\ttfamily ENOTEMPTY} (\href{https://github.com/jprichardson/node-fs-extra/pull/646}{\texttt{ \#646}})
\item Document {\ttfamily mode} option for {\ttfamily ensure\+Dir$\ast$()} (\href{https://github.com/jprichardson/node-fs-extra/pull/587}{\texttt{ \#587}})
\item Don\textquotesingle{}t include documentation files in npm package tarball (\href{https://github.com/jprichardson/node-fs-extra/issues/642}{\texttt{ \#642}}, \href{https://github.com/jprichardson/node-fs-extra/pull/643}{\texttt{ \#643}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28952}{}\doxysection{7.\+0.\+0 / 2018-\/07-\/16}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28952}

\begin{DoxyItemize}
\item {\bfseries{BREAKING\+:}} Refine {\ttfamily copy$\ast$()} handling of symlinks to properly detect symlinks that point to the same file. (\href{https://github.com/jprichardson/node-fs-extra/pull/582}{\texttt{ \#582}})
\item Fix bug with copying write-\/protected directories (\href{https://github.com/jprichardson/node-fs-extra/pull/600}{\texttt{ \#600}})
\item Universalify {\ttfamily fs.\+lchmod()} (\href{https://github.com/jprichardson/node-fs-extra/pull/596}{\texttt{ \#596}})
\item Add {\ttfamily engines} field to {\ttfamily package.\+json} (\href{https://github.com/jprichardson/node-fs-extra/pull/580}{\texttt{ \#580}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28953}{}\doxysection{6.\+0.\+1 / 2018-\/05-\/09}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28953}

\begin{DoxyItemize}
\item Fix {\ttfamily fs.\+promises} {\ttfamily Experimental\+Warning} on Node v10.\+1.\+0 (\href{https://github.com/jprichardson/node-fs-extra/pull/578}{\texttt{ \#578}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28954}{}\doxysection{6.\+0.\+0 / 2018-\/05-\/01}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28954}

\begin{DoxyItemize}
\item Drop support for Node.\+js versions 4, 5, \& 7 (\href{https://github.com/jprichardson/node-fs-extra/pull/564}{\texttt{ \#564}})
\item Rewrite {\ttfamily move} to use {\ttfamily fs.\+rename} where possible (\href{https://github.com/jprichardson/node-fs-extra/pull/549}{\texttt{ \#549}})
\item Don\textquotesingle{}t convert relative paths to absolute paths for {\ttfamily filter} (\href{https://github.com/jprichardson/node-fs-extra/pull/554}{\texttt{ \#554}})
\item {\ttfamily copy$\ast$}\textquotesingle{}s behavior when {\ttfamily preserve\+Timestamps} is {\ttfamily false} has been OS-\/dependent since 5.\+0.\+0, but that\textquotesingle{}s now explicitly noted in the docs (\href{https://github.com/jprichardson/node-fs-extra/pull/563}{\texttt{ \#563}})
\item Fix subdirectory detection for {\ttfamily copy$\ast$} \& {\ttfamily move$\ast$} (\href{https://github.com/jprichardson/node-fs-extra/pull/541}{\texttt{ \#541}})
\item Handle case-\/insensitive paths correctly in {\ttfamily copy$\ast$} (\href{https://github.com/jprichardson/node-fs-extra/pull/568}{\texttt{ \#568}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28955}{}\doxysection{5.\+0.\+0 / 2017-\/12-\/11}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28955}
Significant refactor of {\ttfamily copy()} \& {\ttfamily copy\+Sync()}, including breaking changes. No changes to other functions in this release.

Huge thanks to {\bfseries{\href{https://github.com/manidlou}{\texttt{ @manidlou}}}} for doing most of the work on this release.


\begin{DoxyItemize}
\item The {\ttfamily filter} option can no longer be a Reg\+Exp (must be a function). This was deprecated since fs-\/extra v1.\+0.\+0. \href{https://github.com/jprichardson/node-fs-extra/pull/512}{\texttt{ \#512}}
\item {\ttfamily copy()}\textquotesingle{}s {\ttfamily filter} option can now be a function that returns a Promise. \href{https://github.com/jprichardson/node-fs-extra/pull/518}{\texttt{ \#518}}
\item {\ttfamily copy()} \& {\ttfamily copy\+Sync()} now use {\ttfamily fs.\+copy\+File()}/{\ttfamily fs.\+copy\+File\+Sync()} in environments that support it (currently Node 8.\+5.\+0+). Older Node versions still get the old implementation. \href{https://github.com/jprichardson/node-fs-extra/pull/505}{\texttt{ \#505}}
\item Don\textquotesingle{}t allow copying a directory into itself. \href{https://github.com/jprichardson/node-fs-extra/issues/83}{\texttt{ \#83}}
\item Handle copying between identical files. \href{https://github.com/jprichardson/node-fs-extra/issues/198}{\texttt{ \#198}}
\item Error out when copying an empty folder to a path that already exists. \href{https://github.com/jprichardson/node-fs-extra/issues/464}{\texttt{ \#464}}
\item Don\textquotesingle{}t create {\ttfamily dest}\textquotesingle{}s parent if the {\ttfamily filter} function aborts the {\ttfamily copy()} operation. \href{https://github.com/jprichardson/node-fs-extra/pull/517}{\texttt{ \#517}}
\item Fix {\ttfamily write\+Stream} not being closed if there was an error in {\ttfamily copy()}. \href{https://github.com/jprichardson/node-fs-extra/pull/516}{\texttt{ \#516}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28956}{}\doxysection{4.\+0.\+3 / 2017-\/12-\/05}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28956}

\begin{DoxyItemize}
\item Fix wrong {\ttfamily chmod} values in {\ttfamily fs.\+remove()} \href{https://github.com/jprichardson/node-fs-extra/pull/501}{\texttt{ \#501}}
\item Fix {\ttfamily Type\+Error} on systems that don\textquotesingle{}t have some {\ttfamily fs} operations like {\ttfamily lchown} \href{https://github.com/jprichardson/node-fs-extra/pull/520}{\texttt{ \#520}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28957}{}\doxysection{4.\+0.\+2 / 2017-\/09-\/12}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28957}

\begin{DoxyItemize}
\item Added {\ttfamily EOL} option to {\ttfamily write\+Json$\ast$} \& {\ttfamily output\+Json$\ast$} (via upgrade to jsonfile v4)
\item Added promise support to \href{https://nodejs.org/api/fs.html\#fs_fs_copyfile_src_dest_flags_callback}{\texttt{ {\ttfamily fs.\+copy\+File()}}} in Node 8.\+5+
\item Added {\ttfamily .js} extension to {\ttfamily main} field in {\ttfamily package.\+json} for better tooling compatibility. \href{https://github.com/jprichardson/node-fs-extra/pull/485}{\texttt{ \#485}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28958}{}\doxysection{4.\+0.\+1 / 2017-\/07-\/31}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28958}
\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28959}{}\doxysubsection{Fixed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28959}

\begin{DoxyItemize}
\item Previously, {\ttfamily ensure\+File()} \& {\ttfamily ensure\+File\+Sync()} would do nothing if the path was a directory. Now, they error out for consistency with {\ttfamily ensure\+Dir()}. \href{https://github.com/jprichardson/node-fs-extra/issues/465}{\texttt{ \#465}}, \href{https://github.com/jprichardson/node-fs-extra/pull/466}{\texttt{ \#466}}, \href{https://github.com/jprichardson/node-fs-extra/issues/470}{\texttt{ \#470}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28960}{}\doxysection{4.\+0.\+0 / 2017-\/07-\/14}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28960}
\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28961}{}\doxysubsection{Changed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28961}

\begin{DoxyItemize}
\item {\bfseries{BREAKING\+:}} The promisified versions of {\ttfamily fs.\+read()} \& {\ttfamily fs.\+write()} now return objects. See the docs for details. \href{https://github.com/jprichardson/node-fs-extra/issues/436}{\texttt{ \#436}}, \href{https://github.com/jprichardson/node-fs-extra/pull/449}{\texttt{ \#449}}
\item {\ttfamily fs.\+move()} now errors out when destination is a subdirectory of source. \href{https://github.com/jprichardson/node-fs-extra/pull/458}{\texttt{ \#458}}
\item Applied upstream fixes from {\ttfamily rimraf} to {\ttfamily fs.\+remove()} \& {\ttfamily fs.\+remove\+Sync()}. \href{https://github.com/jprichardson/node-fs-extra/pull/459}{\texttt{ \#459}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28962}{}\doxysubsection{Fixed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28962}

\begin{DoxyItemize}
\item Got {\ttfamily fs.\+output\+JSONSync()} working again; it was broken due to refactoring. \href{https://github.com/jprichardson/node-fs-extra/pull/428}{\texttt{ \#428}}
\end{DoxyItemize}

Also clarified the docs in a few places.\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28963}{}\doxysection{3.\+0.\+1 / 2017-\/05-\/04}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28963}

\begin{DoxyItemize}
\item Fix bug in {\ttfamily move()} \& {\ttfamily move\+Sync()} when source and destination are the same, and source does not exist. \href{https://github.com/jprichardson/node-fs-extra/pull/415}{\texttt{ \#415}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28964}{}\doxysection{3.\+0.\+0 / 2017-\/04-\/27}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28964}
\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28965}{}\doxysubsection{Added}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28965}

\begin{DoxyItemize}
\item {\bfseries{BREAKING\+:}} Added Promise support. All asynchronous native fs methods and fs-\/extra methods now return a promise if the callback is not passed. \href{https://github.com/jprichardson/node-fs-extra/pull/403}{\texttt{ \#403}}
\item {\ttfamily path\+Exists()}, a replacement for the deprecated {\ttfamily fs.\+exists}. {\ttfamily path\+Exists} has a normal error-\/first callback signature. Also added {\ttfamily path\+Exists\+Sync}, an alias to {\ttfamily fs.\+exists\+Sync}, for completeness. \href{https://github.com/jprichardson/node-fs-extra/pull/406}{\texttt{ \#406}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28966}{}\doxysubsection{Removed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28966}

\begin{DoxyItemize}
\item {\bfseries{BREAKING\+:}} Removed support for setting the default spaces for {\ttfamily write\+Json()}, {\ttfamily write\+Json\+Sync()}, {\ttfamily output\+Json()}, \& {\ttfamily output\+Json\+Sync()}. This was undocumented. \href{https://github.com/jprichardson/node-fs-extra/pull/402}{\texttt{ \#402}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28967}{}\doxysubsection{Changed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28967}

\begin{DoxyItemize}
\item Upgraded jsonfile dependency to v3.\+0.\+0\+:
\begin{DoxyItemize}
\item {\bfseries{BREAKING\+:}} Changed behavior of {\ttfamily throws} option for {\ttfamily read\+Json\+Sync()}; now does not throw filesystem errors when {\ttfamily throws} is {\ttfamily false}.
\end{DoxyItemize}
\item {\bfseries{BREAKING\+:}} {\ttfamily write\+Json()}, {\ttfamily write\+Json\+Sync()}, {\ttfamily output\+Json()}, \& {\ttfamily output\+Json\+Sync()} now output minified JSON by default for consistency with {\ttfamily JSON.\+stringify()}; set the {\ttfamily spaces} option to {\ttfamily 2} to override this new behavior. \href{https://github.com/jprichardson/node-fs-extra/pull/402}{\texttt{ \#402}}
\item Use {\ttfamily Buffer.\+alloc\+Unsafe()} instead of {\ttfamily new Buffer()} in environments that support it. \href{https://github.com/jprichardson/node-fs-extra/pull/394}{\texttt{ \#394}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28968}{}\doxysubsection{Fixed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28968}

\begin{DoxyItemize}
\item {\ttfamily remove\+Sync()} silently failed on Windows in some cases. Now throws an {\ttfamily EBUSY} error. \href{https://github.com/jprichardson/node-fs-extra/pull/408}{\texttt{ \#408}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28969}{}\doxysection{2.\+1.\+2 / 2017-\/03-\/16}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28969}
\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28970}{}\doxysubsection{Fixed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28970}

\begin{DoxyItemize}
\item Weird windows bug that resulted in {\ttfamily ensure\+Dir()}\textquotesingle{}s callback being called twice in some cases. This bug may have also affected {\ttfamily remove()}. See \href{https://github.com/jprichardson/node-fs-extra/issues/392}{\texttt{ \#392}}, \href{https://github.com/jprichardson/node-fs-extra/pull/393}{\texttt{ \#393}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28971}{}\doxysection{2.\+1.\+1 / 2017-\/03-\/15}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28971}
\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28972}{}\doxysubsection{Fixed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28972}

\begin{DoxyItemize}
\item Reverted \href{https://github.com/jprichardson/node-fs-extra/commit/5597bd5b67f7d060f5f5bf26e9635be48330f5d7}{\texttt{ {\ttfamily 5597bd}}}, this broke compatibility with Node.\+js versions v4+ but less than {\ttfamily v4.\+5.\+0}.
\item Remove {\ttfamily Buffer.\+alloc()} usage in {\ttfamily move\+Sync()}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28973}{}\doxysection{2.\+1.\+0 / 2017-\/03-\/15}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28973}
Thanks to \href{https://github.com/manidlou}{\texttt{ Mani Maghsoudlou (@manidlou)}} \& \href{https://github.com/JPeer264}{\texttt{ Jan Peer Stöcklmair (@\+JPeer264)}} for their extraordinary help with this release!\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28974}{}\doxysubsection{Added}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28974}

\begin{DoxyItemize}
\item {\ttfamily move\+Sync()} See \href{https://github.com/jprichardson/node-fs-extra/issues/309}{\texttt{ \#309}}, \href{https://github.com/jprichardson/node-fs-extra/pull/381}{\texttt{ \#381}}. (\href{https://github.com/manidlou}{\texttt{ @manidlou}})
\item {\ttfamily copy()} and {\ttfamily copy\+Sync()}\textquotesingle{}s {\ttfamily filter} option now gets the destination path passed as the second parameter. \href{https://github.com/jprichardson/node-fs-extra/pull/366}{\texttt{ \#366}} (\href{https://github.com/manidlou}{\texttt{ @manidlou}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28975}{}\doxysubsection{Changed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28975}

\begin{DoxyItemize}
\item Use {\ttfamily Buffer.\+alloc()} instead of deprecated {\ttfamily new Buffer()} in {\ttfamily copy\+Sync()}. \href{https://github.com/jprichardson/node-fs-extra/pull/380}{\texttt{ \#380}} (\href{https://github.com/manidlou}{\texttt{ @manidlou}})
\item Refactored entire codebase to use ES6 features supported by Node.\+js v4+ \href{https://github.com/jprichardson/node-fs-extra/issues/355}{\texttt{ \#355}}. \href{https://github.com/JPeer264}{\texttt{ (@\+JPeer264)}}
\item Refactored docs. (\href{https://github.com/manidlou}{\texttt{ @manidlou}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28976}{}\doxysubsection{Fixed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28976}

\begin{DoxyItemize}
\item {\ttfamily move()} shouldn\textquotesingle{}t error out when source and dest are the same. \href{https://github.com/jprichardson/node-fs-extra/issues/377}{\texttt{ \#377}}, \href{https://github.com/jprichardson/node-fs-extra/pull/378}{\texttt{ \#378}} (\href{https://github.com/jdalton}{\texttt{ @jdalton}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28977}{}\doxysection{2.\+0.\+0 / 2017-\/01-\/16}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28977}
\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28978}{}\doxysubsection{Removed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28978}

\begin{DoxyItemize}
\item {\bfseries{BREAKING\+:}} Removed support for Node {\ttfamily v0.\+12}. The Node foundation stopped officially supporting it on Jan 1st, 2017.
\item {\bfseries{BREAKING\+:}} Remove {\ttfamily walk()} and {\ttfamily walk\+Sync()}. {\ttfamily walk\+Sync()} was only part of {\ttfamily fs-\/extra} for a little over two months. Use \href{https://github.com/jprichardson/node-klaw}{\texttt{ klaw}} instead of {\ttfamily walk()}, in fact, {\ttfamily walk()} was just an alias to klaw. For {\ttfamily walk\+Sync()} use \href{https://github.com/mawni/node-klaw-sync}{\texttt{ klaw-\/sync}}. See\+: \href{https://github.com/jprichardson/node-fs-extra/issues/338}{\texttt{ \#338}}, \href{https://github.com/jprichardson/node-fs-extra/pull/339}{\texttt{ \#339}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28979}{}\doxysubsection{Changed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28979}

\begin{DoxyItemize}
\item {\bfseries{BREAKING\+:}} Renamed {\ttfamily clobber} to {\ttfamily overwrite}. This affects {\ttfamily copy()}, {\ttfamily copy\+Sync()}, and {\ttfamily move()}. \href{https://github.com/jprichardson/node-fs-extra/pull/330}{\texttt{ \#330}}, \href{https://github.com/jprichardson/node-fs-extra/pull/333}{\texttt{ \#333}}
\item Moved docs, to {\ttfamily docs/}. \href{https://github.com/jprichardson/node-fs-extra/pull/340}{\texttt{ \#340}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28980}{}\doxysubsection{Fixed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28980}

\begin{DoxyItemize}
\item Apply filters to directories in {\ttfamily copy\+Sync()} like in {\ttfamily copy()}. \href{https://github.com/jprichardson/node-fs-extra/pull/324}{\texttt{ \#324}}
\item A specific condition when disk is under heavy use, {\ttfamily copy()} can fail. \href{https://github.com/jprichardson/node-fs-extra/issues/326}{\texttt{ \#326}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28981}{}\doxysection{1.\+0.\+0 / 2016-\/11-\/01}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28981}
After five years of development, we finally have reach the 1.\+0.\+0 milestone! Big thanks goes to \href{https://github.com/RyanZim}{\texttt{ Ryan Zim}} for leading the charge on this release!\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28982}{}\doxysubsection{Added}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28982}

\begin{DoxyItemize}
\item {\ttfamily walk\+Sync()}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28983}{}\doxysubsection{Changed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28983}

\begin{DoxyItemize}
\item {\bfseries{BREAKING}}\+: dropped Node v0.\+10 support.
\item disabled {\ttfamily rimaf} globbing, wasn\textquotesingle{}t used. \href{https://github.com/jprichardson/node-fs-extra/pull/280}{\texttt{ \#280}}
\item deprecate {\ttfamily copy()/copy\+Sync()} option {\ttfamily filter} if it\textquotesingle{}s a {\ttfamily Reg\+Exp}. {\ttfamily filter} should now be a function.
\item inline {\ttfamily rimraf}. This is temporary and was done because {\ttfamily rimraf} depended upon the beefy {\ttfamily glob} which {\ttfamily fs-\/extra} does not use. \href{https://github.com/jprichardson/node-fs-extra/pull/300}{\texttt{ \#300}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28984}{}\doxysubsection{Fixed}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28984}

\begin{DoxyItemize}
\item bug fix proper closing of file handle on {\ttfamily utimes\+Millis()} \href{https://github.com/jprichardson/node-fs-extra/issues/271}{\texttt{ \#271}}
\item proper escaping of files with dollar signs \href{https://github.com/jprichardson/node-fs-extra/pull/291}{\texttt{ \#291}}
\item {\ttfamily copy\+Sync()} failed if user didn\textquotesingle{}t own file. \href{https://github.com/jprichardson/node-fs-extra/issues/199}{\texttt{ \#199}}, \href{https://github.com/jprichardson/node-fs-extra/pull/301}{\texttt{ \#301}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28985}{}\doxysection{0.\+30.\+0 / 2016-\/04-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28985}

\begin{DoxyItemize}
\item Brought back Node v0.\+10 support. I didn\textquotesingle{}t realize there was still demand. Official support will end {\bfseries{2016-\/10-\/01}}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28986}{}\doxysection{0.\+29.\+0 / 2016-\/04-\/27}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28986}

\begin{DoxyItemize}
\item {\bfseries{BREAKING}}\+: removed support for Node v0.\+10. If you still want to use Node v0.\+10, everything should work except for {\ttfamily ensure\+Link()/ensure\+Symlink()}. Node v0.\+12 is still supported but will be dropped in the near future as well.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28987}{}\doxysection{0.\+28.\+0 / 2016-\/04-\/17}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28987}

\begin{DoxyItemize}
\item {\bfseries{BREAKING}}\+: removed {\ttfamily create\+Output\+Stream()}. Use \href{https://www.npmjs.com/package/create-output-stream}{\texttt{ https\+://www.\+npmjs.\+com/package/create-\/output-\/stream}}. See\+: \href{https://github.com/jprichardson/node-fs-extra/issues/192}{\texttt{ \#192}}
\item {\ttfamily mkdirs()/mkdirs\+Sync()} check for invalid win32 path chars. See\+: \href{https://github.com/jprichardson/node-fs-extra/issues/209}{\texttt{ \#209}}, \href{https://github.com/jprichardson/node-fs-extra/issues/237}{\texttt{ \#237}}
\item {\ttfamily mkdirs()/mkdirs\+Sync()} if drive not mounted, error. See\+: \href{https://github.com/jprichardson/node-fs-extra/issues/93}{\texttt{ \#93}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28988}{}\doxysection{0.\+27.\+0 / 2016-\/04-\/15}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28988}

\begin{DoxyItemize}
\item add {\ttfamily dereference} option to {\ttfamily copy\+Sync()}. \href{https://github.com/jprichardson/node-fs-extra/pull/235}{\texttt{ \#235}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28989}{}\doxysection{0.\+26.\+7 / 2016-\/03-\/16}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28989}

\begin{DoxyItemize}
\item fixed {\ttfamily copy()} if source and dest are the same. \href{https://github.com/jprichardson/node-fs-extra/pull/230}{\texttt{ \#230}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28990}{}\doxysection{0.\+26.\+6 / 2016-\/03-\/15}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28990}

\begin{DoxyItemize}
\item fixed if {\ttfamily empty\+Dir()} does not have a callback\+: \href{https://github.com/jprichardson/node-fs-extra/pull/229}{\texttt{ \#229}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28991}{}\doxysection{0.\+26.\+5 / 2016-\/01-\/27}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28991}

\begin{DoxyItemize}
\item {\ttfamily copy()} with two arguments (w/o callback) was broken. See\+: \href{https://github.com/jprichardson/node-fs-extra/pull/215}{\texttt{ \#215}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28992}{}\doxysection{0.\+26.\+4 / 2016-\/01-\/05}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28992}

\begin{DoxyItemize}
\item {\ttfamily copy\+Sync()} made {\ttfamily preserve\+Timestamps} default consistent with {\ttfamily copy()} which is {\ttfamily false}. See\+: \href{https://github.com/jprichardson/node-fs-extra/pull/208}{\texttt{ \#208}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28993}{}\doxysection{0.\+26.\+3 / 2015-\/12-\/17}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28993}

\begin{DoxyItemize}
\item fixed {\ttfamily copy()} hangup in copying block\+Device / character\+Device / {\ttfamily /dev/null}. See\+: \href{https://github.com/jprichardson/node-fs-extra/issues/193}{\texttt{ \#193}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28994}{}\doxysection{0.\+26.\+2 / 2015-\/11-\/02}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28994}

\begin{DoxyItemize}
\item fixed {\ttfamily output\+Json\{Sync\}()} spacing adherence to {\ttfamily fs.\+spaces}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28995}{}\doxysection{0.\+26.\+1 / 2015-\/11-\/02}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28995}

\begin{DoxyItemize}
\item fixed {\ttfamily copy\+Sync()} when {\ttfamily clogger=true} and the destination is read only. See\+: \href{https://github.com/jprichardson/node-fs-extra/pull/190}{\texttt{ \#190}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28996}{}\doxysection{0.\+26.\+0 / 2015-\/10-\/25}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28996}

\begin{DoxyItemize}
\item extracted the {\ttfamily walk()} function into its own module \href{https://github.com/jprichardson/node-klaw}{\texttt{ {\ttfamily klaw}}}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28997}{}\doxysection{0.\+25.\+0 / 2015-\/10-\/24}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28997}

\begin{DoxyItemize}
\item now has a file walker {\ttfamily walk()}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28998}{}\doxysection{0.\+24.\+0 / 2015-\/08-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28998}

\begin{DoxyItemize}
\item removed alias {\ttfamily delete()} and {\ttfamily delete\+Sync()}. See\+: \href{https://github.com/jprichardson/node-fs-extra/issues/171}{\texttt{ \#171}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28999}{}\doxysection{0.\+23.\+1 / 2015-\/08-\/07}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md28999}

\begin{DoxyItemize}
\item Better handling of errors for {\ttfamily move()} when moving across devices. \href{https://github.com/jprichardson/node-fs-extra/pull/170}{\texttt{ \#170}}
\item {\ttfamily ensure\+Symlink()} and {\ttfamily ensure\+Link()} should not throw errors if link exists. \href{https://github.com/jprichardson/node-fs-extra/pull/169}{\texttt{ \#169}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29000}{}\doxysection{0.\+23.\+0 / 2015-\/08-\/06}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29000}

\begin{DoxyItemize}
\item added {\ttfamily ensure\+Link\{Sync\}()} and {\ttfamily ensure\+Symlink\{Sync\}()}. See\+: \href{https://github.com/jprichardson/node-fs-extra/pull/165}{\texttt{ \#165}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29001}{}\doxysection{0.\+22.\+1 / 2015-\/07-\/09}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29001}

\begin{DoxyItemize}
\item Prevent calling {\ttfamily has\+Millis\+Res\+Sync()} on module load. See\+: \href{https://github.com/jprichardson/node-fs-extra/issues/149}{\texttt{ \#149}}. Fixes regression that was introduced in {\ttfamily 0.\+21.\+0}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29002}{}\doxysection{0.\+22.\+0 / 2015-\/07-\/09}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29002}

\begin{DoxyItemize}
\item preserve permissions / ownership in {\ttfamily copy()}. See\+: \href{https://github.com/jprichardson/node-fs-extra/issues/54}{\texttt{ \#54}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29003}{}\doxysection{0.\+21.\+0 / 2015-\/07-\/04}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29003}

\begin{DoxyItemize}
\item add option to preserve timestamps in {\ttfamily copy()} and {\ttfamily copy\+Sync()}. See\+: \href{https://github.com/jprichardson/node-fs-extra/pull/141}{\texttt{ \#141}}
\item updated {\ttfamily graceful-\/fs@3.\+x} to {\ttfamily 4.\+x}. This brings in features from {\ttfamily amazing-\/graceful-\/fs} (much cleaner code / less hacks)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29004}{}\doxysection{0.\+20.\+1 / 2015-\/06-\/23}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29004}

\begin{DoxyItemize}
\item fixed regression caused by latest jsonfile update\+: See\+: \href{https://github.com/jprichardson/node-jsonfile/issues/26}{\texttt{ https\+://github.\+com/jprichardson/node-\/jsonfile/issues/26}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29005}{}\doxysection{0.\+20.\+0 / 2015-\/06-\/19}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29005}

\begin{DoxyItemize}
\item removed {\ttfamily jsonfile} aliases with {\ttfamily File} in the name, they weren\textquotesingle{}t documented and probably weren\textquotesingle{}t in use e.\+g. this package had both {\ttfamily fs.\+read\+Json\+File} and {\ttfamily fs.\+read\+Json} that were aliases to each other, now use {\ttfamily fs.\+read\+Json}.
\item preliminary walker created. Intentionally not documented. If you use it, it will almost certainly change and break your code.
\item started moving tests inline
\item upgraded to {\ttfamily jsonfile@2.\+1.\+0}, can now pass JSON revivers/replacers to {\ttfamily read\+Json()}, {\ttfamily write\+Json()}, {\ttfamily output\+Json()}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29006}{}\doxysection{0.\+19.\+0 / 2015-\/06-\/08}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29006}

\begin{DoxyItemize}
\item {\ttfamily fs.\+copy()} had support for Node v0.\+8, dropped support
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29007}{}\doxysection{0.\+18.\+4 / 2015-\/05-\/22}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29007}

\begin{DoxyItemize}
\item fixed license field according to this\+: \href{https://github.com/jprichardson/node-fs-extra/pull/136}{\texttt{ \#136}} and \href{https://github.com/npm/npm/releases/tag/v2.10.0}{\texttt{ https\+://github.\+com/npm/npm/releases/tag/v2.\+10.\+0}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29008}{}\doxysection{0.\+18.\+3 / 2015-\/05-\/08}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29008}

\begin{DoxyItemize}
\item bugfix\+: handle {\ttfamily EEXIST} when clobbering on some Linux systems. \href{https://github.com/jprichardson/node-fs-extra/pull/134}{\texttt{ \#134}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29009}{}\doxysection{0.\+18.\+2 / 2015-\/04-\/17}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29009}

\begin{DoxyItemize}
\item bugfix\+: allow {\ttfamily F\+\_\+\+OK} (\href{https://github.com/jprichardson/node-fs-extra/issues/120}{\texttt{ \#120}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29010}{}\doxysection{0.\+18.\+1 / 2015-\/04-\/15}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29010}

\begin{DoxyItemize}
\item improved windows support for {\ttfamily move()} a bit. \href{https://github.com/jprichardson/node-fs-extra/commit/92838980f25dc2ee4ec46b43ee14d3c4a1d30c1b}{\texttt{ https\+://github.\+com/jprichardson/node-\/fs-\/extra/commit/92838980f25dc2ee4ec46b43ee14d3c4a1d30c1b}}
\item fixed a lot of tests for Windows (appveyor)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29011}{}\doxysection{0.\+18.\+0 / 2015-\/03-\/31}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29011}

\begin{DoxyItemize}
\item added {\ttfamily empty\+Dir()} and {\ttfamily empty\+Dir\+Sync()}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29012}{}\doxysection{0.\+17.\+0 / 2015-\/03-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29012}

\begin{DoxyItemize}
\item {\ttfamily copy\+Sync} added {\ttfamily clobber} option (before always would clobber, now if {\ttfamily clobber} is {\ttfamily false} it throws an error if the destination exists). {\bfseries{Only works with files at the moment.}}
\item {\ttfamily create\+Output\+Stream()} added. See\+: \href{https://github.com/jprichardson/node-fs-extra/pull/118}{\texttt{ \#118}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29013}{}\doxysection{0.\+16.\+5 / 2015-\/03-\/08}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29013}

\begin{DoxyItemize}
\item fixed {\ttfamily fs.\+move} when {\ttfamily clobber} is {\ttfamily true} and destination is a directory, it should clobber. \href{https://github.com/jprichardson/node-fs-extra/issues/114}{\texttt{ \#114}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29014}{}\doxysection{0.\+16.\+4 / 2015-\/03-\/01}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29014}

\begin{DoxyItemize}
\item {\ttfamily fs.\+mkdirs} fix infinite loop on Windows. See\+: See \href{https://github.com/substack/node-mkdirp/pull/74}{\texttt{ https\+://github.\+com/substack/node-\/mkdirp/pull/74}} and \href{https://github.com/substack/node-mkdirp/issues/66}{\texttt{ https\+://github.\+com/substack/node-\/mkdirp/issues/66}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29015}{}\doxysection{0.\+16.\+3 / 2015-\/01-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29015}

\begin{DoxyItemize}
\item reverted \href{https://github.com/jprichardson/node-fs-extra/commit/1ee77c8a805eba5b99382a2591ff99667847c9c9}{\texttt{ https\+://github.\+com/jprichardson/node-\/fs-\/extra/commit/1ee77c8a805eba5b99382a2591ff99667847c9c9}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29016}{}\doxysection{0.\+16.\+2 / 2015-\/01-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29016}

\begin{DoxyItemize}
\item fixed {\ttfamily fs.\+copy} for Node v0.\+8 (support is temporary and will be removed in the near future)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29017}{}\doxysection{0.\+16.\+1 / 2015-\/01-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29017}

\begin{DoxyItemize}
\item if {\ttfamily set\+Immediate} is not available, fall back to {\ttfamily process.\+next\+Tick}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29018}{}\doxysection{0.\+16.\+0 / 2015-\/01-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29018}

\begin{DoxyItemize}
\item bugfix {\ttfamily fs.\+move()} into itself. Closes \href{https://github.com/jprichardson/node-fs-extra/issues/104}{\texttt{ \#104}}
\item bugfix {\ttfamily fs.\+move()} moving directory across device. Closes \href{https://github.com/jprichardson/node-fs-extra/issues/108}{\texttt{ \#108}}
\item added coveralls support
\item bugfix\+: nasty multiple callback {\ttfamily fs.\+copy()} bug. Closes \href{https://github.com/jprichardson/node-fs-extra/issues/98}{\texttt{ \#98}}
\item misc fs.\+copy code cleanups
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29019}{}\doxysection{0.\+15.\+0 / 2015-\/01-\/21}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29019}

\begin{DoxyItemize}
\item dropped {\ttfamily ncp}, imported code in
\item because of previous, now supports {\ttfamily io.\+js}
\item {\ttfamily graceful-\/fs} is now a dependency
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29020}{}\doxysection{0.\+14.\+0 / 2015-\/01-\/05}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29020}

\begin{DoxyItemize}
\item changed {\ttfamily copy}/{\ttfamily copy\+Sync} from {\ttfamily fs.\+copy(src, dest, \mbox{[}filters\mbox{]}, callback)} to {\ttfamily fs.\+copy(src, dest, \mbox{[}options\mbox{]}, callback)} \href{https://github.com/jprichardson/node-fs-extra/pull/100}{\texttt{ \#100}}
\item removed mockfs tests for mkdirp (this may be temporary, but was getting in the way of other tests)
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29021}{}\doxysection{0.\+13.\+0 / 2014-\/12-\/10}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29021}

\begin{DoxyItemize}
\item removed {\ttfamily touch} and {\ttfamily touch\+Sync} methods (they didn\textquotesingle{}t handle permissions like UNIX touch)
\item updated {\ttfamily \char`\"{}ncp\char`\"{}\+: \char`\"{}$^\wedge$0.\+6.\+0\char`\"{}} to {\ttfamily \char`\"{}ncp\char`\"{}\+: \char`\"{}$^\wedge$1.\+0.\+1\char`\"{}}
\item imported {\ttfamily mkdirp} =$>$ {\ttfamily minimist} and {\ttfamily mkdirp} are no longer dependences, should now appease people who wanted {\ttfamily mkdirp} to be {\ttfamily -\/-\/use\+\_\+strict} safe. See \href{[\#59][\#59]}{\texttt{ \#59}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29022}{}\doxysection{0.\+12.\+0 / 2014-\/09-\/22}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29022}

\begin{DoxyItemize}
\item copy symlinks in {\ttfamily copy\+Sync()} \href{https://github.com/jprichardson/node-fs-extra/pull/85}{\texttt{ \#85}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29023}{}\doxysection{0.\+11.\+1 / 2014-\/09-\/02}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29023}

\begin{DoxyItemize}
\item bugfix {\ttfamily copy\+Sync()} preserve file permissions \href{https://github.com/jprichardson/node-fs-extra/pull/80}{\texttt{ \#80}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29024}{}\doxysection{0.\+11.\+0 / 2014-\/08-\/11}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29024}

\begin{DoxyItemize}
\item upgraded {\ttfamily \char`\"{}ncp\char`\"{}\+: \char`\"{}$^\wedge$0.\+5.\+1\char`\"{}} to {\ttfamily \char`\"{}ncp\char`\"{}\+: \char`\"{}$^\wedge$0.\+6.\+0\char`\"{}}
\item upgrade {\ttfamily jsonfile\char`\"{}\+: \char`\"{}$^\wedge$1.2.\+0\char`\"{}$<$/tt$>$ to $<$tt$>$jsonfile\char`\"{}\+: \char`\"{}$^\wedge$2.\+0.\+0\char`\"{}} =$>$ on write, json files now have {\ttfamily \textbackslash{}n} at end. Also adds {\ttfamily options.\+throws} to {\ttfamily read\+Json\+Sync()} see \href{https://github.com/jprichardson/node-jsonfile\#readfilesyncfilename-options}{\texttt{ https\+://github.\+com/jprichardson/node-\/jsonfile\#readfilesyncfilename-\/options}} for more details.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29025}{}\doxysection{0.\+10.\+0 / 2014-\/06-\/29}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29025}

\begin{DoxyItemize}
\item bugfix\+: upgaded {\ttfamily \char`\"{}jsonfile\char`\"{}\+: \char`\"{}$\sim$1.\+1.\+0\char`\"{}} to {\ttfamily \char`\"{}jsonfile\char`\"{}\+: \char`\"{}$^\wedge$1.\+2.\+0\char`\"{}}, bumped minor because of {\ttfamily jsonfile} dep change from {\ttfamily $\sim$} to {\ttfamily $^\wedge$}. \href{https://github.com/jprichardson/node-fs-extra/issues/67}{\texttt{ \#67}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29026}{}\doxysection{0.\+9.\+1 / 2014-\/05-\/22}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29026}

\begin{DoxyItemize}
\item removed Node.\+js {\ttfamily 0.\+8.\+x} support, {\ttfamily 0.\+9.\+0} was published moments ago and should have been done there
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29027}{}\doxysection{0.\+9.\+0 / 2014-\/05-\/22}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29027}

\begin{DoxyItemize}
\item upgraded {\ttfamily ncp} from {\ttfamily $\sim$0.4.\+2} to {\ttfamily $^\wedge$0.5.\+1}, \href{https://github.com/jprichardson/node-fs-extra/issues/58}{\texttt{ \#58}}
\item upgraded {\ttfamily rimraf} from {\ttfamily $\sim$2.2.\+6} to {\ttfamily $^\wedge$2.2.\+8}
\item upgraded {\ttfamily mkdirp} from {\ttfamily 0.\+3.\+x} to {\ttfamily $^\wedge$0.5.\+0}
\item added methods {\ttfamily ensure\+File()}, {\ttfamily ensure\+File\+Sync()}
\item added methods {\ttfamily ensure\+Dir()}, {\ttfamily ensure\+Dir\+Sync()} \href{https://github.com/jprichardson/node-fs-extra/issues/31}{\texttt{ \#31}}
\item added {\ttfamily move()} method. From\+: \href{https://github.com/andrewrk/node-mv}{\texttt{ https\+://github.\+com/andrewrk/node-\/mv}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29028}{}\doxysection{0.\+8.\+1 / 2013-\/10-\/24}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29028}

\begin{DoxyItemize}
\item copy failed to return an error to the callback if a file doesn\textquotesingle{}t exist (ulikoehler \href{https://github.com/jprichardson/node-fs-extra/pull/38}{\texttt{ \#38}}, \href{https://github.com/jprichardson/node-fs-extra/pull/39}{\texttt{ \#39}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29029}{}\doxysection{0.\+8.\+0 / 2013-\/10-\/14}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29029}

\begin{DoxyItemize}
\item {\ttfamily filter} implemented on {\ttfamily copy()} and {\ttfamily copy\+Sync()}. (Srirangan / \href{https://github.com/jprichardson/node-fs-extra/pull/36}{\texttt{ \#36}})
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29030}{}\doxysection{0.\+7.\+1 / 2013-\/10-\/12}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29030}

\begin{DoxyItemize}
\item {\ttfamily copy\+Sync()} implemented (Srirangan / \href{https://github.com/jprichardson/node-fs-extra/pull/33}{\texttt{ \#33}})
\item updated to the latest {\ttfamily jsonfile} version {\ttfamily 1.\+1.\+0} which gives {\ttfamily options} params for the JSON methods. Closes \href{https://github.com/jprichardson/node-fs-extra/issues/32}{\texttt{ \#32}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29031}{}\doxysection{0.\+7.\+0 / 2013-\/10-\/07}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29031}

\begin{DoxyItemize}
\item update readme conventions
\item {\ttfamily copy()} now works if destination directory does not exist. Closes \href{https://github.com/jprichardson/node-fs-extra/issues/29}{\texttt{ \#29}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29032}{}\doxysection{0.\+6.\+4 / 2013-\/09-\/05}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29032}

\begin{DoxyItemize}
\item changed {\ttfamily homepage} field in package.\+json to remove NPM warning
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29033}{}\doxysection{0.\+6.\+3 / 2013-\/06-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29033}

\begin{DoxyItemize}
\item changed JSON spacing default from {\ttfamily 4} to {\ttfamily 2} to follow Node conventions
\item updated {\ttfamily jsonfile} dep
\item updated {\ttfamily rimraf} dep
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29034}{}\doxysection{0.\+6.\+2 / 2013-\/06-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29034}

\begin{DoxyItemize}
\item added .npmignore, \href{https://github.com/jprichardson/node-fs-extra/pull/25}{\texttt{ \#25}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29035}{}\doxysection{0.\+6.\+1 / 2013-\/05-\/14}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29035}

\begin{DoxyItemize}
\item modified for {\ttfamily strict} mode, closes \href{https://github.com/jprichardson/node-fs-extra/issues/24}{\texttt{ \#24}}
\item added {\ttfamily output\+Json()/output\+Json\+Sync()}, closes \href{https://github.com/jprichardson/node-fs-extra/issues/23}{\texttt{ \#23}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29036}{}\doxysection{0.\+6.\+0 / 2013-\/03-\/18}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29036}

\begin{DoxyItemize}
\item removed node 0.\+6 support
\item added node 0.\+10 support
\item upgraded to latest {\ttfamily ncp} and {\ttfamily rimraf}.
\item optional {\ttfamily graceful-\/fs} support. Closes \href{https://github.com/jprichardson/node-fs-extra/issues/17}{\texttt{ \#17}}
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29037}{}\doxysection{0.\+5.\+0 / 2013-\/02-\/03}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29037}

\begin{DoxyItemize}
\item Removed {\ttfamily read\+Text\+File}.
\item Renamed {\ttfamily read\+JSONFile} to {\ttfamily read\+JSON} and {\ttfamily read\+Json}, same with write.
\item Restructured documentation a bit. Added roadmap.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29038}{}\doxysection{0.\+4.\+0 / 2013-\/01-\/28}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29038}

\begin{DoxyItemize}
\item Set default spaces in {\ttfamily jsonfile} from 4 to 2.
\item Updated {\ttfamily testutil} deps for tests.
\item Renamed {\ttfamily touch()} to {\ttfamily create\+File()}
\item Added {\ttfamily output\+File()} and {\ttfamily output\+File\+Sync()}
\item Changed creation of testing diretories so the /tmp dir is not littered.
\item Added {\ttfamily read\+Text\+File()} and {\ttfamily read\+Text\+File\+Sync()}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29039}{}\doxysection{0.\+3.\+2 / 2012-\/11-\/01}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29039}

\begin{DoxyItemize}
\item Added {\ttfamily touch()} and {\ttfamily touch\+Sync()} methods.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29040}{}\doxysection{0.\+3.\+1 / 2012-\/10-\/11}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29040}

\begin{DoxyItemize}
\item Fixed some stray globals.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29041}{}\doxysection{0.\+3.\+0 / 2012-\/10-\/09}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29041}

\begin{DoxyItemize}
\item Removed all Coffee\+Script from tests.
\item Renamed {\ttfamily mkdir} to {\ttfamily mkdirs}/{\ttfamily mkdirp}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29042}{}\doxysection{0.\+2.\+1 / 2012-\/09-\/11}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29042}

\begin{DoxyItemize}
\item Updated {\ttfamily rimraf} dep.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29043}{}\doxysection{0.\+2.\+0 / 2012-\/09-\/10}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29043}

\begin{DoxyItemize}
\item Rewrote module into Java\+Script. (Must still rewrite tests into Java\+Script)
\item Added all methods of \href{https://github.com/jprichardson/node-jsonfile}{\texttt{ jsonfile}}
\item Added Travis-\/\+CI.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29044}{}\doxysection{0.\+1.\+3 / 2012-\/08-\/13}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29044}

\begin{DoxyItemize}
\item Added method {\ttfamily read\+JSONFile}.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29045}{}\doxysection{0.\+1.\+2 / 2012-\/06-\/15}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29045}

\begin{DoxyItemize}
\item Bug fix\+: {\ttfamily delete\+Sync()} didn\textquotesingle{}t exist.
\item Verified Node v0.\+8 compatibility.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29046}{}\doxysection{0.\+1.\+1 / 2012-\/06-\/15}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29046}

\begin{DoxyItemize}
\item Fixed bug in {\ttfamily remove()}/{\ttfamily delete()} that wouldn\textquotesingle{}t execute the function if a callback wasn\textquotesingle{}t passed.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29047}{}\doxysection{0.\+1.\+0 / 2012-\/05-\/31}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29047}

\begin{DoxyItemize}
\item Renamed {\ttfamily copy\+File()} to {\ttfamily copy()}. {\ttfamily copy()} can now copy directories (recursively) too.
\item Renamed {\ttfamily rmrf()} to {\ttfamily remove()}.
\item {\ttfamily remove()} aliased with {\ttfamily delete()}.
\item Added {\ttfamily mkdirp} capabilities. Named\+: {\ttfamily mkdir()}. Hides Node.\+js native {\ttfamily mkdir()}.
\item Instead of exporting the native {\ttfamily fs} module with new functions, I now copy over the native methods to a new object and export that instead.
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29048}{}\doxysection{0.\+0.\+4 / 2012-\/03-\/14}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29048}

\begin{DoxyItemize}
\item Removed Coffee\+Script dependency
\end{DoxyItemize}\hypertarget{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29049}{}\doxysection{0.\+0.\+3 / 2012-\/01-\/11}\label{md_sfcode_node_modules_streamroller_node_modules_fs_extra_CHANGELOG_autotoc_md29049}

\begin{DoxyItemize}
\item Added methods rmrf and rmrf\+Sync
\item Moved tests from Jasmine to Mocha 
\end{DoxyItemize}