January 2019 v1 Release (v1.0.0)
Welcome to the January 2019 v1 release of the Project Rome SDK for Android and iOS.
We've been busy working to improve the reliability and robustness of the Project Rome SDK and are happy to announce the v1 release! The bulk of the latest set of changes were made to the platform initialization and registration, which are required to use any of the technologies in the Project Rome SDK including: Device Relay, User Activities, Notifications, and Nearby Sharing.
Release Highlights (What's New)
We've updated the documentation to help you get started. If you've used previous versions of the SDK you'll want to pay particular attention the 5 sequential steps, to ensure a seamless onboarding experience.
- Setup the platform
- Subscribe to ConnectedDevicesAccountManager events to handle the user account
- Subscribe to ConnectedDevicesNotificationRegistrationManager events
- Start the platform
- Retrieve user accounts known to the app
This, and much more, detail can be found in the Project Rome documentation .
Changelog
NOTE: These are mostly all BREAKING CHANGES from previous releases.
1.0.0
Changed (42 changes)
- Add copy attribute to Collection properties on MCDRemoteSystemAppRegistration.
- Add EventArgs classes to RemoteSystems Events for future flexibility.
- Add underscrores to some values to correctly separate words in AppServiceConnectionStatus.java.
- Adjust Commanding Events to include EventArgs objects for future flexibility. As a result, refactor RemoteSystemAppRegistration.
- Adjust property annotations for MCDUserNotification.
- Adjust property annotations on MCDUserActivityVisualElements to correctly indicate nullability and copy.
- Adjust UserDataFeed and UserNotifications events to have EventArgs for future maintainability.
AppServiceConnection.OpenRemoteAsync
now requires the givenIRemoteSystemConnectionRequest
to contain aRemoteSystemApplication
when targeting a non-windows device.- Change AppServiceDescription to AppServiceInfo for better clarity on object usage.
- Change iOS MCDRemoteSystemConnectionInfo isProximal property to be proximal with isProximal getter.
- Change iOS String and Collection read/write properties to correctly indicate copy attribute.
- Change MCDLaunchUriProvider property supportedUriSchemes to be nullable.
- Change MCDRemoteSystemAppRegistration launchUriProvider property to be nullable and readwrite.
- Change MCDUserActivity isRoamable property to roamable with isRoamable getter and setters.
- Change MCDUserActivityState values to include MCDUserActivityState prefix.
- Change MCDUserDataFeedSyncScope to be a protocol.
- Change MCDUserDataFeed userDataFeedForAccount to getForAccount.
- Change ProgressCallback parameters for NearShareSender to instead return AsyncOperationWithProgress objects.
- Change
RemoteLauncherOptions
onLaunchUriAsync
to be nullable. - Change RemoteSystemAppRegistration to have clear ownership and change Attributes and AppServiceProviders properties to allow for clearing information.
- Change RemoteSystemPlatform Ios value to be IOS.
- Class
AppServiceConnectionOpenedEventArgs
renamed toAppServiceConnectionOpenedInfo
. - Class
RemoteSystemApplication[RegistrationBuilder]
renamed toRemoteSystemApp[RegistrationBuilder]
. - Combine RemoteSystemAppCommandingRegistration and RemoteSystemAppHostingRegistration into RemoteSystemAppRegistration.
- Function
IAppServiceConnectionOpenedInfo.GetRemoteSystemApplication
renamed toIAppServiceConnectionOpenedInfo.GetRemoteSystemApp
. - Function
IRemoteSystemApplicationRegistration.Start
renamed toIRemoteSystemApplicationRegistration.Save
. - Function
RemoteSystem::GetApplications
renamed toRemoteSystem::GetApps
. - Change LaunchUriProvider.OnLaunchUriAsync to accept RemoteLauncherOptions instead of a FallbackUri and PreferredPackageIds.
- Make sure that Connected Devices objects in properties are marked as retain not copy.
- Merge Core and Base namespaces/package/framework into a single root named ConnectedDevices.
- Merge 'RemoteSystemAppRegistrationBuilder' into 'RemoteSystemAppRegistration'.
- Move Commanding and Hosting namespaces to a single new RemoteSystems.Commanding namespace.
- Property
MCDRemoteSystemApplication.applicationId
renamed toMCDRemoteSystemApp.identifier
. - Rename AuthorizationKind property to just kind.
- Rename Discovery namespace/package/framework to be RemoteSystems and put NearShare underneath it.
- Rename LocalVisibilityKind property to just kind.
- Rename RemoteLaunchUriStatus DataSetTooLarge to ValueSetTooLarge.
- Rename RemoteSystemPlatform property to just platform.
- Rename and change signature of SendSingleMessageAsync to SendStatelessMessageAsync.
- Reorganize all user data related namespaces to be under a userdata root namespace.
- Rewrite MCDPlatform's initialization path and its interaction model for accounts, notifications, and service registrations.
- Standardize iOS enums to all be NSInteger rather than NSUInteger.
Added (1 change)
- Add MCDUserNotificationChannel Initializer
initWithUserDataFeed
.
Fixed (1 change)
- Fix issue in AsyncOperation continuations still being run after manually being completed or cancelled.
Removed (1 change)
- Remove UserNotificationReaderOptions constructors except for default.
Sample Changes
Check out the samples here to get started today:
More Info
If you’d like to learn more about Project Rome, please visit our website at: http://aka.ms/projectrome
Feedback / Issues
We look forward to hearing from you! The quickest way to provide feedback is through the Windows Feedback Hub under ‘Developer Platform’ and ‘Project Rome’.