Releases: nmggithub/Kass
Release 3.2.2
NOTE: This includes a breaking change for the doRoutine
function on MIGClient
(see 7fafd0e). Specifically, the on
parameter is renamed to the more sensible replyPort
. As this breaking change only would affect a vast minority of use cases (if anyone is even using that parameter at all, instead of relying on the default), I chose to make this a patch change instead of jumping up to v4. My apologies if you were using that parameter!
Also, MIGPayloadWithOnlyNDR
is now a payload that can be used.
Happy hacking!
Release 3.2.1
Fixed an inverted guard statement.
Release 3.2.0
Added sysctl
setters.
Release 3.1.0
Added kextRequestWithLogging
to Mach.Host
. Have fun!
Release 3.0.2
Another minor bug fix. Now you can get the ioMain
special port without needing a privileged host port.
Release 3.0.1
Quick little bug fix when it comes to serializing Mach messages. The message size in the serialized header would not be set (see commit for details).
Release 3.0.0
New major release!
This library is now more namespace-y, for better or for worse (it was definitely for worse before I got to this release version!).
Honestly, there's so much that has changed, you should probably take a look at documentation to get a better picture. But for a quick rundown:
- The new
MachCore
module now supports so much more. Most Mach API's are now supported (Virtual Memory API to come!) - Documentation is now much better but obviously still could improve.
- Preliminary BSD kernel API support is available through the
BSDCore
module - The
CCompat
module is gone in favor of built-in Swift features
Where this library started, Mach messages, is still fully functional, albeit slightly refactored. Check the documentation for more details!
I'm so happy I got this out!
Release 2.0.0
New major release! We should be good to go for Swift 6's new concurrency requirements.
Important Changes:
- The
libSystem
constant is now alibSystem()
function MachConnection
has been renamed toMachMessaging
, and all its methods are now static- A new
MachConnection
class has been defined to be a subclass ofMachMessaging
, but with aconnectionPort
property and an associated initializer ServiceConnection
has now been changed to be a subclass of this newMachConnection
, while adding an initializer that takes in a service name- All initializers that used a first parameter that started with "with" have had their first first parameters renamed to remove the "with"
- Mach Messages can now have a descriptor count of 0 and still have the
MACH_MSGH_BITS_COMPLEX
bit set (this probably shouldn't be possible for legitimate messages, but I'm keeping it in just so we can do it if we want) Framework
now includes an initializer that accepts a custom path for the frameworkBits
andDescriptors
now conform toRawRepresentable
(some API changes, see docs)Library
now has a.link()
method to link the library without having to assign it to a valueLibrary
has new, experimental,.get(symbol:atExpectedAddress:...)
methodMachMessage
now includesgetPayloadData
andsetPayloadData
methods- And probably more (check the commit history)
Better documentation to come soon, hopefully!
Release 1.0.2
Documentation now lives on Swift Package Index!
Also added a buffer clean up method to handle edge cases with re-used buffers.
Release 1.0.1
Commenting out unsafe flags until I figure out a solution :(