Releases: nmggithub/Kass
Release 3.2.3
Minor documentation fixes and bettering of the doRoutine function on MIGClient.
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
MachCoremodule 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
BSDCoremodule - The
CCompatmodule 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
libSystemconstant is now alibSystem()function MachConnectionhas been renamed toMachMessaging, and all its methods are now static- A new
MachConnectionclass has been defined to be a subclass ofMachMessaging, but with aconnectionPortproperty and an associated initializer ServiceConnectionhas 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_COMPLEXbit 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) Frameworknow includes an initializer that accepts a custom path for the frameworkBitsandDescriptorsnow conform toRawRepresentable(some API changes, see docs)Librarynow has a.link()method to link the library without having to assign it to a valueLibraryhas new, experimental,.get(symbol:atExpectedAddress:...)methodMachMessagenow includesgetPayloadDataandsetPayloadDatamethods- 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.