Skip to content

Releases: microsoft/WinObjC

0.2 Preview (February 2018)

21 Feb 23:27
35ec6b1
Compare
Choose a tag to compare
Pre-release
  • Add support for Visual Studio 2017 15.4.5
  • Update projections to target Windows SDK 10.0.16299
  • Address C++ compiler longevity issues

0.2 Preview (December 2017)

05 Jan 19:32
Compare
Choose a tag to compare
Pre-release
  • libdispatch now supports dispatch_specific APIs
  • Localization now properly supports language preferences
  • OSSpinLock APIs have now been defined for public use

0.2 Preview (November 2017)

18 Nov 00:50
db05d76
Compare
Choose a tag to compare
Pre-release
  • Updates to support Visual Studio 15.4. The new version of Visual Studio is now required.
  • Includes source code for Objc2Winmd tool.
  • Bug fixes.

0.2 Preview (June 9, 2017)

13 Jun 21:54
Compare
Choose a tag to compare
Pre-release
  • Support for URL Post
  • Support for UIBezierPath
  • Support for KVO set mutations
  • Better error reporting with unhandled exception filter
  • Winmd2Objc tool is now open sourced
  • Additional Foundation API coverage
  • Fixes regression in webview from last release

0.2 170510 (May 10, 2017)

11 May 17:21
Compare
Choose a tag to compare
Pre-release
  • CoreGraphics and CoreText do no longer have dependencies on Foundation + UIKit (#2026)
  • Apps that are initialized with a storyboard now have a main UIWindow automatically created (#1836)
  • NSScanner is now fully supported: locale, copyWithZone:, localizedScannerWithString:, scanDecimal:, scanHexDouble:, scanHexFloat:, localizedScannerWithString: (#2083)
  • NSFileHandle is now fully supported: initWithCoder: / encodeWithCoder: / fileHandleWithStandardOutput / fileHandleWithStandardError / readInBackgroundAndNotify / NSFileHandleReadCompletionNotification (#2367)
  • CoreText
    • CTLine is now implemented via CFRuntimeBase (not via an NSObject) (#2357)
    • CTRun is now implemented via CFRuntimeBase (not via an NSObject) (#2356)
    • CTFrame is now implemented via CFRuntimeBase (not via an NSObject) (#2359)
    • CTFramesetter is now implemented via CFRuntimeBase (not via an NSObject) (#2358)
    • CTTypesetter is now implemented via CFRuntimeBase (and not an object) (#2355)
    • NSProxy is now supported (#2348)
  • Added support for NSExceptionHandler and related classes/methods (#2373)
  • Fixed hangs in NSData dataWithContentsOfURL (#2298)
  • Updated NSNotificationCenter to be thread safe (#2391)
  • VSImporter now automatically creates publisher folder manifest entries (#2307)
  • CoreGRaphics
    • Added support for CGColorSpace CGColorSpaceGetColorTableCount & CGColorSpaceGetColorTable (#2387)
    • CGPattern is now implemented via CFRuntimeBase (#2353)
    • CGColor is independent of UIColor (#2243)
  • NSArray
    • Completed NSArray KVO methods (#2068)
    • Added support for NSArray enumerateObjectWithIndexes:options:usingBlock: (#2072)
    • Added support for stubbed out NSArray index* methods (#2070)
    • Added support for Implement NSArray descriptionWithLocale* apis (#2073)
    • Added support for Implement NSArray URL init/write methods (#2069)
  • NSIndexSet
    • Added support for NSIndexSet index* apis (#2076)
    • NSIndexSet enumerate* apis #2077
  • Fixed 58 bugs since the last release

0.2 170411 (Apr 7, 2017)

11 Apr 22:43
Compare
Choose a tag to compare
Pre-release
  • The Islandwood SDK is now available as a NuGet package, check here for more info
  • The projections for the Microsoft Store Services SDK are now available to use in your app and help you monetize your app and engage with your users
  • CoreText now support right-to-left languages and some more APIs: see #1981, #1982, #2023, #2024, #2025
  • Added support for more CoreGraphics APIs: see #1389, #1903, #2041, #2042, #2046, #2047, #2108
  • Added support for UILabel minimumScaleFactor
  • Fixed 48 bugs on GitHub since the latest release

0.2 170228 (Feb 28, 2017)

03 Mar 22:55
Compare
Choose a tag to compare
Pre-release
  • In this release, we have switched CoreGraphics’ rendering backend from Cairo to Direct2D. While this should not have a widespread impact on your application, you may want to check over your code for any of the following conditions:
    • Use of bitmap contexts in ARGB (kCGBitmapByteOrder32Big | kCGImageAlphaFirst) or ABGR (kCGBitmapByteOrder32Little | kCGImageAlphaLast) is unsupported with Direct2D. Prefer the use of RGBA or BGRA bitmaps
    • Use of bitmap contexts in 8bpp gray (kCGImageAlphaNone plus a CGColorSpace in DeviceGray) may experience rendering aberrations (#1934)
    • Blend modes other than Source Over are currently unsupported (#1389)
    • CGPattern colors may draw with an unexpected offset (#2108)
    • CGContextClearRect will only clear rectangular regions. If you are using CGContextClearRect to clear the entire context, you will notice no regression. Other regions are untransformed and may clear unexpected pixels (#1744)
    • Radial gradients with different start and end points will not render as conical regions (#1615)
  • Added support to create custom gesture recognizers
  • UILabel
    • Added support for borders (via CALayer and the CoreAnimation/UIKit composition layer)
    • Added support for adjustFontSizeToFitWidth, sizeThatFits, and minimumScaleFactor
  • UIButton
    • Added support for borders (via CALayer and the CoreAnimation/UIKit composition layer)
    • Added support for buttonWithType:, system button now shows different visual when being pressed and all button type have different visual for disabled state
    • Added support for adjustsImageWhenHighligted and adjustsImageWhenDisabled
    • For more info about these changes and differences with the reference platform, see #1920
  • We addressed some performance and fit-and-finish issues with CoreText (#1850)
  • Improved performance of CF collections storing objc objects (#1898)
  • Fixed 62 bugs since our last release published on 2/1

0.2 170201 (February 1, 2017)

01 Feb 21:47
Compare
Choose a tag to compare
Pre-release
  • BREAKING CHANGE: the Windows Bridge for iOS now requires the Windows RS1 SDK (10.0.14393) to work
    • Impact: WinObjC build.sln and sample apps included in the SDK will fail to build in case you’re using a previous version of the Windows SDK
    • Solution: Install the latest RS1 SDK (10.0.14393) per the instructions here
    • Note: this requirement is for developers only and does not impact users who download your applications from the Windows store. The minimum Windows version required to run your applications remains 10586
  • KNOWN ISSUE: [x86] CTCatalog - Font Functions - crashes when attempting to change Select nameKey #1865
    • We recently shifted Islandwood over to not using queued CATransactions for its UIElement property and hierarchy management; instead we perform the property/hierarchy changes synchronously on the backing Xaml elements as they’re issued by the app
    • This change was required to fix several other bugs, and it should also lead to a much more simplified Islandwood implementation layer. It’s worked pretty well so far, but it’s uncovered an interesting issue with ScrollViewer’s ScrollViewerViewChangedEvent”, tracked by #1865
    • If you’re running into issues similar to #1865, or if you notice quirky behavior around your animations or UX interaction, please file a GitHub issue to let us know. You can also try to temporarily switch back to legacy batched CATransactions by setting UIApplication.displayMode.useLegacyBatchedCATransactions = YES, but that support will be removed in the future
  • New CoreText APIs: CTFontDrawGlyphs, CTFontManagerRegisterFontsForURL, CTFontManagerRegisterGraphicsFont
  • Font files in app bundles are now supported so apps including font files can use these fonts on Windows
  • Fixed performance issues with CoreText (#1617, #1500)
  • Fixed 69 bugs since our last release published on 11/30. Check the full list here

0.2 161130 (November 30, 2016)

05 Dec 19:36
Compare
Choose a tag to compare
Pre-release
  • Enabling Core Text using DWrite: added support for more APIs.
  • Enabling Core Graphics using D2D: added support for more APIs (available on the CGD2D branch only for now).
  • Composition and layout refactor: the spec describing this changes in details is available here.
  • Gesture interop and DManip: implemented an internal gesture recognizer for UIScrollview.
  • Added support for UIPasteboard methods: containsPasteboardTypes:, items, numberOfItems, UIPasteboardTypeListImage.
  • Added support for UITextField methods: font, adjustsFontSizeToFitWidth, editing and minimumFontSize.
  • Updated VSIX telemetry collection to provide more data on developer failures and warnings (scrubbed for privacy) for WinObjC projects that are outside of the NS_, UI_ and W* (Windows Universal) frameworks.
  • Added a new Radial Controller sample and tutorial to the WinObjC-Samples repo. Check it out for guidance on how to integrate the Surface Dial to your app.

0.2.161107 (November 7, 2016)

07 Nov 20:20
Compare
Choose a tag to compare
Pre-release
  • Starting this month, we added support for locationInview, cancelsTouchesInView and numberofTouchesRequired for several UIGestureRecognizers:
    • locationInView now works for UILongPressGestureRecognizer and UISwipeGestureRecognizer.
    • cancelsTouchesInView now works for UITapGestureRecognizer, UIPinchGestureRecognizer, UIPanGestureRecognizer, UILongPressGestureRecognizer, UISwipeGestureRecognizer when the UIView is not nested in a UIScrollView.
    • numberofTouchesRequired now works for UISwipeGestureRecognizer.
  • Switched our implementation of UIButton to use a XAML Image and a XAML TextBlock control behind the scenes. This new implementation does not support some properties that were previously supported (see #1331 for more details).
  • Fixed issue where scrollViewDidEndDecelerating/scrollViewDidEndScrollingAnimation delegates didn't fire after finger-flicking in a UIScrollview.
  • CoreText now uses DWrite. This sets us up for more CoreText APIs support in future releases as well as higher perf when moving compositing to hardware acceleration (more about this change here and the full list of known issues is here). This release enables:
    • Full Kerning support.
    • Windows fonts support.
  • Support for apps registration of file types so they can support, handle and trigger their own activation when users activate registered file types.
  • Fixed issue where some apps doing lots of initialization on launch were getting killed by PLM.
  • Started migration for Core Graphics to use D2D. This is not part of the release, but current progress is available on the CGD2D branch.
  • Splitted WinRT projections into multiple DLLs for improved performance (no code changes are required to enable this).
  • VSImporter versioning and telemetry improvements to diagnose project import failures (see What kind of telemetry does the iOS bridge collect? in our FAQ).
  • RTObjCInterop.dll support for heterogeneous containers.
  • RTHelpers.h was moved under WinObjC/include/Platform/UWP.