Changelog for Z-IO-2.0.0.0
Revision history for Z-IO
1.0.1.0 -- 2020-07-24
Maintenance release:
- Update libuv to v1.42.0, rewrite
UV_Stream'sOutputinstance to perform auv_try_writefirst since nowuv_try_writeis sensible.
1.0.0.0 -- 2020-07-08
- Clean function names in
Z.IO.BIOmodule, now noBIOorNodesuffix anymore. Z.IO.BIOis not re-exported fromZ.IOanymore, user are recommended to import it with qualified name, e.g.import qualified Z.IO.BIO as BIO.- Add
foldl'andfoldIO'toZ.IO.BIOto use withFoldandFoldMfromfoldlpackage. - Add
INLINABLEpragmas to many functions. - Add
printStdLnPtoZ.IO.StdStream, aParserdebug tool.
0.8.1.0 -- 2020-06-12
- Remove
-march=nativeflag to improve binary portability.
0.8.1.0 -- 2020-04-25
- Add
getInterfacetoZ.IO.Network. mkstempnow return opend file, the type changed tomkstemp :: CBytes -> CBytes -> Bool -> Resource (CBytes, File), which has an option for keep file or not.initTempFileandinitTempDirnow do not need a prefix argument, the prefix is hardcoded asZ-IO-.
0.8.0.0 -- 2020-04-25
This is an experimental version to test new 'BIO' module.
- Rewrite
Z.IO.BIOmodule, nowBIOis push based. - Remove
>|>,>~>,>!>, nowBIOnodes can be composed via funtion composition(.)! - Remove
zipSource/zipBIO, addstepBIO/stepBIO_/runBIO_. - Add
zipBIOtoZ.IO.BIO.Concurrent, which run two BIO nodes concurrently. - Add
ungroupingNode, changenewGroupingNodeto useVector. - Rename
EOFexception toUnexpectedEOFto avoid the clash withEOFpattern.
0.7.1.0 -- 2020-03-16
- Use
CPtrfrom Z-Data instead ofForeignPtr.
0.7.0.0 -- 2020-03-09
- Change resource
Poolto keyed by default, addSimplePool. - Add
Semigroupinstance toLogger. - Add
clearInputBuffer/clearOutputBuffertoZ.IO.Buffered. - Add
catchSync/ingoreSynctoZ.IO.Exception. - Add
putStdLn/printStdLnback.
0.6.4.0 -- 2020-02-20
- Add
initProcess'to kill process while finish using the process resource by default.
0.6.3.0 -- 2020-02-20
- Split
Z.IO.UV.FFItoZ.IO.UV.FFIandZ.IO.UV.FFI_Env, to make the module buildable when memory is constrained. - Make functions works on TTY in
Z.IO.StdStreamcorrectly ignore redirected streams. - Move
pathSeparatortopathSeparators, nowpathSeparatorreturn the default path separator.
0.6.2.0 -- 2020-02-18
- Hide
Loggerconstructor fromZ.IO.Logger, remove implementation details such asdefaultTSCache,pushLogIORef,flushLogIORef, addloggerFormattertoLoggerConfig. - Add
newStdLogger/newFileLoggerto make new logger easily. - Rework
Z.IO.FileSystem.Watch's API, changewatchDirsto accept a recursive param and a callback. - Hide
Z.IO.UV.Winmodule, which should not be directly used by user. - Fix a bug when stdio is redirected to pipes: https://github.com/ZHaskell/z-io/pull/16
0.6.1.0 -- 2020-02-09
- Fix a bug in
newMagicSplitter/newLineSplittercode. - Remove
sourceFromInputand related functions to reduce API surface, usenewBufferedInputwithsourceFromBufferedinstead. - Refactor server loop to allow more code sharing between
Z.IO.Network.TCPandZ.IO.Network.IPC.
0.6.0.0 -- 2020-02-04
- FileSystem: replace
DEFAULT_MODEwithDEFAULT_FILE_MODE&DEFAULT_DIR_MODE. - Ignore exception while
mkdirpon an exist directory. - Make
rmrfmore likerm -rf, which can be used on files. - Add
doesPathExist/doesFileExist/doesDirExistto file system module. - Add
Z.IO.FileSystemre-exportZ.IO.FileSystem.WatchandZ.IO.FileSystem.FilePath. - Add
mkstemp,initTempFile/initTempDirto file system module.
0.5.0.0 -- 2020-01-28
- Add
unwrap/unwrap'toZ.IO.Exception. - Add
readParseChunkstoZ.IO.Buffered, ChangereadParser's type to matchreadParseChunks. - Add
sourceParseChunksBufferedInput,sourceParseChunksInputtoZ.IO.BIO. - Add
newJSONLogger/defaultJSONFmttoZ.IO.Logger, provide simple JSON structured logging.
0.3.0.0 -- 2020-12-29
- Add
getSystemTime'toZ.IO.Time. - Add
shutdownUVStreamtoZ.IO.UV.UVStream. - Change
sourceFrom/sinkToFiletoinitSourceFrom/initSinkToFile. - Bump
Z-Dataversion.
0.2.0.0 -- 2020-12-16
- Add
sourceParsedBufferInputand JSON sources toZ.IO.BIO. - Fix
readLineandnewLineSplitter. - Improve low resolution timer precision.
- Fix a bug in
Z.IO.FileSystem.FilePath.relative, see #17.
0.1.9.0 -- 2020-11-23
- Clean up API in
Z.IO.Buffered, removereadToMagic',readLine',readExactly'. readExactlynow throw exception when not reading enough bytes before EOF.- Add
Show/ShowTinstance toUVStream,StdStream,UDP,UVManager. - Add JSON instance to various types:
SocketAddrand all configure types. - Rename
InetAddrtoIPv4,Inet6AddrtoIPv6, changeSocketAddr's constructor name, and payload order. - Add
seektoZ.IO.FileSystem.
0.1.8.1 -- 2020-11-21
- Export
ZStreamtype fromZ.IO.BIO.Zlib
0.1.8.0 -- 2020-11-20
- Remove type index from
BufferedInput,BufferedOutput. - Add
Z.IO.BIOmodule to facilitate streaming process, andZ.IO.BIO.Concurrentto facilitate producer-consumer model. - Remove streamming related functions from
Z.IO.Buffered, useZ.IO.BIOinstead. - Move
Z.IO.Compression.ZlibtoZ.IO.BIO.Zlib, change API toBIOstyle. - Add
Z.IO.FileSystem.Watchmodule, provides cross-platform filesystem watching.
0.1.7.0 -- 2020-10-24
- Add
iso8016DateFormat, change logger's default time format to include time zone. - Rename
warntowarning, changeLeveltoInttype alias inZ.IO.Logger, addcritical. - Export
TimeValfromZ.IO.Environment. - Add
getCPUInfo,getLoadAvg,getXXXMemtoZ.IO.Environment.
0.1.6.1 -- 2020-10-17
- Export
ResUsagefromZ.IO.Environment. - Export
LevelfromZ.IO.Logger. - Add linefeed with default logger formattor.
0.1.6.0 -- 2020-10-17
- Fix a bug affects udp exception raising(simliar to the one fixed in 0.1.5.2).
- Add
Z.IO.StdStream.Ansimodule, add a default colored logger. - Add
Z.IO.Timemodule, for fast time parsing and formatting. - Add
Z.IO.FileSystem.FilePathmodule for file path manipulations. - Add
getCWD,chDir,getHomeDir,getTempDir,getPassWDtoZ.IO.Environment. - Add
chown,fchown,lchowntoZ.IO.FileSystemandZ.IO.FileSystem.Threaded. - Rename
UVFDtoFDaccross module.
0.1.5.2 -- 2020-10-13
- Fix windows dist(add
fs-fd-hash-inl.hto other-source-files).
0.1.5.1 -- 2020-10-13
- Export
ProcessFlagfromZ.IO.Process. - Add quick read & write functions to fileSystem modules.
- Fix a bug: when exception raise from server loop an uninitialized uv_check_t is closed.
- Update libuv's version to 1.40.1.
- Change
IOEInfotype to useTextinstead ofCBytes.
0.1.5.0 -- 2020-10-10
- Add
Z.IO.Processmodule. - Move many flag type to type alias from newtype, adjust patterns haddock.
- Sync IPC's server API to TCP's.
0.1.4.0 -- 2020-10-02
- Add
Z.IO.Environmentmodule. - Add various instances to data types in
Z.IO.UV.FFI. - Fix a UDP batch receiving bug.
- Remove
UVprefix in config data types(Z.IO.FileSystem,Z.IO.UDP). - Change
TCP,IPCserver config, move server worker to start params instead of config. Loggertype rework, colorful logger are possible.
0.1.3.0 -- 2020-09-28
- Rename
newBufferedInput/OutputtonewBufferedInput'/Output', add default chunknewBufferedInput/Output. - Remove
ghc-pirmdepends. - Make library works with GHC 8.6 and 8.8 again.
0.1.2.0 -- 2020-09-28
- Add file offset interface back, see
FilePtrandFilePtrT. - Remove
checkFileTClosedfromZ.IO.FileSystem.Threaded. - Take c source file list from libuv Makefile, remove lib requirements on linux and osx.
- Fix
uv_check_tinitiate order in accept loop, which cause a segfault.
0.1.1.2 -- 2020-09-25
- Fix macOS build problem caused by missing zconf.h.
- Add more tests(TCP, IPC).
0.1.1.0 -- 2020-09-19
- Add stream utilities to
Z.IO.Buffered. - Add
Z.Compression.Zlib.