0.1.0
Pre-release
Pre-release
What's Changed
- Add interop tests with a WinRT component in C++ by @tristanlabelle in #28
- Add running InteropTests to CI by @tristanlabelle in #34
- Replace COMExportedObject class with COMExportedInterface struct by @tristanlabelle in #46
- Moved IUnknown/IInspectable VTable implementations to COM/WinRTExportedInterface by @tristanlabelle in #47
- Split SupportModule into COM and WinRT by @tristanlabelle in #83
- Add WindowsFoundation_ prefix to IStringable and IReference. by @tristanlabelle in #81
- Introduce WindowsRuntime.Char16 by @tristanlabelle in #84
- Fix IStringable to implement IInspectable by @tristanlabelle in #85
- Introduce WinRTPrimitiveProjection(.Int32 etc.) and implement value type boxing by @tristanlabelle in #86
- Made struct/enum boxing ABI-compatible and added tests by @tristanlabelle in #89
- Support IReference of structs and enums to T? by @tristanlabelle in #91
- Refactor WinRT projection protocols and implement delegate boxing by @tristanlabelle in #94
- Rename lpVtbl to VirtualTable by @tristanlabelle in #95
- Add a mechanism for pregenerated types in WindowsRuntime by @tristanlabelle in #99
- Call RoOriginateError when returning to WinRT with an error by @tristanlabelle in #100
- Reorganize output directories and files by @tristanlabelle in #101
- Added WeakReference to ease consuming IWeakReferenceSource by @tristanlabelle in #102
- Remove COMProjection.COMVirtualTable typealias by @tristanlabelle in #103
- Add a GUID typealias by @tristanlabelle in #104
- Sort OrderedCollections by @tristanlabelle in #106
- Fixed support for derived classes defined in WinRT by @tristanlabelle in #108
- Split COMProjection._wrap out of toSwift by @tristanlabelle in #109
- Split COMProjection.toSwift into _unwrap and _wrap by @tristanlabelle in #111
- Renamed WinRTClassLoader to WinRTMetaclassResolver and added a test by @tristanlabelle in #114
- Add a generic overload to _queryInterface by @tristanlabelle in #117
- Reorganize WindowsRuntime files and remove WinRT prefixes by @tristanlabelle in #119
- Made MetaclassResolver into a protocol by @tristanlabelle in #120
- Added SwiftWrapperFactory and a test for upcasting by @tristanlabelle in #122
- Use _Nonnull for the COM this pointers in the C ABI by @tristanlabelle in #123
- Added tests for interface implementation interop by @tristanlabelle in #124
- Added feature set section to readme by @tristanlabelle in #126
- Made getParamProjections aware of abi factory methods to return COMReference by @tristanlabelle in #127
- Change property types to implicitly unwrapped optionals by @tristanlabelle in #129
- Added methods to box Swift collections into WinRT-compatible collections by @tristanlabelle in #130
- Rename COMExportedInterface to COMEmbedding and split primary/secondary COMExports by @tristanlabelle in #135
- Update Projection Design docs by @tristanlabelle in #136
- Started a "How it works" document by @tristanlabelle in #137
- Support free-threaded marshaling by @tristanlabelle in #138
- Merge StrongReferencer in ObjectReferencer by @tristanlabelle in #140
- Rename the -VTable suffix for structs to -_VirtualTable by @tristanlabelle in #141
- Remove _Nonnull annotations in C code to avoid warnings by @tristanlabelle in #142
- Generate enums and structs as Sendable by @tristanlabelle in #144
- Generate documentation comments for default initializers by @tristanlabelle in #145
- Complete support for Windows.Foundation.DateTime/TimeSpan/Point/Size/Rect by @tristanlabelle in #146
- Remove redundant SWRT_WindowsFoundation_IPropertyValue conformance by @tristanlabelle in #147
- Allow Swift-derived classes to implement additional interfaces by @tristanlabelle in #148
- Added IMemoryBufferByteAccess by @tristanlabelle in #151
- Pin the gha-setup-swift action to fix builds by @tristanlabelle in #156
- Fix self-reference bug in multi-assembly modules by @tristanlabelle in #153
- Optimize Module.typeDefinitions access by @tristanlabelle in #158
- Update CI to Swift 5.10.1 by @tristanlabelle in #161
- Migrated collection extensions to resource files by @tristanlabelle in #163
- Generate qualified swift filenames by @tristanlabelle in #164
- Add convenience extensions to IBuffer and IMemoryBuffer. by @tristanlabelle in #166
- Migrated IAsync(Action/Operation)[WithProgress] to extension files. by @tristanlabelle in #165
- Docs: more details on the implementation of COM projections by @tristanlabelle in #167
- Docs: COMProjection & COMExport by @tristanlabelle in #168
- Support custom Swift attributes by @tristanlabelle in #169
- Fixed generic instantiation to module attribution by @tristanlabelle in #159
- Add byte buffer tests by @tristanlabelle in #170
- Add convenience constructors between Array and I[Memory]Buffer by @tristanlabelle in #172
- Migrate iid definitions to
uiidof
functions by @tristanlabelle in #174 - Generate one ABI module per assembly module by @tristanlabelle in #175
- Remove COMIUnknownStruct and rename generic param to ABIStruct by @tristanlabelle in #176
- Call GetActivationFactory once per class by @tristanlabelle in #178
- Rename COMLazyReference to COMReference.Optional by @tristanlabelle in #180
- Add COMProjection.ABIReference typealias by @tristanlabelle in #182
- Remove raw pointers in _queryOverridesInterface by @tristanlabelle in #185
- Use COMReference in ComposableClass.init signature by @tristanlabelle in #186
- Officialize Swift 5.10 dependency by @tristanlabelle in #187
- Add a CMake build (Support module only) by @tristanlabelle in #191
- Split off SPM support module build job by @tristanlabelle in #195
- Use a single idl file for build speed by @tristanlabelle in #196
- Add CMakeLists.txt for the Generator by @tristanlabelle in #192
- Rename workflows by @tristanlabelle in #197
- Improve Windows SDK WinMD loading by @tristanlabelle in #199
- Fix Readme build badge by @tristanlabelle in #200
- Extract a COM_ABI module out of Windows_ABI by @tristanlabelle in #201
- Add a script to create a nuget package by @tristanlabelle in #203
- Add release workflow (not yet publishing to nuget.org) by @tristanlabelle in #204
- Trim v prefix from tag in release workflow by @tristanlabelle in #205
- Add dispatch and pr triggers to release workflow by @tristanlabelle in #207
- Migrate release-publish workflow to using gh by @tristanlabelle in #208
- Mark versions starting with 0. as prerelease by @tristanlabelle in #210
- Consolidate Swift setup in workflows by @tristanlabelle in #211
- Fix tag name and sha path in release workflow by @tristanlabelle in #212
- Release workflow: fix semver output and permissions to create a release. by @tristanlabelle in #213
- Release workflow: fix PowerShell shenanigans by @tristanlabelle in #214
New Contributors
- @tristanlabelle made their first contribution in #28
Full Changelog: https://github.com/tristanlabelle/swift-winrt/commits/v0.1.0