diff --git a/CHANGELOG.md b/CHANGELOG.md index bd935ea..504fa8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ # CHANGELOG ## Unreleased + +## v1.0.0 + +- Initial stable commit! The API is mostly a direct translation of the previous + `github.com/mdlayher/raw` package APIs, with some updates to make everything + focused explicitly on Linux and `AF_PACKET` sockets. Functionally, the two + packages are equivalent, and `*raw.Conn` is now backed by `*packet.Conn` in + the latest version of the `raw` package. diff --git a/README.md b/README.md index fd8aebf..b9c15e5 100644 --- a/README.md +++ b/README.md @@ -13,3 +13,21 @@ Go 1.12+. Older versions of Go lack critical features and APIs which are necessary for this package to function correctly. **If you depend on this package in your applications, please use Go modules.** + +## History + +One of my first major Go networking projects was +[`github.com/mdlayher/raw`](https://github.com/mdlayher/raw), which provided +access to Linux `AF_PACKET` sockets and *BSD equivalent mechanisms for sending +and receiving Ethernet frames. However, the *BSD support languished and I lack +the expertise and time to properly maintain code for operating systems I do not +use on a daily basis. + +Package `packet` is a successor to package `raw`, but exclusively focused on +Linux and `AF_PACKET` sockets. The APIs are nearly identical, but with a few +changes which take into account some of the lessons learned while working on +`raw`. + +Users are highly encouraged to migrate any existing Linux uses of `raw` to +package `packet` instead. This package will be supported for the foreseeable +future and will receive continued updates as necessary.