Repository navigation
Releasing 2.7.0.0 (again) #315
Description
Activity
Signature changes:
API 2.7 3.0 fdSocketSocket -> CIntSocket -> IO CIntmkSocketCInt -> Family -> SocketType -> ProtocolNumber -> SocketStatus -> IO SocketCInt -> SocketI believe that we are ready to release version 2.7.0.0. GHC 7.6.3 on AppVeyar fails but this is due to out-of-memory.
@eborden Would you review the
2.7branch and release version 2.7.0.0?Reacted by Evan Rutledge Borden@kazu-yamamoto I plan to review this weekend. Will post back here.
Package candidate here:
https://hackage.haskell.org/package/network-2.7.0.0/candidate@eborden Why didn't you announce it?
@kazu-yamamoto I have not yet published the candidate. Sorry been running around and will publish/announce soon.
@eborden Thank you for your answer.
When you announce, would you explain the following background?- We already implemented version 3.0 where socket addresses are extendable.
- 2.7 is the version to fill the gap between 2.6 and 3.0.
- Some historical modules are deprecated in 2.7 and will be removed in 3.0.
- All new APIs in 3.0 is also available 2.7.
- No partial exports essentially. The same set of APIs are available on Linux/BSD/Windows.
- We will wait for enough time that users stop using old modules/APIs and then release version 3.0.
Reacted by Evan Rutledge BordenPlease feel free to fix my broken English. :-)
Reacted by Evan Rutledge Borden@kazu-yamamoto Will do! I had a similar message drafted and will incorporate your points.
The package has been published:
https://hackage.haskell.org/package/network-2.7.0.0The cafe message is copied below:
Announcing network-2.7.0.0
https://hackage.haskell.org/package/network-2.7.0.0The 2.7.0.0 release is mostly communicating change. There are a few new APIs,
but much of this release is dedicated to preperation for 3.0.0.0. Many long
standing functions and modules with tacit deprecation have been officially
marked as such.Change log:
- Obsoleting the Network module.
- Obsoleting the Network.BSD module.
- Obsoleting APIs: MkSocket, htonl, ntohl,
getPeerCred, getPeerEid,
send, sendTo, recv, recvFrom, recvLen,
inet_addr, inet_ntoa,
isConnected, isBound, isListening, isReadable, isWritable,
aNY_PORT, iNADDR_ANY, iN6ADDR_ANY, sOMAXCONN,
sOL_SOCKET, sCM_RIGHTS,
packFamily, unpackFamily, packSocketType - Do not closeFd within sendFd
#271 - Exporting ifNameToIndex and ifIndexToName from Network.Socket.
- New APIs: setCloseOnExecIfNeeded, getCloseOnExec and getNonBlock
- New APIs: isUnixDomainSocketAvailable and getPeerCredential
- socketPair, sendFd and recvFd are exported even on Windows.
Upcoming changes in 3.0.0.0 will include:
- Functions and modules marked as deprecated in 2.7.0.0 will be removed.
- New APIs introduced in 2.7.0.0 will be present in 3.0.0.0.
- Socket addresses will have an extensible API.
- Linux, BSD and Windows will all have the same API.
3.0.0.0 has been implemented, but we will wait a sufficient period of time
before releasing it.As always thanks to network contributors!
This is being done in https://github.com/haskell/network/tree/2.7
Modules to be obsoleted:
To be obsoleted in Network.Socket:
Need to implement:
Others: